《顺序结构程序》PPT课件.ppt

上传人:牧羊曲112 文档编号:5620199 上传时间:2023-08-03 格式:PPT 页数:47 大小:314.99KB
返回 下载 相关 举报
《顺序结构程序》PPT课件.ppt_第1页
第1页 / 共47页
《顺序结构程序》PPT课件.ppt_第2页
第2页 / 共47页
《顺序结构程序》PPT课件.ppt_第3页
第3页 / 共47页
《顺序结构程序》PPT课件.ppt_第4页
第4页 / 共47页
《顺序结构程序》PPT课件.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《《顺序结构程序》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《顺序结构程序》PPT课件.ppt(47页珍藏版)》请在三一办公上搜索。

1、第四章 顺序结构程序,4.1 C语句概述,C语句全部为可执行语句,对应若干机器操作指命令,C程序由许多源文件组成。(分别编译,然后连接),每一个源文件由预编译命令和若干函数组成。,每一个函数由说明部分和语句部分组成。,C程序结构如图:,除说明部分外,重要部分为语句部分。,C程序,源程序文件1,源程序文件i,源程序文件n,预编译命令,函数1,函数n,说明部分,执行部分(语句),函数调用语句:,如:printf();,C 语句分为六类,1.表达式语句,赋值语句:如:i=i+1;i+;x+y;,空语句:任何事情都不做。,2.控制语句改变语句的执行顺序,if()else(条件),for()(循环),w

2、hile()(循环),do while(循环),switch(多分支选择),()表示条件,表示语句,continue(结束本次循环),break(中止整个循环),return(函数返回),3.限定转向(无条件转向)语句,5.终止程序运行语句,4.无条件转移语句,goto,exit,6.复合语句,用 括起来的一系列语句。如:z=x+y;t=z/100;printf(%f,t);,4.2 赋值语句,由赋值表达式加分号;构成,与其它高级语言相比有以下不同点:,“=”为一运算符,由此,构成一赋值表达式,可出现于表达式能出现的任何地方:,if(a=b)0)t=a;,4.3 数据输出输出在C语言中的实现,

3、前面已论述:C语言本身无输入/出语句,由函数实现,如printf.等。,一般:C语言提供了一些标准的输入/出函数系统函数。,形式:putchar(c);,功能:向终端(一般为显示器)输出一个字符,其中c为 字符型或整型变量,注意:用该函数时,须用预编译命令:#include stdio.h,4.4.1 putchar 函数 字符输出函数,4.4 字符数据输入输出,例4.1:#include stdio.h,结果:BOY,main(),char a,b,c;,a=B;b=O;c=Y;,putchar(a);putchar(b);putchar(c);,putchar(a);putchar(n);

4、putchar(b);putchar(n);putchar(c);putchar(n);,*利用putchar还可输出其它转义字符,结果:B O Y,putchar(101);输出A,putchar();输出,putchar(015);输出,*若将最后一行改为:,4.4.2 getchar 函数()字符输入函数,形式:getchar(),功能:从标准输入装置(键盘)上输入一个字符,要求:有#include stdio.h预编译命令,例4.2:#include stdio.h“main()char c;c=getchar();putchar(c);,4.5.1 printf 函数格式输出函数,一

5、、printf的一般形式,printf(格式控制序列,输出表列);,输出表列 用“,”号隔开的变量或表达式序列,其变量的值按对应的格式控制符所指定的格式输出。,4.5 格式输入输出,格式控制序列用双引号“.”括起来的格式符序列。,格式控制序列由格式说明符和普通字符组成。,2.普通字符 原样输出,1.格式说明符:由%加格式字符组成 如:%f,%d等,例:a=3;b=4;printf(a=%d,b=%d,a,b);,输出结果:a=3,b=4,无论 a,b中位数多少,均为上述形式.,若:a=123,b=45,则:printf(a=%d,b=%d,a,b);,输出结果:a=123,b=45,而:pri

6、ntf(%d%d,a,b);则输出结果为:12345,二、格式字符,不同类型的数据输出,用不同格式字符,共有十种格式,1.d格式符十进制整数输出。,(1)%d:按数据的实际长度输出。,(2)%md:m表示输出字段宽度。若实际位数m,左边补空格。,如:int i=12345;,printf(i=%10dni=%d,i,i);,则输出结果为:,i=12345,i=12345,如直接用%d,则将出错。,(3)%ld:输出长整型数,如要指定宽度,则用%mld即可。,例:long a=1234567l;printf(%ld,a);,2.o格式符 按八进制形式输出.,以1的补码形式,int a=1;pri

7、ntf(%d,%o,a,a);,则输出结果:1,177777,注:连符号位一起组成八进制数输出,特例:1存于int单元,如以长整型输出,在%后加l,也可指定宽度m,%mo,若 a=65537;,printf(%d,%o,a,a);,则输出结果为:,1,177777,3.x格式符以十六进制形式输出整数.,例:int a=1;printf(%x,%o,%d”,a,a,a),输出结果:ffff,177777,1,例4.3: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,

8、b,b,b);,4.u格式符无符号格式输出整数.,a=1,177777,ffff,65535,a=65535,b=2,b=2,177776,fffe,65534,运行结果为:,5.c格式符输出一个字符.,注:若有一整型变量,其值在0255之间,则可以字符形式输出.,一个字符型变量亦可以一个整型数据输出.,char c=a;printf(%c,c);,例4.4:main()char c=a int i=97;printf(%c,%dn,c,c);printf(%c,%dn,i,i);,运行结果为:a,97 a,97,也可以指定输出字符宽度,如果有,print(%3c,c),6.s格式符用来输出一

9、个字符串.,允许一定的编辑即允许%ms,%ms,%m.ns,%m.ns四种形式,每一形式的意义如下:,例:printf(%s,CHINA);,结果:CHINA,(1)%ms,输出的字符串占m列,如字符串本身长度大于m,则突破m的限制,将字符串全部输出。若串长小于m,则左补空格。,(2)%ms,如果串长小于m,则在m列范围内,字符串向左靠,右补空格。,例:int a=12345;,printf(a=%10d,%d,a,a);,(3)%m.ns,输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。,(4)%m.ns,其中m、n含义同上,n个字符输出在m列范围的左侧,右补空

10、格。如果nm,则m自动取n值,即保证n个字符正常输出。,例:char a=abcdef;,printf(a=%10.3s,%3.5s,a,a);,例4.5,7.f格式符以小数形式输出单、双精度实数,有以下几种形式:,%f,不指定字段宽度,由系统自动指定,使整数部分全部如数输出,并输出6位小数。,%f%m.nf%m.nf,例4.6,双精度:例4.7,%m.nf,指定输出的数据共占m列,其中有n位小数。如果值长度小于m,则左端补空格。,%m.nf,与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格。,例4.8:main()float a=123.456;printf(%f+%12f+%10

11、.2f+%.2f+%-10.2f,a,a,a,a);,结果输出:,123.456001+*123.456001+*123.46+123.46+123.46*,注意:小数点占一位。,8.e格式符以指数形式输出单,双精度实数基本形式:%e,结果:1.23456,共13列,6例,5例,可有%m.ne和%m.ne的形式,9.g格式符根据实数大小自动选择f格式,或e格式输出单双精度实数。,e+002,例:printf(%e,123.456),10.%格式符输出百分号本身。,表4.1 printf格式字符总结(printf(“%”,),许多情况与具体机器或系统有关,最好机器上一试。,表4.2 附加格式说明

12、字符,4.5.2 scanf函数格式输入函数,功能:在标准输入装置(键盘)上按指定格式 输入各种类型的数据,地址表列变量的地址或字符串首地址。,形式:scanf(格式控制序列,地址表列),格式控制序列同printf(.),用&(变量名)表示取的地址,如:&a,&b等等。,例4.9:main()int a,b,c;scanf(%d%d%d,结果 3,4,5,注意:1.scanf函数采用地址量接受数据。,2.数据之间的间隔为,Tab.空格,不能为“,”.,3.允许在格式符中插入附加字符。格式字符及附加字符的定义如下表3.3和表3.4,表4.3 scanf格式字符,表4.4 scanf附加的格式说明

13、字符,4.对于输入unsigned型数据,不用%u,而用%d,%o,%x.,5.指定数据长度时,系统自动截取。,scanf(%3d%3d,例如:int a,b,printf(a=%d,b=%d,a,b),显示:a=123,b=456,7.输入数据不能规定精度.,6.在%后加“*”表示跳过相应的数据,则当输入为12 345 67,则a12 b67,scanf(%2d%*3d%2d,scanf(%7.2f,是错误的,8.在格式控制中除格式说明符外若还有其它字符,则应按顺序原样输入。,例:scanf(%d,%d,这必须输入:21,28,又如:scanf(a=%d,b=%d,c=%d,必须这样输入:a

14、=34,b=58,c=100,提示:输入格式要求比较严格,稍有疏忽,就会出错。,例:int a,b,scanf(%d,%d,printf(a=%d,b=%d,a,b);,则结果显示:a=12345,b=23266,显然b的结果是错误的。,应输入:12345,23456,4.6 程序举例,例4.10:输入三角形三边,求三角形面积。,程序如下:,#include#include main()float a,b,c,s,area;printf(Please imput three sides length:n);scanf(%f,%f,%f,s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(The area of triangle is%5.2f,area);,if(a+b)c,Please imput three sides length:3,4,5The area of triangle is 6.00,运行结果:,例4.12.当b24ac0时,求ax2+bx+c=0的两个根。,例4.11:输入一个大写字母,要求系统改为小写字母输出。,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号