1、第四章第四章 最简单的最简单的C C程序设计程序设计顺序程序设计顺序程序设计4.1 C语句概述语句概述一一.C语句可以分为以下五类语句可以分为以下五类:1、控制语句,完成程序流程控制、控制语句,完成程序流程控制。if()else 条件语句 for()循环语句 while()循环语句 dowhile()循环语句 continue 结束本次循环语句 break 中止switch或循环语句 switch 多分支选择语句 goto 转向语句 return 从函数返回语句()表示条件,表示内嵌的语句表示条件,表示内嵌的语句。printf(This is a C statement.);3、表达式语句:、
2、表达式语句:在表达式后面加分号构成。例例:a=3;/*后面有分号,是语句*/4、空语句、空语句:仅包含一个分号的语句,例例、;5、复合语句、复合语句:由大括号 括起来的语句序列。例例、z=x+y;t=z/100;printf(%f,t);4.2 赋值语句赋值语句1、C语言中的赋值号语言中的赋值号“=”是一个运是一个运算符,而其它大多数语言中不是运算符,而其它大多数语言中不是运算符。算符。2、if(a=b)0)t=a;C语言不提供输入输出语句,输入输出由开语言不提供输入输出语句,输入输出由开发系统提供的函数实现,函数的原型在头文件发系统提供的函数实现,函数的原型在头文件stdio.h中定义,使用
3、输入输出函数时,应在中定义,使用输入输出函数时,应在源程序的开头使用如下语句源程序的开头使用如下语句:#include stdio.h 4.3 数据的输入与输出概念与表达数据的输入与输出概念与表达4.4 字符数据输入输出函数字符数据输入输出函数getchar():从输入设备输入一个字符从输入设备输入一个字符 putchar():向向输出设备输出设备输出一个字符。输出一个字符。4.4.1 putchar()函数函数作用作用:向终端输出一个字符。向终端输出一个字符。用法用法:putchar(c);/*c是字符变量或整型变量是字符变量或整型变量*/例例4.1#include stdio.h main
4、()char a,b,c;a=B;b=O;c=Y;putchar(a);putchar(b);putchar(c);程序输出:程序输出:BOYa、b、c是字符变量或整型变量是字符变量或整型变量n4.4.2 getchar():输入输入一个一个字符字符 例例4.2#include stdio.h main()char c;c=getchar();putchar(c);运行时,若从键盘输入字符运行时,若从键盘输入字符a,屏幕显示为,屏幕显示为:a 这是键盘输入的回显。只有在按这是键盘输入的回显。只有在按“回车回车”键后,字符才从键盘发出,程序键后,字符才从键盘发出,程序getchar才获得才获得键
5、盘的输入键盘的输入a 也可这样写:也可这样写:putchar(getchar()();printf(“%c”,gerchar();4.5 格式输入与输出格式输入与输出nprintf():输出任意格式化数据列表。:输出任意格式化数据列表。nscanf():从标准输入设备从标准输入设备(一般指键盘一般指键盘)输入数据。输入数据。1、printf()的一般格式的一般格式 printf(格式控制,输出列表)(格式控制,输出列表);例如:例如:printf(“%d,%f n”,a,b);nprintf(参数参数1,参数,参数2,参数,参数3,.,参数,参数n);n其中其中“参数参数1”表示表示“格式控制
6、格式控制”;其余参数表;其余参数表示示“输出列表输出列表”。作用:向终端输出若干个任意类型的数据。作用:向终端输出若干个任意类型的数据。格式控制:是由双引号括起来的字符串,它包括两格式控制:是由双引号括起来的字符串,它包括两种信息,格式说明和普通字符。普通字符原样输出。种信息,格式说明和普通字符。普通字符原样输出。输出列表:是需要输出的数据。可以是表达式。输出列表:是需要输出的数据。可以是表达式。2.格式说明格式说明 由由%和格式字符组成,它的作用是将输出数据转和格式字符组成,它的作用是将输出数据转换为指定的格式输出。换为指定的格式输出。格式说明的一般形式:格式说明的一般形式:%修饰字符修饰字
7、符常用的格式字符:常用的格式字符:格式格式说说 明明%d以带符号的十进制形式输出整数以带符号的十进制形式输出整数%u以无符号的十进制形式输出整数以无符号的十进制形式输出整数%o以无符号的八进制形式输出整数(无前导符以无符号的八进制形式输出整数(无前导符0)%x以无符号的十六进制形式输出整数(无前导符以无符号的十六进制形式输出整数(无前导符0 x)格式格式说说 明明%c以字符形式输出,只输出一个字符以字符形式输出,只输出一个字符%s输出一个字符串输出一个字符串%f以小数形式输出单、双精度实数以小数形式输出单、双精度实数(隐含隐含6位小数位小数)%e(E)以标准指数形式输出实数以标准指数形式输出实
8、数(数字部分数字部分6位小数位小数)%g(G)选用选用%f和和%e中输出宽度较短的一种格式,不输中输出宽度较短的一种格式,不输出无意义的出无意义的0 修饰字符:修饰字符:字符字符-:它是输出的参数:它是输出的参数(数据数据)在输出区域在输出区域内向左对齐的标志。若省略内向左对齐的标志。若省略-,则向右对齐输出。,则向右对齐输出。字符字符l:出现在:出现在d,u,o,x前,用于输出长整型前,用于输出长整型数据。数据。域宽选择域宽选择m.n:它们都是非负整数。:它们都是非负整数。m代表最小域宽,用来指明输出区域的最小宽度。代表最小域宽,用来指明输出区域的最小宽度。当实际输出的宽度小于最小域宽给定值
9、时,按最当实际输出的宽度小于最小域宽给定值时,按最 小域宽输出,空缺部分补上空格;当实际输出宽小域宽输出,空缺部分补上空格;当实际输出宽 度大于指定的最小域宽时,按实际宽度输出。度大于指定的最小域宽时,按实际宽度输出。n代表精度域宽,用来指出在代表精度域宽,用来指出在float型或型或double型数型数 据中小数点后面的数字的输出位数;对于字符串据中小数点后面的数字的输出位数;对于字符串 数据,它指出可以输出的最多的字符个数(即截数据,它指出可以输出的最多的字符个数(即截 取输出的字符个数)。取输出的字符个数)。由于由于%是格式说明的起始符,故要想输出是格式说明的起始符,故要想输出%,需用连
10、续的两个需用连续的两个%表示。表示。例例、(表示空格表示空格)int i=123;long j=123456;printf(%d,%5d,%05d,%ld,i,i,i,j);输出输出:123,123,00123,123456例例4.3 main()unsigned int a=65535;int b=-2;printf(a=%d,%o,%x,%un,a,a,a,a);printf(“b=%d,%o,%X,%un,b,b,b,b);11111111 1111111111111111 11111110a=65535b=-2a=-1,177777,ffff,65535b=-2,177776,FFFE
11、,65534例例:4.4main()char c=a;int i=97;printf(%c,%dn,c,c);printf(%c,%dn,i,i);输出:a,97 a,97 例例:4.5main()printf(%3s,%7.2s,%.4s,%-5.3sn,CHINA,CHINA,CHINA,CHINA);输出输出:CHINA,CH,CHIN,CHI 例例:4.6main()float f=123.456;printf(%f,%10f n%10.2f,%.2f n%-10.2fn,f,f,f,f,f);输出输出:123.456001,123.456001 123.46,123.46123.46
12、 ,4.5.2 数据输入数据输入nscanf():从系统标准输入设备从系统标准输入设备stdin(一(一般指键盘)输入数据。般指键盘)输入数据。一、一般格式一、一般格式 scanf(格式控制,地址列表格式控制,地址列表)n“格式控制格式控制”与与printf()的格式控制类似。的格式控制类似。n“地址列表地址列表”是输入信息存放地址的列表,一是输入信息存放地址的列表,一般是变量地址。返回值等于成功输入的项数般是变量地址。返回值等于成功输入的项数 例例4.9#include“stdio.h”/*只有只有printf和和scanf函数可以不要头文件函数可以不要头文件*/main()int a,b,
13、c;scanf(“%d%d%d”,&a,&b,&c);printf(%d,%d,%dn,a,b,c);运行时按如下方式输入三个值:运行时按如下方式输入三个值:345 (输入(输入a,b,c的值)的值)输出:输出:3,4,5(printf输出的输出的a,b,c的值)的值)二、格式说明二、格式说明与与printf()的格式控制类似。的格式控制类似。格式字符格式字符 说明说明 nd 用于输入十进制数用于输入十进制数 no(字母)(字母)用于输入八进制数用于输入八进制数 nx 用于输入十六进制数用于输入十六进制数 nc 用于输入单个字符用于输入单个字符 ns 用于输入字符串(非空格开始,空格结束,用于
14、输入字符串(非空格开始,空格结束,字符串变量以字符串变量以0结尾)结尾)nf 用于输入实数(小或指数均可)用于输入实数(小或指数均可)ne 与与f相同(可与相同(可与f互换)互换)格式的附加说明符 n字符字符 说明说明 nl(字母字母)用于长整型数(用于长整型数(%ld、%lo、%lx)或或double型实数(型实数(%lf、%le)nh 用于短整型数(用于短整型数(%hd、%ho、%hx)n域宽域宽(一个正整数)(一个正整数)指定输入所占列宽指定输入所占列宽 n*跳过相应的输入项跳过相应的输入项三、使用三、使用scanf()函数的注意事项函数的注意事项n1、sacnf()中的变量必须使用地址
15、。中的变量必须使用地址。scanf(%d,%d,a,b);scanf(%d,%d,&a,&b);n2、scanf()的的“格式控制中格式控制中”,可以使用其它,可以使用其它字符,字符,但在输入时必须输入这些相同的字符。但在输入时必须输入这些相同的字符。Scanf(“%d,%d”,&a,&b);输入时应:输入时应:3,4 Scanf(“a=%d:b=%d”,&a,&b);输入时应:输入时应:a=3:b=4n3、在用、在用%c输入时,空格和输入时,空格和“转义字符转义字符”均均作为有效字符。作为有效字符。例、例、scanf(%c%c%c,&c1,&c2,&c3);输入:输入:abc 结果:结果:a
16、c1,c2,bc3(其余被丢弃其余被丢弃)n4、输入数据时,遇以下情况结束一个数据的、输入数据时,遇以下情况结束一个数据的输入输入:(不是结束该:(不是结束该scanf函数,函数,scanf函数仅在每一个数据域均函数仅在每一个数据域均有数据,并按回车后结束)。有数据,并按回车后结束)。遇空格、遇空格、“回车回车”、“跳格跳格”键。键。遇宽度结束。遇宽度结束。遇非法输入。遇非法输入。如:如:scanf(“%d%c%f”,&a,&b,&c);若输入:若输入:123a123o.264.6 程序举例程序举例例例4.10 输入三角形的三边长,计算其面积。输入三角形的三边长,计算其面积。1.设计算法、设计
17、算法、设三边长设三边长a、b、c,面积面积area的算法是:的算法是:2.画出流程图画出流程图。求平方根函数求平方根函数sqrt()在在math.h中定义。中定义。计算面积计算面积area输出面积输出面积area输入输入a、b、c计算计算s结束结束开始开始#include math.h main()float a,b,c,s,area;scanf(%f,%f,%f,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(a=%7.2f,b=%7.2f,c=%7.2fn,a,b,c);printf(area=%7.2fn,ar
18、ea);运行情况如下:运行情况如下:3,4,6 a=3.00,b=4.00,c=6.00 area=5.33 第第4章小节:章小节:ngetchar():从标准输入设备从标准输入设备stdin输入输入 一个字符一个字符 同时有回显同时有回显nputchar():向终端输出一个字符。向终端输出一个字符。nprintf():输出任意格式化数据列表。输出任意格式化数据列表。nscanf():从标准输入设备从标准输入设备(一般指键盘一般指键盘)输入数据。输入数据。熟悉熟悉Turbo C环境的使用。头文件。帮助系环境的使用。头文件。帮助系统的使用(统的使用(Ctrl+F1)。)。第第4章小节:章小节:ngetchar():从标准输入设备从标准输入设备stdin输入输入 一个字符一个字符 同时有回显同时有回显nputchar():向终端输出一个字符。向终端输出一个字符。nprintf():输出任意格式化数据列表。输出任意格式化数据列表。nscanf():从标准输入设备从标准输入设备(一般指键盘一般指键盘)输入数据。输入数据。熟悉熟悉Turbo C环境的使用。头文件。帮助系环境的使用。头文件。帮助系统的使用(统的使用(Ctrl+F1)。)。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。