c语言从0->1入门——表达式与操作符
关于作者:
2019NOIP退役成员,学习c语言已有多年经验,更懂得考试的题目,和初学者学习时所遇到的问题
华为云享专家,以及CSDN的新星创作者,有写博客的一定能力
关于本栏目
本栏目的宗旨是带你入门c语言,作者打算用题海+c语言的概念来完成本栏目,
适用人群:面向广大的编程爱好者和大学生来进行创作
学完本栏后你能达到的水平:计算机二级水平左右,入门c语言学习
题目:主要来源于网络和c语言的入门算法题目
写在前面的话(第五天)
今天是各位彦祖学习c语言的第五天,记住我们的宗旨:努力去做,让一切交给时间来评判!
今天我们要学习的是表达式与操作符,希望各位彦祖能完成配套的简单练习题目。
内容有点多,坚持下去!
表达式
算术表达式
何为算术表达式:
“+” “-” “*” “/” 和 “%”
我主要讲一下 / 和 %(模)
对于整数来讲相除是取倍数,取模是取余数
int a=23/10; int b=23%10;
对应的 a=2,b=3
对于浮点数来说:
除,依然是浮点数,浮点数不能进行取模操作
double c=2.4/1.2;
对应的 c=2.000000
赋值表达式
用等号可以进行赋值运算,等号在这里被叫做赋值运算符
int age = 17;
在这里的age我们称之为左值,一般来说左值对应这一块内存,我们修改左值的值对应的就是修改那块内存所对应的值
简单来说:
左边为要修改的内存,右边为修改值
#include<stdio.h>
int main()
{
int a = 1;
int b = 2;
int c = a + b;
printf("%d", c);
return 0;
}
赋值与运算符的合并:
关系表达式
#include<stdio.h>
int main()
{
printf("%d", 17 > 18);
return 0;
}
条件表达式
这个初学者可以不掌握,用逻辑表达式也可以解决
a ?b : c;
如果a为真,则表达式值为b
如果a为假,则表达式值为c
#include<stdio.h>
int main()
{
int a = 1, b = 2, c = 3;
int w = b > a ? c : 1;
printf("%d", w);
return 0;
}
逻辑运算符
#include<stdio.h>
int main()
{
printf("%d\n", !1);
printf("%d\n", 1 && 0);
printf("%d\n", 1 || 0);
return 0;
}
操作符
自增,自减
a = a + 1;
a++;或者++a;
a=a-1;
a–;或者–a;
#include <stdio.h>
int main()
{
int a = 10, b = 20;
printf("a=%d, b=%d\n", a, b);
++a;
--b;
printf("a=%d, b=%d\n", a, b);
a++;
b--;
printf("a=%d, b=%d\n", a, b);
return 0;
}
++ 在变量前面和后面是有区别的:
++ 在前面叫做前自增(例如 ++a)。前自增先进行自增运算,再进行其他操作。
++ 在后面叫做后自增(例如 a++)。后自增先进行其他操作,再进行自增运算。
#include<stdio.h>
int main()
{
int a=10;
printf("%d",++a);
printf("%d",a--);
return 0;
}
位运算
有点难,初学者可以浅尝辄止:
#include <stdio.h>
int main()
{
unsigned int a = 60; /* 60 = 0011 1100 */
unsigned int b = 13; /* 13 = 0000 1101 */
int c = 0;
c = a & b; /* 12 = 0000 1100 */
printf("Line 1 - c 的值是 %d\n", c );
c = a | b; /* 61 = 0011 1101 */
printf("Line 2 - c 的值是 %d\n", c );
c = a ^ b; /* 49 = 0011 0001 */
printf("Line 3 - c 的值是 %d\n", c );
c = ~a; /*-61 = 1100 0011 */
printf("Line 4 - c 的值是 %d\n", c );
c = a << 2; /* 240 = 1111 0000 */
printf("Line 5 - c 的值是 %d\n", c );
c = a >> 2; /* 15 = 0000 1111 */
printf("Line 6 - c 的值是 %d\n", c );
}
运算符的优先级
最后,今天学了这么多运算符,肯定是要有先后操作的,我们来看一下他们的优先级顺序:
从上到下进行运算,如果记不住的话,可以用( )
例题:
- 点赞
- 收藏
- 关注作者
评论(0)