IT认证C语言顺序程序设计

上传人:人*** 文档编号:593292598 上传时间:2024-09-24 格式:PPT 页数:31 大小:244KB
返回 下载 相关 举报
IT认证C语言顺序程序设计_第1页
第1页 / 共31页
IT认证C语言顺序程序设计_第2页
第2页 / 共31页
IT认证C语言顺序程序设计_第3页
第3页 / 共31页
IT认证C语言顺序程序设计_第4页
第4页 / 共31页
IT认证C语言顺序程序设计_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《IT认证C语言顺序程序设计》由会员分享,可在线阅读,更多相关《IT认证C语言顺序程序设计(31页珍藏版)》请在金锄头文库上搜索。

1、第第3章章 顺序结构顺序结构 顺序结构程序顺序结构程序:程序中的每条语句都被顺序执行一遍。 3.1 C语言的基本语句语言的基本语句 3.2.1单个字符的输入输出单个字符的输入输出 3.2.2 格式化输出格式化输出printf( )函数函数 3.2.3格式化输入格式化输入scanf( )函数函数 3.3顺序结构程序设计举例顺序结构程序设计举例3.1 C语言的基本语言的基本语句语句 与其它高级语言一样,语言也是利用函数体中的可执行语句(以 ;为结束标志),向计算机系统发出操作命令的,编译后产生机器可执行指令。一般按语句的不同功能,将语言的语句分为五大类。1.流程控制语句流程控制语句( 完成一定的控

2、制功能。) 如下页图:if( )else switchfor( )while( )dowhile( )continuebreakreturngoto选择选择循环循环辅助控制辅助控制9 9条条2.函数调用语句函数调用语句3.表达式语句表达式语句 4.空语句空语句 5.复合语句复合语句 表达式加分号构成函数加分号只有一个分号的语句用 括起来的若干条语句说明:1) “”1) “”后不加分号后不加分号2) 2) 单一语句可出现处,则复合语句也可单一语句可出现处,则复合语句也可3) 3) 复合语句可嵌套复合语句可嵌套 例如: a=3;; fabc( ); printf(“Hello,world!n”);

3、z=x+y; t=z/100; 例3.1分析计算机输入设备数据输出设备结果 为了让计算机处理各种数据,首先就应该把源数据源数据输入到计算机中;计算机处理结束后,再将目标数据目标数据信息以人能够识别的方式输出。C语言中的输入输出操作,是由C语言编译系统提供的库函数库函数来实现。 本章很大一部分内容是关于输入、输出的操作库函数的介绍。计算机处理问题过程计算机处理问题过程:3.2.1 单个字符输入输出单个字符输入输出getchar( )和和putchar( )函数函数注注:在在程程序序中中使使用用putchar( )、getchar( )函函数数,须在开头加上编译预处理命令须在开头加上编译预处理命令

4、 #include stdio.h 1 ) putchar( )函数函数 格式:格式: putchar(ch); 作用:向终端输出一个字符。作用:向终端输出一个字符。 从从功功能能角角度度来来看看,printf( )函函数数可可以以完完全全代代替替putchar( )函数。函数。 ch可可以以是是一一个个字字符符变变量量或或常常量,也可以是一个转义字符量,也可以是一个转义字符。 例例 #include stdio.hmain( ) char ch1=N, ch2=E, ch3=W; putchar(ch1); putchar(ch2); putchar(ch3); putchar(n); pu

5、tchar(ch1); putchar(n); putchar(E); putchar(n); putchar(ch3); putchar(n); 程序运行结果如下:程序运行结果如下: NEW N E W 用用printf改写上例,得到所示输出结果改写上例,得到所示输出结果。2 )getchar( )函数函数格式:格式:getchar( ); 作作用用:从从系系统统隐隐含含的的输输入入设设备备(如如键键盘盘)输输入入一一个个字字符符。另另外外,从从功功能能角角度度来来看看,scanf()函函数数可可以以完完全全代代替替getchar()函数。函数。例例 #include stdio.hmain

6、( )char ch; printf(Please input two character: ); ch=getchar( ); /*等价等价scanf形式?形式?*/ putchar(ch);putchar(n); putchar(getchar( ); putchar(n); 程序运行情况如下:程序运行情况如下: Please input two characters: ab a b赋赋初值不能用空格,初值不能用空格,回车符来间隔。回车符来间隔。3.2 .2 格式化输出格式化输出printf()函数函数 printf()函数的作用函数的作用:按指定格式向计算机系统默认的输出设备(一般指显示

7、器)输出一个或多个任意类型的数据。printf()函数的一般调用形式如下:函数的一般调用形式如下:printf( 格式控制格式控制,输出项表,输出项表); 用双引号括起来,又称格式控制字符串 ,包括 : 格式说明符如:%d , %f 等 转义字符如:n 普通字符:除上述字符之外 的字符,原样输出要输出的常量、变量或表达式,用逗号分隔多个输出项 例:(1)printf(I am a student.n); (2)printf(%d,3+2); (3)printf(a=%d b=%dn, a, a+3);必必须须强强调调:“格式字符串”中的格式说明符,必须与“输出项表”中输出项的数据类型、个数一致

8、,否则会引起输出错误。printf()函数中常用的格式说明:函数中常用的格式说明:如下页图1) d(或或i)格式符格式符 dmd -md(左对齐)左对齐) %ld %-ld 用来控制输出带符号十进制整数按整型数据的实际长度输出m指定输出数据的宽度。当数据本身的实际宽度小于m时,则数据左端补空格即右对齐;若大于m,则按数据的实际位数输出。默认为右对齐。输出长整型数据,可规定宽度mld补充说明补充说明:1)对定义的长整形数据,必须以%ld控制输出,基本整形可用%d或 %ld两种格式。例:long a=135790; printf(“%ld”,a); (正确,否则不能输出)2)若想使输出的数字前带有

9、+和-号,须在%和格式字符前加“+”实现。例:printf( “ %+d,%+d”,15,-15);/*输出+15,-15*/3)若使输出数字前加前导0,须在%和宽度m间加0。例: printf( “ %06d”,15); /*输出000015 */ 2) o格式符格式符3) x(X)格式符格式符4) u格式符格式符5) c格式符格式符以八进制无符号形式输出整数,符号位作为数值位处理以十六进制无符号形式输出整数以十进制数形式输出unsigned的整数用来输出一个字符。若整数值在0255之间时也可以以该格式输出(不能加l)说明:说明:1)上述每种格式都有如上述每种格式都有如%d形式变形形式变形

10、2)%x输出的十六进制输出的十六进制1015用用af,%X用用AF 3)若想在输出的八进制数前添加若想在输出的八进制数前添加0,在十六进制数,在十六进制数 前添加前添加0x,应在应在%和和o或或x(X)间加间加#号号例: int a=31; printf(“%d,%-3d,%o,%#o,%x,%5X,%un”a,a,a,a,a,a,a);结果:结果:31,31,37,037,1f, 1F,316)s ms -ms m.ns -m.ns用来输出一个字符串,不含双引号输出的字符串占m列。当字符串长度大于m时,则按实际长度输出。若小于m,则左侧补空格如果字符串长度小于m,则在m范围内,字符串向左靠,

11、右侧补空格只取字符串的左端n个字符输出,格式同ms只取字符串的左端n个字符输出,格式同-ms。7) f 格式符格式符f %m.nf -m.nf以小数形式输出实数(包括单、双精度(也可用lf)整数部分全部显示出来,小数部分显示6位。注:并不是显示的所有数字都是有效数字,单精度7位有效,双精度15位指定数据的宽度共为m列,其中有n位小数。如果数值长度小于m,则左侧补空格。截取小数时采用四舍五入与m.f类似,只是应在右侧补空格8) e格式符格式符 e m.ne %-m.ne9) g格式符格式符以指数形式输出实数按规范化指数形式输出实数,系统自动给出6位小数,指数部分占5位,共13位与前面的叙述相同自

12、动选用f格式或e格式中较短形式输出数据,并且不输出无意义的0强调说明:强调说明:数据与格式控制符类型、个数必须匹配。数据与格式控制符类型、个数必须匹配。除了除了X、E、G外,其他格式字符外,其他格式字符必须小写必须小写。在格式控制字符串中,可以包含转义字符。在格式控制字符串中,可以包含转义字符。上述的上述的d、o、x、u、c、s、f、e、g等字符,等字符,如果用在后面,就作为格式控制符。如果用在后面,就作为格式控制符。如果想输出字符如果想输出字符,则在格式控制字符,则在格式控制字符串中,用表示。串中,用表示。练习:写输出结果练习:写输出结果1.main( ) int num1=123; lon

13、g num2=123456;printf(num1=%d,num1=%5d,num1=%-d,num1=%2dn,num1,num1,num1,num1);printf(num2=%ld,num2=%8ld,num2=%5ldn,num2,num2,num2); printf(num1=%ldn,num1); 2. printf(%d,%o,%xn,-1,-1,-1); 3.main( )float f=123.456; double d1,d2; d1=1111111111111.111111111; d2=2222222222222.222222222; printf(%f,%12f,%1

14、2.2f,%-12.2f,%.2fn,f,f,f,f,f); printf(d1+d2=%fn,d1+d2);程序运行结果如下:程序运行结果如下: 123.456001, 123.456001, 123.46,123.46 ,123.46 d1+d2=3333333333333.3330104.main( ) printf(%s,%5s,%10s,Internet,Internet,Internet); printf(%10.5s,%10.5s,%4.5sn,Internet,Internet,Internet); 程序运行结果如下:Internet,Internet, Internet, I

15、nter,Inter ,Inter注注意意:系统输出字符和字符串时,不输出单引号和双引号。3.2.3 格式化输入格式化输入scanf()函数函数scanf()函数的作用:函数的作用:是用来从外部输入设备向计算机主机输入数据的。 scanf()函数的一般格式:函数的一般格式:scanf(控制格式控制格式, 地址表列地址表列); 包包含含3种种类类型型的的字字符符:格格 式式 说说 明明 符符 ( 同同printf)、空空白白字字符符(空空格格、Tab键键和和回回车车键键)普普通通字字符符)。表示方法:表示方法:&变量名,指变变量名,指变量定义时分配量定义时分配的内存首地的内存首地址,多个用逗址,

16、多个用逗号分隔号分隔如:如:scanf(%d%d,&a,&b);说明说明:1.要求个数、类型一致。要求个数、类型一致。 2 指定宽度指定宽度n自自动动读读取取输输入入数数据据中中相相应应的的前前n位位赋赋给给相相应应的的变变量量,多多余余部部分被舍弃。分被舍弃。 如:如:scanf(%3d%3d,&a1,&a2); printf(“a1=%d,a2=%dn,a1,a2); 假假设设输输入入“12345678”,则则系系统统将将读读取取 “123” 给给变变量量a1;将将读读取取“456” a2,所所以以printf()函函数数的的输输出出结结果果为为:a1=123,a2=456。其余被舍弃。其

17、余被舍弃。 3. %后加后加*,跳过相应数据,跳过相应数据 如:如:scanf(%2d%*2d%3d,&num1,&num2); printf(num1=%d,num2=%dn,num1,num2); 假假设设输输入入“123456789”,则则系系统统将将读读取取“12”并并赋赋值值给给num1;读读取取“34”、但但舍舍弃弃掉掉(“*”的的作作用用);读读取取“567”并并赋赋值值给给num2。所所以以,printf()函函数数的的输输出出结结果果为为:num1=12,num2=567。4.数据输入操作数据输入操作 1如如果果相相邻邻2个个格格式式说说明明符符之之间间,没没有有数数据据分分

18、隔隔符符,输输入入数据时,数据时, 用空格、用空格、Tab键或回车分隔,然后再输入下键或回车分隔,然后再输入下1个数据。个数据。 如:如:scanf(%d%d,&num1,&num2); 假假设设给给num1输输入入12,给给num2输输入入36,则则正正确确的的输输入入操操作作为:为:1236 或者:或者:12 36 2“格格式式字字符符串串”中中出出现现的的普普通通字字符符(包包括括转转义义字字符符形形式的字符),务必式的字符),务必原样输入原样输入。 如:如:scanf(num1=%d,num2=%dn,&num1,&num2); 假设给假设给num1输入输入12,给,给num2输入输入

19、36,正确的输入操作为:,正确的输入操作为: num1=12,num2=36n 换成:如何?5.使使用用格格式式说说明明符符“%c”输输入入单单个个字字符符时时,空空格格和和转转义义字字符符均均作为有效字符被输入。作为有效字符被输入。 如:如:scanf(%c%c%c,&ch1,&ch2,&ch3); printf(ch1=%c,ch2=%c,ch3=%cn,ch1,ch2,ch3); 假假设设输输入入:ABC ,则则系系统统将将字字母母A赋赋值值给给ch1,空空格格 赋值给赋值给ch2,字母字母B赋值给赋值给ch3。6.输入实型数据时不能规定精度。输入实型数据时不能规定精度。 如:如: sc

20、anf(“%7.2f”,&a); (错错)7.用用scanf给给double类类型型变变量量输输入入数数据据时时,必必须须用用%lf格格式式说说明明符。不同于符。不同于printf可用可用%f或或%lf,有效数字位数不同。有效数字位数不同。 3.3 顺序结构程序设计举例顺序结构程序设计举例 main( )int num1,num2,num3,sum; float aver; printf(“Please input three numbers:”); scanf(“%d,%d,%d”,&num1,&num2,&num3);/*输入三个整数*/ sum=num1+num2+num3; aver=

21、sum/3.0; /*求平均值,3.0换为3如何?*/ printf(num1=%d,num2=%d,num3=%dn,num1,num2,num3);printf(sum=%d,aver=%7.2fn,sum,aver);提示信息注释首行左对齐例例1.输入任意三个整数,求它们的和及平均值。#include math.h“main( )float a,b,c,disc,x1,x2; printf(Input a, b, c: ); scanf(%f,%f,%f,&a,&b,&c);/*输输入入方方程程的的三三个个系系数数的的值值*/ disc=b*b-4*a*c; x1=(-b+sqrt(di

22、sc)/(2*a); x2=(-b-sqrt(disc)/(2*a); printf(nx1=%6.2fnx2=%6.2fn,x1,x2);例例3. 从键盘输入一个小写字母,转变成大写输出。例例2. 求方程ax2+bx+c=0的实数根。a,b,c由键盘输入,a0且b2-4ac0。 练习:练习:1)三个数交换2)不借助任何变量交换两数总结总结: 在顺序结构程序中,一般包括以下几个部分:在顺序结构程序中,一般包括以下几个部分: 1程序开头的编译预处理命令。程序开头的编译预处理命令。 在在程程序序中中要要使使用用标标准准函函数数(又又称称库库函函数数),除除printf()和和scanf()外外,其

23、其它它的的都都必必须须使使用用编编译译预预处处理理命命令令,将将相相应应的的头头文文件包含进来。件包含进来。 2顺序结构程序的函数体中,主要包括:顺序结构程序的函数体中,主要包括: (1)变量类型的说明。)变量类型的说明。 (2)数据输入。)数据输入。 (3)实现函数功能部分。)实现函数功能部分。 (4)输出结果。)输出结果。作业:作业:3.1-3.9上机内容 1. 从键盘接收一个大写字母字符,将其转换成小写字母并输出小写字母以及小写字母对 应的 ASCII 值。( 要求分别使用 getchar()函数和 scanf()函数来接收字符 ) 2. 输入三角形的三边长 a,b,c,求三角形的周长

24、l 和面积 area 的值。 提示:任意三角形的面积公式为:area= s(s - a)(s - b)(s - c)的开方 ,其中,s 为周长的一半。 假设输入的 a,b,c 值能组成三角形。 3. (x1,y1)、(x2,y2)是平面上的两点,求出这两点间的距离。 提示:坐标值随机给出,距离公式为 (x2 - x1)2 + (y 2 - y 1)2的开方 ,要求小数部分保留 2 位。 上机内容 4. 输入矩形的长和宽,求出其周长和面积。 要求:矩形的长、宽、周长、面积均为 float 型或 double 型数据。 5. 已知将华式温度转换为摄式温度的公式为:C= 5(F- 32)/9 ,请编写程序实现将输入的华式温度转换为摄式温度,要求保留 1 位小数。 6. 从键盘接收任意一个数值作为弧度,分别求出其正弦和余弦值并输出,要求保留 2 位小数。 提示:正弦和余弦函数在数学函数库中,所以需要加上头文件 math.h 。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号