资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第四章第四章 最简单的最简单的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、表达式语句:、表达式语句:在表达式后面加分号构成。 例例: 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中定义,使用输入输出函数时,应在中定义,使用输入输出函数时,应在源程序的开头使用如下语句源程序的开头使用如下语句:#include stdio.h 4.3 数据的输入与输出概念与表达数据的输入与输出概念与表达4.4 字符数据输入输出函数字符数据输入输出函数getchar( ): 从输入设备输入一个字符从输入设备输入一个字符 putchar( ): 向向输出设备输出设备输出一个字符。输出一个字符。4.4.1 putchar()函数函数作用作用: 向终端输出一个字符。向终端输出一个字符。用法用法: putchar(c); /* c是字符变量或整型变量是字符变量或整型变量 */例例4.1#include stdio.h main() 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才获才获得键盘的输入得键盘的输入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”表示表示“格式控制格式控制”;其余参数表;其余参数表示示“输出列表输出列表”。作用:向终端输出若干个任意类型的数据。作用:向终端输出若干个任意类型的数据。格式控制:是由双引号括起来的字符串,它包括两格式控制:是由双引号括起来的字符串,它包括两种信息,格式说明和普通字符。普通字符原样输出。种信息,格式说明和普通字符。普通字符原样输出。输出列表:是需要输出的数据。可以是表达式。输出列表:是需要输出的数据。可以是表达式。2. 格式说明格式说明 由由%和格式字符组成,它的作用是将输出数据转和格式字符组成,它的作用是将输出数据转换为指定的格式输出。换为指定的格式输出。 格式说明的一般形式:格式说明的一般形式:%修饰字符修饰字符常用的格式字符:常用的格式字符:格式格式说说 明明%d以带符号的十进制形式输出整数以带符号的十进制形式输出整数%u以无符号的十进制形式输出整数以无符号的十进制形式输出整数%o以无符号的八进制形式输出整数(无前导符以无符号的八进制形式输出整数(无前导符0)%x以无符号的十六进制形式输出整数(无前导符以无符号的十六进制形式输出整数(无前导符0x)格式格式说说 明明%c以字符形式输出,只输出一个字符以字符形式输出,只输出一个字符%s输出一个字符串输出一个字符串%f以小数形式输出单、双精度实数以小数形式输出单、双精度实数(隐含隐含6位小数位小数)%e(E)以标准指数形式输出实数以标准指数形式输出实数(数字部分数字部分6位小数位小数)%g(G)选用选用%f和和%e中输出宽度较短的一种格式,不输中输出宽度较短的一种格式,不输出无意义的出无意义的0 修饰字符:修饰字符: 字符字符-:它是输出的参数:它是输出的参数(数据数据)在输出区域在输出区域内向左对齐的标志。若省略内向左对齐的标志。若省略-,则向右对齐输出。,则向右对齐输出。 字符字符l:出现在:出现在d,u,o,x前,用于输出长整前,用于输出长整型数据。型数据。 域宽选择域宽选择m.n:它们都是非负整数。:它们都是非负整数。 m代表最小域宽,用来指明输出区域的最小宽度。代表最小域宽,用来指明输出区域的最小宽度。 当实际输出的宽度小于最小域宽给定值时,按最当实际输出的宽度小于最小域宽给定值时,按最 小域宽输出,空缺部分补上空格;当实际输出宽小域宽输出,空缺部分补上空格;当实际输出宽 度大于指定的最小域宽时,按实际宽度输出。度大于指定的最小域宽时,按实际宽度输出。 n代表精度域宽,用来指出在代表精度域宽,用来指出在float型或型或double型数型数 据中小数点后面的数字的输出位数;对于字符串据中小数点后面的数字的输出位数;对于字符串 数据,它指出可以输出的最多的字符个数(即截数据,它指出可以输出的最多的字符个数(即截 取输出的字符个数)。取输出的字符个数)。 由于由于%是格式说明的起始符,故要想输出是格式说明的起始符,故要想输出%, 需用连续的两个需用连续的两个 %表示。表示。例例、(表示空格表示空格)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, 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 ,4.5.2 数据输入数据输入nscanf():从从系系统统标标准准输输入入设设备备stdin(一一般指键盘)输入数据。般指键盘)输入数据。一、一般格式一、一般格式 scanf(格式控制,地址列表格式控制,地址列表) n“格式控制格式控制”与与printf()的格式控制类似。的格式控制类似。n “地址列表地址列表”是输入信息存放地址的列表,一是输入信息存放地址的列表,一般是变量地址。返回值等于成功输入的项数般是变量地址。返回值等于成功输入的项数 例例4.9#include “stdio.h” /*只有只有printf和和scanf函数可以不要头文件函数可以不要头文件*/ main( ) int a,b,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 用用于于输输入入字字符符串串(非非空空格格开开始始,空空格格结结束束,字符串变量以字符串变量以0结尾)结尾) nf 用于输入实数(小或指数均可)用于输入实数(小或指数均可) ne 与与f相同(可与相同(可与f互换)互换) 格式的附加说明符 n字符字符 说明说明 nl(字字母母) 用用于于长长整整型型数数(%ld、%lo、%lx)或)或double型实数(型实数(%lf、%le)nh 用于短整型数(用于短整型数(%hd、%ho、%hx) n域宽域宽(一个正整数)(一个正整数) 指定输入所占列宽指定输入所占列宽 n* 跳过相应的输入项跳过相应的输入项三、使用三、使用scanf()函数的注意事项函数的注意事项n1、sacnf()中的变量必须使用地址。中的变量必须使用地址。 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 结果:结果:ac1,c2,bc3 (其余被丢弃其余被丢弃) n4、输输入入数数据据时时,遇遇以以下下情情况况结结束束一一个个数数据据的的输输入入:(不不是是结结束束该该scanf函函数数,scanf函函数数仅仅在在每每一一个个数数据据域域均均有数据,并按回车后结束)。有数据,并按回车后结束)。 遇空格、遇空格、“回车回车”、“跳格跳格”键。键。 遇宽度结束。遇宽度结束。 遇非法输入。遇非法输入。如:如:scanf(“%d%c%f”,&a,&b,&c);若输入:若输入:123a123o.264.6 程序举例程序举例例例4.10 输入三角形的三边长,计算其面积。输入三角形的三边长,计算其面积。1.设计算法、设计算法、 设三边长设三边长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,area); 运行情况如下:运行情况如下: 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:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号