运算符
-
常用的运算符分类
算术运算符 用于处理四则运算 赋值运算符 用于将表达式的值赋值给变量 比较运算符 用于表达式的比较,并返回一个真值或假值 逻辑运算符 用于根据表达式的值返回真值或假值 位运算符 用于处理数据的位运算 sizeof运算符 用于求字节数长度
在C语言的比较运算中,真用“1”来表示,假用“0”来表示
所有非0的值都是真值 -
运算符的优先级
1、[] 数组下标 () 圆括号 . 成员选择(对象) -> 成员选择(指针) 左到右 2、- 负号运算符 ~ 按位取反运算符 ++ 自增运算符 -- 自减运算符 * 取值运算符 & 取地址运算符 !逻辑非运算符 (类型) 强制类型转换 sizeof 长度运算符 右到左 单目运算符 3、/ 除 * 乘 % 取余 左到右 双目运算符 4、+ 加 - 减 左到右 双目运算符 5、<< 左移 >> 右移 左到右 双目运算符 6、> 大于 >= 大于等于 < 小于 <= 小于等于 左到右 双目运算符 7、== 等等于 != 不等于 左到右 双目运算符 8、& 按位与 左到右 双目运算符 9、^ 按位异或 左到右 双目运算符 //相同位置的值不一样时为1 10、| 按位或 左到右 双目运算符 11、&& 逻辑与 左到右 双目运算符 12、|| 逻辑或 左到右 双目运算符 13、?: 条件运算符 右到左 三目运算符 14、= 赋值运算符 /= 除后赋值 *= 乘后赋值 %= 取模后赋值 += 加后赋值 -= 减后赋值 <<= 左移后赋值 >>= 右移后赋值 &= 按位与后赋值 ^= 按位异或后赋值 |= 按位或后赋值 右到左 15、, 逗号运算符 左到右
if语句
如果表达式结果为真,执行{}对应的代码
if(表达式){}
if(表达式){}else{}
if(表达式){} else if(表达式){} else{}
for循环
C89库的写法:
int i;
for(i = 0;i < 10;i++)
{
}
C99库的写法:
for(int i = 0;i < 10;i++)
{
}
使用C99库编译方式:gcc -o hello hello.c -std=c99
在循环中,如果有if语句里面有break,break表示退出循环,而不是退出if结构
跳转语句
-
break
在switch条件语句和循环语句中都可以使用break语句作用是终止某个case并跳出switch结构
当出现在循环语句中作用是跳出当前循环语句,执行后面的代码
当出现在嵌套循环语句中,跳出最近的内循环语句,不会跳出外层循环 -
continue
立即终止本次循环,执行下一次循环 -
goto语句
无条件跳转,尽量少用goto FLAG; printf("aaaaaaaaaaa\n") FLAG: printf("bbbbbbbbbb\n"); 结果打印为 bbbbbbbbbb
宏定义函数
定义:
#define MAX(a,b) (a)>(b)?(a):(b)
使用:
printf("%d\n",MAX(5,10)); //10
获取一个随机数
获取一个随机数
- 导入头文件 time.h stdlib.h
- 添加随机数种子
srand((unsigned int)time(NULL));//每次随机数不一样
- 获取随机数
int value = rand();
- 获取10以内的随机数
int value = rand() % 10;
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
srand((unsigned int)time(NULL));//每次随机数不一样
int value = rand(); //int value = rand() % 10;
printf("%d\n",value);
}
清屏
清屏
#include<Windows.h>
int main(){
system("cls");
}
线程睡眠
线程睡眠
Sleep(1000);