版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上一页上一页下一页下一页主讲:何希平 Prof. & Ph.D. :62769115上一页上一页下一页下一页第第3 3章章 顺序构造程序设计顺序构造程序设计3.1 C3.1 C言语的根本语句言语的根本语句3.2 3.2 数据输入与输出数据输入与输出3.3 3.3 程序举例程序举例上一页上一页下一页下一页教学目的和根本要求:教学目的和根本要求:要求学生了解语句,尤其是复合语句的概念和运用场所教学重点:教学重点:复合语句上一页上一页下一页下一页 程序设计言语有顺序、选择、循环三种根本的控程序设计言语有顺序、选择、循环三种根本的控制构造。
2、制构造。 BA图图3.1 顺序构造执行流程顺序构造执行流程 顺序构造是最根本的控制构造,其包含的语句是顺序构造是最根本的控制构造,其包含的语句是按照书写的顺序执行的,且每条语句都将被执行。程按照书写的顺序执行的,且每条语句都将被执行。程序流程如图序流程如图3.1 所示,语句按书写顺序执行。先执行所示,语句按书写顺序执行。先执行A,再执行,再执行B。例:例: main() int a,b,temp; scanf(%d%d,&a,&b); temp=a; a=b; b=temp; printf(%d,%d,a,b); 输入:输入:14 8 输出输出8,14上一页上一页下一页下一页C
3、言语的语句可分为以下四类:言语的语句可分为以下四类: 简单语句包括输入简单语句包括输入/输出函数输出函数空语句空语句复合语句复合语句流程控制语句。流程控制语句。 3.1 C言语的根本语句言语的根本语句 本章将引见前三种语句。本章将引见前三种语句。上一页上一页下一页下一页3.1.1 简单语句简单语句表达式语句表达式语句: 由一个表达式加上一个分号构成。由一个表达式加上一个分号构成。如:如:A+; x=1; p+=q*4+5; y=42?6:1; 空语句空语句: 由一个分号表示,普通方式为:由一个分号表示,普通方式为: ; 空语句在语法上是一条语句,但执行时空语句在语法上是一条语句,但执行时不做任
4、何操作。不做任何操作。上一页上一页下一页下一页 C 言语有丰富的规范函数库言语有丰富的规范函数库, 可提供各类函可提供各类函数供用户调用,完成预先设定好的操作数供用户调用,完成预先设定好的操作. 例如调用规范库函数求数学函数值:例如调用规范库函数求数学函数值: sin(x) 、cos(x) 、 exp(x) (求求ex ) 、fabs(x) (求求x的绝对值的绝对值)、log(x)等。等。3. 函数调用语句函数调用语句: 由函数调用表达式加分号构成由函数调用表达式加分号构成. 如:如:printf(%d,a); scanf(%f,&b);上一页上一页下一页下一页调用规范库函数要留意:调
5、用规范库函数要留意: 在程序中要包含相应的头文件在程序中要包含相应的头文件例如:例如:#include #include 调用规那么:调用规那么: 函数名函数名(参数表参数表)例如:例如: y=sin(1.7); x=pow(3,18);(指数函数,指数函数,x的的y次幂次幂p358) 函数调用的本质:函数调用的本质: 在调用点转去执行一段预先设计好的程序在调用点转去执行一段预先设计好的程序,求出求出结果后前往调用点。图例结果后前往调用点。图例 函数的值又叫函数的前往值。函数的值又叫函数的前往值。上一页上一页下一页下一页调用函数调用函数A函数函数A执执行行函函数数A函数执行终了函数执行终了继续
6、执继续执行剩余行剩余的语句的语句主函数主函数mainend上一页上一页下一页下一页 如如: 数学表达式数学表达式 y=|3sinx+4cosx|+ex ,可以用可以用C言语表达式表示为:言语表达式表示为: 其中,其中,fabs,sin,cos,exp都属于头文件都属于头文件math.h,用,用到这些函数,必需在程序的预处置语句中用到这些函数,必需在程序的预处置语句中用#include把数学函数库包含进来。把数学函数库包含进来。y=fabs(3*sin(x)+4*cos(x)+exp(x);上一页上一页下一页下一页3.1.2 复合语句复合语句 语句语句1; 语句语句n; 用一对花括号,把假设干条
7、语句括起来,就用一对花括号,把假设干条语句括起来,就构成了一条复合语句。方式如下:构成了一条复合语句。方式如下: 花括号中的语句,可以是简单语句、空语句、复花括号中的语句,可以是简单语句、空语句、复合语句、流程控制语句,一切这些语句括在一同,在合语句、流程控制语句,一切这些语句括在一同,在语法上看成是一条语句,执行时顺序执行花括号中的语法上看成是一条语句,执行时顺序执行花括号中的每条语句。复合语句多用于流程控制语句中。每条语句。复合语句多用于流程控制语句中。上一页上一页下一页下一页3.2 数据输入与输出数据输入与输出格式格式: putchar( c )参数参数: c为字符常量、变量或表达式为字
8、符常量、变量或表达式功能:把字符功能:把字符c输出到显示器上输出到显示器上返值:正常,为显示的代码值;出错,为返值:正常,为显示的代码值;出错,为EOF(-1)5C言语无言语无I/O语句,语句,I/O操作由函数实现操作由函数实现5 #include 5 3.2.1 数据输出数据输出5字符输出函数字符输出函数上一页上一页下一页下一页#include void main() int c; char a; c=65; a=B; putchar(c); putchar(n); putchar(a); getch();运转结果:运转结果:AB例例上一页上一页下一页下一页格式:格式:printf(prin
9、tf(格式控制串格式控制串 ,输出表,输出表) )功能:按指定格式向显示器输出数据功能:按指定格式向显示器输出数据返值:正常,前往输出字节数;出错,前往返值:正常,前往输出字节数;出错,前往EOF(-1)EOF(-1) 格式输出函数格式输出函数 输出表:要输出的数据可以没有,多个时以输出表:要输出的数据可以没有,多个时以,分隔分隔 格式控制串:包含两种信息格式控制串:包含两种信息 格式阐明:格式阐明: %修饰符修饰符格式字符格式字符 ,用于指定,用于指定输出格式输出格式 普通字符或本义序列:原样输出普通字符或本义序列:原样输出 格式字符格式字符上一页上一页下一页下一页d,ix,Xoucse,E
10、fg%格式字符:格式字符:十六进制无符号整数十六进制无符号整数不带符号十进制整数不带符号十进制整数十进制整数十进制整数指数方式浮点小数指数方式浮点小数单一字符单一字符字符串字符串八进制无符号整数八进制无符号整数小数方式浮点小数小数方式浮点小数e和和f中较短一种中较短一种百分号本身百分号本身int a=567;printf ( %d,a);int a=255;printf(%x,a);int a=65;printf(%o,a);int a=567;printf(%u,a);char a=65;printf(%c,a);printf(%s,ABC);float a=567.789;printf(%
11、e,a);float a=567.789;printf(%f,a);float a=567.789;printf(%g,a);printf(%);567ff101567AABC5.677890e+02567.789000567.789% 阐明阐明 格式字符要用小写格式字符要用小写 格式字符与输出项个数应一样,按先后顺序一一对应格式字符与输出项个数应一样,按先后顺序一一对应 输出转换输出转换:格式字符与输出项类型不一致格式字符与输出项类型不一致,自动按指定格式输出自动按指定格式输出上一页上一页下一页下一页例例 main()main() unsigned int unsigned int u=65
12、535;u=65535; printf(u=%dn,u);printf(u=%dn,u); 输出输出结果:结果:u=-1u=-1例例 int a=3,b=4; printf(%d %dn,a,b); printf(a=%d , b=%dn,a,b); 例例 int a=3,b=4; printf(%d %dn,a,b); printf(a=%d , b=%dn,a,b);输出结果输出结果: 3 4 a=3, b=411 11 11 11 11 11 11 1165535上一页上一页下一页下一页 附加格式阐明符修饰符附加格式阐明符修饰符.n对实数对实数,指定小数点后位数指定小数点后位数(四舍五入
13、四舍五入)对字符串对字符串,指定实践输出位数指定实践输出位数修饰符修饰符功功 能能m输出数据域宽输出数据域宽,数据长度数据长度m,左补空格左补空格;否那么按实践输出否那么按实践输出输出数据在域内左对齐缺省右对齐输出数据在域内左对齐缺省右对齐)-指定在有符号数的正数前显示正号指定在有符号数的正数前显示正号(+)+输出数值时指定左面不运用的空位置自动填输出数值时指定左面不运用的空位置自动填00在八进制和十六进制数前显示前导在八进制和十六进制数前显示前导0,0 x#在在d,o,x,u前,指定输出精度为前,指定输出精度为long型型在在e,f,g前,指定输出精度为前,指定输出精度为double型型l上
14、一页上一页下一页下一页例 int a=1234; float f=123.456; char ch=a; printf(%8d,%2dn,a,a); printf(%f,%8f,%8.1f,%.2f,%.2en,f,f,f,f,f); printf(%3cn,ch);运转 1234,1234结果: 123.456000,123.456000, 123.5,123.46,1.23e+02 a例 static char a=Hello,world! printf(%sn%15sn%10.5sn%2.5sn%.3sn,a,a,a,a,a);运转结果:Hello,world! Hello,world!
15、 Hello Hello Hel 例 m.n上一页上一页下一页下一页例例 int a=1234; float f=123.456; static char c=Hello,world!; printf(%8d,%-8dn,a,a); printf(%10.2f,%-10.1fn,f,f); printf(%10.5s,%-10.3sn,c,c);运转结果:运转结果: 1234,1234 123.46,123.5 Hello,Hel 例例 -上一页上一页下一页下一页例 int a=1234; float f=123.456; printf(%08dn,a); printf(%010.2fn,f)
16、; printf(%0+8dn,a); printf(0+10.2fn,f); 例 0 、+例 int a=123; printf(%o,%#o,%X,%#Xn,a,a,a,a); 例 #例 long a=65536; printf(%d,%8ldn,a, a); 例 l00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00/00001234/0000123.46/000+1234/000+123.56/173,0173,7B,0X7B/0, 65536上一页上一页下一页下一页格式:getchar( )功能:从键盘读一字符返值:正常,前往读取的代码值;出
17、错,前往EOF(-1) 3.2.2 数据输入数据输入 字符输入函数字符输入函数 例 #include main() int c; printf(Enter a character:); c=getchar(); printf(%c-hex%xn,c,c);运转结果:Enter a character:AA-hex41上一页上一页下一页下一页 格式输入函数格式输入函数格式格式: scanf(: scanf(格式控制串格式控制串 ,地址表,地址表功能:按指定格式从键盘读入数据,存入地址表指定的功能:按指定格式从键盘读入数据,存入地址表指定的 存储单元中存储单元中, ,并按回车键终了并按回车键终了返
18、值:正常,前往输入数据个数返值:正常,前往输入数据个数 地址表:变量的地址,常用取地址运算符地址表:变量的地址,常用取地址运算符& 格式字符格式字符:d,i,o,x,u,c,s,f,e例例 scanf(%d,&a); 输入:输入:10 那么那么 a=10例例 scanf(%x,&a); 输入:输入:11 那么那么 a=17上一页上一页下一页下一页 附加格式阐明符修饰符附加格式阐明符修饰符l修饰符功 能hm*用于d,o,x前,指定输入为short型整数用于d,o,x前,指定输入为long型整数用于e,f前,指定输入为double型实数指定输入数据宽度,遇空格或不可转换字符
19、那么终了抑制符,指定输入项读入后不赋给变量例 scanf(%4d%2d%2d,&yy,&mm,&dd); 输入 20191015 那么2019yy, 10 mm, 15 dd上一页上一页下一页下一页例 scanf(%3d%*4d%f,&k,&f); 输入 12345678765.43 那么123k, 8765.43f例 scanf(%2d %*3d %2d,&a,&b); 输入 12 345 67 那么12a, 67b例 scanf(%3c%2c,&c1,&c2); 输入 abcde 那么ac1, d c2上一页上一页下一
20、页下一页 输入分隔符的指定输入分隔符的指定 普通以空格、普通以空格、TAB或回车键作为分隔符或回车键作为分隔符 其它字符做分隔符:格式串中两个格式符间字其它字符做分隔符:格式串中两个格式符间字符符例 scanf(%d%o%x,&a,&b,&c); printf(a=%d,b=%d,c=%dn,a,b,c); 输入 123 123 123 输出 a=123,b=83,c=291例 scanf(%d:%d:%d,&h,&m,&s); 输入 12:30:45 那么12 h, 30 m, 45 s例scanf(%d,%d,&a,&b);
21、输入 3,4 那么3a, 4 b例 scanf(a=%d,b=%d,c=%d,&a,&b,&c); 输入 a=12,b=24,c=36 上一页上一页下一页下一页 阐明: 用%c格式符时,空格和本义字符作为有效字符输入如 scanf(%c%c%c,&c1,&c2,&c3); 假设输入a b c 那么ac1, c2, b c3 输入数据时,遇以下情况以为该数据终了: 遇空格、TAB、或回车 遇宽度终了 遇非法输入如 scanf(%d%c%f,&a,&b,&c); 假设输入1234a123o.26 那么 1234 a, a b,
22、 123 c 输入函数留下的渣滓:上一页上一页下一页下一页如 scanf(%d%c%f,&a,&b,&c); 假设输入1234a123o.26 那么 1234 a, a b, 123 c例 int x; char ch; scanf(%d,&x); ch=getchar(); printf(x=%d,ch=%dn,x,ch);执行:123输出:x=123,ch=10例 int x; char ch; scanf(%d,&x); scanf(%c,&ch); printf(x=%d,ch=%dn,x,ch);执行:123输出:x=123,ch=10
23、处理方法:1用getchar()去除2用函数fflush(stdin)去除全部剩余内容 (3) 用格式串中空格或%*c来吃掉例 int x; char ch; scanf(%d,&x); scanf( %c,&ch);或 scanf(%*c%c,&ch); 上一页上一页下一页下一页例例3.1 输入圆的半径,输出圆的周长和面积。输入圆的半径,输出圆的周长和面积。分析:分析: 1.定义实型变量定义实型变量r、l、s用于存放半径、周长、面用于存放半径、周长、面积;积;2.调用输入函数,输入调用输入函数,输入r:3.分别利用周长公式和面积公式求出分别利用周长公式和面积公式求出l
24、、s;4.调用输出函数输出调用输出函数输出l、s。3.3 程序举例程序举例上一页上一页下一页下一页程序:程序:#include main() float r,l,s; scanf( %f ,&r); l = 2 * 3.14159 * r; s = 3.14159 *r * r; printf(n l=%.4f,l); printf(n s=%.4f,s); 上一页上一页下一页下一页/*ch3_12.c*/#include #include 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.2f, s=%7.2fn,a,b,c,s); printf(area=%7.2fn,area);输入:输入:3,4,6 输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏联谈判协议书
- 苗木装卸合同范本
- 葡萄管理协议书
- 融创集团协议书
- 认证费用协议书
- 设施拆除合同范本
- 评审劳务协议书
- 试验费协议合同
- 工厂回收合同范本
- 工人复工协议书
- 2023年农药登记专员年度总结及下一年规划
- 毛泽东生平简介(1893-1949年)
- 课程设计传动装置输入轴组合结构设计说明书
- 《资本论》第一卷第六篇“工资”
- 中国近现代史纲要知到章节答案智慧树2023年湖南城市学院
- 肾上腺神经母细胞瘤影像诊断与鉴别诊断
- (中职)Photoshop基础实用教程全册教案2022-2023学年
- 项目经理答辩题库题
- JJF 1851-2020α谱仪校准规范
- GB/T 7441-2008汽轮机及被驱动机械发出的空间噪声的测量
- GB/T 36344-2018信息技术数据质量评价指标
评论
0/150
提交评论