收藏 分销(赏)

C语言程序设计课程之顺序结构程序设计.ppt

上传人:仙人****88 文档编号:14753487 上传时间:2026-11-14 格式:PPT 页数:38 大小:284KB 下载积分:10 金币
下载 相关
C语言程序设计课程之顺序结构程序设计.ppt_第1页
第1页 / 共38页
C语言程序设计课程之顺序结构程序设计.ppt_第2页
第2页 / 共38页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,顺序结构程序设计,C,语言程序设计精品课程,程序的三种基本结构,顺序结构,N-S,结构图,流程图,A,B,A,B,选择结构,Y,N,A,B,P,成立?,P,T F,A B,2,程序的三种基本结构,循环结构,N,Y,P,成立?,A,当,P,成立时,A,直到型循环,A,当,P,成立时,Y,N,A,P,成立?,当型循环,N-S,结构图,流程图,3,本章主要内容:,C,语言的语句类型,数据输出,数据输入,顺序结构程序设计,4,3.1,C,语言的语句类型,主要内容:,说明性语句,表达式语句,控制语句,复合语句,5,3.1.1 说明性语句,对程序中使用的变量、数组、函数等操作对象进行定义、声明的描述语句,只起说明作用,不产生可执行的机器指令代码。,例如:,int,a,b;,float function(,int,int,);,C,程序由函数组成。函数的格式:,函数名(参数表),说明部分;,执行部分;,数据类型说明语句,可执行语句,6,表达式后面加一个分号,构成表达式语句,x=3;y=y+5;,x=a-b,printf(x,=%d,y=%dn,x,y);,sort(a,10);,3.1.2 表达式语句,赋值语句,函数调用语句,注意:,分号是语句必不可少的一部分,单独的一个分号“;”构成一个空语句,例如:,;,(空语句,是最简单的,C,语句),7,3.1.3 控制语句,1,选择分支控制语句,if(),else,switch(),2,循环控制语句,for(),while(),do,while(),3,其他控制语句,break、continue、goto,return,8,3.1.4 复合语句,用一对花括号“”括起来的若干条语句,花括号中可以是说明语句、表达式语句、控制语句,也可以是复合语句,例如:,if(ab),max=a;min=b;,for(n=1;n=100),printf(“dn,”,p);,break;,9,3.1.4 复合语句(续),复合语句中如果有说明性语句,应该写在可执行语句的前面,例如:,main(),int,a,b;,a=b=100;,float c=10.23;,printf(%fn,c,);,printf(%d,%dn,a,b);,要特别注意:,花括号的配对,花括号的位置,C,语言学习的难点之一,10,3.2 数据输出,主要内容:,字符输出函数,格式输出函数,11,3.2.1 字符输出函数,函数调用的一般形式,putchar(ch,),功能:,在标准输出设备(即显示器屏幕)上输出一个字符。,例如:,putchar(b,);,putchar(n,);,putchar(101);,putchar(st,);,12,说明,putchar,是,C,语言的标准库函数,使用时必须加编译预处理命令:,#,include,stdio.h,或,#,include,【例,3.1,】利用,putchar,函数输出字符。,#,include,stdio.h,main(),char c1,c2;,c1=a;c2=b;,putchar(c1);putchar(c2);,putchar(n,);,putchar(c1-32);putchar(c2-32);,putchar(n,);,也可改为,c1=,97,;c2=,98,;,输出结果:,ab,AB,例,jc3_1,13,3.3.2 格式输出函数,函数调用的一般形式,printf,(,格式控制,参数2,参数,n),功能:,按格式控制所指定的格式,在标准输出设备上输出参数2、参数,n,的值。,例如有程序段:,int,a=123,b=100;,printf(%d,%d%dn,a,b,a+b);,printf,(c=%d+%d=%dn,a,b,a+b);,14,格式控制,用双引号括起的字符串,用于指定,输出数据的类型、格式、个数,包括:,普通字符,和,格式说明符,照原样输出,printf,(,c=,%d,+,%d,=,%d,n,a,b,a+b);,格式说明符:指定输出3个十进制整型数,分别为变量,a,、,b、ab,的值,15,输出格式说明符,整型,数据,%,d,以有符号十进制形式输出整型数,%,o,以无符号八进制形式输出整型数,%,x,以无符号十六进制形式输出整型数,%u,以无符号十进制形式输出整型数,实型,数据,%,f,以小数形式输出实型数,%,e,以指数形式输出实型数,%,g,按数值宽度最小的形式输出实型数,字符型,数据,%,c,输出,一个字符,%,s,输出,字符串,其他,%,输出字符%本身,在和格式符之间可以使用,附加说明符,16,附加格式说明符,l,输出长整型数(只可与,d,、,o,、,x,、,u,结合用),m,指定数据输出的宽度(即域宽),.,n,对实型数据,指定输出,n,位小数;,对字符串,指定左端截取,n,个字符输出,+,使输出的数值数据无论正负都带符号输出,-,使数据在输出域内按左对齐方式输出,整数位数+小数位数+小数点,自动对,n,位后小数四舍五入,例如:,%,ld,输出十进制长整型数,%,m.nf,右对齐,,m,位域宽,,n,位小数或,n,个字符,%-,m.nf,左对齐,17,例3.2 整型数据的输出,main(),int,a=11,b=22;,int,m=-1;long n=123456789;,printf(%d,%dn,a,b);,printf(a,=%d,b=%dn,a,b);,printf(m,:%d,%o,%x,%un,m,m,m,m);,printf(n,=%dn,n);,printf(n,=%ldn,n);,程序输出:,1122,a=11,b=22,m:-1,177777,ffff,65535,n=-13035,n=123456789,例,jc3_a,18,例3.3 实型数据的输出,main(),float x=1234.56,y=1.23456789;,double z=1234567.123456789;,printf(x,=%f,y=%f n,x,y);,printf(z,=%fn,z);,printf(z,=%en,z);,printf(z,=%gn,z);,printf(z,=%18.8fn,z);,printf(x,=%10.3fn,x);,printf(x,=%-10.3fn,x);,printf(x,=%4.3fnn,x);,程序输出:,x=1234.560059,y=1.234568,z=1234567.123457,z=1.23457e+06,z=1234570,z=1234567.12345679,x=1234.560,x=1234.560,x=1234.560,例,jc3_b,19,例3.4 字符型数据的输出,main(),int,m=97;,char,ch,=B;,printf(m,:%d%cn,m,m);,printf(ch,:%d%,cn,ch,ch,);,printf(%sn,student,);,printf(%10sn,student);,printf(%-10sn,student);,printf(%10.3sn,student);,printf(%.3snn,student);,程序输出:,m:97 a,ch,:66 B,student,student,student,stu,stu,例,jc3_c,20,注意:,printf,函数格式控制中的格式说明符与输出参数的个数和类型必须一一对应。,格式说明符的%和后面的描述符之间不能有空格。除%,X、%E、%G,外类型描述符必须是小写字母。,长整型数应该用,ld(,或,lo、lx、lu,),格式输出,否则会出现输出错误。,printf,函数的参数可以是常量、变量或表达式。在计算各参数值时,,Turbo C,采用从右至左的顺序求值。,21,3.3 数据输入,主要内容:,字符输入函数,格式输入函数,22,3.3.1 字符输入函数,函数调用的一般形式,getchar,(),功能:,从标准输入设备(即键盘)上交互输入一个字符。,例如:,getchar,();,c=,getchar,();,printf(%c,n,getchar,();,23,例如:,【例,3.8,】,getchar,函数的应用。,#,include,stdio.h,main(),char,ch,;,ch,=,getchar,();,printf(%c,%,dn,ch,ch,);,printf(%c,%dnn,ch-32,ch-32);,程序运行时输入:,m,并按回车键后,输出结果是:,m 109,M 77,例,jc3_8,24,说明:,getchar,是,C,语言的标准库函数,使用时必须加编译预处理命令:,#,include,stdio.h,或,#,include,getchar,函数需要交互输入,接收到输入字符之后才继续执行程序。,连续使用,getchar,函数时,要注意字符的输入形式,例如执行如下程序段:,char ch1,ch2;,ch1=,getchar,();,ch2=,getchar,();,必须连续输入两个字符,中间不能有其他字符,25,3.3.2 格式输入函数,函数调用的一般形式,scanf,(,格式控制,地址参数2,地址参数,n),;,功能:,按格式控制指定的格式,从标准输入设备(即键盘)交互输入数据,并依次存放到对应地址参数指定的变量中(即将输入值赋给变量)。,例如:,scanf,(%d%f,scanf,(%o,%f,scanf,(a=%d,b=%d,26,格式控制,用双引号括起的字符串,用于指定,输入数据的类型、格式、个数以及输入的形式,包括:,普通字符,和,格式说明符,照原样输入,scanf,(,a=,%d,b=,%d,&a,&b,);,格式说明符:指定输入2个十进制整型数赋给变量,a,和,b,27,输入格式说明符,整型,数据,%,d,输入十进制整型数,%,u,输入无符号的十进制整型数,%,o,输入八进制整型数,%,x,输入十六进制整型数,实型,数据,%,f,输入小数形式的单精度实型数,%,e,输入指数形式的单精度实型数,字符型,数据,%,c,输入单个字符,%,s,输入一个字符串,在和格式符之间可以使用附加说明符,28,附加格式说明符,l,与,d,、,o,、,x,、,u,结合输入长整型数,与,f,结合输入,double,型数,m,指定数据输入的宽度(即域宽),*,忽略读入的数据,(即不将读入数据赋给相应变量),例如:,%,ld、,%,lo,输入十进制、八进制长整型数,%,lf、%le,输入双精度实型数,%,mf,输入,m,位数(域宽),%*,d,忽略输入的一个整型数,对,float,和,double,型指,整数位数+小数点+小数位数,29,例如:,scanf,(%d%d%d,输入,3,个整型十进制数,以空白符,(空格、,tab,键或回车键)分隔,scanf,(%d,%o,%f,输入,3,个数,以“,”分隔,scanf,(,a=,%d,b=,%d,输入的形式是:,a=,32,b=,28,(,普通字符要照原样输入),30,程序:,main(),int,a,b,c;long m;,float x;double y;,char,ch,string20;,printf(input,a,b,c,m:);,scanf(%d,%o%x%ld,printf(a,=%d,b=%d,c=%d,m=%ldn,a,b,c,m);,printf(input,x,y:);,scanf(%f,%lf,getchar,();,printf(x,=%f,y=%fn,x,y);,printf(input,ch,string,:);,scanf(%c,%,s,&ch,string);,printf(ch,=%c,string=%,snn,ch,string,);,运行,jc3_d,31,使用,scanf,函数应注意:,要求在程序运行中输入数据,输入的数据个数和类型必须与格式说明符一一对应。,地址参数形式:&变量名(除数组或指针变量),格式控制中有普通字符时,必须照原样输入。,格式控制中无普通字符时,输入的数值型数据和字符串用空白符分隔,字符型数据不必分隔。,double,型数据输入时,必须用%,lf,或%,le,格式,实型数输入时域宽不能用,m.n,形式的附加说明,为了减少不必要的输入量,除了逗号、分号、空格符以外,格式控制中尽量不要出现普通字符,也不要使用,n,、,t,等转义字符,32,scanf,(%c%c%c,要输入:,abc,不能输入:,a,b,c,注意数值型数据与,char,型数据的混合输入,注意(续):,格式符之间若无普通字符,则:,输入的数值型数据用空白符分隔,输入的,char,型数据不必分隔,例如:,scanf,(%d%d,scanf,(%c,&,ch,);,错误输入:32,28,a,正确输入:32,28,a,33,3.4 顺序结构程序设计,3.4.1 顺序结构程序的一般算法描述,变量定义,变量赋值,运算处理,输出,结果,可用:,变量初始化,赋值语句,输入函数调用语句,注意各个语句的顺序,34,3.4.2 顺序结构程序设计举例,【例,3.15,】数据交换。从键盘输入,a,、,b,的值,输出交换以后的值。,思路:,在计算机中交换变量,a,和,b,的值,不能只写下面两个赋值语句,a=b;b=a;,正确的交换方法:,c=a;a=b;b=c;,35,程序:,main(),int,a,b,c;,printf(ninput,a,b:);,scanf(%d,%d,&a,&b,);,printf(nbefore,exchange:a=%d b=%dn,a,b);,c=a;a=b;b=c;,printf(after,exchange:a=%d b=%dn,a,b);,程序运行情况如下:,input a,b:,32,57,before exchange:a=32 b=57,after exchange:a=57 b=32,36,举例:,【例3.16】已知三条边,a、b、c,,求三角形面积。计算三角形面积的海伦公式:,其中:,设定义:,整型变量,a、b、c,实型变量,s,、,area,37,程序如下:,#,include math.h,main(),int,a,b,c;,float s,area;,scanf(%d,%d,%d,s=1.0/2*(a+b+c);,area=,sqrt(s,*(s-a)*(s-b)*(s-c);,printf(area,=%8.3f n,area);,程序运行情况如下:,3,4,5,area=6.000,实际上还需要判断,a、b、c,是否能构成三角形,即应该进行选择判断处理,38,
展开阅读全文

开通  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 

客服