程序员Feri一名12年+的程序员,做过开发带过团队创过业,擅长Java、鸿蒙、嵌入式、人工智能等开发,专注于程序员成长的那点儿事,希望在成长的路上有你相伴!君志所向,一往无前!
1 表达式
表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。
说白了,在 C 语言中,表达式是由操作数(如变量、常量)和运算符组成的式子,它会产生一个值
表达式分为:
- 算术表达式
- 赋值表达式
- 关系表达式
- 逻辑表达式
- 位运算表达式
- 条件表达式
- 逗号表达式
等等
1.1 算术表达式
//算术表达式
void f1(){
int a = 5, b = 3;
// 加法
int add_result = a + b;
// 减法
int sub_result = a - b;
// 乘法
int mul_result = a * b;
// 除法
int div_result = a / b;
// 取模
int mod_result = a % b;
printf("加法结果: %d\n", add_result);
printf("减法结果: %d\n", sub_result);
printf("乘法结果: %d\n", mul_result);
printf("除法结果: %d\n", div_result);
printf("取模结果: %d\n", mod_result);
//++ 在前 先自增 后输出
printf("自增结果: %d\n", ++a);
//-- 在后 先输出 后自减
printf("自减结果: %d\n", b--);
}
AI 代码解读
给大家预留一个试题,可以试着去分析一下:
//算术表达式 常见的试题分析
void t1(){
int a = 5;
double b = 2.5;
int c = 3;
int d = 4;
double result;
result = (a + (int)(b * c)) / (double)(d - 1) + (a % c) * (b + d);
//思考题 结果是多少?怎么分析得来的呢
printf("表达式的结果是: %lf\n", result);
}
AI 代码解读
1.2 关系表达式
关系表达式是由数值和关系操作符连接起来的表达式。很重要的表达式,因为我们接下来就会经常使用哈
每个关系表达式都有一个结果,即为真或者为假。在 C 语言中,我们用0 来表示假,非零来表示真。
比如,我有 int x = 16; 那么请问:10< x < 30 这样一个表达式,它的结果是真还是假?
答:永远是真。
不管你的 x 是不是 16。它哪怕是 50,该表达式的结果仍然为真。
为什么:
在编译器看来,它始终都是从左往右来去执行的。它首先回去执行 10 < x,它如果为真,就返回 1,接下来就是判断 1 < 30,结果还是真;而如果 10 < x 为假,那么就返回 0,接下来就是判断 0 < 20,它结果还是真。
就是说,你不管 x 是多少,不管 10 < x 是真还是假,最后得到的结果都是真。
所以,要是写判断一个数在 10-30 之间,就千万不可以这样去写。
要写成 x > 10 && x < 30,必须让它分别、独立地执行判断两次,首先判断 x > 10 是否为真,然后再判断 x < 30 是否为真,同时为真结果才为真。
//关系表达式
void f2(){
int a = 5, b = 3, c = 7, d = 2;
int result;
// 判断 a 是否大于 b 且 c 是否大于 d,或者 a 是否等于 c 且 b 是否等于 d
result = ((a > b) && (c > d))
|| ((a == c) && (b == d));
printf("结果: %d\n", result);
printf("结果: %s\n", result==1?"true":"false");
}
AI 代码解读
来,搞到题试试:
float x = 3.5, y = 2.1, z = 4.2;
// 判断 x 是否大于 y 且 z 是否小于等于 x 与 y 的和
int result = (x > y) && (z <= (x + y));
最终result的结果是什么嘞?
其他表达式就不再演示啦
2 语句
C语言中,语句实际上就相当于一个完整的指令。对计算机的指令。从形式上来说,一条代码,以分号结尾,就叫一条语句。
C 中的语句可以分为以下五大类:
表达式语句;复合语句;控制语句;函数语句;空语句。
表达式语句
表达式语句是在表达式后面加上分号;构成的语句。它的主要目的是执行表达式所代表的操作,并可能产生副作用(如修改变量的值)。复合语句(也叫块语句)
复合语句是用花括号 {} 括起来的一组语句,通常用于将多个语句组合在一起,形成一个逻辑单元。控制语句
控制语句用于控制程序的执行流程,包括条件语句和循环语句和转向语句。函数语句
函数调用语句用于调用函数并执行函数体。空语句
没有内容,只有个;的语句
好啦,本篇就到这里啦,关注我,跟我学起来!