3-1 if语句
1.被数整除
#include <stdio.h>
int main(void)
{
int no;
printf("请输入一个整数:");
scanf("%d", &no);
if (no % 5)
puts("输入的整数不能被5整除。");
return 0;
}
2.if (表达式) 语句1;else 语句2
#include <stdio.h>
int main(void)
{
int no;
printf("请输入一个整数:");
scanf("%d", &no);
if (no % 5)
puts("该整数不能被5整除。");
else
puts("该整数能被5整除。");
return 0;
}
3.奇偶的判定:
#include <stdio.h>
int main(void)
{
int no;
printf("请输入一个整数:");
scanf("%d", &no);
if (no % 2)
puts("该整数是奇数。");
else
puts("该整数是偶数。");
return 0;
}
5.非0的判定:
#include <stdio.h>
int main(void)
{
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (num)
puts("该整数不是0。");
else
puts("该整数是0。");
return 0;
}
6.显示约数:(后者是否是前者的约数)
#include <stdio.h>
int main(void)
{
int vx, vy;
puts("请输入两个整数。");
printf("整数vx:"); scanf("%d", &vx);
printf("整数vy:"); scanf("%d", &vy);
if(vx%vy)
puts("vy不是vx的约数");
else
puts("vy是vx的约数");
return 0;
}
7.相等运算符:
#include <stdio.h>
int main(void)
{
int n1, n2;
puts("请输入两个整数。");
printf("整数1:"); scanf("%d", &n1);
printf("整数2:"); scanf("%d", &n2);
if (n1 == n2)
puts("它们相等。");
else
puts("它们不相等。");
return 0;
}
8.余数的判断:
#include <stdio.h>
int main(void)
{
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if ((num % 10) == 5)
puts("该整数的个位数是5。");
else
puts("该整数的个位数不是5。");
return 0;
}
9.关系运算符:
#include <stdio.h>
int main(void)
{
int no;
printf("请输入一个整数:");
scanf("%d", &no);
if (no == 0)
puts("该整数为0。");
else if (no > 0)
puts("该整数为正数。");
else
puts("该整数为负数。");
return 0;
}
10.输出绝对值:
#include <stdio.h>
int main(void)
{
int no;
printf("请输入一个整数:");
scanf("%d", &no);
if (no <= 0)
printf("绝对值是%d。\n",-no);
else
printf("绝对值是%d。\n", no);
return 0;
}
11.嵌套的if语句:
#include <stdio.h>
int main(void)
{
int A,B;
printf("请输入两个整数。\n");
printf("整数A:");
scanf("%d", &A);
printf("整数B:");
scanf("%d", &B);
if (A > B)
puts("A大于B。");
else if (A < B)
puts("A小于B。");
else
puts("A与B相等。");
return 0;
}
#include <stdio.h>
int main(void)
{
int no;
printf("请输入一个整数:");
scanf("%d", &no);
if (no > 0)
if (no % 2 == 0)
puts("该整数为偶数。");
else
puts("该整数为奇数。");
else
puts("您输入的不是正数。\a\n");
return 0;
}
12.编程确定相等运算符和关系运算符的运算结果是1和0:
#include <stdio.h>
int main(void)
{
int A = 3;
int B = 5;
printf("A>B...%d\n", (A > B));
printf("A<B...%d\n", (A < B));
printf("A==B...%d\n", (A == B));
B = 3;
printf("A==B...%d\n", (A == B));
return 0;
}
13.计算较大值:
#include <stdio.h>
int main(void)
{
int n1, n2;
puts("请输入两个整数。");
printf("整数1:"); scanf("%d", &n1);
printf("整数2:"); scanf("%d", &n2);
if (n1 > n2)
printf("较大的数是%d。\n", n1);
else
printf("较大的数是%d。\n", n2);
return 0;
}
改进后(存入变量,if语句可写在一行)
#include <stdio.h>
int main(void)
{
int n1, n2, max;
puts("请输入两个整数。");
printf("整数1:"); scanf("%d", &n1);
printf("整数2:"); scanf("%d", &n2);
if (n1 > n2) max = n1; else max = n2;
printf("较大的数是%d。\n", max);
return 0;
}
14.计算三个数的最大值:
#include <stdio.h>
int main(void)
{
int n1, n2, n3, max;
puts("请输入三个整数。");
printf("整数1:"); scanf("%d", &n1);
printf("整数2:"); scanf("%d", &n2);
printf("整数3:"); scanf("%d", &n3);
max = n1;
if (n2 > max) max = n2;
if (n3 > max) max = n3;
printf("最大值是%d。\n", max);
return 0;
}
15.条件运算符:
#include <stdio.h>
int main(void)
{
int n1, n2, max;
puts("请输入两个整数。");
printf("整数1:"); scanf("%d", &n1);
printf("整数2:"); scanf("%d", &n2);
max = (n1 > n2) ? n1 : n2;
printf("较大的数是%d。\n", max);
return 0;
}
16.差值计算:
#include <stdio.h>
int main(void)
{
int n1, n2;
puts("请输入两个整数。");
printf("整数1:"); scanf("%d", &n1);
printf("整数2:"); scanf("%d", &n2);
printf("它们的差是%d。\n", (n1 > n2) ? n1 - n2 : n2 - n1);
return 0;
}
17.用if语句替换16中的条件运算符:
#include <stdio.h>
int main(void)
{
int n1, n2;
int diff;
puts("请输入两个整数。");
printf("整数1:");
scanf("%d",&n1);
printf("整数2:");
scanf("%d", &n2);
diff = n1-n2;
if (diff < 0)
diff = -diff;
printf("它们的差是%d\n",diff);
return 0;
}
18.运用条件运算符计算三个数中的最小数:
#include<stdio.h>
int main(void)
{
int a, b, c, min;
printf("请输入三个整数:");
scanf("%d %d %d", &a, &b, &c);
min = a;
if (a > b)
{
min = (b > c)? c : b;
}
else
{
min = (a > c)? c: a;
}
printf("三个整数中最小值为%d.", min);
return 0;
}
19.复合语句(程序块)
#include <stdio.h>
int main(void)
{
int n1, n2, max, min;
puts("请输入两个整数。");
printf("整数1:"); scanf("%d", &n1);
printf("整数2:"); scanf("%d", &n2);
if (n1 > n2) {
max = n1;
min = n2;
} else {
max = n2;
min = n1;
}
printf("较大的数是%d。\n", max);
printf("较小的数是%d。\n", min);
return 0;
}
20.逻辑运算符 :显示出所输入月份所处的季节:
#include <stdio.h>
int main(void)
{
int month;
printf("请输入月份");
scanf("%d", &month);
if (month >= 3 && month <= 5)
printf("%d月是春季。\n", month);
else if (month >= 6 && month <= 8)
printf("%d月是夏季。\n", month);
else if (month >= 9 && month <= 11)
printf("%d月是秋季。\n", month);
else if (month == 1 || month == 2 || month == 12)
printf("%d月是冬季。\n", month);
else
printf("%d月不存在!!\a\n", month);
return 0;
}
21.练习1
#include <stdio.h>
int main(void)
{
int n1, n2,n3;
puts("请输入三个整数。");
printf("整数1:");
scanf("%d",&n1);
printf("整数2:");
scanf("%d", &n2);
printf("整数3:");
scanf("%d", &n3);
if ((n1 == n2) && (n2 == n3))
puts("三个值都相等。");
else if (((n1 == n2) && (n2 != n3)) ||
((n2 == n3) && (n2 != n1)) ||
((n1 == n3) && (n1 != n2)))
puts("有两个值相等。");
else
puts("三个值各不相同。");
return 0;
}
21.练习2
#include <stdio.h>
int main(void)
{
int n1, n2;
puts("请输入两个整数。");
printf("整数1:");
scanf("%d",&n1);
printf("整数2:");
scanf("%d", &n2);
if((n1 - n2>=11)||(n1 - n2 <=-11))
puts("它们的差大于等于11。");
else
puts("它们的差小于等于10。");
return 0;
}
3-2 switch语句
1.简单的switch语句
#include <stdio.h>
int main(void)
{
int no;
printf("请输入一个整数:");
scanf("%d", &no);
switch (no % 3) {
case 0 : puts("该数能被3整除。"); break;
case 1 : puts("该数除以3的余数是1。"); break;
case 2 : puts("该数除以3的余数是2。"); break;
}
return 0;
}
2.复杂的switch语句:
#include <stdio.h>
int main(void)
{
int sw;
printf("整数:");
scanf("%d", &sw);
switch (sw) {
case 1 : puts("A"); puts("B"); break;
case 2 : puts("C");
case 5 : puts("D"); break;
case 6 :
case 7 : puts("E"); break;
default : puts("F"); break;
}
return 0;
}
3.对月份对应季节判断选用switch语句实现:
#include <stdio.h>
int main(void)
{
int month;
printf("请输入月份:");
scanf("%d", &month);
switch (month)
{
case 3:case 4:case 5: printf("%d月是春天。\n", month); break;
case 6:case 7:case 8: printf("%d月是夏天。\n", month); break;
case 9:case 10:case 11: printf("%d月是秋天。\n", month); break;
case 12:case 1:case 2: printf("%d月是冬天。\n", month); break;
}
return 0;
}
|