if语句基础用法:
int main()
{
int score = 0;
printf("请输入你的分数:");
scanf("%d", &score);
if (score >= 90)
{
printf("优秀\n");
}
else if (score >= 80 && score<90)
{
printf("良好\n");
}
else if (score >= 70 && score < 80)
{
printf("中等\n");
}
else if (score >= 70 && score < 60)
{
printf("及格\n");
}
else
{
printf("不及格\n");
}
return 0;
}
if语句练习:
//练习:判断一个数是否为奇数
int main()
{
int a = 0;
printf("请输入一个数:");
scanf("%d",&a);
if (a % 2 == 0) //%是取模符号,%2如有余数是奇数,无余数是偶数
{
printf("偶数\n");
}
else
{
printf("奇数\n");
}
return 0;
}
//输出1-100之间的奇数
int main()
{
int i = 0;
while (i < 100)
{
i++; //i=i+1
if (i % 2 == 1)
{
printf("%d ", i);
}
}
return 0;
}
switch语句基础用法:
int main()
{
int weapon = 0;
printf("请选择你的武器\n");
printf("1.长剑 2.阔刀\n");
scanf("%d", &weapon);
switch (weapon)
{
case 1: //case是switch的语句项
printf("\n你选择了长剑,攻击力+10,攻速加+10\n");
break; //break语句的实际效果是把语句列表划分为不同的分支部分
case 2:
printf("\n你选择了阔刀,攻击力+20,攻速加+5\n");
break;;
}
return 0;
}
int main()
{
int day = 0;
printf("请输入一个数字(1-7):");
scanf("%d", &day);
switch (day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日");
break;
case 6:
case 7:
printf("休息日");
break;
}
return 0;
}
default子句:
如果表达的值与所有的case标签的值都不匹配怎么办?
其实也没什么,结构就是所有的语句都被跳过而已。
程序并不会终止,也不会报错,因为这种情况在C中并不认为是个错误。
但是,如果你并不想忽略不匹配所有标签的表达式的值时该怎么办呢?
你可以在语句列表中增加一条default子句,把下面的标签 default: 写在任何一个 case 标签可以出现的位置。
当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。
所以,每个switch语句中只能出现一条default子句。
但是它可以出现在语句列表的任何位置,而且语句流会像执行一个case标签一样执行default子句。 编程好习惯 :在每个 switch 语句中都放一条default子句是个好习惯,甚至可以在后边再加一个 break 。
int main()
{
int a = 1;
int b = 2;
switch (a)
{
case 1:
a++; //a=a+1
case 2:
b++; //b=b+1
case 3:
switch (a) //switch允许嵌套使用
{
case 2:
a++;
case 3:
b++;
}
default:
break;
}
printf("a=%d b=%d", a, b);
return 0;
}