计算机二级C语言讲义3.docx
- 文档编号:5906107
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:9
- 大小:19.03KB
计算机二级C语言讲义3.docx
《计算机二级C语言讲义3.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言讲义3.docx(9页珍藏版)》请在冰豆网上搜索。
计算机二级C语言讲义3
第三章顺序结构
本章所介绍的语句,将按它们在程序中出现的顺序逐条执行,这样的结构称为顺序结构。
赋值语句
●在赋值表达式尾部加上一个“;”号,就构成了赋值语句也称表达式语句。
数据输出
格式输出函数printf
printf按指定的输出格式在屏幕上输出若干项表达式值。
其调用格式如下:
printf(“格式控制”,输出项表);
一、其中的“表达式表”形如:
表达式1,表达式2,…,表达式k
即为用逗号分隔的若干个表达式。
每个表达式中的变量都有确定值。
常量和变量是表达式的特例。
因此,表达式表中的每个表达式也可以是常量或变量。
二、其中的“输出格式”通常含有两类字符:
普通字符和格式说明。
这二者都可以缺省,但同时缺省无意义。
普通字符将原样输出。
格式说明的一般形式为:
%<附加成分>格式字符
如,下列是5个合法的格式说明
%5d%-6u%lx%c%*f
其中d、u、x、c、f都是格式字符,5、-6、l、*为附加成分。
输出格式中所含格式说明的项数与表达式表中的项数相同,二者一一对应。
每个格式说明给出了后面相应表达式的输出格式和类型。
三、不同类型数据的格式说明:
1。
整型数据的格式说明
①整型数据格式说明中的格式字符有:
duxo
它们分别表示所输出的数据为十进制整型、无符号整型、十六进制整型和八进制整型:
%d按实际位数输出一个十进制整数
如:
a=12;
printf("%d%d",a,12);
输出结果为
1212
%u按十进制输出一个无符号整数
如:
printf("%u%u",1,-2);
输出结果为
165534
%x按十六进制输出一个整型数据的机内二进制代码
按%x输出一个整型数据时系统将二进制数据(包括数值和符号)自右向左4位一组进行分组,化成十六进制数并输出。
如:
printf("%X––%x",-1,65535);
输出结果为
FFFF––ffff
%o按八进制输出一个整型数据的机内二进制代码
按%o输出一个整型数据时系统将二进制数据(包括数值和符号)自右向左3位一组进行分组,构成八进制数并输出。
如:
printf("%o:
%o",-1,65535);
输出结果为:
177777:
177777
②整型数据格式说明中的附加成分有
lm(正整数)-(减号)#
它们可以出现在格式说明中的%与格式字符之间。
其意义为:
l表示所输出数据为长整型
m指定所输出数据的最小宽度
-表示所输出数据在输出域中左对齐(缺省时右对齐)
#在格式说明中加0或0x以区分八进制和十六进制。
如:
%ld按十进制长整型输出一个整数
%4d(m取为4)所输出的十进制整型数据占4位,右对齐
%-4d(m取为4)所输出的十进制整型数据占4位,左对齐
%4ld(m取为4)按十进制长整型输出一个整型数据,占4位,右对齐
%-5ld(m取为5)按十进制长整型输出一个整型数据,占5位,左对齐
同样,%与u之间,%与o之间,%与x之间,都可以加入这些附加成分构成格式说明,来规定所输出数据的类型和格式。
如具有附加成分的格式说明%-5lx表示按十六进制输出一个长整型数据,占5位,左对齐。
整型数格式说明应用举例。
#include
main()
{
inti=-2;
printf("\ninti=-2:
");
printf("\n-------------------");
printf("\n%%d:
%d",i);
printf("\n%%8d:
%8d",i);
printf("\n%%8o:
%8o",i);
printf("\n%%8x:
%8x",i);
printf("\n%%8u:
%8u",i);
printf("\n");
printf("\ninti=-2:
");
printf("\n------------------");
printf("\n%%-8d:
%-8d",i);
printf("\n%%#o:
%#o",i);
printf("\n%%#x:
%#x",i);
printf("\n%%#X:
%#X",i);
}
运行该程序,输出结果为
inti=-2:
--------------------
%d:
-2
%8d:
-2
%8o:
177776
%8x:
fffe
%8u:
65534
inti=-2:
--------------------
%-8d:
-2
%#o:
0177776
%#x:
0xfffe
%#X:
0XFFFE
其中,为了输出一个字符%,其前面应冠之以一个%。
2。
字符型数据的格式说明
字符型数据格式说明中的格式字符有c和s。
字符型数据格式说明中的附加成分有:
m(正整数)
m.n(m和n均为正整数)
-(减号)
它们与整型数据格式说明中的附加成分有类似意义。
具体地说,字符型数据有下面的格式说明:
①%c输出一个字符如:
printf("\n%c:
%d",'a','a');
输出结果为:
a:
97
其中有两项格式说明,%c输出字符a本身,而%d则作为一个整型数输出a的ASCII码值。
又如:
printf("\n%c%c",97,7);
输出两个整型数所对应的字符。
前者为a,后者为一声响铃。
②%mc输出一个字符,宽度为m,右对齐。
③%-mc输出一个字符,宽度为m,左对齐。
④%s输出一个字符串。
⑤%ms指定字符串的输出宽度右对齐。
当串长小于m时补充空格,当串长大于m时输出整个串。
⑥%-ms指定字符串的输出宽度左对齐。
当串长小于m时补充空格,当串长大于m时输出整个串。
⑦%m.ns输出串中左端n个字符,占m位,右对齐。
⑧%-m.ns输出串中左端n个字符,占m位,左对齐。
字符型数据的格式输出。
#include
main()
{
printf("\n%c,%2c,%-2c,",'a','a','a');
printf("\n%s,%7.2s,%.4s,%-5.3s.",
"China","China","China","China");}
输出结果为:
a,a,a,
China,Ch,Chin,Chi,
3。
实型数据的格式说明
实型数据格式说明中的格式字符有f和e:
f表示输出一个实型float和double型数。
e表示按科学计数法(标准化指数形式)输出一个实型数(float和double型)。
实型数据格式说明中的附加成分有:
m.n和–,规定输出宽度、小数位数和对齐方式。
具体说,实型数有以下几种格式说明:
具体说,实型数有以下几种格式说明:
①%f输出全部整数部分,小数占6位。
%m.nf输出共m位(包括小数点),n位小数,右对齐。
%-m.nf输出共m位(包括小数点),n位小数,左对齐。
其中缺省m时,输出全部整数部分。
当缺省n时,小数部分占6位。
②%e按指数形输出一个实数。
%m.ne占m位,有n位小数(包括小数点),右对齐。
%-m.ne占m位,有n位小数,左对齐。
#include
main()
{floatf1=123.123456789,
f2=-123.123456789;
printf("\nfloatf1=123.1234567890");
printf("\nfloatf2=-123.1234567890");
printf("\n_______________");
printf("\n1.%%f:
%f",f1);
printf("\n2.%%f:
%f",f2);
printf("\n3.%%e:
%e",f1);
printf("\n4.%%e:
%e",f2);
printf("\n5.%%.5f:
%.5f",f1);
printf("\n6.%%.7f:
%.7f",f2);
printf("\n7.%%10.3e:
%10.3e",f1);
printf("\n8.%%3.6f:
%3.6",f2);}
输出结果为:
floatf1=123.1234567890
floatf2=-123.1234567890
1.%f:
123.123459
2.%f:
-123.123459
3.%e:
1.231235e+02
4.%e:
-1.231235e+02
5.%.5f:
123.12346
6.%.7f:
-123.1234589
7.%10.3e:
1.231e+02
8.%3.6f:
-123.123459
4几点说明:
①输出格式中的普通字符可以是任意字符,特别地,可以是转义字符。
格式说明中的转义字符要原样输出。
如:
printf("\n\ta\tb");
其中‘\n’为回车符,‘\t'为制表符。
输出结果为:
ab
②反斜杠(\)是转义字符的标志。
如若作为普通字符输出一个反斜杠,则在输出格式中需要连写两个反斜杠。
如:
printf("\nC:
\\TC30\\bin\\TC");
输出结果为:
C:
\TC30\bin\TC
③百分号字符(%)是格式说明的标志。
如若作为普通字符输出一个百分号,则须在输出格式中连写两个百分号。
如:
printf("\n10%%3=1");
输出结果为
10%3=1
④printf函数中的第1项参数“输出格式”为双引号括起来的一行字符。
如果为了构造某种格式需要分成两行(或多行),则可使用续行符(\)。
如:
printf("\nif(x<0)\n\
f=10;");
输出结果为:
if(x<0)
f=10;
⑤printf函数中的第2项参数(“表达式表”)可以缺省。
这常常用来向用户给出某项信息或提示。
如:
printf("\nEnteracharacter:
");
⑥printf函数中第2项参数(“表达式表”)中每个表达式的类型,一般说来应与相应的格式说明中规定的类型一致。
格式化输入函数scanf
scanf函数按指定的输入格式从标准设备(键盘)输入若干数据到指定的变量。
其调用形式形如:
scanf(“输入格式”,地址表);
一.地址表形如:
地址1,地址2,….地址k
即用逗号分隔的若干地址项。
每个地址项可以是一个变量的地址(如&a—变量a的地址),也可以是一个数组名或一个指针变量,作为字符串的地址。
scanf函数按指定的输入格式从标准设备(键盘)输入若干数据到指定的变量。
其调用形式形如:
scanf(“输入格式”,地址表);
二.输入格式通常含有两类字符:
普通字符和格式说明。
普通字符要从键盘上原样键入。
格式说明的一般形式为
%〈附加成分〉格式字符
格式说明的项数与后面地址表的项数相同,二者一一对应。
每项格式说明规定了键盘输入数据的格式和类型。
调用scanf函数时,将等待用户按格式说明的要求键入数据,系统将其转换为机内形式放到相应地址单元内。
或说,将键入的数据赋给了相应的变量。
1.整型数据的格式说明
整型数据格式说明中的格式字符有
dDoOiIuUxX
用它们可以构造十进制、八进制、十六进制整型数据的格式说明:
%d输入十进制整数,赋给一个int型变量。
%D输入十进制整数,赋给一个longint型变量(或%ld)
%u输入无符号十进制整数,unsignedint变量。
%U输入无符号十进制长整数,unsignedlong型变量(或%lu)。
%o输入八进制整数,赋值给一个int型变量。
%O输入八进制整数,赋值给一个longint型变量(或%lo)
%x输入十六进制整数,赋值给一个int型变量。
%X输入十六进制整数,赋值给一个longint型变量(或%lx)。
整型数据格式说明中还可以有附加字符:
m(正整数)指定输入数据的宽度。
*表示跳过本项输入(只键入,不赋值,不对应一项地址表)。
如,下面,具有格式字符d和附加成分m、*的格式说明有:
%4d(取m=4)输入一项指定宽度为4整数,即键盘上键入一个4位整数对应了后面相应的一项地址。
%*d跳过本项输入。
2.字符型数据的格式说明:
%c输入一个字符
%s输入一个字符串
其中在%与c,%与s之间还可以有附加成分*,表示该输出项只键入,不赋值,不对应一项地址。
3.实型数据的格式说明
实型数据格式说明中的格式字符有e、f、g。
如:
%f(或lf)输入一个浮点数到float(或double)变量中。
%e(或le)输入一个浮点数(指数形式)到float(或double)变量中。
还可使用附加成分*。
(1)在TC环境下输入long整数时,在%和d之间必须加l;输入double型数时,在%和f(e)之间也必须加l。
(2)在格式控制中,格式说明的类型与输入项的类型应该一一对应。
(3)在scanf函数中的格式字符前可以用一个整数指定输入数据所占宽度。
但不可以对实型数据指定小数位的宽度。
(4)在格式控制串中,格式说明的个数应该与输入项的个数相同。
若格式说明的个数少于输入项的个数时,scanf函数结束输入,多余的数据项并没有从终端接受新的数据;若格式说明的个数多于输入项的个数时,scanf函数同样也结束输入。
(5)当输入的数据少于输入项时,程序等待输入,直到满足要求为止。
当输入的数据多于输入项时,多余的数据并不消失。
(6)scanf函数在调用结束后将返回一个函数值,其值等于输入值的输入项的个数。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 语言 讲义