第3章 顺序结构程序结构.docx
- 文档编号:26653954
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:12
- 大小:563.28KB
第3章 顺序结构程序结构.docx
《第3章 顺序结构程序结构.docx》由会员分享,可在线阅读,更多相关《第3章 顺序结构程序结构.docx(12页珍藏版)》请在冰豆网上搜索。
第3章顺序结构程序结构
第3章顺序结构程序设计
章节分析:
本章所介绍的语句是按在程序中出现的顺序逐条执行,由这样的语句构成的程序结构称为顺序结构。
主要实现的功能是给变量赋值及数据的输入与输出。
教学内容:
1、掌握数据输入、输出函数的调用规则和格式控制字符的正确使用;
2、熟练掌握putchar、getchar、printf、scanf函数及使用方法。
教学重点:
1、字符的输入与输出
2、格式化输入与输出
教学难点
1、掌握数据的输入/输出方法,学会输入/输出函数的使用方法。
2、掌握scanf和printf函数的格式控制问题
课时分配:
4课时
导入新课:
回顾旧课,复习上节课内容。
C语言的输入输出由函数来实现,它提供了多种输入输出函数,使输入输出灵活、多样、方便、功能强。
标准I/O函数库中有一些公用的信息写在头文件stdio.h中,因此要使用标准I/O函数库中的I/O函数时,一般应在程序开头先写预编译命令:
#include“stdio.h”。
以便把I/O函数要使用的信息包含到程序中来。
第一讲
一、字符输入与输出
(一)字符的输出
putchar函数
1.功能:
将一个字符输出到标准输出设备。
2.格式:
putchar(c)
3.使用要点
(1)putchar(c)中的c可以是字符型或整型数据。
例如:
c=98;putchar(c)输出字符b
putchar(‘a’)输出字符a
putchar(0x41)输出字符A
(2)使用输出函数需要调用c的标准I/O库函数,故需用预编译命令:
#include
将stdio.h文件包含在用户源程序文件中。
(3)putchar()也可以输出一个控制字符或其它转义字符。
如:
putchar(‘\n’)输出一个换行符
putchar(‘\101’)输出字符A
putchar(‘\’’)输出字符单引号’
4.举例
【例3.1】输出单个字符。
#include
main()
{chara,b,c;
a=‘B’;b=‘o’;c=‘y’;
putchar(a);putchar(b);putchar(c);
}
运行结果:
Boy
(二)字符的输入
getchar函数
1.功能:
从标准输入设备上读入一个字符。
2.格式:
getchar()
3.使用要点
(1)getchar()函数本身没有参数,其函数值就是从输入设备
得到的一个字符。
(2)由getchar()获得的字符可以赋值给一个字符或整型变
量,也可以作为表达式的一部分。
如:
c=getchar(a);
putchar(getchar());
printf(“%c”,getchar());
(3)使用getchar()函数要调用c的标准I/O库函数,应在程序
首部加上:
#include
4.举例
【例3.2】输入单个字符。
#include
main()
{
charc;
c=getchar();
putchar(c);
printf(“%c\n%d\n”,c,c);
}
输入数据:
a
运行结果:
a
97
二、格式化输入与输出
(一)格式化输出printf函数
1.功能:
按指定的格式向终端输出若干任意类型的数据。
2.格式:
printf(格式控制,输出表列)
如:
printf(“x=%d”,x)
3.使用要点
(1)格式控制部分的用法:
①格式控制字符是用双引号括起来的字符串,用来确定确定输出项的格式和需要原样输出的字符串。
其组成形式为:
“普通字符串%+0m.nl格式控制字符”
其中:
输出数据项的顺序一般按从左至右的顺序输出。
格式控制中的普通字符串,照原样输出;
例如:
printf(“a=%d,b=%d”,a,b);
%:
为C语言规定的标记符;
+:
指定输出数据的对齐方式:
+为右对齐(可缺省);-为左对齐;
0:
输出数值时指定左边不使用的空位置自动填0;
关于m.n与l的说明:
表3.1printf的附加格式说明字符
表3.2格式控制字符用于指定数据的输出形式,可以包含转义字符;
用两个连续的“%%”表示输出字符“%”
②举例
printf(“%4d,%4d”,a,b);
若a=123,b=12345
运行结果:
︺123,12345
如果数据位数小于m,则左端补空格,若大于m,则按实际输出。
longa=135790;
printf(“%ld”,a);
长整型数据应采用%ld格式输出,若采用%d格式则出错。
inta=-1;
printf(“%d,%o”,a,a);
运行结果:
-1,177777
对于八进制输出不会输出带符号的数据,长整型数据用%lo格式输出,也可以指定宽度。
如:
printf(“%lo,%8o”,a,a);
inta=-1;
printf(“%x,%o,%d”,a,a,a);
运行结果:
ffff,177777,-1
同样,也可以用%lx输出长整型数据或指出输出宽度,
如:
printf(“%lx,%12x”,a,a)
(2)输出表列:
可以是合法的常量、变量和表达式,输出
项表中的个输出项之间要用“,”分隔。
(3)当格式符个数少于输出项时,多余的输出项不予输出。
若格式符多于输出项时,各系统的处理有所不同,TC对于缺
少的项将输出不定值。
(4)每次调用printf函数之后,将得到一个整型的函数值,
该值等于正常输出的字符个数。
4.举例
【例3.3】无符号数据的输出。
#include
main()
{unsignedinta=65535;
intb=-2;
printf(“a=%d,%o,%x,%u\n”,a,a,a,a);
printf(“b=%d,%x,%o,%u\n”,b,b,b,b);
}
运行结果:
a=-1,177777,ffff,65535
b=-2,fffe,177776,65534
【例3.4】字符数据的输出。
main()
{charc=‘a’;
intk=97;
printf(“%c,%d\n”,c,c);
printf(“%c,%d\n”,k,k);
}
运行结果:
a,97
a,97
【例3.5】实型数据的输出。
#include
main()
{floatx,y,z;doublea,b;
x=11111.111,y=22222.222,z=123.456;
a=1111111111111.111111111;
b=2222222222222.222222222
printf(“%f\n%f\n”,x+y,a+b);
printf(“%10f,%10.2f\n”,z,z);
printf(“%e\n”,z);
printf(“%g\n”,z);}
运行结果:
33333.3339843333333333333.333010
123.456001,︺︺︺︺123.46
1.234560e+02
123.456︺︺︺
(二)数据的输入scanf函数
1.功能:
将从终端(键盘)输入的数据传送给对应的变量。
2.格式:
scanf(格式控制,输入项地址表)
说明:
(1)格式控制的含义同printf函数,“%格式控制字符”
(2)输入项地址表由若干个地址组成,代表每一个变量在
内存的地址。
表示为:
&变量(或数组与字符串的首地址)
(3)每次调用scanf()函数后,函数将得到一个整型函数
值,此值等于正常输入数据的个数
3.使用要点
(1)格式符的个数必须与输入项的个数相等,数据类型必须从左至右一一对应
(2)scanf()函数中常用的格式符有:
表3.3scanf的格式字符
表4.4scanf的附加格式说明字符
(3)用户可以指定输入数据的域宽,系统将自动按此域宽截取所读入的数据。
如:
scanf(“%3d%3d”,&a,&b);
输入123456系统自动将123赋值给a,将456赋值给b.
(4)输入实型数据时,用户不能规定小数点后的位数。
scanf(“%7.2f”,&a);是错误的.
(5)输入实型数据时,可以不带小数点,即按整型数方式输入。
4.举例
【例3.6】用scanf函数输入数据。
#include
main()
{inta,b,c;
charx,y,z;
scanf(“%c%c%c”,&x,&y,&z);
scanf(“%d%d%d”,&a,&b,&c);
printf(“%c%c%c”,x,y,z);
printf(“%d%d%d”,a,b,c);
}
三、应用举例
【实例1】输入三角形的三边长,求三角形的面积。
#include
main()
{
floata,b,c,s,area;
scanf(“%f,%f,%f”,&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n”,a,b,c,s);
printf(“area=%7.2f\n”,area);
}
程序分析:
程序中第7行中sqrt()是求平方根的函数。
由于要调用数学函
数库的函数,必须在程序的开头加一条#include命令,把头
文件“math.h”包含到程序中来。
请注意,以后凡是在程序中要
用到数学函数库中的函数,都应当“包含”math.h头文件。
运行情况如下:
输入数据:
3,4,6
运行结果:
a=3.00,b=4.00,c=6.00s=6.50
area=5.33
【实例2】从键盘输入大写
字母,要求改用小写字母输出。
程序如下:
#include"stdio.h"
main()
{charc1,c2;
c1=getchar();
printf("%c,%d\n",c1,c1);
c2=c1+32;
printf("%c,%d\n",c2,c2);
}
输入数据:
A
运行结果:
A,65
a,97
程序分析:
用getchar函数得到从键盘上输入的大写字母‘A’,赋给字符变量c1。
将c1分别用字符形式(‘A’)和整数形式(65)输出。
再经过运算得到小写字母‘a’,赋给字符变量c2,将c2分别用字符形式(‘a’)和整数形式(97)输出。
作业:
1、若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=‘a’,c2=‘b’。
想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出)。
2、用scanf下面的函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=ˊAˊ,c2=ˊaˊ,问在键盘上如何输入?
main()
{
inta,b;floatx,y;charc1c2;
scanf("a=%d_b=%d",&a,&b);
scanf("_x=%f_y=%e",&x,&y);
scanf("_c1=%c_c2=%c",&c1,&c2);
}
3、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。
请编程序。
小结
本章主要讲解数据是输入输出及顺序结构,在程序设计中,对数据的一种重要的操作是输入输出。
没有输出的程序是没有用的;没有输入的程序是缺乏灵活性的,因为程序在多次运行时,用到的数据可能是不同的。
在程序运行时,由用户临时输入所需的数据,可以提高程序的通用性和灵活性。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 顺序结构程序结构 顺序 结构 程序结构