第五节课笔记
分支结构
if语句
if("条件") //基本if语句
{ //没有 "{}"时,if只执行 到下一个语句
("条件成立执行");
}
-
if语句嵌套
通过逻辑运算符来描述
if_else
if("条件")
("条件成立执行");
}
else
{
("条件不成立时执行")
}
if_else if_else 语句
if(条件1) //从上到下依次判断条件,符合则执行,结束if语句
{
}
else if(条件2)
{
}
————————
else{
}
注意事项
-
if 只和 最近的 else 搭配
-
if()后面不加分号
-
else一定要与if搭配
switch 开关语句
switch(整型表达式) //必须是整数
{
case 整型变量1: //注意case 后有空格
case 整型变量2: //case的值不能重复
……
default: //默认相当于 else
(break) //结束语句
}
执行过程:
计算表达式的值——>与下方case 一一匹配,若匹配则输出该case 下的所有语句(在没有break的清况下),若无匹配则输出default。
注意事项
-
一般switch 搭配 break使用:跳出switch语句
-
switch中嵌入其他语句,这些语句不执行。 switch只执行 case 和default
-
若在 case或 default 中定义变量则需要添加大括号作为复合语句处理
变量的作用域 和 作用范围
作用域: 变量的有效范围
全局变量: 没有大括号包含的变量 默认初始化为0
局部变量:仅在 大括号范围内 需要手动初始化
尽量不重命名变量(),若出现 同名变量
生命周期:产生到死亡的时间
一般的变量 生命周期 随着作用域结束而结束
static 变量 生命周期 直到程序 关闭
1,编程题
- 从键盘上输入一个表示年份和月份两个整数,判断该年份是否是闰年,输出当前月份的天数
- (1)被4整除但不能被100整除; 或(2)被400整除;
#include <stdio.h> //只贴代码,别打我 /doge
int main()
{
int mouth = 0 ;
int year = 0;
puts("请输入一个年份");
scanf_s("%d",&year);
puts("再输入一个月份咯");
scanf_s("%d", &mouth);
switch (mouth)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
puts("这个月有31天哟");
break;
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
puts("这个月有29天哟,没想到吧");
}
else
{
puts("这个月只有28天,寄!");
}
}
if (year < 0 || year > 13)
{
puts("你丫是地球人吗,来找茬的?");
}
else if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
puts("这年是闰年");
}
else
{
puts("这年是平年");
}
return 0;
}
- 编写一个程序,输入某人的身高(cm)和体重(kg),按下式确定其体重是否为标准、过胖或过瘦。
- (1)标准体重=身高-110;
- (2)超过标准体重5kg (即大于5kg)为过胖;
- (3)低于标准体重5kg (即小于5kg)为过瘦。
#include <stdio.h>
int main()
{
int height = 0;
int weight = 0;
int standard = 0;
puts("来来来,让我康康你发育地怎么样");
puts("输入体重(kg)>");
scanf_s("%d", &weight);
puts("输入身高(cm)>");
scanf_s("%d", &height);
standard = height - 110;
if (weight > (standard + 5))
{
puts("快减肥,肥宅!");
}
else if (weight < (standard - 5))
{
puts("快吃,瘦子!");
}
else
{
puts("优雅,太优雅了!标准体重懂不");
}
return 0;
}