程序控制结构.pptx
《程序控制结构.pptx》由会员分享,可在线阅读,更多相关《程序控制结构.pptx(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C程序结构C程序源程序文件1源程序文件2源程序文件n预处理命令全局变量声明函数1函数n函数首部函数体局部变量声明执行语句第1页/共59页C语言语句概述语句:C语言中的语句是以“;”作为结束标志,负责完成一定的数据操作。1)控制语句:完成一定的控制功能 2)函数调用语句:由一次函数调用加;构成 3)表达式语句:任何一个表达式加;构成 4)空语句:由一个分号;构成 5)复合语句:由 将多条语句括起来构成第2页/共59页1.6 数据的输入与输出1.6.1 编译预处理1.6.2 字符数据的 I/O1.6.3 格式输出函数1.6.4 格式输入函数第3页/共59页1.6.1 编译预处理C语言中规定:使用库
2、函数时,应将函数对应的头文件通过预处理命令包含到本程序中。文件包含预处理命令格式:#include 头文件名或#include 对于标准输入输出函数,对应的头文件为stdio.h则预处理命令为:#include stdio.h或#include 第4页/共59页1.6.2 字符数据的 I/O1)字符输出函数:格式:putchar(字符表达式)功能:向终端(如显示器)输出一个字符2)字符输入函数:格式:getchar()功能:从终端(如键盘)输入一个字符到计算机例:char c1,c2=a;c1=getchar();putchar(b);putchar(c1+1);putchar(c2);put
3、char(67);putchar(n);第5页/共59页1.6.3 格式输出函数功能:向终端输出若干任意类型的数据格式:printf(格式控制,输出表列)1)格式控制:双引号括起来的字符串,包含:格式说明:由%和控制字符组成,指定数据的输出格式 普通字符:需原样输出的字符2)输出表列:需要输出的一些数据控制字符说明:d以十进制形式输出有符号整数以十进制形式输出有符号整数s输出字符串输出字符串o以以8进制形式输出无符号整数进制形式输出无符号整数f以小数形式输出单、双精度实数以小数形式输出单、双精度实数X,x以以16进制形式输出无符号整数进制形式输出无符号整数E,e以指数形式输出单、双精度实数以指
4、数形式输出单、双精度实数u以十进制形式输出无符号整数以十进制形式输出无符号整数G,g以以 f 或或 e 格式中的较短形式输出格式中的较短形式输出单、双精度实数单、双精度实数c输出单个字符输出单个字符第6页/共59页整型数据输出格式符 整型数据输出格式符 d 格式符:%d:按整型数据的实际长度输出%ld:用于输出长整型整数%md或%-md:数据输出至少m位,不足m位则左或右补空格例:int a=123,b=12345;long d=123456;printf(%d,%4d,%4d,%ld,a,a,b,d);其他整型数据输出格式符%o、%x、%u:例:unsigned int a=65535;in
5、t b=-2;printf(na=%d,%o,%x,%u,a,a,a,a);printf(nb=%d,%o,%x,%u,b,b,b,b);运行结果:a=-1,177777,ffff,65535 b=-2,177776,fffe,65534第7页/共59页实型数据输出格式符 f 格式符:%f:原样输出整数部分,输出6位小数%m.nf:至少输出m位数据,其中有n位小数%-m.nf:同上,数据不足m位时,右补空格例:float f=123.456;printf(“%f,%10f,%10.2f,%.2f,%-10.2f”,f,f,f,f,f);e 格式符:%e:小数部分6位,指数部分5位(e:1位,符
6、号:1位,指数:3位)%m.ne或%-m.ne:至少输出m位数据,其中有n位小数g 格式符:%g:根据待输出数据大小,自动选择f或e格式符(选择输出宽度小的一种)来输出实数,且不输出无意义的0第8页/共59页字符型数据输出格式符 单个字符输出格式符 c 格式符:%c、%mc 一个整数,其值在0255范围内,也可按字符形式输出,将整数值作为 ASCII 码转换为相应的字符;一个字符数据也可用整数形式输出。例:char c=a;int i=97;printf(%c,%d,c,c);printf(%c,%d,i,i);运行结果:a,97 a,97字符串输出格式符%s%ms、%-ms、%m.ns、%-
7、m.ns例:printf(%3s,%7.2s,CHINA,CHINA);printf(%.4s,%-5.3s ,CHINA,CHINA);运行结果:CHINA,CH,CHIN,CHI第9页/共59页1.6.4 格式输入函数功能:从终端输入若干任意类型的数据格式:scanf(格式控制,地址表列)1)格式控制:双引号括起来的字符串,包含:格式说明:由%和控制字符组成,指定数据的输入格式 普通字符:需原样输入的字符2)地址表列:存放输入数据的变量地址 输入数据时,数据间可以用空格、回车、Tab键作为间隔控制字符说明:d用以输入有符号的十进制整数用以输入有符号的十进制整数c用以输入单个字符用以输入单个
8、字符o用以输入无符号的用以输入无符号的8进制整数进制整数s用以输入字符串用以输入字符串x用以输入无符号的用以输入无符号的16进制整数进制整数f,e用以输入实型数据(以小数形式或用以输入实型数据(以小数形式或指数形式)指数形式)u用以输入无符号的十进制整数用以输入无符号的十进制整数第10页/共59页格式输入函数说明scanf()函数使用说明:1)地址序列应该是接受数据的变量地址,而非变量名2)在格式控制字符串中的普通字符,在输入时应原样输入3)格式控制符中可以使用修饰符:h、l、m、*4)%c格式符要求读入一个字符,不需用空格等字符作为间隔5)在输入数据时,数据输入结束的依据为:空格、回车、ta
9、b出现;按指定宽度结束;非法输入例:int a,b,c;float d;char c1,c2,c3;scanf(%d%d%d%f,&a,&b,&c,&d);scanf(a=%db=%dc=%d,&a,&b,&c);scanf(%d,%d,%d,%f,&a,&b,&c,&d);scanf(%c%c%c,&c1,&c2,&c3);第11页/共59页3.1 顺序结构程序设计 在顺序结构程序中,各语句是按照位置的先后次序顺序执行的,且每条语句都会被执行到。数据输入(I)数据操作(P)数据输出(O)程序举例:例1:输入3个整数,求其和及平均数 例2:输入参数A、B、C,求一元二次方程的根一个程序是对一定
10、的数据进行处理,一般过程为:第12页/共59页3.1 顺序结构程序设计例3-1:输入3个整数,求其和及平均数main()int a,b,c,sum,average;printf(|nInput 3 Integer:);scanf(%d%d%d,&a,&b,&c);sum=a+b+c;average=sum/3;printf(nSum=%d,Average=%d,sum,average);(3_11)第13页/共59页3.1 顺序结构程序设计例3-2:输入参数A、B、C,求一元二次方程的根#include“math.h”main()float a,b,c,delta,x1,x2;printf(|
11、nnInput a,b,c:);scanf(%f%f%f,&a,&b,&c);delta=b*b-4*a*c;x1=(-b+sqrt(delta)/(2*a);x2=(-b-sqrt(delta)/(2*a);printf(nx1=%f,x2=%f ,x1,x2);(3_12)第14页/共59页3.2 选择结构程序设计3.2.1 if语句3.2.2 switch语句第15页/共59页3.2.1 if语句选择结构控制语句:表达式语句1语句2非00表达式语句非00形式2:if (表达式1)语句1 else 语句2形式1:if (表达式)语句第16页/共59页3.2.1 if语句例3-3:输入3个整
12、数,要求按由小到大的顺序输出main()int a,b,c,t;scanf(%d%d%d,&a,&b,&c);if(a b)t=a;a=b;b=t;if(a c)t=a;a=c;c=t;if(b c)t=b;b=c;c=t;printf(n The result is:%d%d%d,a,b,c);输入(I)操作(P)输出(O)(3_21)第17页/共59页3.2.1 if语句if 语句的嵌套:在 if 语句中又包含一个或多个 if 语句 注意:if 与else 的配对问题。if(x0)if(y0)z=1;else z=0;else z=-1;if(x0)if(y0)z=1;else z=0;e
13、lse z=-1;z=-1;if(x0)if(y0)z=1;else z=0;z=-1;if(x0)if(y0)z=1;else z=0;第18页/共59页3.2.1 if语句例3-4:实现函数 -1 (x 0)程序段程序段1:if(x=0)if (x 0)y=1;else y=0;else y=-1;程序段程序段3:y=-1;if (x!=0)if (x 0)y=1;else y=0;程序段程序段4:y=0;if(x=0)if(x 0)y=1;else y=-1;错误正确正确错误第19页/共59页3.2.2 switch语句switch 语句形式:switch(表达式)case 常量表达式1
14、:语句1 case 常量表达式2:语句2 case 常量表达式n:语句n default:语句n+1使用说明:表达式的类型常量表达式的值语句的执行条件default的相对位置语句执行顺序break语句:break;第20页/共59页3.2.2 switch语句思考:本程序是否能完成题目要求?例3-5:百分制成绩转换为等级成绩main()int score,grade;scanf(%d,&score);switch(score/10)case 10:case 9:grade=A;case 8:grade=B;case 7:grade=C;case 6:grade=D;default:grade=
15、E;printf(nscore:%d grade:%c,score,grade);(3_22)第21页/共59页3.2.2 switch语句例3-5:百分制成绩转换为等级成绩main()int score,grade;scanf(%d,&score);switch(score/10)case 10:case 9:grade=A;break;case 8:grade=B;break;case 7:grade=C;break;case 6:grade=D;break;default:grade=E;printf(nscore:%d grade:%c,score,grade);(3_23)第22页/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序控制 结构
限制150内