03第二章 运算符
- 格式:ppt
- 大小:881.00 KB
- 文档页数:25
c语言运算符号详解摘要:一、C语言运算符号概述1.运算符号的定义与分类2.运算符号在C语言中的重要性二、算术运算符1.加法运算符2.减法运算符3.乘法运算符4.除法运算符5.取模运算符6.自增运算符7.自减运算符三、关系运算符1.等于运算符2.不等于运算符3.大于运算符4.小于运算符5.大于等于运算符6.小于等于运算符四、逻辑运算符1.与运算符2.或运算符3.非运算符五、位运算符1.位与运算符2.位或运算符3.位非运算符4.位异或运算符5.左移运算符6.右移运算符六、赋值运算符1.简单赋值运算符2.复合赋值运算符七、条件运算符1.条件运算符的定义2.条件运算符的用法八、逗号运算符1.逗号运算符的定义2.逗号运算符的用法九、指针运算符1.取内容运算符2.取地址运算符十、求字节数运算符1.sizeof运算符的定义2.sizeof运算符的用法正文:C语言运算符号详解C语言是一种功能强大的编程语言,广泛应用于各种领域。
在C语言中,运算符号是构成表达式的重要组成部分。
本文将对C语言中的运算符号进行详细介绍。
一、C语言运算符号概述C语言运算符号主要分为以下几类:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符、逗号运算符和指针运算符。
这些运算符号在C语言中起到非常重要的作用,它们用于表示各种运算关系,从而实现程序逻辑的控制。
二、算术运算符算术运算符用于进行基本的数值运算,包括加法、减法、乘法、除法、取模等。
C语言中的算术运算符如下:1.加法运算符:+2.减法运算符:-3.乘法运算符:*4.除法运算符:/5.取模运算符:%6.自增运算符:++三、关系运算符关系运算符用于比较两个值之间的大小关系,包括等于、不等于、大于、小于、大于等于和小于等于等。
C语言中的关系运算符如下:1.等于运算符:==2.不等于运算符:!=3.大于运算符:>4.小于运算符:<5.大于等于运算符:>=6.小于等于运算符:<=四、逻辑运算符逻辑运算符用于进行逻辑判断,包括与、或、非等。
第2章运算符与表达式第2章运算符与表达式1、表达式:(int)((double)9/2)- 9%2 的值是A) 0B) 3C) 4D) 5参考答案:B【解析】先将整型数据9强制转换成double型,然后除以2得到的结果与double型保持⼀致,即为4.5,然后将4.5强制转换成整型数据4,然后计算9%2的值为1,最后计算4-1的值为3,所以选择B选项?2、sizeof( double )是A) ⼀个整型表达式B) ⼀个双精度型表达式C) ⼀个不合法的表达式D) ⼀种函数调⽤参考答案:A【解析】sizeof是C语⾔中的⼀个操作符(operator),不是函数调⽤,简单的说其作⽤就是返回⼀个对象或者类型所占的内存字节数?所以选择A?3、若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) :(y++)中的条件表达式(x-y) 等价的是()。
A) (x-y<0||x-y>0)B) (x-y<0)C) (x-y>0)D) (x-y==0)参考答案:A【解析】条件表达式:x=表达式1?表达式2:表达式3 的含义是:先求解表达式1,若为⾮0(真),则求解表达式2,将表达式2的值赋给x。
若表达式1的值为0(假),则求解表达式3,将表达式3的值赋给x。
在本题中与表达式1:(x-y)等价的是(x-y<0||x-y>0)。
4、若变量已正确定义,在if (W) printf("%d\n" ,k );中,以下不可替代W的是()。
A) a<>b+cB) ch=getchar()C) a==b+cD) a++参考答案:A【解析】选项A)是⾮法的表达式,C语⾔中没有<>运算符。
5、以下选项中不属于C语⾔程序运算符的是A) sizeofB) <>C) ( )D) &&参考答案:B【解析】C语⾔中的不等于符号⽤"!="表⽰,没有符号"<>"?所以选择B?6、设有定义:int x=7,y=12;,则以下表达式值为3的是A) (y%=x)-(x%=5)B) y%=(x%=5)C) y%=x-x%5D) y%=(x-x%5)参考答案:A【解析】a%=b表⽰a=a%(b),故A选项可改写成y=y%x,x=x%5,再计算y-x计算的结果为3,满⾜题意,因此答案为A选项。
运算符、布尔运算、表达式、标准函数hb007 发表于 2006-3-22 19:24:26一、运算符1、算术运算符例如:4 +5 = 9 8 - 3 = 52 *3 = 6 12 * 24 = 4085 / 2 = 2.5 34 / 12 = 2.83 5 div 2 = 2 123 div 4 = 30 5 mod 2 = 1 12 mod 5 = 22、逻辑运算符它们的运算真值表如下:3、关系运算符例如:设a,b为标准数据类型的变量,则:a=b 如果a等于b结果为真,否则为假。
a<>b 如果a不等于b结果为真,否则为假。
a<b 如果a小于b结果为真,否则为假。
a>b 如果a大于b结果为真,否则为假。
a<=b 如果a小于等于b结果为真,否则为假。
a>=b 如果a在于等于b结果为真,否则为假。
例如:5=5 结果为真。
5=10 结果为假。
false<true 结果为真。
false>true 结果为假。
'A'<'C' 结果为真。
12.5>-8 结果为真。
24>=21 结果为真。
10.3<10 结果为假。
二、运算符的优先级三、布尔运算要判断“X>Y”是否成立,其结果不是一个算术量(即数值),而是“成立”或“不成立”,也可以用“真”表示“成立”,用“假”表示“不成立”,也就是说,它的结果是一个逻辑值(“真”或者“假”)。
逻辑运算又叫布尔运算。
布尔(Bool)是英国数学家的名字,他首先提出对二值变量进行逻辑运算的代数,称为布尔代数。
1、布尔常量Pascal语言中“真”用true表示,“假”用False表示。
所以布尔类型只有true与false两个常量。
2、布尔型符号常量(boolean)在程序的说明部分,可以定义布尔符号常量。
如:constt=true;f=false;执行部分就可以用t代表true,用f 代表false。
运算符重载为友元函数
郭炜刘家瑛
通常, 将运算符重载为类的成员函数重载为友元函数的情况:
•成员函数不能满足使用要求
•普通函数, 又不能访问类的私有成员
class Complex{
double real, imag;
public:
Complex(double r, double i):real(r), imag(i){ };
Complex operator+(double r);
};
Complex Complex::operator+(double r){ //能解释 c+5 return Complex(real + r, imag);
}
经过上述重载后:
Complex c ;
c = c + 5; //有定义,相当于 c = c.operator +(5);
但是:
c = 5 + c; //编译出错
为了使得上述表达式能成立, 需要将+重载为普通函数Complex operator+ (double r, const Complex & c) {
//能解释 5+c
return Complex( c.real + r, c.imag);
}
普通函数不能访问私有成员
将运算符+重载为友元函数
class Complex {
double real, imag;
public:
Complex( double r, double i):real(r),imag(i){ };
Complex operator+( double r );
friend Complex operator + (double r, const Complex & c); };。