if语句是c语言中的流程控制语句,在程序运行中用来根据一个条件的真假来决定是否执行某段代码。
一般形式: 关系表达式、逻辑表达式 和 数值表达式。
1、if (表达式)
//输入的整数能被5整除吗?
代码如下:
#include
int main()
{
int n;
scanf("%d",&n);
if(n%5==0)
printf("这个数能被5整除");
return 0;
}
2、if(表达式) (多用于两种情况的场景)
语句1;
else
语句2;
//输入的整数能被5整除吗?
代码如下:
#include
int main()
{
int n;
scanf("%d",&n);
if(n%5==0)
printf("这个数能被5整除");
else
printf("这个数不能被5整除");
return 0;
}
3、if(表达式1) (在else的行列中套了多层if语句,用于判断多个条件是否符合某些标准)
else if(表达式2)
else if(表达式n-1)
else(表达式n)
【注意】“==”和“!=”统称为相等运算符。
“==” a==b 如果a和b的值相等则为1,不等则为0(结果的类型是int)
“!=” a!=b 如果a和b的值不相等则为1,相等则为0(结果的类型是int)
编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大于85)、通过(60~84)和不
及格(小于60)的学生人数。
思路:
(1)先是定义,然后以do-while实现循环。
(2)从score【0】开始存,存一个判断一个,while构成死循环,遇到break就跳出,从而将学生的成绩分为优秀、通过和不及格。
AC代码:
#include
int main()
{
int a=0,b=0,c=0;
int i=0,score[100]={0};
do
{
scanf("%d",&score[i]);
if(score[i]>85)
{
a++;
}
else if(score[i]>=60)
{
b++;
}
else if(score[i]>0)
{
c++;
}
else
{
break;
}
}while(1);
printf(">=85:%d\n60-84:%d\n<60:%d\n",a,b,c);
}
(1)if语句书写可一行,可多行。
(2)if语句无论多少行,都是为一个整体。
(3)内置语句可为简单句,也可为复合句。
(4)嵌套时,else与之前未配对的、最近的进行配对,注意其与空格和回车无关。
(1)容易出现格式错误:输出内容中多余空格造成的输出不符合题目要求。
(2)输出成分赘余,切记题目要求。
if语句将程序分为两支,而switch语句将程序分为多个分支。
1、一般形式:
switch(表达式)
{
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;
…
case 常量表达式n: 语句n;
default: 语句n+1;
}
示例代码:
#include
int main()
{
int a;
printf("input integer number: ");
scanf("%d",&a);
switch (a)
{
case 1:printf("Monday\n"); break;
case 2:printf("Tuesday\n"); break;
case 3:printf("Wednesday\n"); break;
case 4:printf("Thursday\n"); break;
case 5:printf("Friday\n"); break;
case 6:printf("Saturday\n"); break;
case 7:printf("Sunday\n"); break;
default:printf("error\n");
}
}
碰到break语句时,switch语句执行结束。没有break时,程序则会落到下一条语句上。
希望大家有所收获!!