武汉大学C语言程序设计第4讲2012级培训课件

上传人:日度 文档编号:149731951 上传时间:2020-10-29 格式:PPT 页数:65 大小:794.50KB
返回 下载 相关 举报
武汉大学C语言程序设计第4讲2012级培训课件_第1页
第1页 / 共65页
武汉大学C语言程序设计第4讲2012级培训课件_第2页
第2页 / 共65页
武汉大学C语言程序设计第4讲2012级培训课件_第3页
第3页 / 共65页
武汉大学C语言程序设计第4讲2012级培训课件_第4页
第4页 / 共65页
武汉大学C语言程序设计第4讲2012级培训课件_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《武汉大学C语言程序设计第4讲2012级培训课件》由会员分享,可在线阅读,更多相关《武汉大学C语言程序设计第4讲2012级培训课件(65页珍藏版)》请在金锄头文库上搜索。

1、基本运算符及其表达式 C语言程序的基本语句 数据的输入输出,第四讲,Begin:,第三章 基本语句与顺序结构程序设计,C语言没有逻辑型数据。因此, 在返回逻辑值时: 用1表示“真”,用0表示“假”; 在判断逻辑值时: 用非0代表“真”,用0代表“假”。,24 基本运算符及其表达式,0,1,0,For instance: 已知a=3,b=2,c=1 则 1)c = = a + b 结果为 0 2)a = = b b 结果为 1,24 基本运算符及其表达式,例,写出下列各题的关系表达式: 1)x为不小于 -5 的整数 x=5 2)x 为非零的数 3),例,#include void main()

2、int a ,b ,c ;a = b = c = 10 ; a = b = c ; printf ( “%d , %d , %d n”, a , b, c ) ; a = ( b= c+ * 2 ) ; printf ( “%d , %d , %d n”, a , b, c ) ; a = b c = 100 ; printf ( “%d , %d , %d n”, a , b, c ) ; ,2.4.3 逻辑运算符与逻辑表达式Logical Operators and Precedence 关系表达式只能表达一些简单的关系,如: sum=1500 y!=z 即只能对一个条件进行测试。,而以下

3、关系: 20 x100 则不能用关系表达式表达。,逻辑非! 真值表,1.逻辑运算符 C逻辑运算符:,24 基本运算符及其表达式,逻辑或 真值表,逻辑与 +x /* x=? y=? */,0,-1,24 基本运算符及其表达式,“短路能力”,例: 1)7 4 |( mum = 0 )由于 5 4 故短路 ,则 mum = 0 不执行 .,24 基本运算符及其表达式,#include void main( ) int a=-1, b=-1, d=-1; d=(a=1)|(b=1); printf(1) %d, %d, %dn, a, b, d); d=(a=0)|(b=0); printf(2) %

4、d, %d, %dn, a, b, d); d=(a=1) ,例,程序运行结果: (1) 1, -1, 1 (2) 0, 0, 0 (3) 1, 1, 1 (4) 0, 1, 0,#include void main( ) /*注意短路*/ int a , b , c , d ; a = b = c = 1 ; d = + a | + b Run,例,程序运行结果: (1) 2111 (2) 2211 (3) 2,2,2,24 基本运算符及其表达式,2.4.4 条件运算符与条件表达式,条件运算符: ? : 三目运算符 右结合,例: ab?max=a:max=b,例: (grade=60)?pr

5、intf(“Passed”):printf(“Failed”);,一般形式: ?:,2.4.5 赋值运算符与赋值表达式,简单赋值运算符为“=”;由“=”连接的式子称为(简单)赋值表达式(assignment statement) 。,一般形式: =,1简单赋值运算符和简单赋值表达式,24 基本运算符及其表达式,赋值运算符优先级为14,仅高于逗号运算符,而低于其他所有运算符。,2.4.5 赋值运算符与赋值表达式,1简单赋值运算符和简单赋值表达式,24 基本运算符及其表达式,赋值运算的类型转换,规则为:,整型数据赋给字符型时,只把低8位赋给字符变量。,字符型数据赋给整型变量时,整型变量的高八位补0

6、,低八位取字符的ASCII码值。,整型数据赋给实型变量时,以浮点形式取值。,实型数据赋给整型变量时,只取整数部分。,如: K=8.88 (k值为8),如: f=15 (f值为15.000000),如: K=A (k值为65),如: C=578 (C值为字母B),24 基本运算符及其表达式,2复合赋值运算符和复合赋值表达式,复合赋值运算符是在简单赋值运算符前加双目运算符构成。 共以下10种: +=,-=,*=,/=,%=,=, /*输出Very Good!*/ max(x,y,z); /*调用自定义函数max,求x,y,z中的最大数*/,4.复合语句: 用 括起来组成的一个语句 如:if (ab

7、) x=0;b=b+1;x=a;,5.空语句:仅由一个分号构成的语句,3.控制语句:控制程序的流程 如:ifelse语句,while语句,return语句等。,如:while (getchar( ) != n ) ; /*空语句*/,3.1 C语言程序的基本语句,3.3 数据输入输出,输入和输出功能是一个完整的程序必不可少的。C语言本身没有提供输入输出语句,而是通过调用C系统的标准函数来实现输入输出功能的。其中最基本的输入输出函数有printf()(格式输出),scanf()(格式输入),putchar()(字符输出),getchar()(字符输入)等。 C语言对数据的输入、数据的输出是通过函

8、数实现。,Each source file that refers to an input/output library function must contain the line #include ,功能:按格式控制字符串规定的格式,向指定的输出设备输出在输出表列中列出的各输出项。(it converts,formats,and prints its arguments on the standard output under control of the format. ) 输出形式由“格式控制”字符串规定。,3.3.1 Formatted output :printf( )函数和sca

9、nf( )函数,一般形式: printf(“格式控制字符串”,输出表列);,3.3 数据输入输出,1. printf( )函数,格式控制Format control :由双引号(double quote)括起来的字符串,用于指定要输出的数据的格式。,它包括: 1)普通字符ordinary characters 作用:which are copied to the output stream,3.3.1 格式输出:printf( )函数和scanf( )函数,一般起提示作用。如 printf(“a+b=%d”,c); 其中“a+b=”是普通字符。普通字符可以根据需要来使用,不是必须项。,2)格式

10、说明 (Conversion specifications):用来指定需输出数据的输出格式的,其形式为: % 格式字符,格式字符用以说明输出数据的类型,形式,长度,小数位数等。,输出表列:需要输出的数据列表,彼此间用逗号分隔。它可是任意合法的表达式。,3.3.1 格式输出:printf( )函数和scanf( )函数,用于输出的格式字符,3.3.1 格式输出:printf( )函数和scanf( )函数,% 输出一个百分号,用于输出的修饰符,3.3.1 格式输出:printf( )函数和scanf( )函数,3.3.1 格式输出:printf( )函数和scanf( )函数,例:格式输出:pr

11、intf()函数,printf( a+b = %5.2 f , c );,3.3.1 格式输出:printf( )函数和scanf( )函数,(1) d格式字符,d:按整型数据的实际长度输出,md:m为指定的输出长度。如果数据位小于m,则左端补以空格;大于m,则按实际位输出。,例:printf(“%4d,%4d”,a,b); 若a=12, b=12345,则输出,ld:输出长整型数据。,d的输出范围为3276832767,输出超过该范围的整型数就会出错,此时用%ld输出。 其输出格式和功能与%d相同,如:8ld,3.3.1 格式输出:printf( )函数和scanf( )函数,(2) o格式

12、字符,以八进制数形式输出整数,且不带符号。,对于长整数可用“lo”输出。功能同十进制输出。,(3) x格式字符,以十六进制数形式输出整数,且不带符号。,对于长整数可用“lx”输出。功能同十进制输出。,(4) u格式字符,用来输出unsigned型数据,即无符号数,输出十进制数。,用o,%x输出负数时会发生错误。,3.3.1 格式输出:printf( )函数和scanf( )函数,(5) c格式字符,一个整数,如果在0255之间,也可用字符形式输出,系统会将该整数转换成相对应的ASCII码字符;同时,一字符也可以用整数形式输出。,例:char c=a; printf(“%c”,c);,用来输出一

13、个字符。,如:printf(“%3c”,c),则输出,c格式字符也可以指定输出字数宽度,3.3.1 格式输出:printf( )函数和scanf( )函数,(6) s格式字符,s:用来输出一个字符串,例:printf(“%s”,“Hello!”); 输出Hello!,不包括“ ”,ms:输出的字符串占m列。如果字符串长度小于m,则左端补以空格;长度大于m,则输出整个字符串。,-ms:如果串长小于m,则字符串向左靠,右补空格,其余同上。,m.ns:输出的字符串占m列,但只取字符串中左端n个字符,这n个字符输出在m列的右侧,左端补空格。,-m.ns:其他意义同m.ns,右补空格。,3.3.1 格式

14、输出:printf( )函数和scanf( )函数,例:printf(“%3s”,“Hello!”); 输出Hello! printf(“%7s”,“Hello!”); 输出 Hello!,(7) f格式字符,f:不指定字段宽度,整数部分全部输出,小数部分输出6位。,m.nf:指定输出数据占m列,其中有n位小数。若数值长度小于m,则左端补以空格。,-m.nf:功能同上,右端补以空格。,(8) e格式字符,e:不指定字段宽度,系统自动给出6位小数,指数部分占4位。其中“e”占1位,指数符号占1位,指数占2位。,3.3.1 格式输出:printf( )函数和scanf( )函数,例:printf(

15、“%e”,123.456); 输出:1.234560e+02,m.ne, -m.ne, me :中m,-的意义和前相同,n是指数据的小数部分输出的位数。,(9) g格式字符,用来输出实数,根据数值大小,自动选f或e格式,且不输出无意义的零。,3.3.1 格式输出:printf( )函数和scanf( )函数,5位为指数部分(vc+),e+002,#include void main() int a=1234; float f1=12.34567,f2=678.9; printf(1)%d,%6d,%-6d,%2d;n,a,a,a,a); printf(2)%f,%10.4f,%3.2f;n,f

16、1,f1,f1); printf(3)%e,%e;n,f1,f2); printf(4)%8e,%14e;n,f1,f1); printf(5)%10.7e,%10.3e;n,f1,f1); ,实例:,程序运行结果: 1)1234, 1234,1234 ,1234; 2)12.345670, 12.3457,12.35; 3)1.23457e+001,6.789000e+002; 4)1.23457e+001, 1.234567e+001; 5)1.2345670e+001, 1.235e+001;,例:printf(“%e”,123.456); 输出:1.234560e+02,m.ne, -m.ne, me :中m,-的意义和前相同,n是指数据的小数部分输出的位数。,(9) g格式字符,用来输出实数,根据数值大小,自动选f或e格式,且不输出无意义的零。,3.3.1 格式输出:printf( )函数和scanf(

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 专业基础教材

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号