第5讲 C语言概述、赋值语句

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

printf(格式控制字符串,输出项表列)
格式控制字符串可以包含以下三种形式的字符: (1)格式指示符。格式指示符是以%开头的字符串,在%后 面跟有各种格式字符,以说明输出数据的类型、形式、长 度、小数位数等。格式指示符的一般形式如下: %[标志][宽度][.精度][h|l]<类型> (2)转义字符。如:'\n'、'\001'等。 (3)普通字符。如:printf("max=%d\n " , a );
③ 输出数据的精度
%[标志][宽度][.精度][h|l]<类型>
精度对于不同的格式字符具有不同的含义,它们分别是: 对于e、E或f:用来指定输出数据的小数位的位数;
printf("%8.3f\n",123.55); printf("%8.1f\n",123.55) ; printf (“%8.0f\n”,123.55); 输出结果: 123.550 输出结果: 123.6 输出结果: 124
(3) 输出数据所占的宽度与精度(整数值)
%[标志][宽度][.精度][h|l]<类型>
在输出数据时,数据所占的宽度(域宽,即输出的数据在 屏幕上所占的格数)通常是由系统自动决定的,一般取决 于数据本身的宽度,并采用右对齐的形式输出。 ① 宽度。如果指定的输出宽度不够,以数据实际值的 宽度作为输出宽度;如果指定的输出宽度多于数据实际所 需宽度,数据右对齐,左边补以空格。
printf("%8.5d\n",42); 输出结果: 00042
对于字符串: 用来指定最多输出的字符个数。
printf ("%10.5s\n","abcdefg");输出结果: abcde
(4)标志控制字符
① 输出数据左对齐的标志字符“-”
可以在指定输出宽度的同时指定数据左对齐。这可在 宽度前加一个“-”号来实现。 例3.4 在printf函数中指定输出数据以左对齐的格式输出。
考题:int a; float x,y; x=a=y=35.8; x= 35.0 ,a= 35 ,y= 35.8 ; ? ? ?
3. 注意在变量说明中给变量赋初值的操作和赋 值语句的区别。 给变量赋初值是变量说明的一部分,只能出现 在函数的说明部分,赋初值后的变量与其后的其 它同类变量之间仍必须用逗号间隔;而赋值语句 则必须出现在函数的执行部分,并且一定要用分 号结尾。 例如: main( ) {int x=3, y=4, m, n; m=x+y; n=x-y; }
第5讲
C语言概述、赋值语句、 输入输出函数
顺序结构程序设计
一个C程序可 以由若干个源程 序文件构成,一 个源程序文件可 以由若干个函数、 一些可选的“预 编译命令”及一 些可选的全局变 量声明等构成。
图3.1 C程序的结构
但课本中的大多数例子,程序都比较简单,一般都只 用到了一个源程序文件,而且有些程序的功能很简单, 只要用一个主函数就可以实现。
2. printf函数中常用的格式控制说明
(1)数据类型控制字符
%[标志][宽度][.精度][h|l]<类型>
(2)数据类型修饰符
%[标志][宽度][.精度][h|l]<类型> 长整型 数一定要用”%ld”(long)来输出; 短整型 可用于数值的输出“%hd” ; Double 类型的实数可以用”%lf ”,也可以用”%f ”来输 出。
而语句if((x=y+5;)>0) z=x; 是非法的语 句,其中x=y+5; 本身就是一条语句,不能出现 在表达式中,因为C语言的语法规定if后面的( ) 中只能是一个表示条件的表达式。
3.3.1 printf函数
printf函数的函数原型在头文件“stdio.h”中。
1.printf百度文库数的一般调用形式
④ 输出八(十六)进制数时添加前导0(0x)
通常,在用格式字符o(x)按八进制数(十六进制数)的形 式输出整数时,在数据的前面并不出现0(0x),如果需要在 输出的八进制数(十六进制数)前添加0(0x),可在%号与格 式字符o或x之间插入一个#号(注意:#号对其它格式字符通 常不起作用)。
例如:printf("%o,%#o,%x,%#x\n" ,31,31,31,31); 输出结果如下:37, 037, 1f, 0x1f
3.1 C语句概述
C语句可以分为以下五种类型: 1.表达式语句:在表达式的后面加上一个分号构成。
例:x = 100 /* C表达式 */ x = 100;/*表达式语句 */ x+5; /* 合法,但没意义 */
2. 控制语句:由特定的语句定义符组成,用于控制 程序的流程,以实现程序的各种结构方式。C语 言有九种控制语句。 可分成以下三类: (1) 条件判断语句:if语句,switch语句; (2) 循环执行语句:do while语句、while语句和 for语句; (3) 转向语句:break语句、goto语句、 continue语句 和return语句。
4. 注意赋值表达式和赋值语句的区别。赋值 表达式是一种表达式,它可以出现在任何允许表 达式出现的地方,而赋值语句则不能。 例如:if((x=y+5)>0) z=x; 语句的功能是: 先把y+5的结果赋值给变量x,然后再判断x的值 是否大于0,若该值大于0则执行语句z=x;否则 不执行语句z=x;
②输出实型数据所占的宽度
%[标志][宽度][.精度][h|l]<类型> 对于float或double类型的实型数, “宽度”用以指定 输出数据的总宽度(小数点也要计算在内), “精度” 在 这里就是小数位的位数。 当输出数据的小数位多于“精度”指定的宽度时,截 去右边多余的小数,并对截去的最高小数位做四舍五入处 理;当输出数据的小数位少于“精度”指定的宽度时,在 小数的最右边添0补齐。 当输出数据的实际值较大时, “宽度”指定的总宽 度有可能不够用,系统会自动地对输出数据的小数位仍按 上述规则处理,而对输出数据的整数部分则按数据实际值 的宽度输出。
例3.2 在printf函数中指定输出数据的宽度。
main ( ) {printf("%d\n",42); /*输出结果:42*/ printf("%5d\n",42); /*输出结果: 42*/ printf("%f",123.54); /*输出结果:123.540000*/ printf("%12f\n",123.54); /*输出结果: 123.540000*/ printf("%e\n",123.54); /*输出结果:1.235400e+02*/ printf("%13e\n",123.54); /*输出结果: 1.235400e+02*/ printf("%g\n",123.5); /*输出结果:123.5*/ printf("%8g\n",123.5); /*输出结果: 123.5*/ }
3. 函数调用语句:由函数名、函数的实际参数 加上分号“;”组成。
例:printf("This is a C statement.\n");
4. 空语句:仅包含一个分号的语句。 5. 复合语句:把多个语句用一对花括号{ }括起 来组成的一个语句称为复合语句。
例如 : main ( ) {int x, y, z, t; x=8; y=6; if (x>y) {z = x – y ; t = z * 2;} else { z = x + y ; t = z / 2; } printf("z=%d, t=%d \n",z,t); }
② 使输出的数字总是带有正/负号
在%和格式字符间(或宽度前)加一个“+”号。
例如: printf(”%+d,%+d\n”,100,-200); 输出结果为:+100,-200
③ 在输出数据前加前导0
在指定宽度的同时,在数据前面的多余空格处填以数字0。 例如: printf("%05d\n",59);输出结果为:00059 printf("%012.5f\n",3.1415); 输出结果为:000003.14150
⑤ %%,表示输出一个’%’字符。
例如:printf("%d%%\n",60);
输出结果为:60%
3.2
赋值语句
在赋值表达式的尾部加上一个分号,就构成了 赋值语句。赋值语句形式多样、用法灵活。 使用赋值语句时需要注意以下几点: 1.在赋值运算符“=”的左边只能是变量; 例如:a +1= 6
3.2
赋值语句
2 .在赋值运算符“=”右边的表达式也可以又是一 个赋值表达式,如:变量=(变量=表达式);从而形 成嵌套的情形。其展开之后的一般形式为: 变量 = 变量 =……= 表达式; 例如:a=b=c=d=e=5; 按照赋值运算符的右接合性,上述语句实际上等 效于: e=5;d=e;c=d;b=c;a=b;
main ( ) {printf("%5d##\n",168); /*输出结果: 168##*/ printf("%-5d##\n",168); /*输出结果:168 ##*/ printf("%14.6lf##\n",7.6855); /*输出结果: 7. 685500##*/ printf(“%-14.6lf##\n" ,7.6855); /*输出结果:7. 685500 ##*/ printf("%14.6s##\n ","abcdefgh"); /*输出结果: abcdef##*/ printf("%-14.6s##\n", "abcdefgh"); /*输出结果: abcdef ##*/ }
对于g或G:用来指定输出数据的有效数字,缺省值为6;
printf("%g\n",123.56789) ; 输出结果:123.568 printf ("%.7g\n",123.56789); 输出结果:123.5679
对于整数:用来指定必须输出的数字个数,若输出的数字 少于指定的个数,则在数字前面加0补足;若输出的数字多 于指定的个数,按数字的实际宽度输出。
相关文档
最新文档