最简单的C程序设计顺序程序设计.ppt

上传人:sccc 文档编号:5820121 上传时间:2023-08-23 格式:PPT 页数:47 大小:1.03MB
返回 下载 相关 举报
最简单的C程序设计顺序程序设计.ppt_第1页
第1页 / 共47页
最简单的C程序设计顺序程序设计.ppt_第2页
第2页 / 共47页
最简单的C程序设计顺序程序设计.ppt_第3页
第3页 / 共47页
最简单的C程序设计顺序程序设计.ppt_第4页
第4页 / 共47页
最简单的C程序设计顺序程序设计.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《最简单的C程序设计顺序程序设计.ppt》由会员分享,可在线阅读,更多相关《最简单的C程序设计顺序程序设计.ppt(47页珍藏版)》请在三一办公上搜索。

1、第四章 最简单的C程序设计 顺序程序设计,4.1 C语句概述 4.2 赋值语句 4.3 数据输入输出的概念及在C中的实现 4.4 字符数据的输入输出 4.5 格式输入输出 4.6 顺序结构程序设计举例,第四章 目录,4.1 C语句概述,4.1 C语句概述,程序对数据的处理是通过“语句”的执行来实现的。,一条语句完成一项操作(或功能)。,一个为实现特定目的的程序应包含若干条语句。,C语言的语句分类,4.1 C语句概述,4.1 C语句概述,(1)表达式语句,由表达式组成的语句称为表达式语句,语句格式:表达式;,分号(;)是语句结束的标志,功能:计算表达式或改变变量的值。,分类:,运算符表达式语句赋

2、值语句,例:,5;,i+;,a+b;,a=3,b=a+2,c=a+1;,x=y+z;,x=2;,4.1 C语句概述,(2)函数调用语句,由函数调用表达式后跟一个分号组成,语句格式:函数名(参数列表);,例:,scanf(“%d”,printf(“%d”,x);,4.1 C语句概述,(3)复合语句,由一对大括号 括起来的若干条语句组成。,语句格式:数据说明部分;执行语句部分;,注意:,在复合语句中的“内部数据描述语句”中定义的变量是 局部变量,仅在复合语句中有效。,复合语句可以嵌套,即复合语句中也可出现复合语句。,复合语句可以出现在任何数据操作语句可以出现的地方。,4.1 C语句概述,例.复合语

3、句的用法,#include“stdio.h”void main()int a=11,b=21,c=31;printf(“1:a=%dtb=%dtc=%dn,a,b,c);int b=22;float c=3.3;printf(“2:a=%dtb=%dtc=%fn,a,b,c);a=b;printf(“3:a=%dtb=%dtc=%dn,a,b,c);,运行结果 1:a=11 b=21 c=312:a=11 b=22 c=3.3000003:a=22 b=21 c=31,4.1 C语句概述,(4)空语句,只有一个分号的语句。,语句格式:;,功能:执行该语句不做任何操作。,4.2 赋值语句,赋值语

4、句由赋值表达式加上一个分号构成。,4.2 赋值语句,C语言的赋值语句的特点:,C语言的赋值号“=”是一个运算符,在其他大多数语言中赋值号不是运算符。,其他多数高级语言没有“赋值表达式”的概念。赋值表达式可以包括在其他表达式中。,例:if(a=b)0)t=a;,4.3 数据输入输出在C中的实现,4.3 数据输入输出的概念 及在C语言中的实现,所谓输入输出是以计算机为主体而言的。,C语言本身不提供输入/输出语句。C语言的输入/输出功能由C语言的标准I/O库函数提供。,在使用库函数时,要用预编译命令“#include”将有关的头文件包括到用户源文件中。,如:#include 或#include“st

5、dio.h”,标准的输入输出函数有:putchar,getchar,printf,scanf,puts,gets,4.4 字符数据的输入输出,4.4 字符数据的输入输出,1.字符输出函数putchar,(1)格式,(2)函数功能,函数名,函数的参数,putchar(c),向标准输出设备(一般为显示器)输出一个字符。,4.4 字符数据的输入输出,例.输出单个字符。,#include void main()int i=65;char c=B;putchar(i);putchar(65+32);putchar(n);putchar(c);putchar(B+32);,包含函数putchar的头文件,

6、运行结果,AaBb,2.字符输入函数getchar,(1)格式,(2)函数功能,函数名,无参数,getchar(),从终端(或系统隐含指定的输入设备)输入一个字符。,4.4 字符数据的输入输出,4.4 字符数据的输入输出,例.输入字符。,#include void main()int a;char b;a=getchar();b=getchar();printf(a=%cta=%dtb=%ctb=%dn,a,a,b,b);,运行情况,13a=1 a=49 b=3 b=51,从键盘输入字符,该字符的ASCII编码值赋给a,4.4 字符数据的输入输出,注意:,调用函数getchar时,程序执行被中

7、断,等待用户从键盘输入数据。当用户键入字符并敲回车键以后,程序继续运行。若用户输入字符后未按回车键,则键入的内容一直保留在键盘缓冲区中,只有用户键入回车键后,字符输入函数getchar才进行处理。,在源文件开头要用预编译命令“#include”将头文件stdio.h包括进来。,4.4 字符数据的输入输出,函数getchar将回车键作为一个字符读入。如果程序中有两个以上函数getchar时,应该一次性输入所需字符,最后再按回车键,如上例所示。,getchar函数一次只能接收一个字符。无论输入的是英文字母或标点符号还是数字,都是作为字符输入。得到的字符可以赋给一个字符变量或整型变量,也可以不赋给任

8、何变量,作为表达式的一部分输出。,如:putchar(getchar(),4.5 格式输入输出,4.5 格式输入输出,函数调用的一般形式:,将一组参数,按照给定的格式格式化,并且 输出到标准输出设备。,1.格式输出函数 printf,printf(格式控制字符串,输出项列表);,必须双引号括起来。作用是控制输出项的格式和输出一些提示信息。,要输出的表达式。可以是常量、变量、运算符表达式、函数返回值等,每个输出项之间用逗号(,)分隔。,4.5 格式输入输出,格式控制字符串,普通字符,转义字符,格式说明,按原样输出,主要用于输出提示信息。,指明特定的操作。,由%和格式字符串组成:%格式字符串。它表

9、示按规定的格式输出数据。,4.5 格式输入输出,例.格式输出。,#include“stdio.h”void main()int a=97,b=98;printf(1:%d,%dn,a,b);printf(2:%c,%cn,a,b);printf(3:a=%d,b=%d,a,b);,1:97,982:a,b3:a=97,b=98,运行结果,格式说明的形式,4.5 格式输入输出,%标志宽度.精度h|L 格式字符,方括号表示该项可有可无,可选的标志字符“-”表左对齐输出,缺省为右对齐输出,十进制整数,指定输出宽度。指定宽度实际宽度,补空格。指定宽度实际宽度,按实际输出。不指定宽度,按实际输出。如:1

10、0d,输出精度指示符。对整数,表示至少要输出的数字个数,不足补数字,多出则原样输出。对实数,表示小数点后至多输出的数字 个数,不足补数字,多出则舍入处理。对字符串,表示最多输出的字符个数,不足补空格,多出则丢弃。,输出长度修饰符:H或h:将长度修正为short型,如:%hd,%hx,%ho,%hu。L或l:输出long型或双精度值,如:%ld,%lx,%lo,%lu,%lf。,用来进行格式转换(重点掌握),格式字符,4.5 格式输入输出,4.5 格式输入输出,例.整数的输出。,printf(%dn,100);,printf(%5dn,100);,printf(%2dn%8ld,100,100*

11、1000);,1 0 0,1 0 0,1 0 0,1 0 0 0 0 0,4.5 格式输入输出,例.整数以八进制、十六进制及无符号形式输出。,#include“stdio.h”void main()unsigned 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);,运行结果,a=-1,177777,ffff,65535b=-2,177776,FFFE,65534,4.5 格式输入输出,例.字符和字符串的输出。,printf(%4c,%cn,A,A);,printf(%-8s,%8.

12、2s,Name,Name);,A,A,N a m e,N a,4.5 格式输入输出,例.实数的输出。,printf(%fn%10.3fn,100.7654321,100.7654321);,printf(%en%10.9e,100.7654321,100.7654321);,1 0 0.7 6 5 4 3 2,1.0 0 7 6 5 4 e+0 0 2,1 0 0.7 6 5,1.0 0 7 6 5 4 3 2 1 e+0 0 2,4.5 格式输入输出,注意:,使用函数 printf 时要注意一个问题,那就是输出表列中的求值顺序。Turbo C是按从右到左进行的。,#include“stdio

13、.h”void main()int i=8;printf(%d t%d t%d n,+i,-i,i-);,7 6 8,运行结果,4.5 格式输入输出,函数调用的一般形式:,按规定格式从键盘输入若干任何类型的数据,存放在地址列表里各地址所指的存储单元。,2.格式输入函数 scanf,scanf(“格式控制字符串”,地址列表);,必须双引号括起来。由普通字符和格式说明组成。,由若干个地址组成的列表。可以是变量的地址、字符串的首地址、指针变量等,以逗号(,)分隔。,4.5 格式输入输出,格式控制字符串,普通字符,格式说明,键盘输入时,要按原样输入,一般起分隔或提示作用。,%*宽度 h|l 格式字符,

14、输入赋值抑制字符:表示该格式说明要求输入数据,但不赋值,即在地址列表中没有对应的地址项。,宽度指示符:表示该输入项所占的列数。,数据输入类型:h:短整型l:长整型或双 精度类型,表示输入数据转换后的数据类型。,格式字符,4.5 格式输入输出,&:取地址运算符。表示将所输入后的数据放入对应地址的存储单元中。,4.5 格式输入输出,例.格式输入。,scanf(“i=%d,&i);printf(“i=%d,i);,scanf(%d%d%d,&a,&b,&c);,i=3 0 输入,i=3 0 输出,1 2 3 或,1 2 3,1,2,3 错,4.5 格式输入输出,例.格式输入。,scanf(%d,%d

15、,%d,&a,&b,&c);,scanf(%d,%*d,%d,,1,2,3,1 2 3 错,1,2,3,a=1 b=3,4.5 格式输入输出,使用scanf函数应注意:,地址表列列出的一定是地址,不能是变量名或表达式。,如:scanf(“%d,%d”,a,b);,scanf(“%d,%d”,4.5 格式输入输出,格式控制中的普通字符不是用来显示的,而是输入时要求照普通字符原样输入的。,如:scanf(“%d,%d,%d”,输入:12,34,56 结果:12a,34b,56c,scanf(“a=%d,b=%d,c=%d”,输入:a=12,b=34,c=56 结果:12a,34b,56c,4.5

16、格式输入输出,如果相邻两个格式说明之间不指定间隔符,则输入时两个输入数据之间至少用一个空格分开,或用Tab键,或者输入一个数据后键入回车再输入下一个数据。,如:scanf(“%d%d”,输入:1234 1234 1234 结果:12a,34b,4.5 格式输入输出,对于scanf函数格式控制中的“转义字符”,系统将其视作普通字符,并不作为“转义字符”来解释。,如:scanf(“a=%d,b=%dn”,输入:a=12,b=34n 结果:12a,34b,4.5 格式输入输出,在用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入。,如:scanf(“%c%c%c”,输入:abc 结果

17、:ac1,c2,bc3,4.5 格式输入输出,在输入数据时,遇到以下情况时该数据认为结束:,如:scanf(“%d%c%f”,若输入:1234a 1230.26,遇空格,或按“回车”或“跳格”(Tab)键。,按指定的宽度结束。,如:scanf(“%3c%3c%3c”,若输入:abcdefghi结果:ac1,dc2,gc3,遇非法输入。,a,b,c,如:scanf(“%2d%3f%4f”,若输入:12345678987654321结果:12x,345.000000y,6789.000000z,o,4.5 格式输入输出,提高人机交互性建议:,为了改善人机交互性,同时简化输入操作,在设计输入操作时,

18、一般是用printf函数输出一个提示信息,再用函数进行数据输入。,如:scanf(“a=%d,b=%d”,可改为:printf(“a=”);scanf(“%d”,4.6 顺序结构程序设计举例,4.6 顺序结构程序设计举例,例.输入一个华氏温度,要求输出摄氏温度,输出 取2位小数。公式为,#include“stdio.h”void main()float c,f;printf(“请输入华氏温度:n”);scanf(%f,注意数学表达式到C语言表达式的转换,4.6 顺序结构程序设计举例,例.输入两个整数a和b,将它们交换,例如a为3,b 为5,交换后a为5,b为3。,#include“stdio.

19、h”void main()int a,b,t;printf(“请输入两个整数:n”);scanf(%d%d,用于交换变量a、b的方法通常称为两两交换法。,程序运行情况如下:请输入两个整数:3 5a=3,b=5交换后:a=5,b=3,4.6 顺序结构程序设计举例,例.从键盘输入一个小写字母,要求用大小写字母 形式输出,并输出对应的ASCII码值。,#include stdio.hvoid main()char c1,c2;printf(“请输入一个小写字母:n);c1=getchar();putchar(c1);printf(,%dn,c1);c2=c1-32;printf(“转换后为:n%c,

20、%dn,c2,c2);,程序运行情况如下:请输入一个小写字母:a a,97转换后为:A,65,4.6 顺序结构程序设计举例,例.求方程ax2+bx+c=0的实数根。a,b,c由键盘输入,a0且b2-4ac0。,#include math.h#include“stdio.h”void main()f loat a,b,c,disc,x1,x2;printf(Input a,b,c:);scanf(%f,%f,%f,第四章小结,小结,1.字符输入输出函数:getchar和putchar,2.格式输入输出函数:scanfprintf,特别注意scanf函数的地址项是否要加&,3.注意简单顺序程序的结

21、构,头文件、变量 定义、输入语句及输出语句,课堂练习,课堂练习,1.已知int x,y,z,w;则为使以下语句的输出结果 为1234+123+12+1,正确的输入形式应当为。scanf(“%4d-%3d-%2d-%1d”,答案:1234-123-12-1,课堂练习,2.已知int x;float y;所用的scanf调用语句格式为:scanf(“x=%d,y=%f”,则为了将数据10和66.6分别赋给x和y,正确的 输入应当是。,答案:x=10,y=66.6,课堂练习,3.已知int x,y;double z;则以下语句中错误的函数调用是。A)scanf(“%d,%lx,%le”,D,课堂练习,4.已知int a,b;则以下错误的函数调用为。A)a=getchar();B)putchar(108);C)scanf(“%d%*2d”,B,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号