C语言概述、赋值语句.ppt_第1页
C语言概述、赋值语句.ppt_第2页
C语言概述、赋值语句.ppt_第3页
C语言概述、赋值语句.ppt_第4页
C语言概述、赋值语句.ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论