C语言初步知识与基本数据类型(下)
2017-08-02 17:59
183 查看
四、运算符和表达式
(一)算术运算符和算术表达式
1.算术运算符
(1)+ 加法
(2)- 减法
(3)* 乘法
(4)/ 除法
注意:双目均为整型,则"/"的结果是整型(取商的整数部分)。
(5)% 求余
注意:双目必须均为整型,且结果余数的符号与被除数符号
2.算术表达式
例 数的分离:设有一个3位正整数x,则其各位数字分别为多少?
个位: x%10
十位: (x/10)%10
百位: x/100
(二) 赋值运算符和赋值表达式
1.基本赋值运算符
(1)形式:变量名=常量(或变量或表达式)。
(2)功能:将右边的常量(变量或表达式)的值赋给左边的变量
(3)结合性:自右向左
(4)说明:"="左边必须是变量名,且右边必须具有常量值。
2.算术复合赋值运算符
(1)符号: += , -= ,*= ,/= , %=
(2)用法与功能与"="一致
例: a+=3 a=a+3 x%=y+3 x=x%(y+3)
3.赋值表达式
例 特殊用法
a=b=c=d=5 /*连续赋值*/
a=5+(c=6)
a+=a-=a*a /*若a初值为12,则表达式值为-264*/
(三)自增,自减运算符
1.符号: ++(自增) -- (自减)
2.作用:使单个变量的值增1或减1
3.用法(单目运算符)
(1)前缀形式 ++变量名 --变量名
(2)后缀形式 变量名++ 变量名--
例 前缀与后缀形式的区别
设有定义 int m=4, n;
(A)m++; /*m=m+1; m=5*/
(B)++m; /*m=m+1; m=5*/
(C)n=m++; /*n=m;m=m+1; 先操作,后自增,m=5,n=4*/
(D)n=++m; /*m=m+1;n=m; 先自增,在操作,m=5,n=5*/
练习 设有 int m=4 ; 则以下片段输出结果分别是:
(A)printf("%d",m++); /*输出4,m值为5*/
(B)printf("%d",++m); /*输出5,m值为5*/
4.说明
(1)"++"和"--"只能用于变量
(2)结合性:右结合性
(四)关系运算符和关系表达式
1.关系运算符
< 小于, > 大于, <= 小于等于 , >= 大于等于, == 等于, != 不等于
2.关系表达式
(1)运算结果 逻辑真用"1"表示,逻辑假用"0"表示
例 设有 int a=3, b=2, c=1; 则下列表达式值为:
c>b 0
c<a<b 1
(2)常用代数逻辑的c语言表达式
例 代数式: x是偶数(奇数)
c语言 x%2==0(x%2==1或x%2!=0)
例 代数式: a是3的倍数
c语言 a%3==0
例 代数式: b的个位不是7
c语言 b%10!=7
(五)逻辑运算符和逻辑表达式
1.逻辑运算符
(1) ! 逻辑非(单目运算符)
(2) && 逻辑与
(3) || 逻辑或
2.逻辑表达式
(1)运算结果:逻辑真用"1"表示,逻辑假用"0"表示
(2)运算对象 非0即真,0即假
(3)逻辑表达式一般与关系表达式混合使用
例 代数式 2<=x<5
c语言 x>=2&&x<5
(4)短路现象
例 若有 int a=2,b=1,c=3,d=4,t=9; 分别计算:
(a<b)&&(t=c<d) 后t的值为9
(a>b)||(t=c<d) 后t的值为9
(5)常见代数逻辑的c语言表达式
例 代数式 x整除7且其个位不是偶数
c语言 (x%7==0)&&(x%10%2!=0)
(六)条件运算符即条件表达式(三目运算符)
1.形式: 表达式1? 表达式2 :表达式3
2.计算方法
求表达式1的值,判断非0:求表达式2的值(结果),0:求表达式3的值(结果)
3.结合性:右结合性
例 若有 int a=1,b=2,c=3,d=4,t=9,计算:
(a>b)? t=0 : (c<d)? t=1 :t=2 后t的值为1,表达式值为1
(a>b)是表达式1,t=0 是表达式2, (c<d)? t=1 : t=2 是表达式3
(一)算术运算符和算术表达式
1.算术运算符
(1)+ 加法
(2)- 减法
(3)* 乘法
(4)/ 除法
注意:双目均为整型,则"/"的结果是整型(取商的整数部分)。
(5)% 求余
注意:双目必须均为整型,且结果余数的符号与被除数符号
2.算术表达式
例 数的分离:设有一个3位正整数x,则其各位数字分别为多少?
个位: x%10
十位: (x/10)%10
百位: x/100
(二) 赋值运算符和赋值表达式
1.基本赋值运算符
(1)形式:变量名=常量(或变量或表达式)。
(2)功能:将右边的常量(变量或表达式)的值赋给左边的变量
(3)结合性:自右向左
(4)说明:"="左边必须是变量名,且右边必须具有常量值。
2.算术复合赋值运算符
(1)符号: += , -= ,*= ,/= , %=
(2)用法与功能与"="一致
例: a+=3 a=a+3 x%=y+3 x=x%(y+3)
3.赋值表达式
例 特殊用法
a=b=c=d=5 /*连续赋值*/
a=5+(c=6)
a+=a-=a*a /*若a初值为12,则表达式值为-264*/
(三)自增,自减运算符
1.符号: ++(自增) -- (自减)
2.作用:使单个变量的值增1或减1
3.用法(单目运算符)
(1)前缀形式 ++变量名 --变量名
(2)后缀形式 变量名++ 变量名--
例 前缀与后缀形式的区别
设有定义 int m=4, n;
(A)m++; /*m=m+1; m=5*/
(B)++m; /*m=m+1; m=5*/
(C)n=m++; /*n=m;m=m+1; 先操作,后自增,m=5,n=4*/
(D)n=++m; /*m=m+1;n=m; 先自增,在操作,m=5,n=5*/
练习 设有 int m=4 ; 则以下片段输出结果分别是:
(A)printf("%d",m++); /*输出4,m值为5*/
(B)printf("%d",++m); /*输出5,m值为5*/
4.说明
(1)"++"和"--"只能用于变量
(2)结合性:右结合性
(四)关系运算符和关系表达式
1.关系运算符
< 小于, > 大于, <= 小于等于 , >= 大于等于, == 等于, != 不等于
2.关系表达式
(1)运算结果 逻辑真用"1"表示,逻辑假用"0"表示
例 设有 int a=3, b=2, c=1; 则下列表达式值为:
c>b 0
c<a<b 1
(2)常用代数逻辑的c语言表达式
例 代数式: x是偶数(奇数)
c语言 x%2==0(x%2==1或x%2!=0)
例 代数式: a是3的倍数
c语言 a%3==0
例 代数式: b的个位不是7
c语言 b%10!=7
(五)逻辑运算符和逻辑表达式
1.逻辑运算符
(1) ! 逻辑非(单目运算符)
(2) && 逻辑与
(3) || 逻辑或
2.逻辑表达式
(1)运算结果:逻辑真用"1"表示,逻辑假用"0"表示
(2)运算对象 非0即真,0即假
(3)逻辑表达式一般与关系表达式混合使用
例 代数式 2<=x<5
c语言 x>=2&&x<5
(4)短路现象
例 若有 int a=2,b=1,c=3,d=4,t=9; 分别计算:
(a<b)&&(t=c<d) 后t的值为9
(a>b)||(t=c<d) 后t的值为9
(5)常见代数逻辑的c语言表达式
例 代数式 x整除7且其个位不是偶数
c语言 (x%7==0)&&(x%10%2!=0)
(六)条件运算符即条件表达式(三目运算符)
1.形式: 表达式1? 表达式2 :表达式3
2.计算方法
求表达式1的值,判断非0:求表达式2的值(结果),0:求表达式3的值(结果)
3.结合性:右结合性
例 若有 int a=1,b=2,c=3,d=4,t=9,计算:
(a>b)? t=0 : (c<d)? t=1 :t=2 后t的值为1,表达式值为1
(a>b)是表达式1,t=0 是表达式2, (c<d)? t=1 : t=2 是表达式3
相关文章推荐
- C语言知识总结(二)基本数据类型与运算
- C语言的基本数据类型与表达式
- Java基本数据类型知识总结
- c语言基本数据类型short、int、long、char、float、double
- C语言基础知识之基本数据类型相关的总结
- python基本知识之数据类型
- C#之基本知识和语法3 - 数据类型
- C语言:基本数据类型与程序结构控制
- 第8节 C语言五大类型之基本数据类型
- 高级软件工程师之路-c语言基本数据类型
- C语言第三讲,基本数据类型
- zerglurker的C语言教程003——基本数据类型
- 小小C语言之基本数据类型与结构
- c语言之 基本数据类型
- 【C语言】06-基本数据类型
- Android JNI编程(二)——C语言的基本数据类型,输出函数,输入函数
- C语言基础第二篇--基本数据类型
- C语言学习笔记:01_基本数据类型
- C语言的基本数据类型(9)