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

下载本文档

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

文档简介

1、2021-10-20第二章22.1.3 标点符号标点符号9个个# ( ) , ; : 2.1.4 分隔符分隔符 空格 2.2 数据类型数据类型2.2.1. 整型常量整型常量: (-32768-32767) 100, 10, -50, 2345 0100, -012 0 x100, 0 xabcf2.2.2. 实型常量实型常量 3.141592, 2.718,100 (单精度实型,7位有效位) 14159e-12, 2.718e+5 (单精度指数表示法) 1.2345678912345, -1.2345d+10 (双精度及其双精度指数表示法)2.2.3. 符号常量符号常量(需要先宏定义) #de

2、fine pi 3.141592 #define price 100说明: 宏定义行末不能用”;” 符号常量中的值只能引用,不允许修改.如: pi=2.718 (错) y=pi*5 (正确)2.2.4. 字符常量字符常量 a, 1, a2.2.5. 转义字符转义字符 n (10) 换行 b (8) 向左倒退一列 r (13) 回车,将当前位置移到本行开头 f (12) 换页 xhh 用16进制1位或两位表示。 ddd 用8进制1位到3位表示。 101 101-1 000 001-65-a2.2.6. 字符串常量字符串常量 “hello”, “1234 5678 9”, “computer”,

3、“中国郑州”2.3 变量及其变量的定义2.3.1 变量名字:用字母或”_”开始,后可以跟字母、 数字、下划线。总长度根据使用环境不同,规定不同。例如,正确的变量名字:a,a, add, find, sum, w2000_1, _2003 不正确的变量名字:float, main, 2003_1, new.0032.3.2 变量的作用:放数字、字符、字符串。2.3.3 变量的定义: . 整型变量的定义及赋值 int a,b,c=2; int x=y=z=10; int m=2; int n=3; long int sum=0,add; long hello;整型变量又分:1. 基本

4、整型变量 int a; /*在内存占两个字节的地址单元*/2. 短整型变量 short b;3. 长整型变量 long c; /*在内存占四个字节的地址单元*/4. 无符号基本整型变量 unsigned int d; (65535)5. 无符号短整型变量 unsigned short e;6. 无符号长整型变量 unsigned long f;。说明:1. 一个整型变量在内存占两个字节的地址单元。2. 无符号整型变量比有符号整型变量允许的数值大一倍加1。3. 短整型变量 与基本整型变量允许的数值相同。4. 长整型变量允许的数值是:-21474836482147483647。5. 一个长整型变量

5、在内存占四个字节的地址单元。6. 变量说明且未赋初值时,变量中的值是任意(随机)的。 问题: 1. 为什么一个整型变量只能容纳-32768到327672. 求10!时其结果使用什么类型的变量?. 实型变量的定义及赋值float a,b,ccc=3.1415; /* (单精度实型,6-7位有效位)*/float sum=0.0;double f1, f2=1.414d12 /*双精度实型变量,有效位16-17位*/float new=2.713e3; long double t1;说明:变量说明且未赋初值时,变量中的值是 任意(随机)的。 注意赋值和计算时的舍入误差 如:float

6、 x=3.1415926 实际输出为: . 字符变量的定义及赋值char a=m; 一个字符变量在内存占一个字节的地址单元。char b,c,d;char m=65,n=a+1;. 字符串变量的定义及赋值char a10;char b20=“hello”, c10=“thank you”; char str510=“”, “”, “news”, “ok”, “please”; 错误的定义和赋值:char d8=“computer”;说明: 变量中的字符串结束时有一个结束标记“0”。标记不参加任何运算。注意: c程序中所有的字符均使用英文字符。2.4 运算符及表达式运

7、算符及表达式2.4.1. 算术运算符及其表达式+、-、*、/、%、pow(x,n)说明:整数除整数,商为整数。例如:17/3=5,5/9=0%为求余运算。例如:15%4=3。除数、被除数要求为整型。求方运算,使用函数pow(x,n),且要用头文件:math.h。训练:假设n是一个正整数,表达式 n%2+(n+1)%2的值是什么?说明: 数学表达式写成c语言表达式应注意: 写在一行上,不能再有肩码或脚码。例如:x2 应写成x*x,y1应写成y1。 必要时加括号,而且只用小括号。例如: 求立方根,使用pow(x,1.0/3)。 使用系统提供的函数。例如:exp应写成exp(x) 。 注意在计算机计

8、算时,1.0/3*3 和 1/3*3 都不会等于1。2.4.2. 自加1、自减1运算例如:n=2; n+; 等价于 n=n+1 n=2: n+; n-; +n;-n; r=2; m=-n; p=r+;说明: 自加1、自减1运算只适用于整型变量。训练:若i=2 (i+)+(i+)+(i+) 后 ,i的值是多少(9) 若i=2 (-i)+(-i) 后 ,i的值是多少(2) 若i=2 i=(i+i+i) 后 ,i的值是多少(9) 若i=2 i=(i-i) 后 ,i的值是多少(1) i-+-i (2) i-i (1) i-i (error)2.4.3. 关系运算符及其表达式 = 63 的结果是1(真)

9、还是0(假)2.4.4. 逻辑运算符及其表达式 ! (非) & (与) | (或)关系成立,其值为1(真),否则其值为0(假)训练:写出下列的逻辑表达式 m大于90同时n也大于90 m大于90或者n大于90 m不大于90同时n也不大于90 m不大于90同时n等于90 5大于等于3且6等于90的结果是1还是0 963 的结果是1还是0 mn90应该怎么写。 常用的几条规则: 1| a= ? a|a= ? 1&a= ? 0&a= ? a| !a= ? a&a= ? 例:求下列各变量a,b,c,d的值。 static int a=5,b=3,c=2,d,k=1,h; a=! k&h | +h+=k;

10、 c=h&k !=!h | !(k&h) d=3*k+a-h6*k | k1&an ? m: n (其中,m,n可以是又一个问号表达式)。训练:(1) 根据题目,写出问号表达式。 x0,r取1;x0 ? 1 : x=0 ? 0: -1(2) 找出a,b,c中最大的数: (m=(ab ? (ac? a: c) : (bc ? b: c)2.4.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

11、n; n=3; x+n (其结果取最高级)类型强制转换,3.0/9 或 (float)3/92.4.7. 逗号运算符及逗号表达式例: int n=10 8*n, n*n, n+n ;训练:给出下列逗号表达式的结果: int 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.4.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; m=m+n+7 m=m*n+k /* ? */实验二任务:1.编程且上机运行:输入3个数,求这3个数中的最大数。2.编程且上机运行:输入5个数,求这求5个数每个数的立方根。3.编程且上机运行:输入4个数,求这4个数中的最小数。4.编程且上机运行:求多项式 ax3+bx2+c的值(a=2,b=3, c=4, x=1.414)。5.编程且上机运行:输入3组数,每组3个数,求每组数的最大数。6.编程且上机运行:输入a,b 两个

温馨提示

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

评论

0/150

提交评论