谢丽聪老师C语言课件4顺序程序设计.ppt

上传人:sccc 文档编号:4750570 上传时间:2023-05-13 格式:PPT 页数:46 大小:533.51KB
返回 下载 相关 举报
谢丽聪老师C语言课件4顺序程序设计.ppt_第1页
第1页 / 共46页
谢丽聪老师C语言课件4顺序程序设计.ppt_第2页
第2页 / 共46页
谢丽聪老师C语言课件4顺序程序设计.ppt_第3页
第3页 / 共46页
谢丽聪老师C语言课件4顺序程序设计.ppt_第4页
第4页 / 共46页
谢丽聪老师C语言课件4顺序程序设计.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《谢丽聪老师C语言课件4顺序程序设计.ppt》由会员分享,可在线阅读,更多相关《谢丽聪老师C语言课件4顺序程序设计.ppt(46页珍藏版)》请在三一办公上搜索。

1、第四章顺序程序设计,4.1 语句概述4.2赋值语句4.3数据输入输出概念4.4格式输出函数4.5字符输出函数4.6格式输入函数4.7字符输入函数,4.1 语句概述,程序的结构:,C语句可分为以下五类:1)表达式语句2)函数调用语句3)控制语句4)复合语句5)空语句,程序的执行部分是由语句组成的。程序的功能也是由执行语句实现的。,4.1.1 表达式语句,表达式语句由表达式加上分号“;”组成。执行表达式语句就是计算表达式的值。其一般形式为:表达式;例如:x=y+z;y+z;i+;,赋值语句,加法运算语句,但计算结果不能保留,无实际意义,自增1语句,i值增1,4.1.2 函数调用语句,函数调用语句由

2、函数名、实际参数加上分号“;”组成。执行函数语句就是调用函数体(在后面函数中再详细介绍)。其一般形式为:函数名(实际参数表);例如:printf(C Program);调用库函数,输出字符串。,4.1.3 控制语句,控制语句用于控制程序的流程,以实现程序的各种结构方式。可分成以下三类:1)条件判断语句:if else语句、switch语句;2)循环执行语句:do while语句、while语句、for语句;3)转向语句:break语句、goto语句、continue语句、return语句。,4.1.4 复合语句,复合语句把多个语句用括号括起来组成的一个语句称复合语句。在程序中应把复合语句看成是

3、单条语句,而不是多条语句。例如:x=y+z;a=b+c;printf(“%d%d”,x,a);,是一条复合语句。,复合语句内的各条语句都必须以分号“;”结尾,在括号“”外不能加分号。,4.1.5 空语句,空语句只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。例如 while(getchar()!=n);,空语句,本语句的功能是,只要从键盘输入的字符不是回车则重新输入。,4.2 赋值语句,赋值语句是由赋值表达式再加上分号构成的表达式语句。其一般形式为:变量=表达式;,赋值语句的功能和特点与赋值表达式相同。是程序中使用最多的语句之一。,在赋值语句的使用中需要注意以下几点:,1、赋值

4、表达式的嵌套:赋值符右边的表达式又是一个赋值表达式:变量=(变量=表达式);展开之后的一般形式为:变量=变量=表达式;例如:a=b=c=d=e=5;按照赋值运算符的右接合性,等效于:e=5;d=e;c=d;b=c;a=b;,2、变量说明中给变量赋初值和赋值语句的区别:给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。例如:int a=5,b,c;3、在变量说明中,不允许连续给多个变量赋初值:如下述说明是错误的:int a=b=c=5;而赋值语句允许连续赋值:a=b=c=5;,4、赋值表达式和赋值语句的区别:赋值表达式是一种表达式

5、,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。if(x=y+5)0)z=x;语句的功能是,若表达式x=y+5大于0则z=x。if(x=y+5;)0)z=x;因为x=y+5;是语句,不能出现在表达式中。,合法,非法,4.3 数据输入输出概念,1)输入输出是从标准输入设备输入或向标准输出设备输出数据。2)在语言中,所有的数据输入输出都是由库函数完成的,都是函数语句。3)使用语言库函数时,要用预编译命令:#include 或#include”stdio.h”4)考虑到printf和scanf函数使用频繁,系统允许在使用这两个函数时可不加#include 或#include”stdio.h

6、”,4.4 printf 函数(格式输出函数),4.4.1 printf()功能:按格式控制所指定的形式(向用户屏)输出输出项的值。,C不提供输入输出语句,只调用printf()函数,例:void main()int a,b,sum;a=123;b=456;sum=a+b;printf(”a=%d,b=%d,c=%dn”,a,b,sum);结果:a=123,b=456,c=579,原样输出,格式控制符与输出项表列一一对应,4.4.2 格式:printf(格式控制,输出项表列)一、输出项表列:由一个或多个输出项组成(若多个、它们之间用逗号隔开),常量、变量、函数、表达式、字符数组名等均可做输出项

7、。二、格式控制:字符串常量或字符数组名。其中字符可由下面3类组成:普通字符(原样输出)转义字符(输出所表示的字符或实现其功能)格式说明:控制对应输出项的输出形式,a=,%d,n,#includevoid main()int k=68;float t=56.3;printf(”%dt%dt%fn”,k,k+123,sqrt(t);结果:68 191 7.503333,转义字符,跳到下一区,9,17,转义字符,回车,格式控制符,对应输出格式,4.4.3 格式说明:控制对应输出项的输出形式(每个格式说明按先后顺序与输出项一一对应),输出结果中格式说明被对应的输出项值取代。(1)格式说明基本形式:%d

8、(或%i)、%o、%x(或%X)、%u、%c 对应的输出项类型为字符型和整型。,带符号十进制,带符号八进制,带符号十六进制,无符号十进制,字符,例:void main()int a=65;char c=!;printf(”%d,%cn”,a,a);printf(”c=%c,Its ASCII code=%dn”,c,c);结果:65,A c=!,Its ASCII code=33,例:void main()int a=3,m=0 x15a,k=346;printf(”%d,%u,%x,%o”,a,a,a,a);printf(”%d,%xn”,m,k);结果:3,65533,fffd,17777

9、5 346,fea6,(65536-3)10 十进制无符号,(fffd)16 十六进制,(177775)8 八进制,(-15a)16,(-346)10,与a转换相同,%o、%x(或%X)、%u按unsigned型输出,且不带前导符号“o”和“x”,%s对应的输出项为字符串或字符数组 例:void main()char name=”Jone”;printf(”%s%s%cn”,”Who is”,name,?);结果:Who is Jone?,字符串,字符,%f、%e(或%E)、%g(或%G)对应 float 型输出项%lf、%le(或%E)、%lg(或%G)对应 double 型输出项%f小数形

10、式(6位小数)%e(或%E)标准化指数形式(尾数的小数点前有一位且只有一位非零、5位小数)%g(或%G)让系统自动选取%f(去掉小数点后多余的零)或%e中较短者6位有效例:main()float f;f=123.46;printf(”%f,%e,%gn”,f,f,f)结果:123.459999,1.23460e+02,123.46数字,(2)在格式说明基本形式中加附加格式说明符 若输出项为long型或unsigned long型,则用下面格式说明控制:%ld、%lx、%lo、%lu 若输出项为short型或short型,则用下面格式说明控制:%hd、%hx、%ho、%hu在格式说明%后加一个整

11、数m指定宽度为|m|位:若实际需要的位数|m|位、则此m失效 若m为无符号整数,则左边填空格 若m为负整数,则右边填空格 若m为带正号整数,则左边填空格且所输出的数据前有正负号,例:void main()int a=12;long b=12345678;printf(”%6dn”,a);printf(”%-6dn”,a);printf(”%+6dn”,a);printf(”%12ldn”,b);printf(”%+8sn”,”book”);,字符串,负数本身肯定带负符号,带正号必须这样写,在%s中间插入m.n:m含义同,此m可省略、若省略则m=n。n为无符号整数、表示只输出对应字符串中左边n个

12、字符。例:void main()printf(”%8.3sn”,”book”);printf(”%.3sn”,”book”);输出:,宽度就是3,在%f、%e(或%E)、%g(或%G)中间插入m.n:m含义同,此m可省略、若省略则m=n。n为无符号整数、表示n位小数,其余四舍五例8:printf(”a=%+10.3lfn”,123.45678);输出:注:若与中m为正整数且m前加0,则输出 的左边空位填0例9:printf(”a=%+010.3lfn”,123.45678);输出:,四舍五入,在%x、%o、%lx、%lo 的%后加#输出带前导的八进制或十六进制数据例10:void main()

13、int x=7281;printf(”%o,%#on”,x,x);printf(”%x,%#xn”,x,x);输出:16161,016161 1c71,0 x1c71注:格式控制中,连续的两个%表示一个%(不是格式说明符),(16161)8,(1c71)16,4.5 putchar 函数(字符输出函数),格式:putchar(一个整形或字符型输出项)功能:同 printf(”%c”,输出项),在显示器上 输出单个字符。例如:putchar(A);(输出大写字母A)putchar(x);(输出字符变量x的值)putchar(101);(也是输出字符A)putchar(n);(换行),对控制字符则

14、执行控制功能,不在屏幕上显示。使用本函数前必须要用文件包含命令:#include 或#include“stdio.h”,例:,#includevoid main()char c=A;putchar(66);putchar(53);putchar(c+2);putchar(n);putchar(7);putchar(n);结果:B+C 7,B,+,C,7,换行,换行,4.6 scanf 函数(格式输入函数),4.6.1 格式 scanf(格式控制,输入项地址表列)地址:1)变量名前加&变量在内存中的地址;2)数组名数组在内存中的首地址。例如:&a,&b分别表示变量a和变量b 的地址。这个地址就是

15、编译系统在内存中给a,b变量分配的地址。,一个或多个地址组成(若多个之间用逗号隔开),变量的地址和变量值的关系如下:1、在赋值表达式中给变量赋值:如:a=567 2、scanf函数在本质上也是给变量赋值,但要求写变量的地址:如:scanf(”%d”,3、这两者在形式上是不同的。&是一个取地址运算符,&a是一个表达式,其功能是求变量的地址。,变量名,不能写地址,变量的值,变量a的地址,4.6.2 功能:系统切换到用户屏、要求并等待用户按格式控制形式和顺序输入要赋给输入项的常量,按回车键结束,系统立即把所输入的赋给相应输入项。它是一个标准库函数,与printf函数相同,使用scanf函数之前不必包

16、含stdio.h文件。4.6.3 注意:格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表列中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。,不能是符号常量,不加单撇号或双撇号,直接输入,一定要有,例:void main()int a,b,sum;scanf(”%d,%d”,执行程序时应输入 123,456,如果要输入a=123;b=456;,没有输入任何数据直接回车,结果出不来,上机要带作业及数据来,4.6.4 使用scanf函数还必须注意以下几点:1)scanf函数中没有精度控制,如:scanf(%5.2f,是非法的,应改为s

17、cnaf(%d,&a)。3)在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB或回车作间隔。C编译在碰到这些符号即认为该数据结束。,4)在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。如:scanf(%c%c%c,输入时数据之间可加空格。,空格,输入多少个无关,5)如果格式控制串中有非格式字符则输入时也要输入该非格式字符。scanf(%d,%d,%d,则输入应为:,非格式符“,”作间隔符,“a=“、”,”、“b=“、”c=“为间隔符,6)如输入的数据与输出的类型不一致,scanf(a=%d,b=%d,c=%d,应输入:,sc

18、anf(”%d,%dn”,应输入:,按格式控制符输入,数据分割,多少个无关,scanf(”%d”,应输入:或输入:,多少个无关,多少个无关,void main()char a,b;scanf(%c%c,输入:显示:输入:显示:,4.6.5 说明,1.格式控制中不包含附加格式说明符m.n,一般不包含转义字符(n可以)。2.double型输入项必须使用如下格式说明:%lf、%le、%lg(输出一样)3.*在格式说明%后插入*表示跳过它所指定的列数,如:scanf(”%d%*5%dn”,输入:结果:,用%f只能输出6位小数,输出10位用%20.10lf,a值:123 b值:456,如果只有%*d则表

19、示本输入项再度入后不赋给相应的变量,void main()int a;scanf(%d,输入:1234567890 显示:1234567890,4、在格式说明基本形式中加附加格式说明符 l若输出项为long 型或unsigned long型,则必须用下面格式说明控制:%ld、%lx、%lo、%lu h若输出项为short 型或unsigned short型,则可用下面格式说明控制:%hd、%hx、%ho、%hu。,4.7 getchar 函数(字符输入函数),形式:getchar()功能:c=getchar();同 scanf(”%c”,注意:需在文件开头加#include”stdio.h”,输入一个字符,赋给变量c,例:#include void main()char a,b,c;a=getchar();b=getchar();c=getchar();putchar(a);putchar(b);putchar(c);,a,b,c,a,b,c,换行,使用getchar函数还应注意几个问题:,1)getchar函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符。2)使用本函数前必须包含文件“stdio.h”。3)在TC屏幕下运行含本函数程序时,将退出TC 屏幕进入用户屏幕等待用户输入。输入完毕再返回TC屏幕。,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号