一.if
1.if语句的一般形式:
if(表达式) 语句1 //(表达式可以是关系表达式,逻辑表达式,甚至是数值表达式)
[else语句2]
根据if语句的一般形式,if语句可以写成不同的形式,常见的有:
(1)if(表达式) 语句1
(2) if(表达式)
语句1
else
语句2
例1:
//输出1900-2000的闰年
#include<stdio.h>
int main()
{
int year;
scanf_s("%d",&year);
if (year % 4 == 0 && year % 100 != 0
|| year % 100 == 0 && year % 400 == 0)
{
printf("%d是闰年\n",year);
}
else
{
printf("%d不是闰年\n",year);
}
return 0;
}
(3)if(表达式1)语句1
else if(表达式2) 语句2
else if(表达式3) 语句3
例2://从键盘输入3个整数,输出三个整型的最大值
//第一种写法
#include<stdio.h>
int main()
{
int a, b, c;
scanf_s("%d%d%d", &a, &b, &c); //默认换行或者空格分隔
if (a > b && a > c)
{
printf("%d是最大值\n", a);
}
else if (b > a && b > c)
{
printf("%d是最大值\n", b);
}
else
{
printf("%d是最大值\n", c);
}
return 0;
}
//第二种写法
#include<stdio.h>
int main()
{
int a, b, c;
scanf_s("%d%d%d", &a, &b, &c);
int max = a;
if (max < b)
{
max = b;
}
if (max < c)
{
max = c;
}
printf("%d是最大值\n",max);
return 0;
}
//第三种写法
#include<stdio.h>
int main()
{
int a, b, c;
scanf_s("%d%d%d", &a, &b, &c);
//先挑选两个数较大者,较大者跟第三个数比较 最大
int max = a > b ? a : b;
max = max > c ? max : c; //三目运算符
printf("%d最大值\n", max);
return 0;
}
例3:判断字符
#include<stdio.h>
int main()
{
char value;
scanf_s("%c", &value);
if (value >= 'a' && value <= 'z'|| value >= 'A' && value <= 'Z')
{
printf("%c是英文字符", value);
}
else if (value >='0' && value <='9')
{
printf("%c是数字字符", value);
}
else if (value = ' ')
{
printf("%c是空格字符", value);
}
else
{
printf("%c是其他字符",value);
}
return 0;
}
例4:斐波那契数列
#include<stdio.h>
int main()
{
int n;
int f1 = 1, f2 = 2, f3;
scanf_s("%d", &n);
if (n == 1 || n == 2)
{
printf("%d", 1);
}
else
{
for (int i = 3; i <= n; i++)
{
f3 = f1 + f2;
f1 = f2;
f2 = f3;
}
printf("%d\n", f3);
}
return 0;
}
二.switch语句
switch语句的作用是根据表达式的值,使流程跳转到不同的语句。
switch() {case …: …; case …: …; … default: …;}
1.一般形式:
switch(表达式) { case 常量1:语句1; case 常量2:语句2; … case 常量n:语句n; default: 语句n+1; }
例5;按照考试成绩输出相应的等级
#include<stdio.h>
int main()
{
char level;
scanf_s("%c", &level);
switch (level)
{
case'A':
printf("85~100\n");
break; //跳出switch语句块
case'B':
printf("75~84\n");
break; //跳出switch语句块
case'C':
printf("60~74\n");
break; //跳出switch语句块
case'D':
printf("<60\n");
break; //跳出switch语句块
default:
printf("输入错误\n");
break;
}
}