分支语句

//---------程序的结构及分类-----------//

1)顺序结构
2)分支结构
3)循环结构


//---------if语句-----------//

一般形式(第一种形式):表示如果表达式为真,执行语句块1,否则不执行。

if(表达式){

  语句块1

}

后续语句;


//二: if else//
if ...else ...语句使用
如果表达式为真,则执行语句块1,否则执行语句块2
if(表达式)
{
语句块1
}else{
语句块2 }


//三: if/if else嵌套
if(表达式1) {
{
......

if(表达式2){

}else{

}

......

}else {

}
}

//四: else if
如果表达式1为真,则执行语句块1,否则判断表达式2,如果为真执行语句块2,否则再判断 表达式3,如果真执行语句块3, 当表达式1、2、3都不满足,会执行最后一个else语句。
if(表达式1)
{
语句块1
}else if(表达式2){
语句块2
}else if(表达式3){
语句块3
}else{
语句块4
}

可以理解为:判断+选择

//值得注意的地方:
1)if(条件) 可以直接写分号 “;” 表示什么也不干 “;” 空语句
2)if(条件) return 0; 程序不会往下执行了,直接退出
一个函数可以有多个return,但是只有一个return起作用
3)if(1)、if(-1) 表示永真 if(0) 表示为永假
4)if语句的作用域问题
5)if语句的作用域紊乱 //记得加括号
int age = 10;
if (age>5)
int num = 5; //报错 这个是错的 造成作用域絮乱
printf("%d ",num);
6)遇到省略大括号的if
从下往上,依次匹配 else-配-if

if(a>b)
sum = a+b,a++,b++;
//---------------
sum = a+b;
a++;b++;


//----------石头剪刀布
石头剪刀布思路及代码分析 学到了什么?

写代码之前,先写伪代码(思路)

指定规则

定义所需要的变量


如何产生随机数
#include <stdlib.h>
arc4random_uniform(n); 0~~n-1

#warning 看懂了,不代表 能自己敲出来

//---------switch分支语句-----------//
1)使用格式
switch(表达式){
case 常量表达式1: 语句1;
case 常量表达式2: 语句2; ...
case 常量表达式n: 语句n;
default: 语句n+1;
}
其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表 达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如 表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

某些情况下作判断的时候,比如说 50分--59分以内 可以让 num/10 = 5 case 5:
90--100 num/10 然后让其穿透 case 9 case 100


//---------case语句的穿透问题-----------//
case语句执行的过程中,一旦进入某个分支后就会一直执行到switch结束。
为了避免上述情况,C语言还提供了一种break语句,专用于跳出switch语句.

//---------if分支和switch分支转换-----------//
if语句不一定能转换成switch语句,switch语句一定能转换成if语句

if(表达式)-------case 常量表达式

//---------if分支和switch分支的选择---------//
1)分支比较多且无法穷尽或进行大量列举 时最好用if
2)如果分支数量不是很多,但是使用if代码代码量比较大的时候,可以选用switch

if 可以理解为 判断语句 判断性为主
switch 选择语句 选择性为主

//---------switch分支值得注意的地方---------//
1) 表达式的类型(case语句后的值)必须是整型或可以转变为整型的值 (byte、short、char和int类型)。
整形变量 整形常量 返回值是整形的表达式 可以装换为int类型的表达式
2) 功能代码部分可以写任意多句。
3) case语句可以有任意多句,可以不用加括号“{}”
4) break关键字的意思是中断,指结束switch语句,break语句为可选。


//----------case值得注意的地方--------------//
1)case的值1、值2...值n只能为常数或常量,不能为变量。
2)case的值必须是整数,不能为浮点数。
3)case后面不可以直接定义变量
4)如果在case后面定义的变量必须加上大括号
5) default语句可以写在switch语句中的任意位置,功能类似于if语句中的else。
但是写在最上面会重新一次往下执行
穿透是往下穿透的
编译器的bug 告诉我们什么: 严格区分局部变量
default写在最后省略break不影响
执行流程:在执行的过程中,如果遇到break语句,则跳出switch语句。如果没有遇到break 语句,则一直执行到switch语句的结束。

//------------判断季节
思路
1.定义变量
2.提示用户输出,接收用户输入
3.校验
4.使用分置于句判断,选择

原文地址:https://www.cnblogs.com/jiayongqiang/p/5091469.html