《语句和控制流程》ppt课件

上传人:tian****1990 文档编号:75517838 上传时间:2019-01-31 格式:PPT 页数:49 大小:437.81KB
返回 下载 相关 举报
《语句和控制流程》ppt课件_第1页
第1页 / 共49页
《语句和控制流程》ppt课件_第2页
第2页 / 共49页
《语句和控制流程》ppt课件_第3页
第3页 / 共49页
《语句和控制流程》ppt课件_第4页
第4页 / 共49页
《语句和控制流程》ppt课件_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《《语句和控制流程》ppt课件》由会员分享,可在线阅读,更多相关《《语句和控制流程》ppt课件(49页珍藏版)》请在金锄头文库上搜索。

1、第四章 最简单的C程序设计,顺序程序设计,4.1 C语句概述,一、C程序结构,二、C语句概述,C语句分类: 1.控制语句 2.函数调用语句 3.表达式语句 4.空语句 5.复合语句,一条完整的C语句必须以“;”结束。 “;”是一个语句不可缺少的一部分。,1. 控制语句:完成一定的控制功能。,C 有9种控制语句: if( ) else (条件语句) for( ) (循环语句) while( ) (循环语句) do while( ) (循环语句) continue (结束本次循环语句) break (中止执行switch或循环语句) switch (多分支选择语句) goto (转向语句) ret

2、urn (从函数返回语句),2. 函数调用语句,由一次函数调用加一个“ ; ”构成。,如:printf(“Hello World!”) ;,函数调用,分号,3. 表达式语句,由表达式加上“ ; ”构成。,如:x+4*y; 算术表达式语句 4*7,4+8; 逗号表达式语句 x=4*7; 赋值表达式语句(赋值语句),4. 空语句,由一个 “ ; ”构成。 即: ;,作用:程序转向点; 什么也不做的循环体。 whiel(i=11);,5. 复合语句,用 括起的一组语句 。,如:if (x1x2) y=x1*x1+x2 ; printf(“y=%d“,y) ; ,不能省略,不能加“;”,4. 空语句,

3、由一个 “ ; ”构成。 即: ;,作用:程序转向点; 什么也不做的循环体(待开发)。,5. 复合语句,用 括起的一组语句 。,复合语句中的每一个语句还可以是复合语句; 复合语句尽管可由多个语句组合,但它只相当于一个语句,在任何单一语句可以存在的地方,复合语句都可以存在。,4.2 赋值语句,赋值表达式和赋值语句不同,赋值表达式可以被包含在其它表达式之中。,如果写成: if (a=b ; )0) t=a;,错了。在if的条件中不能包含赋值语句, C语言中的赋值号“=”是一个运算符。,注意:,4.3 数据输入输出的概念及在语言中的实现,一、数据输入输出的概念,计算机的输入输出是以计算机主机为主体而

4、言。,输入:从外部通过输入设备(如,键盘、磁盘 、光盘、扫描仪等)向计算机输入数据。,输出:从计算机向外部设备(如,显示屏、打 印机、磁盘等)输出数据。,二、数据输入输出在语言中的实现,调用输入输出函数实现输入输出操作,语言本身不提供输入输出语句,输入和输出操作是通过调用语言库函数中输入输出函数来实现的。,如:putchar函数输出字符 getchar函数输入字符 printf函数 格式输出 scanf函数 格式输入 puts 函数 输出字符串 gets 函数 输入字符串,1、C语言库函数已被编译成目标文件(二进制形式) 2、源程序必须先编译成目标文件。 源程序中的输入输出函数等库函数,在编译

5、时并不被 翻译成目标指令。 3、生成好的目标文件(.OBJ)必须与与系统的函数库(以及其他的目标文件)进行连接,形成可执行文件(EXE) 4、运行EXE文件时,调用已被连接的函数库中的系统函数。,main() int a,b; a=10;b=20; printf(“a=%d,b=%d”,a,b); ,printf()的目标代码,系统函数库,.,2文件开头应有“#include”命令,在调用标准输入输出库函数时,文件开头应有预编译命令: #include 或 #include “stdio.h”,其中,stdio.h是“头文件”,包含了与用到的标准输入输出函数有关的信息。,系统允许在使用 pri

6、ntf 和 scanf 两个函数时可不加“#include”命令。,4.4 字符数据的输入与输出,一、putchar 函数(字符输出函数),例: #include main() char a,b,c; a=B; b=O; c=Y; putchar(a);putchar(b);putchar(c); putchar(); ,输出结果: BOY,a,二、getchar函数(字符输入函数),4.5 格式输入输出函数 printf(); scanf();,4.5 .1 printf 函数(格式输出函数),功能:向终端输出若干个任意类型的数据。,(一)printf函数的一般格式,printf(格式控制,

7、输出表列),举例: main( ) int a=3,b=4; printf(“a=%d b=%dn ”, a, b ); 输出结果: a=3 b=4,格式说明(格式字符),普通字符,输出表列,转义字符,main() char c1=a,c2=b,c3=c,c4=101,c5=116; printf(“a%c b%ctc%ctabcn”,c1,c2,c3); printf(“tb%c %c”,c4,c5); ,aa,bb,cc,abc,A,N,printf(格式控制,输出表列),1.格式说明,由“%”和格式字符组成,如%d,%f等。,说明: “输出表列”是需要输出的一些数据(变量、表 达式)。

8、“格式控制”是用双引号括起来的字符 也称 “转换控制字符串”,它包括三种信息:,3.转义字符,将后面的字符转换成另外的意义P48表,2.普通字符,即需要原样输出的字符。,(二) 格式字符,对不同类型的数据用不同的格式字符。,1. d格式符 用来输出十进制整数。,(1)%d :按整型数据的实际长度输出。,如:int a=123; printf(“%d”,a); 结果:123,(二) 格式函数,对不同类型的数据用不同的格式字符。,1. d格式符 用来输出十进制整数。,(2)%md:m为指定的输出字段的宽度。若数据 位数小于m,则左端补以空格;若大于 m,则按实际位数输出。,(二) 格式函数,对不同

9、类型的数据用不同的格式字符。,1. d格式符 用来输出十进制整数。,(3)%ld:输出长整型数据。也可以对长整型数 据指定字段宽度。,2. o格式符以8进制数形式输出整数.,输出的数值不带符号,即将符号也一起作为八进制数的一部分输出。,如:int a=-1; printf(“%d,%o”,a,a); 结果:-1,177777,o格式符同d格式符一样,可以输出长 整型数据,也可以指定字段宽度。,3. x格式符以16进制数形式输出整数。,同样不会出现负的十六进制数。,4. u格式符以十进制形式输出unsigned型数据,如: main() unsigned int a=65535; int b=-

10、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,65535 b=-2,177776,fffe,65534,5. C格式符用来输出一个字符。,一个整数,只要它的值在0255范围内,也可以用字符形式输出,在输出前,将该整数转换成相应的ASCII字符;反之,一个字符数据也可以用整数形式输出。,如:main() char c=a; int i=97; printf(“%c,%dn”,c,c); printf(“%c,%dn”,i,i); 输出结果: a,97 a,

11、97,6. s格式符用来输出一个字符串。,(1) %s :按原长度输出字符串。 如: printf(“%s”,“CHINA”) 输出结果:CHINA,(2) %ms :输出的字符串占m列,如字符串本 身长度大于m,则突破m的限制,将字符串 全部输出,若串长小于m,则左补空格。,(3) %ms :如果串长小于m,则在m列范围内 ,字符串向左靠,右补空格。,(4) %m.ns :输出占m列,但只取字符串中左端 n个字符。输出在列的右侧,左补空格。如 果nm,则自动取值,即保证个字符正常输出。,(5) %m.ns , 其中m、n含义同上,n个字符输出 在m列范围的左侧,右补空格。,7. f格式符以小

12、数形式输出实数。,(1) %f :不指定字段宽度,由系统自动指定, 使整数部分全部如数输出,并输出6位小数。 注意float型和double型数据的有效位数,,如:float x=123456.123; printf(“%f”,x); 输出结果:123456.125000,main() double x,y; x=1111111111111.111111111; y=1111111111111.111111111; printf(“%f”,x+y); 2222222222222.222170,(2) %m.nf :指定输出的数据共占m列,其中有n 位小数。若数据长度小于m,则左端补空格。,(3

13、)%m.nf : 与%m.nf 基本相同,只是使输出 的数值向左端靠,右端补空格。,8. e格式以指数形式输出实数。,(1) %e,如: printf(“%e”,123.456); 输出结果: 1.234560e+002,6位,3位,一般共占13列宽度,(2) % m.ne和 %m.ne: m、n和“”字符含义与 前相同。此处n指数据的数字部分(又称尾数) 的小数位数。,9. g格式符用来输出实数,它根据数值的大 小,自动选f格式或e格式(选择输出时占宽度较 小的一种),且不输出无意义的零。,二、scanf 函数(格式输入函数),(一),scanf(格式控制,地址表列),10,15,main(

14、) int a,b,c; scanf(“%d,%d”, 输入:10,15 输出:a=10,b=15,a,b,如:int a,b,c; scanf(“%d%d%d”, 输入形式: 10,11,12,scanf(“%3d%3d%c”, 输入形式:123456abc 结果:a=123 b=456 ch=a,scanf(“%d%d%c”, 输入形式:123 456abc 结果:a=123 b=456 ch=a,main() char c1,c2; scanf(“c1=%c,c2=%c”, 输入数据:c1=a,c2=b 输出数据:ab,main() int x,y,z; char ch; scanf(“

15、%7.2d%d%d%c”,x,y,z,ch); main() int x,y; scanf(“%5d,%3d”, 输入数据: 345,567,有错吗?,说明:,1. %后的“*”附加说明符,用来表示跳过它相应的数据。,如:scanf(“%2d ,%*3d , %2d”, 输入:12 , 456 , 67 结果:a=12 b=67,2. 输入数据时不能规定精度。, Scanf(“%7.2f”,3、scanf(“a=%d, b=%d”, 输入:a=12,b=13,4、scanf(“%c%c%c”, 输入:a b c,空格和转义字符都作为有效字符输入,main() int a,b; float x,y; char c1,c2; scanf(“a=%d b=%d”, 输入数据:a=10 b=20 10 10 a b 输出数据:10,20,10.00000,20.00000,a,b 输入方式2:a=10 b=20 10 20 a b,main() int a,b; float x,y; char c1,c2; scanf(“a=%d b=%d”, 输入数据:a=10 b=20x=10 y

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

当前位置:首页 > 高等教育 > 大学课件

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