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,则输出“小翟帅”;如果该数不大于 80,则输出“小翟贼帅”。
#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的值被返回。例如:
1. int x = 10; 2. 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为例):