C++第2章 数据类型、运算符与表达式
发布时间:2021-06-11
发布时间:2021-06-11
这是最全的c++课件,与朋友们一起分享!!!!
第二章 数据和表达式2.1 C语言的词法符号 C语言的词法符号 2.1.1 关键字 2.1.2 标识符 标识符可以是变量名、函数名等。 标识符有字母、数字、下画线组成,但第一 个字符必须是字母或下画线。名字最长32个 个字符必须是字母或下画线。名字最长32个 字符。 字母大小写是有区别的。
这是最全的c++课件,与朋友们一起分享!!!!
2.1.3 标点符号 标点符号—9个 个# ( ) { } , ; … :
2.1.4 分隔符空格
2.2 数据类型2.2.1. 整型常量: (-32768---32767)100, 10, -50, 2345 0100, -012 0x100, 0xabcf
2.2.2. 实型常量3.141592, 2.718,100 (单精度实型,7位有效位) 14159e-12, 2.718e+5 (单精度指数表示法) 1.2345678912345, -1.2345d+10 (双精度及其双精度指数表示法)
2010-12-4
第二章
这是最全的c++课件,与朋友们一起分享!!!!
2.2.3. 符号常量(需要先宏定义)
#define PI 3.141592 #define PRICE 100 说明: 宏定义行末不能用”;” 符号常量中的值只能引用,不允许修改. 如: PI=2.718 (错) Y=PI*5 (正确)2.2.4. 字符常量
‘A’, ‘1’, ‘a’
这是最全的c++课件,与朋友们一起分享!!!!
2.2.5. 转义字符 ‘\n’ (10) 换行 ‘\b’ (8) 向左倒退一列 ‘\r’ (13) 回车,将当前位置移到本行开头 ‘\f’ (12) 换页 ‘\xhh’ 用16进制1位或两位表示。 ‘\ddd 用8进制1位到3位表示。 ‘\101’ 101----1 000 001----65----A 2.2.6. 字符串常量 “HELLO”, “1234 5678 9”, “computer”, “中国郑 州”
这是最全的c++课件,与朋友们一起分享!!!!
2.3 变量及其变量的定义 2.3.1 变量名字:用字母或”_”开始,后可以跟 字母、 数字、下划线。总长度根据使用环 境不同,规定不同。 例如,正确的变量名字:A,a, add, find, sum, w2000_1, _2003 不正确的变量名字:float, main, 2003_1, new.003 2.3.2 变量的作用:放数字、字符、字符串。
这是最全的c++课件,与朋友们一起分享!!!!
2.3.3 变量的定义: 2.3.3.1. 整型变量的定义及赋值 int a,b,c=2; int x=y=z=10; int m=2; int n=3; long int sum=0,add; long hello;
这是最全的c++课件,与朋友们一起分享!!!!
整型变量又分: 1. 基本整型变量 int a; /*在内存占 两个字节的地址单元*/ 2. 短整型变量 short b; 3. 长整型变量 long c; /*在内存占 四个字节的地址单元*/ 4. 无符号基本整型变量 unsigned int d; (65535) 5. 无符号短整型变量 unsigned short e; 6. 无符号长整型变量 unsigned long f;。
这是最全的c++课件,与朋友们一起分享!!!!
说明:1. 一个整型变量在内存占两个字节的地址单元。 2. 无符号整型变量比有符号整型变量允许的数值大一倍加1。 3. 短整型变量 与基本整型变量允许的数值相同。 4. 长整型变量允许的数值是:-2147483648—2147483647。 5. 一个长整型变量在内存占四个字节的地址单元。 6. 变量说明且未赋初值时,变量中的值是任意(随机)的。
问题:1. 为什么一个整型变量只能容纳-32768到32767 2. 求10!时其结果使用什么类型的变量?
这是最全的c++课件,与朋友们一起分享!!!!
2.3.3.2. 实型变量的定义及赋值 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 x=3.1415926 实际输出为:
这是最全的c++课件,与朋友们一起分享!!!!
2.3.3.3. 字符变量的定义及赋值 char a=’m’; 一个字符变量在内存占一个字节的 地址单元。 char b,c,d; char m=65,n=a+1; 2.3.3.4. 字符串变量的定义及赋值 char a[10]; char b[20]=”hello”, c[10]={“thank you”}; char str[5][10]={“”,””,”news”,”ok”,”please”}; 错误的定义和赋值:char d[8]={“computer”}; 说明: 变量中的字符串结束时有一个结束标记”\0”。 标记不参加任何运算。 注意: C程序中所有的字符均使用英文字符。
这是最全的c++课件,与朋友们一起分享!!!!
2.4 运算符及表达式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)。 使用系统提供的函数。例如:ex 应写成exp(x) 见教材248 页。 注意在计算机计算时,1.0/3*3 和 1/3*3 都不会等于1。
这是最全的c++课件,与朋友们一起分享!!!!
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)
这是最全的c++课件,与朋友们一起分享!!!!
2.4.3. 关系运算符及其表达式 > >= < <= == != 说明: 后两个关系符运算优先级低于前四个. 关系成立,其值为1(真),否则其值为0 (假) 训练: 写出下列的关系表达式 m大于等于n, n等于90 9>6>3 的结果是1(真)还是0(假)
这是最全的c++课件,与朋友们一起分享!!!!
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 9>6>3 的结果是1还是0 m>n>90应该怎么写。
这是最全的c++课件,与朋友们一起分享!!!!
常用的几条规则: 1|| a= ? a||a= ? 1&&a= ? 0&&a= ? a|| !a= ? a&&a= ? 例:求下列各变量a,b,c,d的值。 int a,b,c,d,k=1,h=0; a=! k&&h || ++h++>=k; b=k>h&& ! h++==! k|| 1&&h; c=h&&k !=!h || !(k&&h)==h+55 || (h=(k=(h=3)*5)*2 - ++k);
这是最全的c++课件,与朋友们一起分享!!!!
2.4.5. 条件表达式(问号表达式)例:m=m>n ? m: n (其中,m,n可以是又一 个问号表达式)。 训练:
(1) 根据题目,写出问号表达式。 x>0,r取1;x<0,r取-1;x=0,r取0; (2) 找出a,b,c中最大的数: (m=(a>b ? (a>c? a: c) : (b>c ? b: c))
这是最全的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 n; n=3; x+n (其结果取最高级) 类型强制转换,3.0/9 或 (float)3/9
这是最全的c++课件,与朋友们一起分享!!!!
2.4.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)
这是最全的c++课件,与朋友们一起分享!!!!
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 /* ? */
这是最全的c++课件,与朋友们一起分享!!!!
实验二 任务: 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 两个数,分别求他们的积、商和余数。 7. 编程且上机运行:已知华氏温度,根据公式: C = 5/9(F-32) 求摄氏温度C(结果保留两位小数)。 8. 使用宏定义定义符号常量 PI,求圆半径r=2.456时的园周长,园面积。 9. 上机输出转义字符:‘\xaa’、 ‘\111、’\121’,观察输出结果。 10 .编程:float ccc=3.123456789后按实型f输出ccc的值,观察舍入后的变 化。
这是最全的c++课件,与朋友们一起分享!!!!
上一篇:第三课 美国的三权分立制