• 七天学会C语言-第二天(数据结构)


    1. If 语句:


    If 语句是一种条件语句,用于根据条件的真假执行不同的代码块。它的基本形式如下:

    1. if (条件) {
    2. // 条件为真时执行的代码
    3. } else {
    4. // 条件为假时执行的代码
    5. }

    写一个基础的If语句

    1. #include
    2. int main(){
    3. int x = 10;
    4. if (x > 5){
    5. printf("x 大于 5\n");
    6. } else{
    7. printf("x 不大于 5\n");
    8. }
    9. }

    运行结果:

    在这里插入图片描述

    例 1:输入一个整数,如果该数大于 80,则输出“小翟帅”;如果该数不大于 80,则输出“小翟贼帅”。

    1. #include
    2. int main() {
    3. int a;
    4. scanf("%d", &a);
    5. if (a > 80) {
    6. printf("小翟帅\n");
    7. } else {
    8. printf("小翟贼帅\n");
    9. }
    10. return 0;
    11. }

    运行结果(以输入88为例):

    在这里插入图片描述
    例 2:有一函数 在这里插入图片描述
    请编一个程序,输入一个整数 x 时,输出相应的 y 值。

    1. #include
    2. int main() {
    3. int x, y;
    4. scanf("%d", &x);
    5. if (x < 0) {
    6. y = -1;
    7. } else if (x > 0) {
    8. y = 1;
    9. } else {
    10. y = 0;
    11. }
    12. printf("x=%d, y=%d\n", x, y);
    13. return 0;
    14. }

    运行结果(以输入2为例):

    在这里插入图片描述

    例 3:输入两个实数 a、b,按数值由小到大的顺序输出这两个数。

    1. #include
    2. int main() {
    3. double a, b, t;
    4. scanf("%lf, %lf", &a, &b);
    5. if (a > b) {
    6. t = a;
    7. a = b;
    8. b = t;
    9. }
    10. printf("%f, %f\n", a, b);
    11. return 0;
    12. }

    运行结果(以输入2,11为例):

    在这里插入图片描述

    例 5:输入三个实数 a、b、c,按数值由小到大的顺序输出这三个数。

    1. #include
    2. int main() {
    3. double a, b, c, t;
    4. scanf("%lf, %lf, %lf", &a, &b, &c);
    5. if (a > b) {
    6. t = a;
    7. a = b;
    8. b = t;
    9. }
    10. if (a > c) {
    11. t = a;
    12. a = c;
    13. c = t;
    14. }
    15. if (b > c) {
    16. t = b;
    17. b = c;
    18. c = t;
    19. }
    20. printf("%f, %f, %f\n", a, b, c);
    21. return 0;
    22. }

    运行结果(以输入7,11,1为例):

    在这里插入图片描述
     

    2. 常见表达式形式:


    C语言中有许多常见的表达式形式,包括算术表达式、关系表达式和逻辑表达式等。这些表达式用于执行各种计算和比较操作。例如:

    • 算术表达式:a + bx * yz / 2
    • 关系表达式:x == ya < bc >= d
    • 逻辑表达式:(x > 5) && (y < 10)(a == b) || (c != d)
      以下是您提供的例子,已按照正确的C语言格式进行排版和输出:
      例 1:有一函数 在这里插入图片描述
      请编一个程序,输入一个整数 x 时,输出相应的 y 值。第一种编法:
    1. #include
    2. int main() {
    3. int x, y;
    4. scanf("%d", &x);
    5. if (x < 0) {
    6. y = -1;
    7. } else if (x > 0) {
    8. y = 1;
    9. } else {
    10. y = 0;
    11. }
    12. printf("x=%d, y=%d\n", x, y);
    13. return 0;
    14. }

    运行结果(以输入1为例):

    在这里插入图片描述

    第二种编法:

    1. #include
    2. int main() {
    3. int x, y;
    4. scanf("%d", &x);
    5. if (x < 0) {
    6. y = -1;
    7. } else if (x == 0) {
    8. y = 0;
    9. } else {
    10. y = 1;
    11. }
    12. printf("x=%d, y=%d\n", x, y);
    13. return 0;
    14. }

    运行结果(以输入2为例):
    在这里插入图片描述

    例 2:请编一程序,判断某一年是否是闰年。

    1. #include
    2. int main() {
    3. int a;
    4. printf("请输入年份\n");
    5. scanf("%d", &a);
    6. if ((a % 100 != 0 && a % 4 == 0) || a % 400 == 0) {
    7. printf("%d 年是闰年\n", a);
    8. } else {
    9. printf("%d 年不是闰年\n", a);
    10. }
    11. return 0;
    12. }

    运行结果(以输入2023为例):

    在这里插入图片描述

    例 3:输入一个字符,判断它是否为大写字母,若是则将其转换成小写字母,若不是则不转换,然后输出最后得到的字符。

    1. #include
    2. int main() {
    3. char ch;
    4. scanf("%c", &ch);
    5. if (ch >= 'A' && ch <= 'Z') {
    6. ch = ch + 32;
    7. }
    8. printf("%c\n", ch);
    9. return 0;
    10. }

    运行结果(以输入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:输入一个字符,判断它是否为大写字母,若是则将其转换成小写字母,若不是则不转换,然后输出最后得到的字符。第一种编法:

    1. #include
    2. int main() {
    3. char ch;
    4. scanf("%c", &ch);
    5. if (ch >= 'A' && ch <= 'Z') {
    6. ch = ch + 32;
    7. }
    8. printf("%c\n", ch);
    9. return 0;
    10. }

    运行结果(以输入a为例):

    在这里插入图片描述

    例 1:第二种编法:

    1. #include
    2. int main() {
    3. char ch;
    4. scanf("%c", &ch);
    5. ch = (ch >= 'A' && ch <= 'Z') ? (ch + 32) : ch;
    6. printf("%c\n", ch);
    7. return 0;
    8. }

    运行结果(以输入a为例):

    在这里插入图片描述

    例 2:输入两个实数 a、b,按数值由小到大的顺序输出这两个数。第一种编法:

    1. #include
    2. int main() {
    3. double a, b, t;
    4. scanf("%lf, %lf", &a, &b);
    5. if (a > b) {
    6. t = a;
    7. a = b;
    8. b = t;
    9. }
    10. printf("%f, %f \n", a, b);
    11. return 0;
    12. }

    运行结果(以输入5,8为例):

    在这里插入图片描述

    例 2:第二种编法:

    1. #include
    2. int main() {
    3. double a, b;
    4. scanf("%lf, %lf", &a, &b);
    5. a > b ? printf("%f, %f \n", b, a) : printf("%f, %f\n", a, b);
    6. return 0;
    7. }

    运行结果(以输入8,7为例):

    在这里插入图片描述
     

    4. Switch语句:


    Switch 语句是一种多分支的条件语句,用于根据表达式的值选择执行不同的分支。其基本形式如下:

    1. switch (表达式) {
    2. case1:
    3. // 当表达式等于值1时执行的代码
    4. break;
    5. case2:
    6. // 当表达式等于值2时执行的代码
    7. break;
    8. // 更多 case 分支
    9. default:
    10. // 如果表达式不等于任何一个值时执行的代码
    11. }

    Switch 语句的每个 case 分支代表一个可能的值,当表达式的值匹配某个 case 时,执行该分支的代码。如果没有匹配到任何一个 case,则执行 default 分支(可选)。例如:

    1. int day = 3;
    2. switch (day) {
    3. case 1:
    4. printf("星期一\n");
    5. break;
    6. case 2:
    7. printf("星期二\n");
    8. break;
    9. // 更多 case 分支
    10. default:
    11. printf("其他\n");
    12. }

    例 1:某课成绩原为 A、B、C、D 四个等级,现要将其转成百分制分数段。

    1. #include
    2. int main() {
    3. char dengji;
    4. scanf("%c", &dengji);
    5. switch (dengji) {
    6. case 'A':
    7. printf("该生分数为 85~100\n");
    8. break;
    9. case 'B':
    10. printf("该生分数为 70~84\n");
    11. break;
    12. case 'C':
    13. printf("该生分数为 60~69\n");
    14. break;
    15. case 'D':
    16. printf("该生分数为<60\n");
    17. break;
    18. default:
    19. printf("该生的等级输得不对!\n");
    20. break;
    21. }
    22. return 0;
    23. }

    运行结果(以输入A为例):

    在这里插入图片描述

    例 2:某课成绩原为 A、B、C、D 四个等级,现要将其转成百分制分数段。

    1. #include
    2. int main() {
    3. char dengji;
    4. scanf("%c", &dengji);
    5. switch (dengji) {
    6. case 'A':
    7. case 'B':
    8. printf("该生分数为 70~100\n");
    9. break;
    10. case 'C':
    11. case 'D':
    12. printf("该生分数为<70\n");
    13. break;
    14. default:
    15. printf("该生的等级输得不对!\n");
    16. break;
    17. }
    18. return 0;
    19. }

    运行结果(以输入A为例):

    在这里插入图片描述

    例 3:某课成绩原为百分制,现要将其转成等级。

    1. #include
    2. int main() {
    3. double fenshu;
    4. printf("请输入分数:");
    5. scanf("%lf", &fenshu);
    6. switch ((int)(fenshu / 10)) {
    7. case 10:
    8. case 9:
    9. printf("该生等级为 A\n");
    10. break;
    11. case 8:
    12. printf("该生等级为 B\n");
    13. break;
    14. case 7:
    15. printf("该生等级为 C\n");
    16. break;
    17. case 6:
    18. printf("该生等级为 D\n");
    19. break;
    20. case 5:
    21. case 4:
    22. case 3:
    23. case 2:
    24. case 1:
    25. case 0:
    26. printf("该生等级为 E\n");
    27. break;
    28. default:
    29. printf("你特么输的是成绩?!\n");
    30. break;
    31. }
    32. return 0;
    33. }

    运行结果(以输入1为例):

  • 相关阅读:
    解决vue element - ui 弹窗打开表单自动校验问题
    性能优化之css层
    全量知识系统问题及SmartChat给出的答复 之13 解析器+DDD+文法型
    Redis基础架构
    四十九、cookie与session
    vCenter纳管ESXI主机出错
    最棘手的Java面试题(上)
    电路设计者常用的学习网站
    Qt实战案例(55)——利用QDir删除选定文件目录下的空文件夹
    云服务器最佳实践-Linux云服务器SSH登录的安全加固
  • 原文地址:https://blog.csdn.net/m0_53918860/article/details/132944335