第02章-顺序结构程序设计优质PPT.ppt
《第02章-顺序结构程序设计优质PPT.ppt》由会员分享,可在线阅读,更多相关《第02章-顺序结构程序设计优质PPT.ppt(44页珍藏版)》请在冰豆网上搜索。
5、复合语句:
用一对花括号将若干语句括起来构成一条复合语句。
逻辑上可以把它当成一条语句来理解。
11/4/20225注:
(1)只要是语句,则必须在其后有一个分号(但是if、switch、while、dowhile、for除外)。
语句是没有值的,而所有表达式都有一个确定的值。
(2)复合语句中不仅可以有执行语句,而且可以有定义语句。
但定义语句必须在执行语句前。
(3)复合语句可以嵌套。
(4)复合语句可以由一对单独的花括号组成,即在内可以没有任何语句。
空的也是为了用来调试程序。
(5);
空语句与没有语句是两个不同的概念。
空语句表示有一条语句,只是该语句不做任何操作。
11/4/20226函数体主要包括:
(1)变量定义语句;
(2)输入语句;
(3)运算语句;
(4)输出语句。
11/4/20227输入、输出语句输入、输出语句语言本身不提供输入、输出语句,输入、输出操作是由函数来实现的。
“标准输入输出函数”是以标准输入输出设备(即键盘和显示器)为输入输出对象,它们都是一些库函数。
如:
putchar()getchar()printf()scanf()puts()gets()11/4/20228输入、输出语句输入、输出语句使用库函数时必须先用预编译命令include将相应的头文件包含到所编程文件中。
预编译命令include的功能:
是将头文件的代码放到所编写的程序文件中,以便在程序中能够引用头文件中的变量或函数。
printf()、scanf()对应的头文件可以省略。
include#include#include11/4/20229输入、输出语句输入、输出语句一、字符数据的输入输出1)putchar()格式:
putchar(字符常量或字符变量)功能:
输出一个字符但不输出单引号。
其中“字符”可以是一切合法的字符型或整型数据(它会自动将整型数据转换成相应字符后输出)如:
putchar(a);
putchar(n);
putchar(100);
非法字符11/4/202210输入、输出语句输入、输出语句一、字符数据的输入输出2)getchar()格式:
getchar()功能:
接收一个从键盘输入的字符。
注:
(1)此函数没有任何参数,函数的返回值就是输入的字符。
(2)可以接收从键盘上输入的任何字符包括回车符、空格符、制表符等。
(3)任何输入都是在回车后按顺序送入内存中,即才能被函数所接收。
chara,b;
a=getchar();
b=getchar();
若输入为:
则变量a的值为字符1,变量b的值为回车符。
11/4/202211二、格式输入输出函数二、格式输入输出函数1.printf()函数函数例例已知圆半径radius=1.5,求圆周长(2r)和圆面积(r2)。
11/4/202212#includemain()floatr=1.5,l,s,pi=3.14;
l=2*pi*r;
s=pi*r*r;
printf(“rr=%=%fnfn”,r);
printf(“ll=%7.2f,=%7.2f,s=%s=%7.2fn7.2fn”,l,s);
r=1.500000l=9.42,s=7.0711/4/202213printf()格式:
(1)printf(“格式控制”,输出列表)
(2)printf(“格式控制”)功能:
按格式控制指定的格式输出数据。
其中:
“格式控制”是用双引号括起来的字符串,其中包含以开始的“格式说明符”和原样输出的“普通字符”两部分内容。
输出列表是需要输出的一批用逗号隔开的数据(常量、变量、表达式)。
printf(“c=%d,d=%d”,3,4+7);
输出结果:
c=3,d=11注:
这里并不表示c的值为,d的值为。
c=和d=还有“,”是格式控制中要原样输出的普通字符,3和11是分别由两个%d控制输出的数据。
11/4/202214格式字符:
(1)d或i说明:
控制输入输出带符号的十进制形式整数,其中不输出正号。
(2)u说明:
控制输入输出无符号的十进制整数(3)o说明:
控制输入输出无符号的八进制整数(4)X或x说明:
控制输入输出无符号的十六进制形式整数,不输出前导符号0x.输出时小写x对应小写a,b,c,d,e,f,大写对应A,B,C,D,E,F(5)c说明:
控制输入输出一个字符,不输出单引号。
11/4/202215格式字符:
(6)s说明:
控制输入输出一个字符串。
在输入时以第一个非空字符开始接收,并以碰到的第一个空白字符(包括空格、回车符)结束,输出时不输出双引号。
(7)f说明:
控制输入输出一个实型数。
输入时可以用小数形式亦可用指数形式;
输出时以小数形式输出,并隐含输出位小数。
(8)E或e说明:
控制输出指数形式的实型数,输入时与f相同。
(9)G或g说明:
控制输出时自动选用%f或%e格式中输出宽度较短的一种格式,且不输出无意义的0,输入时与f相同。
11/4/202216补充:
附加格式说明符表:
(附加符写在百分号与格式字符之间)
(1)l说明:
用于输入输出长整型数据或双精度数据
(2)说明:
用于在输出时靠左输出,没用该符号时采用靠右输出(3)说明:
用于输出时输出八进制数的前导,输出十六进制的前导0x(4)*用于表示输入时本输入项指定的数据被跳过。
11/4/202217printf()函数举例:
(1)、d、i格式:
)d按整型数据的实际长度输出。
)md输出项占用m列,若整数的实际长度小于m,则输出时左边用空格补足m列;
若整数的实际长度大于m,则按整数的实际长度输出。
)md输出项占用m列,若整数的实际位数小于m,则输出时右边用空格补足m列;
若整数的实际位数大于m,则按整数的实际输出。
)ld用于输出长整型数据。
输入输出长整型数据时必须使用该格式。
(2)u格式:
u以无符号的十进制形式输出整数。
printf(“%u”,-1);
结果:
11/4/202218printf()函数举例:
(3)o格式:
o以无符号的八进制形式输出整数。
不输出前导符0.printf(“%d,%o”,-1,-1);
(4)x或X:
%x以无符号的十六进制形式输出整数。
不输出前导符0x或oX,小写对小写,大写对大写。
printf(“%d,%x,%X”,-1,-1,0xaBc);
-1,ffff,ABC11/4/202219printf()函数举例:
(5)c格式:
d和c可以交换使用,它们会自动进行数据转换。
printf(“c,%d”,a,a);
printf(“%c,%d”,100,100);
(6)s格式:
string)s输出字符串的有效字符。
printf(“%s”,“hina”);
2)%ms输出时共占m列,若实际长度小于m,则左端用空格补足,若实际长度大于m,则按字符实际长度输出。
printf(“%5s,%-5s,%5s”,“LJL”,“LJL”,”4332567”)3)%m.ns输出时共占m列,但只输出字符串的左n个字符到m列的右端。
printf(“8.5s”,”zhaohaiying”);
11/4/202220printf()函数举例:
(7)f格式:
按小数形式输出一个实型数据。
1)%f默认输出6位小数。
printf(“%f,%f”,123.4,123.4E-2)2)m.nf输出时共占m列,其中有n位小数。
若输出数据超过m列,则在确保n位小数后按实际输出。
printf(“%7.3f,%-7.3f,%3.1f”,34.67893,34.67893,1234.567);
(8)e格式:
以指数形式输出一个实数。
输出时以规范化指数形式输出,即小数点前有且只有位非零数。
共有位小数,位指数。
printf(“%e,%e”,123.4,123.45e-7);
(9)g格式:
自动选用%f和%e格式中输出较短的一种输出,对于小数部分不输出无意义的零。
printf(“%g,%g,%g”,123.45,123.45e-2,123000000.0);
11/4/202221printf()函数举例:
(1)格式说明均是以百分号%开头,格式字符结束。
若有两个连续的%则输出一个%。
printf(“%d=%d”,6,5);
%d=6printf(“score=%d%”,50);
score=50%
(2)除格式x、e、g大写小写均可外,其它都只能用小写字母。
printf(“%d=%D”,5,6);
%D(3)输出时格式说明符所能操作的数据类型与对应的输出项类型必须相同。
但%d与%c除外。
printf(“%d”,5.0);
printf(“%f”,5);
printf(“%c”,”a”);
11/4/2022222、scanf()函数格式:
scanf(“格式控制”,地址列表)功能:
其中的“格式控制”与printf()中使用方法相同,地址列表是一些用逗号隔开的变量地址。
取变量地址的方法是在变量名前面加上地址运算符&
,如:
变量a的地址:
&
a如:
intx;
floaty;
charc;
scanf(%d%f%c,&
x,&
y,&
c);
11/4/2022232、scanf()函数注:
1)可以指定数据所占的列数,输入后由系统自动截取相应的位数。
scanf(“%3d%2d”,&
a,&
b);
输入:
13609992662结果:
a=136b=92)在%后加一个星号,表示跳过它指定的列数不读。
scanf(“%3d%*3d%4d”,&
1234567890输出:
a=123b=78903)不能在scanf()函数中指定输入数据的小数位数,否则会出现异常。
scanf(“%7.2f”,&
a);
出现异常11/4/2022242、scanf()函数注:
4)”格式控制”中除格式说明符外,若还有其它字符,则在输入时这些字符必须原样输入。
scanf(“%d,%d”,&
scanf(“a=%d,c=%d”,&
printf(a=);
scanf(%d,&
printf(b=);
5)”格式控制”中若两个格式说明符之间没有其它字符,则在输入数据时,两数据之间用空格或回车来分隔(空格或回车可以有多个)。
%c格式除外。
scanf(“%d%d”,&
11/4/2022252、scanf()函数注:
6)由于%c格式可以将从键盘上输入的任何按键作为有效字符赋给相应的变量。
所以即使两个%c之间没有其它字符,输入时两个字符之间不能用空格或回车来分隔。
scanf(“%c%c%c”,&
b,&
7)输入时也要求格式说明符所能操作的数据类型与其对应变量的类型相同。
inta;
scanf(“%f”,&
出错floatx;
x);
11/4/202226小结:
(1)输出列表和地址列表都不能出现“空项”,即不能出现多余的逗号。
printf(“%d,%d,%d”,a,b);
(2)在输出时若格式说明符个数多于输出列表中的项数,则多余说明符随机输出;
若格式说明符个数少于输出列表中的项数,则输出列表中多余的输出项不输出。
(采用从左到右一一对应的方式)。
printf(“%d,%d,%d”,1,2);
printf(“%d,%d,%d”,1,2,3,4,5);
11/