是一种有值的语法结构,它由运算符将变量、常量结合而成
#include <stdio.h>//warning 警告,有某些事情不完全符合编程的操作
//error 错误,语法有问题,不解决无法执行
//通过运算符结合时,如果操作数类型不一致,会发生类型转换
int main() {
int hp = 10;
hp = hp + 2.0;//表达式是通过运算符将变量及常量结合而成,这里是变量+常量
//2.0 是double ,而hp是 int。
return 0;
}
运算符用于连接表达式中的值
运算符应操作相同类型的变量或常量
强制类型转换(类型名)
- 自动转换:小类型转成大类型
- 强制转换:大类型转成小类型(类型名)= 表示强制转换
char a = 100;
int b = 10;
b = b + a; //a从一个char自动转换成int
从float转换到int,可能会丢失数据
对于基本数据类型,vscode会自动帮助实现强制转换,但建议还是加上强制转换的表示
#include <stdio.h>
int main() {
int hp = 10;
hp = hp + (int)2.0f; //(类型名) 强制转换
printf("%d\n", hp);
}
语句
当程序运行时执行某个动作的语法结构,通过分号结束
- 空语句:只有一个分号,什么也不执行
- 表达式语句:在表达式的末尾加分好
- 函数调用语句:由函数名、实际参数加分号组成
- 复合语句:使用{}将一系列语句括起来,相当于一条语句
- 控制语句:循环、选择/分支、跳转
理解为一条条指令,计算机通过执行一条条语句来实现程序运行
x + y;注意,这个是语句,但不是有用的语句,未使用该表达式的结果
函数调用语句
printf %d 格式化输出整数、 %f 格式化输出浮点数、 %c 输出字符
scanf %d 格式化输入,需要注入,如提示该函数语句不安全,使用scanf_s
- 双引号中表示格式化输入的字符串,输入时要遵循这个字符串的格式
- 要输入的变量前面加 &
- 输入时会阻塞,等待用户输入
- 输入多个数据时,有结束符,一般情况下用回车或空格来表示结束,但如果格式化字符串中有其他字符,那么其他字符就可能是结束字符 //scanf(“%d,%d”, a,b);
scanf("%d\n", &a);
#include <stdio.h>
int main() {
int a,b;
scanf("%d%d", &a,&b);
printf("a = %d, b = %d\n", a,b);
return 0;
}
