1. If 语句:
If
语句是一种条件语句,用于根据条件的真假执行不同的代码块。它的基本形式如下:
if (条件) {// 条件为真时执行的代码
} else {// 条件为假时执行的代码
}
写一个基础的If
语句
#include<stdio.h>
int main(){int x = 10;if (x > 5){printf("x 大于 5\n");} else{printf("x 不大于 5\n");}
}
运行结果:
例 1:输入一个整数,如果该数大于 80,则输出“小翟帅”;如果该数不大于 60,则输出“小翟贼帅”。
#include <stdio.h>
int main() {int a;scanf("%d", &a);if (a > 80) {printf("小翟帅\n");} else {printf("小翟贼帅\n");}return 0;
}
运行结果(以输入88为例):
例 2:有一函数
请编一个程序,输入一个整数 x 时,输出相应的 y 值。
#include <stdio.h>
int main() {int x, y;scanf("%d", &x);if (x < 0) {y = -1;} else if (x > 0) {y = 1;} else {y = 0;}printf("x=%d, y=%d\n", x, y);return 0;
}
运行结果(以输入2为例):
例 3:输入两个实数 a、b,按数值由小到大的顺序输出这两个数。
#include <stdio.h>
int main() {double a, b, t;scanf("%lf, %lf", &a, &b);if (a > b) {t = a;a = b;b = t;}printf("%f, %f\n", a, b);return 0;
}
运行结果(以输入2,11为例):
例 5:输入三个实数 a、b、c,按数值由小到大的顺序输出这三个数。
#include <stdio.h>
int main() {double a, b, c, t;scanf("%lf, %lf, %lf", &a, &b, &c);if (a > b) {t = a;a = b;b = t;}if (a > c) {t = a;a = c;c = t;}if (b > c) {t = b;b = c;c = t;}printf("%f, %f, %f\n", a, b, c);return 0;
}
运行结果(以输入7,11,1为例):
2. 常见表达式形式:
C语言中有许多常见的表达式形式,包括算术表达式、关系表达式和逻辑表达式等。这些表达式用于执行各种计算和比较操作。例如:
- 算术表达式:
a + b
,x * y
,z / 2
- 关系表达式:
x == y
,a < b
,c >= d
- 逻辑表达式:
(x > 5) && (y < 10)
,(a == b) || (c != d)
以下是您提供的例子,已按照正确的C语言格式进行排版和输出:
例 1:有一函数
请编一个程序,输入一个整数 x 时,输出相应的 y 值。第一种编法:
#include <stdio.h>
int main() {int x, y;scanf("%d", &x);if (x < 0) {y = -1;} else if (x > 0) {y = 1;} else {y = 0;}printf("x=%d, y=%d\n", x, y);return 0;
}
运行结果(以输入1为例):
第二种编法:
#include <stdio.h>
int main() {int x, y;scanf("%d", &x);if (x < 0) {y = -1;} else if (x == 0) {y = 0;} else {y = 1;}printf("x=%d, y=%d\n", x, y);return 0;
}
运行结果(以输入2为例):
例 2:请编一程序,判断某一年是否是闰年。
#include <stdio.h>
int main() {int a;printf("请输入年份\n");scanf("%d", &a);if ((a % 100 != 0 && a % 4 == 0) || a % 400 == 0) {printf("%d 年是闰年\n", a);} else {printf("%d 年不是闰年\n", a);}return 0;
}
运行结果(以输入2023为例):
例 3:输入一个字符,判断它是否为大写字母,若是则将其转换成小写字母,若不是则不转换,然后输出最后得到的字符。
#include <stdio.h>
int main() {char ch;scanf("%c", &ch);if (ch >= 'A' && ch <= 'Z') {ch = ch + 32;}printf("%c\n", ch);return 0;
}
运行结果(以输入a为例):
3. 表达式1?表达式2:表达式3:
这是C语言中的条件运算符(也称为三元运算符)。它允许根据条件的真假选择执行不同的表达式。其语法如下:
条件 ? 表达式1 : 表达式2
如果条件为真,则表达式1的值被返回;如果条件为假,则表达式2的值被返回。例如:
int x = 10;
int y = (x > 5) ? 20 : 30;
在这个例子中,因为 x
大于5,所以 y
的值将是20。
以下是您提供的两个示例,已按照正确的C语言格式进行排版和输出:
例 1:输入一个字符,判断它是否为大写字母,若是则将其转换成小写字母,若不是则不转换,然后输出最后得到的字符。第一种编法:
#include <stdio.h>
int main() {char ch;scanf("%c", &ch);if (ch >= 'A' && ch <= 'Z') {ch = ch + 32;}printf("%c\n", ch);return 0;
}
运行结果(以输入a为例):
例 1:第二种编法:
#include <stdio.h>
int main() {char ch;scanf("%c", &ch);ch = (ch >= 'A' && ch <= 'Z') ? (ch + 32) : ch;printf("%c\n", ch);return 0;
}
运行结果(以输入a为例):
例 2:输入两个实数 a、b,按数值由小到大的顺序输出这两个数。第一种编法:
#include <stdio.h>
int main() {double a, b, t;scanf("%lf, %lf", &a, &b);if (a > b) {t = a;a = b;b = t;}printf("%f, %f \n", a, b);return 0;
}
运行结果(以输入5,8为例):
例 2:第二种编法:
#include <stdio.h>
int main() {double a, b;scanf("%lf, %lf", &a, &b);a > b ? printf("%f, %f \n", b, a) : printf("%f, %f\n", a, b);return 0;
}
运行结果(以输入8,7为例):
4. Switch语句:
Switch
语句是一种多分支的条件语句,用于根据表达式的值选择执行不同的分支。其基本形式如下:
switch (表达式) {case 值1:// 当表达式等于值1时执行的代码break;case 值2:// 当表达式等于值2时执行的代码break;// 更多 case 分支default:// 如果表达式不等于任何一个值时执行的代码
}
Switch
语句的每个 case
分支代表一个可能的值,当表达式的值匹配某个 case
时,执行该分支的代码。如果没有匹配到任何一个 case
,则执行 default
分支(可选)。例如:
int day = 3;
switch (day) {case 1:printf("星期一\n");break;case 2:printf("星期二\n");break;// 更多 case 分支default:printf("其他\n");
}
例 1:某课成绩原为 A、B、C、D 四个等级,现要将其转成百分制分数段。
#include <stdio.h>
int main() {char dengji;scanf("%c", &dengji);switch (dengji) {case 'A':printf("该生分数为 85~100\n");break;case 'B':printf("该生分数为 70~84\n");break;case 'C':printf("该生分数为 60~69\n");break;case 'D':printf("该生分数为<60\n");break;default:printf("该生的等级输得不对!\n");break;}return 0;
}
运行结果(以输入A为例):
例 2:某课成绩原为 A、B、C、D 四个等级,现要将其转成百分制分数段。
#include <stdio.h>
int main() {char dengji;scanf("%c", &dengji);switch (dengji) {case 'A':case 'B':printf("该生分数为 70~100\n");break;case 'C':case 'D':printf("该生分数为<70\n");break;default:printf("该生的等级输得不对!\n");break;}return 0;
}
运行结果(以输入A为例):
例 3:某课成绩原为百分制,现要将其转成等级。
#include <stdio.h>
int main() {double fenshu;printf("请输入分数:");scanf("%lf", &fenshu);switch ((int)(fenshu / 10)) {case 10:case 9:printf("该生等级为 A\n");break;case 8:printf("该生等级为 B\n");break;case 7:printf("该生等级为 C\n");break;case 6:printf("该生等级为 D\n");break;case 5:case 4:case 3:case 2:case 1:case 0:printf("该生等级为 E\n");break;default:printf("你特么输的是成绩?!\n");break;}return 0;
}
运行结果(以输入1为例):