Hi~又到了C语言系列教程的时间,教程(二)我们主要学习了基本数据类型,这次教程(三)我来给大家讲解一下C语言的运算符。
生活中常用的是加减乘除等运算符,在C中,除了这些常用的符号,还有很多种类的运算符。
一、算术运算符
名称 | 运算符号 | 举例 |
加法运算符 | + | 1+1=2 |
减法运算符 | - | 4-2=2 |
乘法运算符 | * | 2*3=6 |
除法运算符 | / | 10/5=2 |
求余运算符 | % | 10%3=1 |
自增运算符 | ++ | int a=1; a++ |
自减运算符 | -- | int b=2; b-- |
1. 乘法和除法符号不是我们平常那样写的,要写成*和/。
2. 求余运算符只适合两个整数的取余,比如,10%3=1,而10.0%3则是错误的,。
3. 自增运算符“++”是将变量的值自动加一,自减“--”则是自动减一,这两个运算通常用于循环语句中。
运算表达式 | 说明 | 规则 |
++a | a自增1后,程序再运行输出a的值 | 先自取值,再输出 |
--a | a自减1后,程序再运行输出a的值 | |
a++ | 程序输出a的值后,a再自增1 | 先输出,再自取值 |
a-- | 程序输出a的值后,a再自减1 |
举例说明:
int main(){
int a = 100;
printf("%d\n",a++);
//先输出再自取值,所以程序先print出100,a再取值,即此时a=101
printf("%d\n",++a);
/*先自取值再输出,所以先运算a=a+1,即a=101+1=102(考虑上行a=101),再print出102*/
return 0;
}
二、赋值运算符
1. 简单的赋值运算符是=,比如定义一个变量a,再将10的值赋给这个变量
int a;
a = 10;
2. 复杂的赋值运算符有+=、-=、*=、/=、%=,他们的意义是将变量的值作相应的运算之后,再将运算得到的结果赋给变量。
int a = 1;
a += 3;//这个算式等价于a = a+3
三、关系运算符
符号 | 意义 | 举例 | 结果 |
> | 大于 | 2>1 | 1 |
>= | 大于等于 | 9>=9 | 1 |
< | 小于 | 3<1 | 0 |
<= | 小于等于 | 5<=3 | 0 |
== | 等于 | 1==1 | 1 |
!= | 不等于 | 2!=2 | 0 |
1. 在C语言中,判断两个数的值是否相等是用两个等号“==”的,而一个等号“=”是给变量赋值
2. 上面表格的第四列“结果”是指,当判断为真时,则输出1,当判断为假时,则输出0
int a = 9;
int b = 5;
printf("%d\n",a>b)//9>5是真的,输出为1
printf("%d\n",a==b)//9等于5是假,输出为0
运行结果为
1
0
四、逻辑运算符
符号 | 意义 |
&& | 逻辑与 |
|| | 逻辑或 |
! | 逻辑非 |
1. 逻辑与“&&”的意义是,参与运算的两个公式都为真时,结果判断为真,输出1,否则输出0。
int a = 15;
printf("%d\n",a>9 && a<100);
printf("%d\n",a==15 && a>76);
运行结果为
1
0
2. 逻辑或“||”的意义是,参与运算的两个公式只要有一个是真的,结果判断为真,输出1,否则输出0。
int a = 15;
printf("%d\n",a>9 || a>199);
printf("%d\n",a==15 || a>76);
运行结果为
1
1
3. 逻辑非“!”的意义是将参与公式的结果取反,如果结果判断为真,则输出0,结果判断为假,则输出1。
int a = 15;
printf("%d\n",!(a>16));
printf("%d\n",!(a == 15));
运行结果为
1
0
五、练习题
1.
int a = 15;
int b = 3;
int c;
c=(a+b)*(a/b)-(a%b)*2;
printf("%d\n",c);
求运行结果。
A. 90 B. 88 C. 92 D. 91
2.
int num1 = 3;
int num2 = 8;
int num3;
num3 = (num1>num2)*2017*1988;
printf("%d\n",num3);
求运行结果。
A. 4009796 B. 44107756 C. 0 D. 1988888
3.
int a = 5;
int b = 8;
int c;
c = (b++>=a*2) && ((b-a)<=a);
printf("%d\n",c);
运行结果为
A. 1 B. 0
快在评论写下你的答案吧~
教程(二)练习题答案:1. D 2. C 3. B 4. B 你做对了吗?
教程(二)练习题答案是:1. A(90),其他对的
答案有误
求大神发下C语言编程软件,跪谢
15%3等于15吗?
为啥我算的第一题得120....怎么算的,还是没看明白.
???????????????????????????????????????????????????????????????????????????????
催更啦!!!这么好的教程不能停啊!!!
什么时候更新啊,
见过最棒的教程
必须赞啊
ACB
这么好的教程必须点赞
5有吗?
谁能帮忙找一下?
表示有一本C语言从入门到精通……
自减(--)的定义错了,望作者改正
A,C,B
a c b
这是什么,我是菜鸟看不懂
其实C++的=是赋值。而==才是两数比大小...