一、if语句:注意语句逻辑和{}的使用
1、if:if(表达式) 语句
表达式为真,则语句执行。表达式为假,则语句不执行。在C语言中,0为假,非0为真
2.else:如果一个数不是奇数,那就是偶数了,这就需要if....else...语句了
例:请输入一位整数,判断是否为奇数
3.分支中包含多条语句:如果if和else后面包含多条语句,要用{}来区分
4.嵌套if:在if else语句中,else可以和另一个if 一句连用,构成多种重判断
(1)比如输入一个整数,判断输入的是0,还是正数,或者负数
二、关系操作符:用于比较的表达式成为关系表达式,里面使用的运算符成为关系运算符
- >:大于运算符
- <:小于运算符
- >=:大于等于运算符
- <=:小于等于运算符
- ==:相等运算符
- !=:不相等运算符
- 注意:
关系表达式通常返回0或者1用来表示真假。
关系表达式常用于if 或while结构。
多个运算符不易连用,比如(a<b<c),可以这样使用:a<b&&b<c
==是比较。= 是赋值
三、条件操作符:也叫三目运算符:
表达式1 ? 表达式2 : 表达式3
计算逻辑是:如果表达式1为真,表达式2计算,计算的结果是整个表达式的结果,如果表达式1为假,则表达式3计算,计算的结果是整个表达式的结果。
四、逻辑操作符:&&,||,!
1.!:逻辑取反运算符(改变表达式的真假)
如果a为真,则!a为假
补充:如果一个局部变量不初始化,那么它的值是随机的。
一个全局变量不初始化,那么它的值是0
2.&&:与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)
a | b | a&&b |
非0 | 非0 | 1 |
非0 | 0 | 0 |
0 | 非0 | 0 |
0 | 0 | 0 |
3.||:或运算符,就是或者的意思(两侧至少有一个表达式为真,则为真,否则为假)
a | b | a||b |
非0 | 非0 | 1 |
非0 | 0 | 1 |
0 | 非0 | 1 |
0 | 0 | 0 |
4.短路:
C语言逻辑运算符还有一个特点,它总是先对左侧的表达式求值,在对右边的表达式求值,这个顺序是保 证的,如果左边的表达式满足逻辑运算符的条件,就不再对右边的表达式求值,这种情况成为“短路”
表达式1 &&表达式2:如果表达式1的结果为0(假)的时候,右侧就不会再执行了,整体为假
表达式1 || 表达式2:如果表达式1的结果为1(真)的时候,右侧就不会再执行了,整体为真
五、switch语句:是一种特殊形式的if...else..结构,用于判断条件有多个结果的情况,它把多重的else if改成更易用 、可读性更好的形式
Switch(表达式)
{
Case 表达式值1:
Break;
Case 表达式值2:
Break;
Default:
Break;
}
switch后的必须是整形表达式。
Case后的值必须是整形常量表达式
- break:跳出seirch语句,如果不写,则继续执行后面多个case的值
- Default:在case没有匹配的,就执行default的结果
六、while循环
- while(表达式) { }:如果表达式为真,则一直执行
七、for循环:使用量最多
分为初始化部分,判断部分,调整部分
for(表达式1;表达式2;表达式3)
{语句};
八、do-while循环:使用量最少,先执行语句,后判断
Do语句;
While(表达式);
九、break和continue语句
Break:作用是永久的终止循环,只要break被执行,就会直接跳出循环,继续往后执行。
Continue:作用是跳过本次循环即continue后面的代码,在for循环和while循环中有所差异
十、循环的嵌套
Sqrt():开平方的函数,需要包含<math.h>
例题:
十一、goto语句:可以实现在同一个函数内跳转到设置好的标号处
从goto 设置好的a跳转,跳到a:
跳过了第二句话
十二、设置定时关机
shutdown -s -t 60 //设置60秒后关机
shutdown -a //取消关机
1.system是一个库函数,用来调用系统命令的(system(“”)),可移植性系统命令,但需要包含头文件<stdlib.h>
2.两个字符串的比较不能使用==号,应该使用strcmp函数strcmp(函数,'字符串'),但需要包含头文件<string.h>。如果两个字符串相同,则返回0
十三、随机数的生成
1、电脑随机生成1~100的随机数
2、玩家猜数字,猜数字的过程中,根据猜测数据的大小给出大了或者小了的反馈,直到猜对,游戏结束
rand函数:随机生成一个伪随机数范围:(0~32767)。需要包含头文件<stdlib.h>
rand函数生成的随机数是伪随机的,伪随机数不是真正的随机数,是通过某种算法生成的随机数,真正的随机数是无法预测下一个值是多少的,而rand函数是对一个叫“种子”的基准值进行运算生成的随机数
rand函数生成随机数的默认种子是1