建议:代码较多,但是最好手敲一遍,加深理解,也是养成一个好习惯哦。
第2讲:C语言数据类型和变量(下篇)
5. 算术操作符:+、-、*、/、%
C语言提供算术操作符方便运算,这些都是双目操作符。
5.1 +和-
用于加法和减法运算。示例代码:
#include <stdio.h>
int main()
{
int x = 4 + 22;
int y = 61 - 23;
printf("%d\n", x);
printf("%d\n", y);
return 0;
}
5.2 *
用于乘法运算。示例代码:
#include <stdio.h>
int main()
{
int num=5;
printf("%d\n",num*num);
return 0;
}
5.3 /
用于除法运算。当除号两端为整数时,执行整数除法,结果为整数,丢弃小数部分。若想得到浮点数结果,至少有一个运算数为浮点数。
示例代码:
#include <stdio.h>
int main()
{
float x=6/4;
int y=6/4;
printf("%f\n",x);
printf("%d\n",y);
return 0;
}
#include <stdio.h>
int main()
{
float x= 6.0/4;
printf("%f\n",x);
return 0;
}
5.4 %
表示求模(余)运算,只能用于整数。负数求模结果正负号由第一个运算数决定。示例代码:
#include <stdio.h>
int main()
{
int x=6%4;
return 0;
}
#include <stdio.h>
int main()
{
printf("%d\n", 11 % -5);
printf("%d\n",-11 % -5);
printf("%d\n",-11 % 5);
return 0;
}
6. 赋值操作符:=和复合赋值
变量创建时给初始值叫初始化,创建后再给值叫赋值,使用赋值操作符= 。注意不是等号,C语言中等号为“==”
6.1 连续赋值
赋值操作符可连续赋值,但不建议,因为不易理解,建议拆开写方便调试观察。示例代码:
int a = 3;
int b = 5;
int c = 0;
c = b = a+3;
int a = 3;
int b = 5;
int c = 0;
b = a+3;
c = b;
6.2 复合赋值符
C语言提供复合赋值符方便编写代码,如+=
、-=
、*=
、/=
等。示例代码:
int a = 10;
a = a+3;
a = a-2;
int a = 10;
a += 3;
a -= 2;
7. 单目操作符:++、–、+、-
单目操作符只有一个操作数。
7.1 ++和–
分为前置++、后置++、前置–、后置–。
- 前置++:先+1,后使用。示例代码:
int a = 10;
int b = ++a;
printf("a=%d b=%d\n",a , b);
- 后置++:先使用,后+1。示例代码:
int a = 10;
int b = a++;
printf("a=%d b=%d\n",a , b);
- 前置–:先-1,后使用。示例代码:
int a = 10;
int b = --a;
printf("a=%d b=%d\n",a , b);
- 后置–:先使用,后-1。示例代码:
int a = 10;
int b = a--;
printf("a=%d b=%d\n",a , b);
(类似++运行结果不在展示)
7.2 +和-
这里的+是正号,-是负号。+对正负值无影响,可省略;-用于改变值的正负号。示例代码:
int a = +10;
int a = 10;
int a = 10;
int b = -a;
int c = -10;
printf("b=%d c=%d\n", b, c)
int a = -10;
int b = -a;
printf("b=%d\n", b);
8. 强制类型转换
语法形式为(类型),用于将一种数据类型转换为另一种数据类型,但应尽量避免,除非必要。示例代码:
int a = 3.14;
int a = (int)3.14;
printf("%d",a);
实际上,在许多编译器中,在一些情况下会帮我们完成强转,现在的许多编译器容错性很好,但我们还是要明白具体含义。