计算机C语言教程第3章顺序程序设计.ppt

上传人:rrsccc 文档编号:11263651 上传时间:2021-07-20 格式:PPT 页数:45 大小:373KB
返回 下载 相关 举报
计算机C语言教程第3章顺序程序设计.ppt_第1页
第1页 / 共45页
计算机C语言教程第3章顺序程序设计.ppt_第2页
第2页 / 共45页
计算机C语言教程第3章顺序程序设计.ppt_第3页
第3页 / 共45页
计算机C语言教程第3章顺序程序设计.ppt_第4页
第4页 / 共45页
计算机C语言教程第3章顺序程序设计.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《计算机C语言教程第3章顺序程序设计.ppt》由会员分享,可在线阅读,更多相关《计算机C语言教程第3章顺序程序设计.ppt(45页珍藏版)》请在三一文库上搜索。

1、C语言第3章 顺序程序设计,3.1 C语言的基本语句,C语言数据操作语句,简单语句,空语句(;) 复合语句(一条或多条语句),表达式语句(表达式;),函数调用语句(函数名(参数表);),流程控制语句,结构化语句,条件语句(if语句,switch语句),循环语句,while语句,do-while语句,for语句,非结构化语句,break语句,continue语句,return语句,非限定转向语句,3.1.1 简单语句,1. 表达式语句 由表达式组成的语句称为表达式语句。一般形式为: 表达式; 注意:分号是C语言语句的结束标志。 表达式语句可分为运算符表达式语句和赋值语句。 (1)运算符表达式语句

2、 运算符表达式语句由运算符表达式后跟一个分号组成。例如: i+;语句的功能是,变量i的值增l。 -j;语句的功能是,变量j的值减l。 (2)赋值语句 赋值浯句由赋值表达式后跟一个分号组成。例如: xl;*给x赋值为l* x=x*3*cos(x);*计算表达式的值,并赋给x*,2函数调用语句 函数调用语句由函数调用表达式后跟一个分号组成,其作用主要是完成特定的任务。例如: scanf(f, 数据操作语句n; 使用复合语句应注意: (1)在复合语句的“内部数据描述语句”中定义的变量,是局部变量,仅在复合语句中有效。 (2)复合语句结束的“”之后,不需要再加分号。,例3.1 复合语句。 #inclu

3、de main() int xl, y2; int x2; int x3; printf(x=%d, y%dn,x, y); / * x3 */ printf(x=%d, y%dn,x, y); /* x=2 * / printf(x=%d, y=% dn,x, y); / * x=1 * / 程序运行结果为: x3,y2 x2,y2 xl,y2,3.2 数据输入与输出,一般:C语言提供了一些标准的输入/出函数系统函数。 3.2.1 字符输入输出函数 1. 字符输出函数,形式: putchar (c );,功能: 向终端(一般为显示器)输出一个字符,其中c为 字符型或整型变量,注意: 用该函数

4、时,须用预编译命令: #include stdio.h ,#include main( ) int i=97; char ch=a; putchar( i ); *输出字符a * putchar(n);*换行,可以输出控制字符起控制作用* putchar(ch); *输出字符变量ch的值a* 程序运行结果为: a a,2字符输入函数,函数原型:int getchar(void); 功能:从输入设备(一般为键盘)上输入一个字符,函数的返回值是该字符的ASCII编码值。 例如: #include main( ) int ch; chgetchar(); *从键盘输入字符,该字符的ASCII编码值赋

5、给ch* putchar(ch);*输出ch对应的字符* 运行该程序时,输入如下: a则变量ch的值为97。程序执行后输出的结果为: a,注意: (1)执行getchar()输入字符时,键入字符后需要敲回车键,回车后,程序才会响应输入,继续执行后续语句。 (2)getchar()函数也将回车键作为一个回车符读入。因此,在用getchar()函数连续输入两个字符时要注意回车符。,再举例: #include stdio.h main( ) char a, b, c; a=B ; b=O ; c=Y; putchar(a); putchar(b); putchar ( c); ,结果: BOY,pu

6、tchar(a); putchar( n ); putchar(b); putchar( n ); putchar(c); putchar( n );,*利用putchar还可输出其它转义字符,结果: B O Y,putchar( 101 ); 输出A,putchar( ); 输出,putchar( 015 ); 输出,*若将最后一行改为:,3.2.2 格式输出函数printf,1. 一般形式 函数原型:int printf(char * format ,argument,); 功能:按规定格式向输出设备(一般为显示器)输出数据,并返回实际输出的字符数;若出错,则返回负数。 使用的一般形式为:

7、 printf(格式控制字符串,输出项列表); 语句中: 输出项列表 用“ ,”号隔开的变量或表达式序列,其变量的值按对应的格式控制符所指定的格式输出。,是C语言中使用得最多的一种输出函数,它可一次按格式输出多个不同类型的数据。,格式控制字符串用双引号“ .”括起来的格式符序列。,格式控制字符串由格式说明符和普通字符组成。,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,2. 格式控制,

8、格式控制由格式控制字符串实现。格式控制字符串由三部分组成:普通字符、转义字符、输出项格式说明。 (1)普通字符。普通字符在输出时,按原样输出,主要用于输出提示信息。 (2)转义字符。转义字符指明特定的操作,如n表示换行,t表示水平制表等。 (3)格式说明部分由“”和“格式字符串”组成:格式字符串。它表示按规定的格式输出数据。 格式说明的形式为:flagswidth.precF|N|h|Ltype,3. 输出项列表,(1)%d %d的含义是按十进制整型数据格式输出,数据长度为实际长度,如直接用%d,则将出错。,(1) %d: 按数据的实际长度输出。 (2) %md: m表示输出字段宽度。若实际位

9、数m,左边补空格。 (3) %ld: 输出长整数,如要指定宽度, 则用%mld即可。,例: long a=1234567; printf( %ld, a);,(2)%o:按整型数据的实际长度,以八进制数形式输出整数。,以1的补码形式,int a= 1; printf( %d, %o, a, a);,则输出结果: 1, 177777,注: 连符号位一起组成八进制数输出,特例: 1存于int单元,如以长整型输出,在%加l,也可指定宽度m, %mo,(3)%x: 按整型数据的实际长度,以十六进制数形式输出整数。,例: int a= 1; printf(%x, %o, %d”, a, a, a),输出

10、结果: ffff, 177777, 1,(4)%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, 65535,a=65535,b= 2,b=2, 177776, fffe, 65534,运行结果为:,(5)%mc 以字符形式输出一个字符,m指定输出的宽度,左端补空格。,注: 若有一整型变量,其值在0255之间,则可以字符形式输

11、出., 一个字符型变量亦可以一个整型数据输出.,char c= a; printf(%c, c);,例: main ( ) char c=a; int i=97; printf (%c,%dn,c,c); printf (%c, %dn,i,i); ,运行结果为: a, 97 a, 97,也可以指定输出字符宽度,如果有,print (%3c, c),则输出:a, 即c变量输出占3列,前2列补空格.,(6)%s:输出一个字符串。,(1)%ms, 输出的字符串占m列,如字符串本身长度大于m,则突破m的限制,将字符串全部输出。若串长小于m,则左补空格。,允许一定的编辑即允许%ms, %ms, %m.

12、ns, %m.ns四种形式, 每一形式的意义如下:,例: printf(%s, CHINA);,结果: CHINA,(3) %m.ns,输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。,(4) %ms,其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果nm,则m自动取n值,即保证n个字符正常输出。,(2)%ms, 如果串长小于m,则在m列范围内,字符串向左靠,右补空格。,(7)f: 按小数形式输出十进制实数,有以下几种形式。,%m.nf, 指定输出的数据共占m列,其中有n位小数。如果值长度小于m,则左端补空格。,%mn.f, 与%m.nf基本相同,只

13、是使输出的数值向左端靠,右端补空格。,%f, 不指定字段宽度,由系统自动指定,使整数部分全部如数输出,并输出6位小数。,%f %m.nf %m.nf,(8)%e 以指数形式按标准宽度输出十进制实数。标准输出宽度共占13位,分别为:尾数的整数部分为非零数字占l位,小数点l位,小数占6位,e占1位,指数正(负)号占l位,指数占3位。,结果: 1.23456,共13列,6例,5例,可有%m.ne和%m.ne的形式,e+002,例: printf ( %e , 123.456),3.2.3 格式输入函数scanf,1. 格式输入函数的一般形式 函数原型:int scanf(char * format

14、,argument,); 函数功能:按规定格式从键盘输入若干任何类型的数据给argument所指的单元。返回读入并赋给argument的数据个数;遇文件结束返回;出错返回0。 使用的一般形式为: scanf(格式控制字符串,地址列表);,例: main( ) int a, b, c; scanf( %d%d%d , ,运行,机器等待你输入: 3 4 5,结果 3, 4, 5,2. 格式控制 格式控制由格式控制字符串实现。 (1)格式字符 格式字符串形式为:*widthF|Nh|1type 与printf函数的格式符有相同之处,也有不同之处。 *为输入赋值抑制字符,表示该格式说明要求输入数据,但

15、不赋值,也即在地址列表中没有对应的地址项。例如,语句: scanf(%3d%*5d%f,如果执行时输入:2001200 4.1 则200传给a,1200传给b,4.1传给x,3d控制第一个数据只取3个字符,所以将前面3个字符转换成整型数200;5d控制第二个数据,但从输入流中截取了4个字符后,遇到空格,因此第二个数据只得到了4位数。 (2)普通字符 与printf函数的普通字符不同,scanf的格式控制字符串中普通字符是不显示的,而是规定了输入时必须输入的字符。例如: scanf(i=%d, 输入格式应为: 10,0.3 d,%f说明输入一个整型数和一个浮点数之间要输入一个逗号。,3. 地址列

16、表,地址列表是由若干个地址组成的列表,可以是变量的地址、字符串的首地址、指针变量等,各地址间以逗号(,)间隔。 格式输入函数执行结果是将键盘输入的数据流按格式转换成数据,存入与格式相对应的地址指向的存储单元中。所以下列scanf函数的调用是错误的: scanf(%d%d,a,b); scanf(%d%d,a+b); a,b表示的是变量a和b的值,不是地址。这种错误是初学者最容易犯的,这也是scanf函数和printf函数不同之处。 printf(%d,i);/*将变量i的值输出;*/ scanf(%d, scanf(%f, /*输出面积,数据共占8个字符宽,4位小数*/ ,例3.2 输入三个字

17、符,将它们反向输出。 分析: (1)定义三个字符变量ch1,ch2,ch3; (2)调用字符输入函数,输入三个字符依次存于ch1,ch2,ch3; (3)按ch3,ch2,ch1顺序输出三个字符。 程序: #include void main() char ch1,ch2,ch3; ch1=getchar(); ch2=getchar(); ch3=getchar(); /*依次输入三个字符*/ putchar(ch3);putchar(ch2);putchar(ch1) /*反向输出三个字符*/ ,例3.3 用格式输入函数输入三个字符,并用输出函数反向输出三个字符和它们的ASCII码。 分析

18、:处理流程同例3.2。 程序: #include void main() char ch1,ch2,ch3; scanf(%c%c%c, ,例3.4 输入任意三个整数,求它们的和与平均值。 分析: (1)输入三个整数存入变量num1,num2,num3; (2)求三个整数的平均值,赋给变量average; (3)输出average。 程序: void main() int num1,num2,num3,sum; float average; printf(Please input three numbers: ); scanf(%d,%d,%d,/*输出平均值*/ ,例3.5 求方程ax2+b

19、x+c=0的实数根。 分析: (1)输入实型数a,b,c,要求满足a0且b2-4ac0; (2)求判别式; (3)调用求平方根函数sqrt(),求方程的根; (4)输出。 程序: #includemath.h/*为了使用求平方根函数sqrt()*/ void main() float a,b,c,disc,x1,x2; printf(input a,b,c: ); scanf(%f,%f,%f, ,例3.6 从键盘输入一个小写字母,用大写形式输出该字母。 分析: (1)输入小写字母存入变量a; (2)转换成大写a=a-32; (3)输出a。 程序: #include stdio.h void main( ) char a; printf (input a lowercase letter:); a=getchar(); a=a-32; /*将大写字母转换成对应的小写字母*/ printf(%cn,a); ,

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1