




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章 输入输出、运算符和表达式,C语言程序设计第二章 数据类型、运算符和表达式 SCS-SWPU,2,sizeof运算符,sizeof运算符 含义:求某数据类型所占存储单元的字节个数 运算对象:变量名或数据类型标识符 例如:sizeof(char) float m; sizeof(m);,#include /*文件包含*/ #define PI 3.141592653 /*宏定义*/ void main() float area,length; /*定义实型变量*/ int radius ; /*定义整型变量*/ scanf(%d, ,%f是输出实型数据时必须使用的格式符,程序举例:计算圆的
2、面积和周长,C语言程序设计算法的描述 SCS-SWPU,4,3.3 格式输出函数printf,例如: printf(“a=%d,b=%f, a, b);,调用格式: printf(“格式控制字符串”, 输出表列); 格式控制:格式说明(%格式字符)+普通字符 输出表列:即需要输出的数据,可以是表达式,函数名,输 出 表 列,C语言程序设计算法的描述 SCS-SWPU,5, 符号 作用 %c单个字符 %s 输出字符串 %d十进制有符号整数 %u 输出无符号十进制整数 %o 无输出无符号八进制整数(不输出前缀0) %x, %X 输出无符号十六进制整数 (不输出前缀0 x) %f输出十进制float
3、数,不带域宽时,保留6位小数 %lf输出十进制double数,不带域宽时,保留6位小数 %le以“科学记数法”的形式输出double数 如2.4e+02 %e以“科学记数法”的形式输出float数 如2.4e+02 %g选用e或f格式中较短的一个输出浮点数,不输出无效零 %p 指针的值 ,3.3 格式输出函数printf的格式字符,C语言程序设计算法的描述 SCS-SWPU,6,若实际位数多于定义的宽度:则按实际位数输出。 若实际位数少于定义的宽度:默认右对齐,有负号左对齐,n: 精度,m: 域宽,即输出项在输出设备上所占的宽度,输出实型数据,n指定实型数据所占的小数位数 输出字符串,n指定最
4、多输出的字符个数,3.3 格式输出函数printf,C语言程序设计算法的描述 SCS-SWPU,7,#include stdio.h void main() float f,g; f = 1.27; g = 23.2; printf(%f + %f = %fn,f,g,f + g); ,在输出的数字中并非全部数字都是有效数字 单精度实数的有效位数一般为位; 双精度实数的有效位数一般为16位,printf(%2.2f + %2.2f = %4.2fn,f,g,f + g);,3.3 格式输出函数printf,C语言程序设计算法的描述 SCS-SWPU,8,例1: printf(“%d,%4d,%
5、-4d,%4d”,a,a,a,b); 若a=123,b=12345 则输出结果是:123,123,123,12345,例2: printf(%lf, %8.2lfn,b,b); 若b=123.4567 则输出结果是:123.456700, 123.46,例3: printf(“%s, %8s,%8.3s”, “china” , “china” , “china” ); 则输出结果是:china, china, chi,3.3 格式输出函数printf,C语言程序设计算法的描述 SCS-SWPU,9,printf 函数的注意事项 格式控制必须与输出项匹配,否则不能正确输出 请判断下列输出是否正确
6、:,main() int a=65; printf(%f,a); ,main() int a=65; printf(%dn,a); ,main() int a=65; printf(%c,a); ,3.3 格式输出函数printf,C语言程序设计算法的描述 SCS-SWPU,10,例如: main() int x,y; x=11/3;y=5; printf(%d,%dn,x, y); ,程序的运行结果为: %d,%3,C语言规定,在格式控制字符串中若连续出现两个“”,系统视为一个“”字符输出。,3.3 格式输出函数printf,C语言程序设计算法的描述 SCS-SWPU,11,“格式控制”的含
7、义同printf函数; “地址表列”是由若干个地址组成的表列,scanf(%d,%f”, ,格式输入函数 scanf (格式控制字符串, 地址表列);,3.3 格式输入函数scanf,C语言程序设计算法的描述 SCS-SWPU,12, 符号 作用 %c输入单个字符 %s 输入字符串 %d 输入十进制有符号整数 %u输入无符号十进制整数 %o无输入无符号八进制整数(不输出前缀0) %x, %X 输入无符号十六进制整数 (不输出前缀0 x) %f,%e以小数或指数形式输入float型数据 %lf,%le以小数或指数形式输入double型数据 ,3.3 格式输入函数scanf,C语言程序设计算法的描
8、述 SCS-SWPU,13,例 用scanf函数输入数据。#includevoid main() int a,b,c; scanf(“%d%d%d”,a在内存中的地址 scanf(“%4f”,C语言程序设计算法的描述 SCS-SWPU,15,(4)用连续%c输入字符数据时,任意字符都有效 scanf(“%c%c%c”, 输入:A,B,C 输出:a=A,b=,c=B,(5)如果格式控制字符串中有非格式字符,则输入时也要输入非格式字符。,scanf(“%d,%d,%d”, 输入应为:a=5,b=6,c=7,使用scanf函数的注意事项,C语言程序设计算法的描述 SCS-SWPU,16,(6) 输入
9、输出格式控制符必须匹配,否则不能正确输出 设:从键盘输入:10 20.5 ,分析各程序的输出,main() int a; float b; scanf(%d%d, ,main() int a; float b; scanf(%d%f, ,main() int a; float b; scanf(%d%d, ,使用scanf函数的注意事项,C语言程序设计算法的描述 SCS-SWPU,17,(7)遇到宽度设置,认为数据输入结束,123.000000,456,void main() int x; double m; scanf(%4lf%d, 若输入123.456 23,则输出结果是?,使用scan
10、f函数的注意事项,18,C语言基础,基本数据类型,2.1,标识符,2.2,常量与变量,2.3,运算符与表达式,2.4,C语言程序设计第一章 C语言概述 SCS-SWPU,数据类型转换,2.5,19,运算符分类 按照运算对象的个数: 单目运算符 双目运算符 三目运算符 按照功能: 赋值运算符 算术运算符 自加、自减运算符 逗号运算符 逻辑运算符 位运算符 关系运算符等,C的运算符,20,常用运算符优先级,圆括号() 下标 结构体成员运算符 - 单目运算符(! + - - x=i+; printf(“i=%d,x=%dn”,i,x); j=5; y=+j; printf(“j=%d,y=%dn”,
11、j,y); ,程序运行结果: i=6,x=5 j=6,y=6,#include void main() int a=3,b=5,c; c=(+a)*b; printf(“a=%d,c=%dn”,a,c); a=3; c=(a+)*b; printf(“a=%d,c=%dn”,a,c); ,程序运行结果: a=4,c=20 a=4,c=15,C语言程序设计第二章 数据类型、运算符和表达式 SCS-SWPU,25,2 自加、自减运算符,3 赋值运算符和赋值表达式,1赋值运算符:“ = ” (赋值) 右结合性 2. 复合赋值运算符:(“=”之前加上其他运算符) “+=” 加赋值运算符 “-=” 减赋
12、值运算符 “*=” 乘赋值运算符 “/=” 除赋值运算符 “%=” 模赋值运算符 3. 赋值表达式: 变量=运算表达式 将x*=看作 x=x*() ,其余类推。,例1:c=b*=a+3;按自右向左原则,相当于三步 a+3 b=b*(a+3) c=b,int k = 3,m = 3, n = 3; int k = m = n = 3;,正确,错误,C语言程序设计第二章 数据类型、运算符和表达式 SCS-SWPU,27,例:int a=12; 问:a+=a-=a*=a 之后,a 的值是多少?,解: a=a*a=144; a=a-a=144-144=0; a=a+a=0+0=0,3 赋值运算符和赋值
13、表达式,许多人都对树的高度感兴趣,如果将树砍倒,量出它的高度就可以确定离树多远才是安全的。如果树很高就不能用梯子了。 能不能想个办法找个朋友,帮你量出大树的高度?。编程实现吧,课后延伸,C语言程序设计第二章 数据类型、运算符和表达式 SCS-SWPU,28,29,第一章 C语言概述,基本数据类型,2.1,标识符,2.2,常量与变量,2.3,运算符与表达式,2.4,C语言程序设计第一章 C语言概述 SCS-SWPU,数据类型转换,2.5,C语言程序设计第二章 数据类型、运算符和表达式 SCS-SWPU,30,5 自动类型转换,不同类型的数据要先转换成同一类型,然后才进行运算,转换的规则: 1.
14、图中横向向左的箭头表示必定的转换 2. 图中纵向的箭头表示当运算对象为不同类型时转换的方向,例如: 表达式: 20+1.5-345.678*a,C语言程序设计第二章 数据类型、运算符和表达式 SCS-SWPU,31,5 强制类型转换,例如: (double) a /* 将a转换成double型*/ (float) (5/2) /*将(5/2)转化成float型(=2.0)*/ (float) 5 / 2 /* 将5转换成实型,除以2(=2.5)*/,转换格式: (类型标识符)表达式,1 必须把类型名放在一对括号内才能构成强制类型转换。 2 若要把表达式的值进行强制转换,必须把整个表达式放在一对
15、括号内。 3 强制类型转换符出现在运算对象左边。,注意事项,C语言程序设计第二章 数据类型、运算符和表达式 SCS-SWPU,32,5 强制类型转换,分析下列程序 main() float m; int n; m=1.31; n=(int)m; printf(n=%d,m=%fn,n,m); ,Thank You !,C语言程序设计第二章 数据类型、运算符和表达式 SCS-SWPU,34,2.4.4 关系运算符和关系表达式,1. 关系运算符: 种类( 6种): (大于) = =(等于)、 =(大于等于)、 !=(不等于) 优先级: (从高到低) ( 、 = ) (高) ( = = 、 != )
16、 (低) 结合性:自左向右,运算结果:“真(1)”或“假(0),cab 等效于 c(ab) ab=c 等效于(ab)=c a=bc 等效于a=(bc) a=bc 等效于a=(bc),注意区分“”与“”,2. 关系表达式: 用关系运算符连接起来的任意合法表达式,35,1.逻辑运算符种类: 则执行表达式(m=53),C语言程序设计第二章 数据类型、运算符和表达式 SCS-SWPU,42,2.4.7 逗号运算符,逗号可作分隔符使用,将若干变量隔开 如 int a,b,c; 又可作运算符使用: 其一般形式: 表达式1,表达式2,表达式n;,43,【例】main() int a,b,x; x=(a=8,
17、b=15,b+,a+b); printf(“a=%d,b=%d,x=%dn”,a,b,x);,输出结果:a=8, b=16, x=24,【例】main() int a,b,x; x=a=8,b=15,b+,a+b; printf(“a=%d,b=%d,x=%dn”,a,b,x);,输出结果:a=8, b=16, x=8,2.4.7 逗号运算符,C语言程序设计第二章 数据类型、运算符和表达式 SCS-SWPU,43,C语言程序设计第二章 数据类型、运算符和表达式 SCS-SWPU,44,2.4.8 其他运算符,1 sizeof运算符 含义:求某数据类型所占存储单元的字节个数 运算对象:变量名或数
18、据类型标识符 例如:sizeof(char) float m; sizeof(m); 2 圆括号运算符 又叫优先运算符,其优先级别最高,45,表达式的求值顺序 如果有圆括号,首先计算圆括号内的表达式 表达式有多个运算符,按优先级的顺序运算 优先级相同的,按结合性方向运算 左结合性 如:12+11-3*(5-3) 右结合性 :单目运算符 赋值运算符 条件运算符 如:a=2; c=b=a+3,1.4 C的运算符,相当于:a+3;b=a+3;c=b;,46,常用运算符优先级,圆括号() 下标 结构体成员运算符 - 单目运算符(! + - sizeof) 算术运算符(*、/、% +、-) 关系运算符(、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年注册会计师职场挑战及试题及答案
- 2025年证券业务合规管理考题及答案
- 注会内部控制体系试题及答案
- 职业生涯与微生物检验实践试题及答案
- 细胞培养技术在检验中的重要性试题及答案
- 课程建设课题申报书
- 2025年证券从业资格证多元学习试题及答案
- 注册会计师各科目交叉复习技巧试题及答案
- 保安工作总结计划护理行业保安工作的安全护理
- 2025年证券从业资格证考试策略总结试题及答案
- 2024国家能源集团新疆哈密能源化工有限公司社会招聘110人笔试参考题库附带答案详解
- 糖尿病饮食与护理
- 2025年天津市河东区中考一模历史试题(原卷版+解析版)
- 《基于STM32的智能水质检测系统的设计》9400字(论文)
- 公路养护员工安全教育培训
- 重庆大渡口区公安分局辅警招聘考试真题2024
- 医疗护理技术操作规程
- 2025年教师国际交流合作计划
- 水泥厂危险源辨识及风险评价表 (一)
- 智能建造技术在桥梁施工中的应用
- 西门子S7-1500PLC技术及应用课件:S7-1500 PLC 基本指令系统
评论
0/150
提交评论