1
;空语句
2
1)if
if(非0真)则执行,多分支只能被执行一个
①单分支
②双分支
#include<stdio.h>
int main() {
int age=17;
if(age <18)//不要分号
printf("未成年禁止玩游戏\n");
else if(age>= 18 && age< 28) X if (18<= age < 25)//18<=17为假(0)<25为真(错误写法)
printf("青年\n");
return 0;
}
③多分支
#include<stdio.h>
int main() {
int age=35;
if (age < 18)
printf("未成年\n");
else if (age >= 18&&age < 28)//不要分号
printf("青年\n");
else if (age >= 28 && age < 50)
printf("壮年\n");
else if (age >= 50&&age < 90)
printf("老年\n");
else
printf("老不死的\n");(可省略)
return 0;
}
另一种if else(里嵌套if-else)//if else{if else}
int main() {
int age=35;
if (age < 18)
printf("未成年\n");
else
{
if (age >= 18 && age < 28)//不要分号
printf("青年\n");
else if (age >= 28 && age < 50)
printf("壮年\n");
else if (age >= 50 && age < 90)
printf("老年\n");
else
printf("老不死的\n");
};
return 0;
3.1
④
3.2 if /else控制多条语句用{ }
int age=35;
if (age < 18)
{ 一对{}叫做代码块
printf("未成年\n");//
printf("不能谈恋爱\n");//多条语句
}
else
{
if (age >= 18 && age < 28)//不要分号
printf("青年\n");
else if (age >= 28 && age < 50)
printf("壮年\n");
};
3.3 悬空else
将代码复制到VS编译器中
if else就近原则,打印结果无,走到if(a==1),跳出循环
等价于 打破就近原则加上大括号,打印结果haha
3.4 代码各种形式
①× 不建议 ② √ ③ × ④√(左长右变)
if条件成立返回X,否则返回Y
(尽量避免着这种写法)
③
③写成if(5=num);报错 演变成 ④
3 switch
case决定入口,break决定出口。switch适合多分支,switch后面只能是整型,定义int day=0;case 可接表达式,结果是整型即可(eg:case 1+0:),case后面必须是常量。
如果case 2及其后面的case语句都没有break,就跳不出循环,一直往下执行。如图
break最后也要写!
当输入情况没有对应的case时,就走default,default可有可无。如果需要,应该是处理非法的状态,如图这样写也可。
case和default没有一定的顺序
例题:
结果 5 3
4 while循环
eg:
int main() {
while(1)//1为真,死循环
printf("周五\n");
return 0;
}//循环打印周五
while语法结构
while((条件)表达式)
循环语句;
两条以上语句while后面带{}
表达式为真则执行语句,执行语句。执行完后在判断表达式,为真继续执行,在判断表达式为真继续执行....,直到条件为假跳出循环。
expr(表达式),expr的结果为非0真,stmt(语句)被执行。
在判断表达式结果还为非0真,在执行语句,结果为真,以此类推。
有一次表达式为0假了,跳出循环。
eg:用while屏幕打出1-10;
先写出基本的部分,看哪里循环int main() {
int i = 1;
while (i <= 10)
{//只将循环的部分用{}
printf("%d\n", i);
i++;//打印1234567890
}
return 0;
}
while 里面包含if break:
if(非0真)则执行,假则跳出语句。
int i = 1;
while (i <= 10)
{
if (i == 5) if假不执行后面语句,if真执行后面语句(break)跳出整个循环
break;
printf("%d\n", i);
i++;
}
i=5时死循环,跳到while
continue后面循环便不在执行。直接跳到循环的判断部分
int ch=getchar(); getchar叫从键盘上输入
putchar(ch);叫输出
printf(%c\n,ch);//两个输出对比
记得将ch=getchar()括起来,while()后面不要加;
ctrl+z获取到 EOF(文件结束标志)程序结束
EOF右击转到定义