收藏 分销(赏)

用C语言编写简单的程序.ppt

上传人:仙人****88 文档编号:14127887 上传时间:2026-06-27 格式:PPT 页数:29 大小:456KB 下载积分:10 金币
下载 相关
用C语言编写简单的程序.ppt_第1页
第1页 / 共29页
用C语言编写简单的程序.ppt_第2页
第2页 / 共29页


点击查看更多>>
资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,用,C,语 言 编 写简单的程序,有且仅有一个,main,(),(主函数)框架;,语句均由分号“;”结尾;,所有变量使用前须声明(说明)其类型;,有一些函数(标准库函数或自定义函数)调用;,.,会有,#,号开头的一些编译预处理代码行;,会有注释,用“,/*/”,或“,/,”,标注。,上次课学过的,例,1,计算并输出,三角形面积,例,2,计算并输出,1+2+100,例,3,判断素数,这次课要讲的,例,1,计算并输出,三角形面积,已知三角形的三条边长分别为,a,、,b,、,c,,求三角形面积。,其中:,s=(a+b+c)/2,#include,#include,main(),int a=3,b=4,c=5;,float s,area;,s=1.0/2*(a+b+c);,area=sqrt(s*(s-a)*(s-b)*(s-c);,printf(a=%d,b=%d,c=%d,s=%fn,a,b,c,s);,printf(area=%fn,area);,#include,#include,main(),float a=3,b=4,c=5,s,area;,s=1.0/2*(a+b+c);,area=sqrt(s*(s-a)*(s-b)*(s-c);,printf(a=%f,b=%f,c=%f,s=%fn,a,b,c,s);,printf(area=%7.2fn,area);,#include,#include,main(),float a=3,b=4,c=5,s,A,;,s=1.0/2*(a+b+c);,A,=sqrt(s*(s-a)*(s-b)*(s-c);,printf(a=%f,b=%f,c=%f,s=%fn,a,b,c,s);,printf(“,面积,=%7.2fn,A,);,数据输出,Printf,格式输出函数,按一定格式输出若干任意类型的数据。,printf,输出时会对,输出项求值。,格式:,printf,(,格式控制字符串,输出项表列,);,例:,printf,(,a=%d b=%f,a,b);,函数名,输出表列,普通字符,格式说明,数据输出,printf,格式输出函数,格式说明符的意义,格式符,意 义,例,子,结 果,%d,十进制,int,a=567,;,printf(%d“,a,);,567,%x,十六进制,int,a=567,;,printf(%x“,a,);,0 x237,%o,八进制,int,a=567,;,printf(%o“,a,);,1067,%u,无号的十进制整数,int,a=45,;,printf(%u“,a,);,45,%c,字符,char a=A,;,printf(%c,“,a),;,A,%s,字符串,char*s=“This;”,printf(%s,“,s);,This,%e,浮点表示法输出,float a=567.789;,printf(%e“,a,);,5.68E,02,%f,小数形式,float a=567.789,;,printf(%f“,a,);,567.789,%g,e,和,f,中较短的一种,float a=567.789,;,printf(%g“,a,);,567.789,%,百分号本身,printf,(%),;,%,数据输出,printf,格式输出函数,printf,附加格式说明符:,l,长整型整数,,加在,d,、,o,、,x,、,u,前,L long double,型数,,加在,f,、,e,、,g,前,m,表示数据占用的最小宽度,数据宽度大于,m,,按实际宽度输出,数据宽度小于,m,时,补空格,n,对实数表示输出,n,位小数,对字符串表示最多输出的字符个数,如:,printf(%5.2fn%6.1fn,f1,f2);,-,改变输出内容的对齐方式:缺省为右对齐,例,1,计算并输出,三角形面积,已知三角形的三条边长分别为,a,、,b,、,c,,求三角形面积。,其中:,s=(a+b+c)/2,。,若三角形的三条边长是变量,则在程序运行时输入:,#include,#include,main(),float a,b,c,s,area;,scanf,(“%f%f%f,”,s=1.0/2*(,a+b+c,);,area=,sqrt(s,*(s-a)*(,s-b,)*(,s-c,);,printf(“a,=%,f,b,=%,f,c,=%,f,s,=%,fn,”,a,b,c,s);,printf(“area,=%7.2fn”,area);,*,注意非法字符,数据输,入,scanf,格式输入函数,按一定格式从输入设备输入若干个任意类型的数据。,格式:,scanf,(,格式控制字符串,地址表列,);,例:,scanf,(,%,d,%f,&,a,&b,);,非格式字符,格式说明,地址表列,数据输,入,scanf,格式输入函数,表,3.2,scanf,函数的格式说明符,格式说明符,意 义,例 子,输入数据举例,%d,输入一个十进制整数,scanf(“%d,”,,,&a),;,567,%o,输入一个八进制数(无前导,0,),scanf(“%o”,,,&a),;,1067,%f,输入一个小数形式的数,scanf(“%f,”,,,&a),;,567.789,%s,输入一个字符串,scanf(“%s,”,,,&a),;,This,%x,输入一个十六进制数(无前导,0 x,),scanf(“%x,”,,,&a),;,0 x237,%c,输入一个字符,scanf(“%c,”,,,&a),;,A,%e,输入一个科学计数法的浮点数,scanf(“%e”,,,&a),;,5.68E,02,%u,输入一个不带正负号的十进制整数,scanf(“%u”,,,&a),;,45,数据输,入,scanf,格式输入函数,scanf,附加格式说明符,l,加在,d,、,o,、,x,、,u,前:输入长整型;,加在,f,、,e,前:输入双精度型;,L,加在,f,、,e,前:输入,long double,型;,h,加在,d,、,o,、,x,前,:,输入短整型;,m(,一个整数,),表示数据占用的宽度;,*,本输入项在读入后不赋给相应的变量。,数据输,入,scanf,格式输入函数,多数据项输入时,输入数据间的分隔有,3,种方式:,采用系统分隔符(空格、回车、制表符,Tab,):,scanf,(,%,d%d%d,用户自己设定分隔符,如逗号、冒号等:,scanf,(,%d,%d,%d,设置输入项位数,(,m,),,按位截取,如:,scanf(“%2d%3d%4d”,&a,&b,求,1+2+100,抽取具有共性的算式:,sum=sum+i,sum,初值为,0,,该算式重复,100,次,,i,从,1,变到,100,设,i,为循环变量,则:,指定循环起点的表达式,1,:,i=1,给出循环条件的表达式,2,:,i=100,设置循环步长的表达式,3,:,i,+,循环体语句:,sum=sum+i;,for(i=1;i=100;i+),sum=,sum,+i;,例,2,计算并输出,1+2+100,/*,计算,1+2+3+100 */,#include,main(),int,i,sum;,sum,=,0;,/,置,sum,初值为,0,for,(i,=,1;i,=,100;i,+,),/,循环重复,100,次,sum,=,sum,+,i;,/,反复累加,printf,(,sum=%dn,sum);,/,输出累加和,例,2,计算并输出,1+2+100,循环变量,累加和,for,循环,for,循环结构及执行,for,(,表达式,1;,表达式,2;,表达式,3),先执行,表达式,1,。,若,表达式,2,的值,非,0,,重复执行,循环体语句与表达式,3,。,直到,表达式,2,的值为,0,时止。,循环体语句,;,循环起始条件,循环结束条件,循环增量,定义,:除了,1,和自身外,无法被其他自然数整除的正整数。,算法(穷举法),:设数为,n,,并设置一个标志,flag,为,1,;用,2n-1,依次去除,n,,若能整除,则不是素数,,flag,置,0,,跳出循环;若都不能整除,循环正常结束,,flag,仍为,1,,,n,是素数。,输出,:若,flag,为,1,,则输出“,n,是素数”;,若,flag,为,0,,则输出“,n,不是素数”;,例,3,判断素数,能否整除,使用取模(相除取余数)运算符,%,,若,n,%,k=0,(即余数为,0,),,则,n,可以被,k,整除。,例,3,判断素数,输入一个数,判断其是否为素数。,main(),int n,k,flag;,printf(,输入一个数:,);,scanf(%d,for(flag=1,k=2;k=n-1;k+),if(n%k=0),flag=0;,break,;,/,如果,n%k0,则继续循环,否则退出循环,if(flag=1),printf(%d,是素数。,n,n);,else,printf(%d,不是素数。,n,n);,if,语句,if,语句根据给定,表达式,的值进行判断,从而确定执行程序流程中的哪一个分支。,表达式,是由操作数和运算符按一定语法形式组成的符号序列。每个表达式经过运算,(,求值,),后都会产生一个确定的值,称为表达式的值。,if,语句中,表达式,多为,关系表达式,或,逻辑表达式,。,if,语句中表达式的值分两种:,0,与,非,0,;,关系运算符及关系表达式,1,关系运算符,(均是二元运算符),小于,大于,=,大于或等于,=,等于,!=,不等于,2,关系表达式,两个表达式与关系运算符可组成一个关系表达式。,若比较关系成立,则,关系表达式,的值为,1(true),,否则为,0(false),。如:,1327,的求值结果为,0,,,13 y),printf(“%d”,x,);,表达式,语句序列,非,0,0,if,语句,2.,第二种结构的,if,语句(双臂),if(,表达式,),语句序列,1;,else,语句序列,2;,如:,if(x,y),printf(“%d”,x,);,else,printf(“%d”,y,);,表达式,语句序列,2,语句序列,1,0,非,0,输出,1100,之间的所有素数。,/*,输出,1100,之间的所有素数,*,/,main(),int,i,j,;,for(i,=2;i100;i+),for(j,=2;,i%j,;j+);,if(i,=j),printf,(,素数,=%,dn,i,);,例,3,判断素数,将,1100,之间的所有素数放到一个数组中。,/*,将,1100,之间的所有素数放到一个数组中*,/,#include stdio.h,main(),int i,j;,int k,m,a100;,for(m=0;m100;m+)am=0;,for(i=2,k=0;i100;i+),for(j=2;i%j;j+);,if(i=j),ak=j;,k+;,/*printf(,共有,%d,个素数。,n,k);*/,for(m=0;mk;m+),printf(,第,%d,个素数,=%dn,m+1,am);,例,3,判断素数,引入宏定义。,/*,引入宏定义,*,/,#include stdio.h,#define N 100,main(),int i,j;,int k,m,aN;,for(m=0;mN;m+)am=0;,for(i=2,k=0;iN;i+),for(j=2;i%j;j+);,if(i=j),ak=j;,k+;,/*printf(,共有,%d,个素数。,n,k);*/,for(m=0;mk;m+),printf(,第,%d,个素数,=%dn,m+1,am);,例,3,判断素数,将,1N,之间的所有素数放到一个文件中。,/*,将,1N,之间的所有素数放到一个文件中*,/,#include stdio.h,#include stdlib.h,#define N 200,main(),int i,j;,int k,m,aN;,FILE*fp;,for(m=0;mN;m+)am=0;,for(i=2,k=0;iN;i+),for(j=2;i%j;j+);,if(i=j),ak=j;,k+;,if(fp=fopen(e:sushu.txt,w)=NULL),printf(cannot open file);,exit(0);,for(m=0;mk;m+),fprintf(fp,第,%d,个素数,=%dn,m+1,am);,fclose(fp);,printf(,文件“,e:sushu.txt”,已写出。,n);,例,3,判断素数,有且仅有一个,main,(),(主函数)框架;,语句均由分号“;”结尾;,所有变量使用前须声明(说明)其类型;,有一些函数(标准库函数或自定义函数)调用;,.,会有,#,号开头的一些编译预处理代码行;,会有注释,用“,/*/”,或“,/,”,标注。,上次课学过的,变量使用前不仅要声明(说明)其类型,通常还要赋值;,调用标准库函数要包含相应的头文件;,格式输出与输入;,变量名区别大小写;,表达式、关系表达式、逻辑表达式;,循环(,for,语句)做重复的事情;,选择(,if,语句)做不同的事情;,数组,引入宏定义,文件,这次课学的,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服