【C语言】- 基本语句和运算!今天你学习了吗?
一、基本语句
C语言的基本语句跟Java中的差不多,所以,这里只是简单地提一下
✎ 循环语句(do while、while、for)
✎ 条件语句(if 、if-else、switch)
✎ goto语句
二、基本运算
计算机的基本能力就是计算,所以一门语言的计算能力十分重要。C语言之所以无所不能,很大原因在于它有强大的计算能力。C语言一共有34种运算符,其中的大多数运算符跟在Java中的用法是一样的。下面做一个简单介绍。
1.算术运算符
☄ + 加法运算符
☄ - **** 减法运算符,或负值运算符
☄ * **** 乘法运算符
☄ / 除法运算符
☄ % 模运算符,或称取余运算符,要求%两侧均为整型
2.关系运算符
● **< **小于运算符
● **< = **小于等于运算符
● ** > **大于运算符
● ** >= **大于等于运算符
● == 等于运算符
● != 不等于运算符
-
关系运算的结果成立就为"真"(比如5>=4),不成立则为"假"(比如5<4)
-
在Java中,关系运算的结果为"真"就返回true,"假"则返回false,用boolean类型的变量来接收:
booleanb1 = 5 > 4;// true
booleanb2 = 5 < 4;// false
C语言中没有boolean类型
*** 在C语言中,关系运算的结果为"真"就返回1,"假"就返回0**
inta1 =5>4;// 1inta2 =5<4;// 0
- 还需注意的是,在C语言中,任何非0值都为"真",只有0值才为"假"
所以下面的做法是对的:

因为a不为0,所以为"真",输出结果是:

以此类推,下面的写法也是对的:

上述代码是完全合理的,编译器不会报错,只是个警告而已。因为a为0,所以为"假",输出结果是:

其实有很大的陷阱在这里:
假设你本来是想判断a是否为0,那么本应该写if (a == 0),若你误写成了if (a = 0),那将是一件非常可怕的事情,因为编译器又不报错,这样的BUG就难找了。因此,像a==0这样的表达式,最好写成0==a,若你误写成0=a,编译器会直接报错的。

- 在C语言中,可以不保存关系运算的结果
因此,下面的写法是合法的:

3.逻辑运算符
☀ ** && **逻辑与运算符
☀ || 逻辑或运算符
☀ ! 逻辑非运算符
逻辑运算的结果也只有两个:成立就为"真",返回1;不成立就为"假",返回0
4.赋值运算符
1.简单的赋值运算符 = :int a = 5;
2.复合赋值运算符
▲ += 加赋值运算符。如a += 3+1,等价于 a = a +(3+1)
▲ -= 减赋值运算符。如a -= 3+1,等价于 a = a -(3+1)
▲ *= 乘赋值运算符。如a *= 3+1,等价于 a = a *(3+1)
▲ /= 除赋值运算符。如a /= 3+1,等价于 a = a /(3+1)
▲ %= 取余赋值运算符。如a %= 3+1,等价于 a = a %(3+1)
5.自增运算符和自减运算符
◆ ++ 自增运算符。如a++,++a,都等价于a = a+1
◆ -- 自减运算符。如a--,--a,都等价于a = a-1
6.逗号运算符和逗号表达式
-
逗号运算符主要用于连接表达式,例如:

-
用逗号运算符连接起来的表达式称为逗号表达式 ,它的一般形式为:
表达式1, 表达式2, … …, 表达式n
逗号表达式的运算过程是:从左到右的顺序,先计算表达式1,接着计算表达式2,...,最后计算表达式n
- 整个逗号表达式的值是最后一个表达式的值

++a的结果为3,a *= 2的结果为6,b = a * 5的结果为30。因此,输出结果为:

这里要注意的是,右边的表达式是有用括号()包住的,如果不用括号包住,也就是:
c = ++a, a *=2, b = a *5;
printf("c = %d", c);
输出结果将为:
,因为c = ++a也属于逗号表达式的一部分,跟后面的a *= 2以及b = a * 5是相互独立的

7.条件运算符和条件表达式
其实就是三目运算符,一般形式为:表达式1 ? 表达式2 : 表达式3
inta = (b >5)?10:9;
8.sizeof
- sizeof可以用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。
intsize =sizeof(10);
printf("10所占的字节数:%d", size);
输出结果:

10是int类型的数据,在64bit编译器环境下,int类型需要占用4个字节
***** sizeof一共有3种形式
● sizeof 变量\常量

● sizeof 变量\常量

● sizeof( 数据类型 )

注意,不可以写成sizeof float;
——————————————
想学习更多的关于C语言/C++的编程知识的,笔者推荐一个Q编程学习交流聚集地761730431!如果你感兴趣或者有需求的话可以申请一下!
如果你喜欢我的文章请帮我点一下关注、留言、分享,感谢!
2020!!!

