1. if语句
1.1 分支中包含多条语句
if 和 else 语句中都默认只控制一条语句,可使用 { } 括上多条语句。
1.2 悬空else问题
如果有多个 if 和 else语句时,else 总是与最接近的 if 匹配。
例如:
#include<stdio.h>
int main()
{
int a,b;
if(a==1)
if(b==2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
输出结果: 。
2.关系操作符
> < >= <= == !=
2.1 当一个变量和一个常量比较是否相等时,建议将常量放在 == 的左边,例如 if (3==x)。
2.2 需要避免一个错误:多个关系运算符不宜连用。
例如:i < j < k
实际执行:(i < j) < k,其中(i < j)为0或者1,使条件永远成立,
应该改写为:i < j && j < k
3.条件操作符
exp1 exp2 exp3
真 1 0
假 0 1
4.逻辑操作符
! 取反
&& 并且
|| 或者
4.1 短路问题
顺序:先对左侧表达式求值,再对右边求值, 若左边已经满足,则右边不需要再求。
5.switch语句
1 switch ( )
{
2 case
3 case
4 default
}
注 1)switch后必须是整型表达式
2)case后的值必须是整型常量表达式 (字符也是归到整型,应为字符本质ASCII码值也是整数
5.1 语句中的 break
跳出switch语句,是否有视情况书写
5.2 switch后值无法匹配case时,使用default语句无顺序要求
6. while语句
7.for循环
for ( ; ; )
8.do while循环
1 do
2 语句
3 while(表达式)
先执行,后判断
9.break 与continue
break 跳出循环
continue 跳过本次循环中continue之后的代码
10.循环嵌套
例如 打印100~200之间素数
思路:素数是只能被1和本身整除的数
使i循环被2~i-1或2~sqrt(i)整除即可
11.rand函数
rand函数生成的数是伪随机数
其头文件:stdlib.h
12.srand函数
原型 void srand ( unsigned int seed )
调用rand函数之前先调用srand函数,通过srand函数的参数seed来设置rand函数生成随机数时的种子
srand种子是随机的,rand就生成随机数