预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共56页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第4章顺序结构程序设计4.1C语句概述1.控制语句2.表达式语句1)赋值语句在赋值语句的使用中需要注意以下几点:2)函数调用语句3)空语句3.复合语句4.2printf函数(格式输出函数)2.格式: printf(格式控制,输出项表列) 输出项表列: 由一个或多个输出项组成(若多个、它们之间用逗号隔开),常量、变量、函数、表达式、字符数组名等均可做输出项。 格式控制: 是用双引号括起来的字符串,用来表示格式说明,也称为转换控制字符串。其中字符可由下面3类组成: 普通字符(原样输出) 转义字符(输出所表示的字符或实现其功能) 格式说明:控制对应输出项的输出形式 #include<math.h> voidmain() {intk=68;floatt=56.3; printf(”%d\t%d\t%f\n”,k,k+123,sqrt(t)); } 结果:681917.503333 3.格式说明: 控制对应输出项的输出形式(每个格式说明按先后顺序与输出项一一对应),输出结果中格式说明被对应的输出项值取代。 (1)格式说明基本形式: ①%d(或%i)、%o、%x(或%X)、%u、 %c对应的输出项类型为字符型和整型。 例: voidmain() {inta=65;charc=’!’; printf(”%d,%c\n”,a,a); printf(”c=%c,ItsASCIIcode=%d\n”,c,c); } 结果:65,A c=!,ItsASCIIcode=33 main() {inta=-1; printf("%d,%o,%x,%u",a,a,a,a); }/*假设int占2个字节*/ -1的原码:1000,0000,0000,0001。 -1在内存中的补码表示为: 1111,1111,1111,1111=1,111,111,111,111,111=1,7,7,7,7,7=ffff 输出:-1,177777,ffff,65535 -1是十进制,177777是八进制,ffff是十六进制。②%s对应的输出项为字符串或字符数组 例: voidmain() {charname[]=”Jone”; printf(”%s%s%c\n”,”Whois”,name,’?’); } 结果:WhoisJone? ③%f、%e(或%E)、%g(或%G)对应float型输出项 %lf、%le(或%E)、%lg(或%G)对应double型输出项 %f——小数形式(6位小数) %e(或%E)——标准化指数形式(尾数的小数点前有一位且只有一位非零、6位小数) %g(或%G)——让系统自动选取%f(去掉小数点后多余的零)或%e中较短者——6位有效 例:main() {floatf;f=123.46; printf(”%f,%e,%g\n”,f,f,f) } 结果:123.459999,1.234600e+002,123.46数字 (2)在格式说明基本形式中加附加格式说明符 ①若输出项为long型或unsignedlong型,则用下面格式说明控制: %ld、%lx、%lo、%lu 若输出项为short型或unsignedshort型,则用下面格式说明控制: %hd、%hx、%ho、%hu ②在格式说明%后加一个整数m——指定宽度为|m|位: 若实际需要的位数>|m|位、则此m失效 若m为无符号整数,则左边填空格 若m为负整数,则右边填空格 若m为带正号整数,则左边填空格且所输出的数据前有正负号 例: voidmain() {inta=12;longb=12345678; printf(”%6d\n”,a); printf(”%-6d\n”,a); printf(”%+6d\n”,a); printf(”%12ld\n”,b); printf(”%+8s\n”,”book”); } ③在%s中间插入m.n:m含义同②,此m可省略、若省略则m=n。n为无符号整数、表示只输出对应字符串中左边n个字符。 例: voidmain() {printf(”%8.3s\n”,”book”); printf(”%.3s\n”,”book”); } 输出:④在%f、%e(或%E)、%g(或%G)中间插入m.n:m含义同②,此m可省略、若省略则m=n。 n为无符号整数、表示n位小数,其余四舍五 例8:printf(”a=%+10.3lf\n”,123.45678); 输出: 注:若②与④中m为正整数且m前加0,则输出 的左边空位填0 例9:printf(”a=%+010.3lf\n”,123.45678); 输出: ⑤在%x、%o、%lx、%lo的%后加#输出带前导的八进制或十六进制数据 例10:voidmain() {intx=7281; printf(”%o,%#o\n