【教学课件】第3章简单的C程序设计.ppt

上传人:wuy****n92 文档编号:69866641 上传时间:2023-01-10 格式:PPT 页数:39 大小:231KB
返回 下载 相关 举报
【教学课件】第3章简单的C程序设计.ppt_第1页
第1页 / 共39页
【教学课件】第3章简单的C程序设计.ppt_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《【教学课件】第3章简单的C程序设计.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第3章简单的C程序设计.ppt(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第第第3 3 3 3章章章章 简单的简单的简单的简单的C C C C程序设计程序设计程序设计程序设计12023/1/92内容提要内容提要 C语句分类语句分类 表达式语句表达式语句 复合语句和空语句的作用复合语句和空语句的作用 基本输入基本输入/输出操作的实现输出操作的实现2023/1/93C语言中的语句语言中的语句 变量声明语句变量声明语句 int x,y;表达式语句表达式语句 i+;i=i +1;空语句空语句 ;复合语句复合语句 t=x;x=y;y=t;控制语句控制语句(参见教材参见教材P49)2023/1/94复合语句的作用复合语句的作用if(xy)t=x;x=y;y=t;被当作一条语句

2、来处被当作一条语句来处理,这部分将在以后理,这部分将在以后的实际应用中,再进的实际应用中,再进一步说明。一步说明。在什么情况下使用复合语句?在什么情况下使用复合语句?由于由于由于由于条件语句和循环语句在语法上只允许带一条语句,条件语句和循环语句在语法上只允许带一条语句,而要处理的操作往往需要多条语句才能完成,此时可用复而要处理的操作往往需要多条语句才能完成,此时可用复合语句解决该问题。合语句解决该问题。2023/1/95例例例例 3.1 3.1 本程序用于演示本程序用于演示本程序用于演示本程序用于演示在复合语句中声明的变量只能在复合在复合语句中声明的变量只能在复合在复合语句中声明的变量只能在复

3、合在复合语句中声明的变量只能在复合语句中使用语句中使用语句中使用语句中使用。In:a=1Out:a=0#includemain()int a=0;int a=1;printf(In:a=%dn,a);printf(Out:a=%dn,a);2023/1/96空语句的作用空语句的作用main()DataInitialze();DataProcess();DataOutput();DataInitialze();空语句有什么作用?空语句有什么作用?自顶向下程序设计时用在那些未完成的模块中自顶向下程序设计时用在那些未完成的模块中 延时用的空循环延时用的空循环2023/1/97数据输入数据输入/输出的

4、概念输出的概念 输入:输入:从标准输入设备上输入数据到计算机内存从标准输入设备上输入数据到计算机内存 输出:输出:将计算机内存中的数据送到标准输出设备将计算机内存中的数据送到标准输出设备 C C语言中输入语言中输入/输出操作通过调用输出操作通过调用标准输入标准输入/输出库函数输出库函数来实来实现,使用这些函数时,要在程序的开始位置加上如下一行命现,使用这些函数时,要在程序的开始位置加上如下一行命令:令:#include#include 2023/1/98字符输入输出函数字符输入输出函数字符输出函数字符输出函数 格式:格式:格式:格式:putchar(chputchar(chputchar(ch

5、putchar(ch)作用:作用:作用:作用:输出一个字符输出一个字符chch字符输入函数字符输入函数 格式:格式:格式:格式:getchargetchargetchargetchar()()()()作用:作用:作用:作用:函数值为从输入设备接收的字符函数值为从输入设备接收的字符 注意:注意:注意:注意:此函数是无参函数此函数是无参函数2023/1/99#include main()charchar ch;printfprintf(Press a key and then press Enter:);ch=getchargetchar();printfprintf(You pressed);p

6、utcharputchar(ch);putcharputchar(n);运行程序运行程序Press a key and then press Enter:A You pressedA例例例例3.2 3.2 3.2 3.2 函数函数函数函数getchar()getchar()getchar()getchar()和和和和putchar()putchar()putchar()putchar()使用举例使用举例使用举例使用举例注意该语句的作用是什么?注意该语句的作用是什么?2023/1/910格式输出函数格式输出函数 函数名输出表列字符串原样输出格式说明格式一格式一格式一格式一:printfprint

7、fprintfprintf(格式控制字符串格式控制字符串格式控制字符串格式控制字符串,输出项表列输出项表列输出项表列输出项表列););););作用:输出若干个任意类型的数据作用:输出若干个任意类型的数据例如:例如:printf(printf(a=%d b=%fa=%d b=%f,a,b);,a,b);2023/1/911格式二格式二:printfprintf(格式控制字符串格式控制字符串););作用:输出一个字符串作用:输出一个字符串例如:例如:printf(“Hello,world!”);printf(“Hello,world!”);2023/1/912%d%d或或%i%i 输出带符号的十进

8、制整数,正数的符号省略%u%u 以无符号的十进制整数形式输出%o%o 以无符号的八进制整数形式输出(无前导符0)%x%x 以无符号的十六进制整数形式输出(无前导符0 x)%X%X 以无符号的十六进制整数形式(大写)输出(无前导符0 x)%c%c 以字符形式输出单个字符%s%s 输出一个字符串%f%f 以小数形式输出浮点数(包括单、双精度)%e%e 以指数形式(小写e表示指数部分)输出实数%E%E 以指数形式(大写E表示指数部分)输出实数%g%g 选用%f,%e中输出宽度较小的一种格式%p%p 以主机的格式显示指针,即变量的地址%显示%printfprintf格式字符格式字符(课本(课本(课本(

9、课本P55 P55 P55 P55 表表表表3-13-13-13-1)2023/1/913l l 加在d、i、o、x、u前,输出long型数据L L 加在f、e、g前,输出long double型数据h h 加在d、i、o、x前,输出short型数据m m 指定输出项输出时所占的列数 数据宽度大于m,按实际宽度输出 数据宽度小于m时,补空格。若m为正整数,左边补空 格;若m为负整数,右边补空格;.n.n 对实数,用于指定输出的实数的小数位数 对字符串,用于指定从字符串左侧开始截取的子串字符个数。Printf格式修饰符格式修饰符(课本(课本(课本(课本P58 P58 表表表表3-33-3)202

10、3/1/914#include main()float f1=100.15799,f2=12.55,f3=1.7;int n1=123,n2=45,n3=6;printf(printf WITHOUT width or precision specifications:n);printf(%fn%fn%fn,f1,f2,f3);printf(%dn%dn%dn,n1,n2,n3);printf(printf WITH width and precision specifications:n);printf(%5.2fn%6.1fn%3.0fn,f1,f2,f3);printf(%5dn%6dn

11、%3dnn,n1,n2,n3);例例 3.8 printf3.8 printf函数格式符的使用函数格式符的使用2023/1/915格式输入函数格式输入函数非格式字符非格式字符格式说明格式说明地址表列地址表列scanfscanfscanfscanf(格式控制字符串格式控制字符串格式控制字符串格式控制字符串,地址表列地址表列地址表列地址表列););););例如:例如:scanf(scanf(%d,%f”,&a,&b);%d,%f”,&a,&b);2023/1/916格式输入函数格式输入函数scanf()常见错误常见错误 scanf(scanf(%d,%fn”,&a,&b);%d,%fn”,&a,&

12、b);scanf(scanf(%d,%f”,a,b);%d,%f”,a,b);scanf(scanf(%7.2f%7.2f,&a);,&a);2023/1/917%d%d 或或%i%i 以带符号十进制形式输入整型数据%o%o 以八进制无符号整数形式输入(无前导0)%x%x 以十六进制无符号整数形式输入(无前导0 x)%c%c 以字符形式输入单个字符%s%s 输入字符串,以非空白字符开始,遇第一个 空白字符结束%f%f 以小数形式输入浮点数%e%e 以指数形式输入浮点数%输入一个百分号%函数函数scanf格式字符格式字符(课本(课本(课本(课本P57 P57 表表表表3-23-2)2023/1/

13、918l l 加在d、i、o、x、u之前,输入long型数据 加在f、e前,输入double型数据L L 加在f、e前,输入long double型数据h h 加在d、i、o、x前,输入short型数据m m 指定输入数据的宽度,系统自动按此宽度截取所需数据*表示对应的输入项在读入后不赋给相应的变量函数函数scanf的的格式修饰符格式修饰符(课本(课本(课本(课本P59 P59 表表表表3-43-4)2023/1/919#include main()int a,b;printf(Please input a and b:);scanf(%d%d,&a,&b);printf(a=%d,b=%d,

14、a+b=%dn,a,b,a+b);Please input a and b:a=12,b=34,a+b=4612 34 例例 函数函数scanfscanf的使用(一)的使用(一)遇空格、遇空格、遇空格、遇空格、TAB TAB TAB TAB 键时结束键时结束键时结束键时结束2023/1/920#include main()int a,b;printf(Please input a and b:);scanf(%d%d,&a,&b);printf(a=%d,b=%d,a+b=%dn,a,b,a+b);Please input a and b:a=12,b=34,a+b=4612 遇回车键时结束遇

15、回车键时结束遇回车键时结束遇回车键时结束34 例例 函数函数scanfscanf的使用(二)的使用(二)2023/1/921#includeinclude main()main()intint a,b;a,b;printf(Please input a and b:);printf(Please input a and b:);scanf(%2d%2d,&a,&b);scanf(%2d%2d,&a,&b);printf(a=%d,b=%d,a+b=%dn,a,b,a+b);printf(a=%d,b=%d,a+b=%dn,a,b,a+b);Please input a and b:a=12,b

16、=34,a+b=461234 遇宽度时结束遇宽度时结束遇宽度时结束遇宽度时结束例例 函数函数scanfscanf的使用(三)的使用(三)2023/1/922#includeinclude main()main()intint a,b;a,b;printf(Please input a and b:);printf(Please input a and b:);scanf(%2d%2d,&a,&b);scanf(%2d%2d,&a,&b);printf(a=%d,b=%d,printf(a=%d,b=%d,a+b=%dn,a,b,a+b);a+b=%dn,a,b,a+b);Please inpu

17、t a and b:a=12,b=3,a+b=15123a 遇非法输入时结束遇非法输入时结束遇非法输入时结束遇非法输入时结束例例 函数函数scanfscanf的使用(四)的使用(四)2023/1/923#includeinclude main()main()intint a,b;a,b;printf(Please input a and b:);printf(Please input a and b:);scanf(%d scanf(%d,%d,&a,&b);%d,&a,&b);printf(a=%d,b=%d,printf(a=%d,b=%d,a+b=%dn,a,b,a+b);a+b=%dn

18、,a,b,a+b);Please input a and b:a=12,b=34,a+b=4612,34 这里逗号需要原样输入这里逗号需要原样输入这里逗号需要原样输入这里逗号需要原样输入例例 函数函数scanfscanf的使用(五)的使用(五)2023/1/924#includeinclude main()main()intint a,b;a,b;printf(Please input a and b:);printf(Please input a and b:);scanf(%2d scanf(%2d%*2d%*2d%2d,&a,&b);%2d,&a,&b);printf(a=%d,b=%d

19、,printf(a=%d,b=%d,a+b=%dn,a,b,a+b);a+b=%dn,a,b,a+b);Please input a and b:a=12,b=56,a+b=68123456 例例例例 3.93.93.93.9跳过一个输入项跳过一个输入项跳过一个输入项跳过一个输入项2023/1/925#includeinclude main()main()intint a,b;a,b;scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);printf(a=%d,b=%dn,a,b);问题问题问题问题1 1 1 1:当要求程序输出结

20、果为:当要求程序输出结果为:当要求程序输出结果为:当要求程序输出结果为:a=12,b=34a=12,b=34a=12,b=34a=12,b=34时,用户应该如何输入数据?时,用户应该如何输入数据?时,用户应该如何输入数据?时,用户应该如何输入数据?12 3412 34 例例3.10 3.10 输入数据的格式控制输入数据的格式控制2023/1/926#includeinclude main()main()intint a,b;a,b;scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);printf(a=%d,b=%dn,a,b);

21、问题问题问题问题2 2:当限定用户输入数据以逗号为分隔符,即:当限定用户输入数据以逗号为分隔符,即:当限定用户输入数据以逗号为分隔符,即:当限定用户输入数据以逗号为分隔符,即输入数据格式为:输入数据格式为:输入数据格式为:输入数据格式为:12,3412,34 时,应修改程序中的哪条语句?怎样修改?时,应修改程序中的哪条语句?怎样修改?时,应修改程序中的哪条语句?怎样修改?时,应修改程序中的哪条语句?怎样修改?scanfscanf(%d,%d,&a,&b);(%d,%d,&a,&b);例例3.10 3.10 输入数据的格式控制输入数据的格式控制2023/1/927#includeinclude

22、main()main()intint a,b;a,b;scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);printf(a=%d,b=%dn,a,b);问题问题问题问题3 3:语句:语句:语句:语句scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);修改为修改为修改为修改为scanf(a=%d,b=%d,&a,&b);scanf(a=%d,b=%d,&a,&b);时,用户应该如何输入数据?时,用户应该如何输入数据?时,用户应该如何输入数据?时,用户应该如何输入数据?a=12,b=34a=12,b=34 例例3

23、.10 3.10 输入数据的格式控制输入数据的格式控制2023/1/928#includeinclude main()main()intint a,b;a,b;scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);printf(a=%d,b=%dn,a,b);问题问题问题问题4 4:限定用户输入数据为以下格式为:限定用户输入数据为以下格式为:限定用户输入数据为以下格式为:限定用户输入数据为以下格式为 12341234 同时要求程序输出结果为同时要求程序输出结果为同时要求程序输出结果为同时要求程序输出结果为a=12,b=34a=12

24、,b=34scanfscanf(%2d%2d,&a,&b);(%2d%2d,&a,&b);例例3.10 3.10 输入数据的格式控制输入数据的格式控制2023/1/929#includeinclude main()main()intint a,b;a,b;scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);printf(a=%d,b=%dn,a,b);问题问题问题问题5 5:限定用户输入数据为以下格式为:限定用户输入数据为以下格式为:限定用户输入数据为以下格式为:限定用户输入数据为以下格式为1212 3434 同时要求程序输出结

25、果为同时要求程序输出结果为同时要求程序输出结果为同时要求程序输出结果为a=12,b=34a=12,b=34scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);printf(a=%d,b=%dn,a,b);例例3.10 3.10 输入数据的格式控制输入数据的格式控制2023/1/930#includeinclude main()main()intint a,b;a,b;scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);printf(a=%d,b=%dn,a,b);

26、问题问题问题问题6 6:设计程序使得用户可以以任意字符(回车、空格、:设计程序使得用户可以以任意字符(回车、空格、:设计程序使得用户可以以任意字符(回车、空格、:设计程序使得用户可以以任意字符(回车、空格、制表符、逗号、其它)作为分隔符进行数据的输入制表符、逗号、其它)作为分隔符进行数据的输入制表符、逗号、其它)作为分隔符进行数据的输入制表符、逗号、其它)作为分隔符进行数据的输入scanf(%d%*c%d,&a,&b);scanf(%d%*c%d,&a,&b);例例3.10 3.10 输入数据的格式控制输入数据的格式控制2023/1/931#includeinclude main()main(

27、)intint data1,data2,sum;data1,data2,sum;charchar op;op;printf(Please enter the expression printf(Please enter the expression data1+data2n);data1+data2n);scanf(%d%c%d,&data1,&op,&data2);scanf(%d%c%d,&data1,&op,&data2);printf(%d%c%d=%dn,printf(%d%c%d=%dn,data1,op,data2,data1+data2);data1,op,data2,data

28、1+data2);Please enter the expression data1+data2Please enter the expression data1+data2 第1次测试12+312+3 12 3129=3141 12 3129=3141 例例3.11 C3.11 C格式符存在的问题及其解决格式符存在的问题及其解决2023/1/932#includeinclude main()main()intint data1,data2,sum;data1,data2,sum;charchar op;op;printf(Please enter the expression printf(

29、Please enter the expression data1+data2n);data1+data2n);scanf(%d%c%d,&data1,&op,&data2);scanf(%d%c%d,&data1,&op,&data2);printf(%d%c%d=%dn,printf(%d%c%d=%dn,data1,op,data2,data1+data2);data1,op,data2,data1+data2);Please enter the expression data1+data2Please enter the expression data1+data2 第2次测试12 3

30、12 3 12 3=15 12 3=15 C C C C格式符存在的问题及其解决格式符存在的问题及其解决格式符存在的问题及其解决格式符存在的问题及其解决例例例例3.113.113.113.11缺缺缺缺“+”+”号号号号2023/1/933#includeinclude main()main()intint data1,data2,sum;data1,data2,sum;charchar op;op;printf(Please enter the expression printf(Please enter the expression data1+data2n);data1+data2n);s

31、canf(%d%c%d,&data1,&op,&data2);scanf(%d%c%d,&data1,&op,&data2);printf(%d%c%d=%dn,printf(%d%c%d=%dn,data1,op,data2,data1+data2);data1,op,data2,data1+data2);Please enter the expression data1+data2Please enter the expression data1+data2 第3次测试12+312+3 12+3=15 12+3=15 C C C C格式符存在的问题及其解决格式符存在的问题及其解决格式符存在

32、的问题及其解决格式符存在的问题及其解决例例例例例例3.113.113.113.113.113.11Oh right!Oh right!2023/1/934#includeinclude main()main()intint a;a;charchar b;b;floatfloat c;c;printf(Please input an integer:);printf(Please input an integer:);scanf(%d,&a);scanf(%d,&a);printf(integer:%dn,a);printf(integer:%dn,a);printf(Please input

33、a character:);printf(Please input a character:);scanf(%c,&b);scanf(%c,&b);printf(character:%cn,b);printf(character:%cn,b);printf(Please input a float number:);printf(Please input a float number:);scanf(%f,&c);scanf(%f,&c);printf(float:%fn,c);printf(float:%fn,c);Please input an integer:希望得到的运行结果希望得到的

34、运行结果希望得到的运行结果希望得到的运行结果12 Please input an character:a Please input a float number:3.5 integer:12character:afloat number:3.500000C C格式符存在的问题及其解决格式符存在的问题及其解决例3.12 编程从键盘先后输入整型、字符型和实型数据,要求每输入一个数据就显示一个数据的类型和数据值。2023/1/935#includeinclude main()main()intint a;a;charchar b;b;floatfloat c;c;printf(Please inpu

35、t an integer:);printf(Please input an integer:);scanf(%d,&a);scanf(%d,&a);printf(integer:%dn,a);printf(integer:%dn,a);printf(Please input a character:);printf(Please input a character:);scanf(%c,&b);scanf(%c,&b);printf(character:%cn,b);printf(character:%cn,b);printf(Please input a float number:);pri

36、ntf(Please input a float number:);scanf(%f,&c);scanf(%f,&c);printf(float:%fn,c);printf(float:%fn,c);Please input an integer:结果好像很奇怪啊!12 Please input an character:character:Please input a float number:3.5 integer:12float number:3.500000C C C C格式符存在的问题及其解决格式符存在的问题及其解决格式符存在的问题及其解决格式符存在的问题及其解决例例例例例例3.12

37、3.123.123.123.123.122023/1/936#includeinclude main()main()intint a;a;charchar b;b;floatfloat c;c;printf(Please input an integer:);printf(Please input an integer:);scanf(%d,&a);scanf(%d,&a);printf(integer:%dn,a);printf(integer:%dn,a);printf(Please input a character:);printf(Please input a character:)

38、;scanf(%scanf(%c c,&b);,&b);printf(character:%cn,b);printf(character:%cn,b);printf(Please input a float number:);printf(Please input a float number:);scanf(%f,&c);scanf(%f,&c);printf(float:%fn,c);printf(float:%fn,c);C C C C格式符存在的问题及其解决格式符存在的问题及其解决格式符存在的问题及其解决格式符存在的问题及其解决例例例例例例3.123.123.123.123.123.1

39、22023/1/937#includeinclude main()main()intint a;a;charchar b;b;floatfloat c;c;printf(Please input an integer:);printf(Please input an integer:);scanf(%d,&a);scanf(%d,&a);printf(integer:%dn,a);printf(integer:%dn,a);printf(Please input a character:);printf(Please input a character:);getchar();/*getcha

40、r();/*吸收掉前面输入整型数据后面键入的回车字符吸收掉前面输入整型数据后面键入的回车字符吸收掉前面输入整型数据后面键入的回车字符吸收掉前面输入整型数据后面键入的回车字符*/scanf(%scanf(%c c,&b);,&b);printf(character:%cn,b);printf(character:%cn,b);printf(Please input a float number:);printf(Please input a float number:);scanf(%f,&c);scanf(%f,&c);printf(float:%fn,c);printf(float:%fn,

41、c);Please input an integer:程序修改后得到的运行结果程序修改后得到的运行结果12 Please input an character:a Please input a float number:3.5 integer:12character:afloat number:3.500000C C C C格式符存在的问题及其解决格式符存在的问题及其解决格式符存在的问题及其解决格式符存在的问题及其解决例例例例例例3.123.123.123.123.123.122023/1/938本章小结本章小结字符输入函数:字符输入函数:getchar()getchar()字符输出函数:字符输出函数:putchar()putchar()格式输入函数:格式输入函数:scanf()scanf()格式输出函数:格式输出函数:printf()printf()格式控制问题格式控制问题难点难点2023/1/939几点注意几点注意不要拘泥于细节不要拘泥于细节不要死记硬背不要死记硬背在使用中慢慢掌握在使用中慢慢掌握

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁