收藏 分享(赏)

c语言课件第4章_顺序程序设计.ppt

上传人:scg750829 文档编号:9120588 上传时间:2019-07-24 格式:PPT 页数:48 大小:226.50KB
下载 相关 举报
c语言课件第4章_顺序程序设计.ppt_第1页
第1页 / 共48页
c语言课件第4章_顺序程序设计.ppt_第2页
第2页 / 共48页
c语言课件第4章_顺序程序设计.ppt_第3页
第3页 / 共48页
c语言课件第4章_顺序程序设计.ppt_第4页
第4页 / 共48页
c语言课件第4章_顺序程序设计.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、第四章 最简单的C程序设计 The Simplest C Program Design,顺序程序设计 The Sequence Program Design,上机安排,0103班,4-13周周五,下午24点 0451班, 4-13周周一,下午46点 地点:F座214, 217, 218, 220,4.1 C语句概述 (Description of C sentence),一、C程序结构,二、C语句概述,C语句分类:(Assortment)1.控制语句(Control sentences)2.函数调用语句(function Call sentences)3.表达式语句(Expression se

2、ntences)4.空语句(Empty sentences)5.复合语句(Compound sentences),一条完整的C语句必须以“;”结束。 “;”是一个语句不可缺少的一部分。,控制语句(Control sentences) 功能:完成一定的控制功能,C 有9种控制语句:条件语句(Condition sentence)if(表达式) if(表达式) 语句1语句块1 else 语句2else语句块2循环语句(Loop sentence)for( ) for( ) 语句语句块,当型循环语句(while Loop)while( 表达式) while( 表达式) 语句语句块直到型循环语句(un

3、til Loop )do do 语句 while(表达式);语句块while( 表达式); continue (结束本次循环语句) switch (多分支选择语句) break(中止执行switch或循环语句) goto (转向语句) return (从函数返回数值语句),2. 函数调用语句(Calling function ),由一次函数调用加一个“ ; ”构成。,如:printf(“Hello World!”) ;,函数调用,分号,3. 表达式语句(Expression sentences),由表达式加上“ ; ”构成。,如:x+4*y; 算术表达式语句4*7,4+8; 逗号表达式语句x=

4、4*7; 赋值表达式语句(赋值语句),4. 空语句(Empty sentences),由一个 “ ; ”构成。 即: ;,作用:程序转向点; 什么也不做的循环体。 while(i=11) ;,5. 复合语句(Compound sentences),用 括起的一组语句 。,如:if (x1x2) y=x1*x1+x2 ;printf(“y=%d“,y) ;,不能省略,不能加“;”,4.2 赋值语句(Assignment Sentences), C语言中的赋值号“=”是一个运算符。 赋值表达式和赋值语句不同,赋值表达式可以被包含在其它表达式之中。,如: if (a=b)0) t=a; 它等于: a

5、=b; if (a0) t=a;,如果写成: if (a=b ; )0) t=a;,错了。在if的条件中不能包含赋值语句,4.3 数据输入输出的概念及在语言中的实现(Data Inputs and Outputs),一、数据输入输出的概念,计算机的输入输出是以计算机主机为主体而言。,输入:从外部通过输入设备(如,键盘、磁盘、光盘、扫描仪等)向计算机输入数据。,输出:从计算机向外部设备(如,显示屏、打印机、磁盘等)输出数据。,二、数据输入输出在语言中的实现,调用输入输出函数实现输入输出操作,语言本身不提供输入输出语句,输入和输出操作是通过调用语言库函数中输入输出函数来实现的。,如:putchar

6、函数输出字符(Character Input)getchar函数输入字符(Character Output)printf函数 格式输出(Data Input with format)scanf函数 格式输入(Data Output with format)puts 函数 输出字符串(Strings output)gets 函数 输入字符串(Strings input),1) C语言库函数(stdio.h,math.h等)已被编译成目标文件(二进制形式) 2) 源程序必须先编译成目标文件。源程序中的输入输出函数等库函数,在编译时并不被翻译成目标指令。 3) 生成好的目标文件(.OBJ)必须与与系

7、统的函数库(以及其他的目标文件)进行连接,形成可执行文件(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是“头文件”,包含了与用到的标准输入输出函数有关的信息。stdio.h 是standard input& outpt系统允许在使用 printf 和

8、scanf 两个函数时可不加“#include”命令。,4.4 字符数据的输入与输出(The Input and Ouput of Character Data),一、putchar 函数(字符输出函数),一般格式:putchar(c),必须有预编译命令#include ,功能向终端设备输出一个字符。,说明:其中c可以是字符型常量、字符型变量、整型常量、整型变量表达式。,例: #include main() char a,b,c;a=B; b=O; c=Y;putchar(a);putchar(b);putchar(c);putchar(); ,输出结果: BOY,一般格式: getchar(

9、) 没有参数 功能从终端输入一个字符。,二、getchar函数(字符输入函数),4.5 格式输入输出函数(Input and Output Function with Format),4.5.1 printf 函数(格式输出函数),功能:向终端输出若干个任意类型的数据。,(一) printf函数的一般格式,printf(格式控制,输出表列),举例: main( ) int a=3,b=4;printf(“a=%d b=%d sum=%dn ”, a, b,a+b ); 输出结果: a=3 b=4 sum=7,格式说明(格式字符),普通字符,输出表列,转义字符,printf(格式控制,输出表列)

10、,说明: “输出表列”是需要输出的一些数据(变量、表达式)。 “格式控制”是用双引号括起来的字符也称 “转换控制字符串”,它包括三种信息: 1.普通字符,即需要原样输出的字符。 2.格式说明,由“%”和格式字符组成,如%d,%f等。 3.转义字符,将后面的字符转换成另外的意义(P48表)。,(二) 格式字符(formatted Character),对不同类型的数据用不同的格式字符。,1. d格式符 用来输出十进制整数。(output the decimal integer),(1)%d :按整型数据的实际长度输出。,如:int a=123;printf(“%d”,a); 结果:123,(2)

11、%md:m为指定的输出字段的宽度。 若数据位数小于m,则左端补以空格; 若大于m,则按实际位数输出。,(3)%mld:输出长整型数据。 m是对长整型数据指定字段宽度。,f格式符以浮点数形式输出实数。(output the floating point real number),(1) %f :不指定字段宽度,由系统自动指定,使整数部分全部如数输出,并输出6位小数。注意float型和double型数据的有效位数,,如:float x=123456.123;printf(“%f”,x);输出结果:123456.125000,main() double x,y;x=1111111111111.111

12、111111;y=1111111111111.111111111;printf(“%f”,x+y); 2222222222222.222170,(2) %m.nf :指定输出的数据共占m列,其中有n 位小数。若数据长度小于m,则左端补空格。,(3)%m.nf : 与%m.nf 基本相同,只是使输出的数值向左端靠,右端补空格。,e格式以指数形式输出实数。(output the real number in exponent),(1) %e,如: printf(“%e”,123.456);输出结果: 1.234560e+002,6位,3位,一般共占13列宽度,(2) %m.ne和 %m.ne: m

13、、n和“”字符含义与前相同。此处n指数据的数字部分(又称尾数)的小数位数。,4. g格式符用来输出实数,它根据数值的大 小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的零。(output the real number in float point or exponent),5. o格式符以8进制数形式输出整数.,输出的数值不带符号,即将符号也一起作为八进制数的一部分输出。,如:int a=-1;printf(“%d,%o”,a,a);结果:-1,177777,o格式符同d格式符一样,可以输出长 整型数据,也可以指定字段宽度。,6. x格式符以16进制数形式输出整数。,

14、同样不会出现负的十六进制数。,7. u格式符以十进制形式输出unsigned型数据,如: main() unsigned int 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,8. C格式符用来输出一个字符。,一个整数,只要它的值在0255范围内,也可以用字符形式输出,在输出前,将该整数转换成相应的ASCII字符;反之,一个字符数据也可以用整数形式输出。,如:main()

15、 char c=a; int i=97;printf(“%c,%dn”,c,c);printf(“%c,%dn”,i,i);输出结果: a,97a,97,9. s格式符用来输出一个字符串。,(1) %s :按原长度输出字符串。 如: printf(“%s”,“CHINA”) 输出结果:CHINA,(2) %ms :输出的字符串占m列,如字符串本身长度大于m,则突破m的限制,将字符串全部输出,若串长小于m,则左补空格。,(3) %ms :如果串长小于m,则在m列范围内,字符串向左靠,右补空格。,(4) %m.ns :输出占m列,但只取字符串中左端n个字符。输出在列的右侧,左补空格。如果nm,则自

16、动取n值,即保证n个字符正常输 出。,(5) %m.ns , 其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。,4.5.2 scanf 函数(格式输入函数),(一)一般形式,scanf(格式控制,地址表列),10,15,main() int a,b,c;scanf(“%d,%d”, 输入:10,15 输出:a=10,b=15,a,b,(二)格式说明与prntf函数中的格式说明相似,以%开始,以一个格式字符结束(表4-3),中间可以插入附加的字符(表4-4)。,如:int a,b,c; scanf(“%d%d%d”, 输入形式: 10,11,12,scanf(“%3d%3d%c”,

17、输入形式: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(“%7.2d%d%d%c”,x,y,z,ch);main() int x,y;scanf(“%5d,%3d”, 输入数据: 345,567,说明:,1. %后的“*”附加说明符,用来表示跳过它相应的数据。,如:scanf(“%2d ,

18、%*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 30 40 a b 输出数据:10,20,30.00000,40.00000,a,b输入方式2:a=10 b=2030 40

19、a b,main() int a,b; float x,y; char c1,c2;scanf(“a=%d b=%d”, 输入数据:a=10 b=20x=10 y=10c1=a c2=b 输出数据:10,20,10.00000,20.00000,a,b,4.6 顺序结构程序设计举例,(顺序结构) (选择结构) (循环结构),特点:程序按语句从上到下的排列顺序依次执行,每条语句必须执行且只能执行一次,没有执行不到或执行多次的语句。,例如:已知圆柱体半径6米,高7米,求体积。,#define PI 3.14159 main( ) float r , h , s , v ;r=6 ;h=7 ;s=P

20、I*r*r ;v=s*h ;printf(“V=%fn”, v); ,例4.10 输入三角形的三条边,求三角形的面积。,开始,给a,b,c赋值,计算s=(a+b+c)/2,计算area=,结果输出,结束,#include main() float a,b,c,s,area;scanf(“%f%f%f”, ,例4.11 从键盘输入一个大写字母,要求改用小写字母输出。,分析:已知字符变量c1为大写字母。求解将字符变量c2中放入相应的小写字母。计算公式c2=c1+32 (小写改成大写字母?),开始,计算c2=c1+32,输出c1,结束,输入一大写字母 放入c1中,输出c2,例4.12 求ax2+bx+c=0的根,a,b,c由键盘输入,设 b2-4ac0,#include main() float a,b,c,disc,x1,x2,p,q;scanf(“%f%f%f“, ,本章作业:,一、 做4 .2、4.5、4.6、4.7,自己对答案,二、 编程上机操作题,熟悉各种类型的输入输出的方法,能正确使用各种格式转换符。1. 4.4题、4.8 题、4.9题。2. 上机调试4.10题并回答问题。,

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报