数据类型运算符与表达式.ppt_第1页
数据类型运算符与表达式.ppt_第2页
数据类型运算符与表达式.ppt_第3页
数据类型运算符与表达式.ppt_第4页
数据类型运算符与表达式.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

一句话改变人生 要提高智力,必须思考。,一句话改变人生 心改变、习惯改变、性格改变、人生改变。,2019/3/31,第二章,3,引例:编程序,从键盘输入5个实型数,求这5个数的平均值。程序如下: #include main() float a,s=0,p; int i; for (i=1;i6;i+) scanf(“%f”, ,第二章 C语言的基础知识,2.1 常量 2.1.1 整型常量 100, 10, -50, 2345 0100, -012 0x100, 0xabcf 说明: 十进制数值使用范围:-3276832767) 1000 0000 0000 0000=-215=32768 0111 1111 1111 1111 =215-1=32767,2019/3/31,第二章,5,第二章 C语言的基础知识,2.1.2 实型常量 单精度实型常量: 3.141592, 2.718 单精度指数型常量: 14159e-12, 2.718e+5 双精度实型常量: 1.2345678912345 双精度实型指数型常量: -1.2345d+10 例: 将数学中的数值表示用C语言表示. 数学表达式 C语言表达式 121010 1.2e11 或者 1.2e+11 54321000000 5.4321e+10 0.012345678912 1.2345678912d-2,2.1.3 符号常量 #define PI 3.141592 #define PRICE 100 说明: 1. 宏定义行末不能用”;”。 2. 符号常量中的值只能引用,不允许修改。 如程序段: #define PI 3.141592 PI=2.718; (错) Y=pi*5 ;(正确) 2.1.4 字符常量 A, 1, a,#,2.1.5 转义字符常量 转义字符 ASCII码 作用 n 10 输出时换行 b 8 输出时向左倒退一列 ” 34 输出: ” 可以用数值常量表示 xhh 用16进制1位或两位表示。 ddd 用8进制1位到3位表示。 101 101-1 000 001-65-A 例:分别用十六进制数据和八进制数据表示“换行”。 “xa” 用16进制表示。 “12” 用8进制表示。,练习: 练习1. 在屏幕上输出“郑州大学”。 正确的语句是: printf(“42郑州大学42”); 或者是: printf(“郑州大学”); 练习2. 111转义后的字符是什么。 2.1.6 字符串常量 “HELLO”, “1234 5678 9”, “computer”, “中国郑州”,2.2 变量、变量名字及其变量类型的定义 2.2.1 变量名字 用字母或”_”开始,后可以跟字母、数字、下划线。总长度根据使用环境不同,规定不同。 例如,正确的变量名字: A,a, add, find, sum, _average 不正确的变量名字: float, sqr, 2003_1, new.003 2.2.2 变量的作用:放数字、字符、字符串。,2.2.3 整型变量的定义及赋值 int a,b,c; int m=2, n=3; long int sum=0,add; long hello; int x,y,z; x=y=z=10;,整型变量又分: 整型变量 int a ; 长整型变量 long c ; 无符号整型变量 unsigned int d ; (65535) 4. 无符号长整型变量 unsigned long f ;。,说明: 1. 一个整型变量在内存占两个字节的地址单元。 2. 无符号整型变量比有符号整型变量允许的数值大一倍加1。 3. 长整型变量允许的数值是:-21474836482147483647。 4. 一个长整型变量在内存占四个字节的地址单元。 5. 变量说明且未赋初值时,变量中的值是任意(随机)的。 问题: 1. 为什么整型变量容纳的数据范围有限? 2. 求10!时,其结果使用什么类型的变量?,2.2.4 实型变量的定义及赋值 float a,b,ccc=3.1415; float sum=0.0; double f1, f2=1.414d12 ; float new=2.713e3; long double t1; 说明:变量说明且未赋初值时,变量中的值是 任意(随机)的。 注意赋值和计算时的舍入误差 如:float x=3.1415926 实际输出为: 3.141593,2.2.5 字符变量的定义及赋值 char a=m; char b,c,d; char m=65,n=a+1; 2.2.6 字符串变量的定义及赋值 char a10; char b20=”hello”, c10=“thank you”; char str510=“”,”,”news”,”ok”,”please”; 错误的定义和赋值:char d8=“computer”;,2.3 运算符及表达式 2.3.1 算术运算符及其表达式 +、-、*、/、%、pow(x,n) 说明: 1. 整数除整数,商为整数。 例如:17/3=5,5/9=0 2. %为求余运算,要求除数、被除数为整型。 例如:15%4=3。 3. 求方运算,使用函数pow(x,n),且要使用头文件:math.h。,第二章,16,2019/3/31,说明: 数学表达式写成C语言表达式时应注意: 1. 写在一行上,不能再有肩码或脚码。 例如:x2 应写成x*x,y1应写成y1。 2. 必要时加括号,而且只用小括号。 例如:求立方根,使用pow(x,1.0/3)。 3. 尽量使用系统提供的函数。 例如:ex 应写成exp(x) 。 4. 计算机在计算时,1.0/3*3 和 1/3*3 都不会等于1。,2.3.2. 自加1、自减1运算 例如:n=2; n+或 +n; 等价于 n=2; n=n+1; n=2; n- 或 -n; 等价于 n=2; n=n-1; 说明: 1. int n=2; m=+n; +在前n先加1后用(m=3); 2. int n=2, m=n+; +在后先用后加1(m=2); 3. 自加1、自减1运算只适用于整型变量。,第二章,18,2019/3/31,训练: 若i=2; (i+)+(i+)+(i+) 后 ,i的值是多少(5,9) 若i=2; (i+i+i) 后 ,i的值是多少(4,9) 若i=2; (-i)+(-i) 后 ,i的值是多少(0,1) 若i=2; (i-i) 后 ,i的值是多少(1,1) 若i=2; i-+-i (0,2) 若i=2; i-i (1,1) 若i=2; i-i (error),2.3.3. 关系运算符及其关系表达式 = 6 训练: 写出下列的关系表达式 m大于等于n, n等于90 963 的结果是1(真)还是0(假),2.3.4. 逻辑运算符及其表达式 ! (非) & (与) | (或) 关系成立,其值为1(真),否则其值为0(假) 训练:写出下列的逻辑表达式 m大于90同时n也大于90 m90&n90 m大于90或者n大于90 m90|n90 m不大于90同时n也不大于90 m90)&n=90 963 的结果是什么 0 mn90应该怎么写 mn&n90,常用的几条规则: 1| a= ? a|a= ? 1 c=!a & cd | a+b =c-d | d,2.3.5. 条件表达式(问号表达式) 例:m=mn ? m: n (其中,m,n可以是又一个问号表达式)。 训练: (1) 根据题目,写出问号表达式。 x0,r取1;xb ? (ac? a: c) : (bc ? b: c),2.3.6 . 赋值表达式 同类型赋值,例如:int a=10, b; b=a 升级赋值, 例如:float x; int k=300; x=k; 降级赋值, 例如:float x=3.14; int n; n=x+6 混合类型运算, float x=3.14; int n; n=3; x+n (其结果取最高级) 类型强制转换,3.0/9 或 (float)3/9,2.3.7. 逗号运算符及逗号表达式 例: int n=10 8*n, n*n, n+n ; 训练:给出下列逗号表达式的结果: m=10,n=100 p=(n+n,n*n,n-2) p=n+n,n*n,n-2 例: int n=10; p=(n=n+n,n=n*n,n=n-2),2.3.8. 复合赋值运算 a=a+3 可以写成复合赋值运算式:a+=3 x=x*(y+z) 可以写成复合赋值运算式:x*=y+z a=(b=5) 可以写成复合赋值运算式:a=5,b=5 练习:int a=12; 求a 的值。 a += a -= a * a ;(采用右结合计算方法:结果= - 264) 将下列各式写成复合赋值运算式 i=i+1; k=k-1; m=m/n; x=x*j;,实验二 任务: 编程且上机运行:输入3个数,求这3个数中的最大数。 编程且上机运行:输入5个数,求这求5个数每个数的立方根。 编程且上机运行:输入4个数,求这4个数中的最小数。 编程且上机运行:求多项式 ax3+bx2+c的值(a=2,b=3, c=4, x=1.414)。 编程且上机运行:输入3组数,每组3个数,求每组数的最大数。 编程且上机运

温馨提示

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

评论

0/150

提交评论