c语言中witch,C语言中的宏定义

发布时间:2023-01-03

本文目录一览:

  1. c语言switch的用法 详细些 谢谢
  2. c语言switch语句中怎样在嵌套switch
  3. c语言 switch的用法
  4. 求教c语言中switch 语句的详细用法

c语言switch的用法 详细些 谢谢

C语言程序语句switch: switch用在编程中,如C语言中它经常跟case一起使用,是一个判断选择代码。其功能就是控制业务流程流转的。 switch语句的语法如下(switch,case和default是关键字):

switch ( controllingExpression )
{
case constantExpression1 :
case constantExpression2 :
case constantExpression3 :
    statements; //当满足constantExpression1、constantExpression2、constantExpression3任何一个都执行statements
    break;
case constantExpression :
    statements ;
    break;
...
default :
    statements ;
    break;
}

遵守switch语句规则 switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:

  • 只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
  • case标签必须是常量表达式(constantExpression),如42或者"42"。如果需要在运行时计算case标签的值,必须使用if语句。
  • case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。 C语言switch应用例子: 例一:
#include<stdio.h>
int main()
{
    double score;
    printf("请输入分数:\n");
    scanf("%lf", &score);
    switch((int)(score/10)) //如果写成witch((int)score/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("Error!\n");
    }
}

例二:

#include<stdio.h>
int main()
{
    char rank;
    printf("请输入分数等级:(A、B、C、D、E)\n");
    scanf("%c", &rank);
    switch(rank)
    {
        case 'A': printf("A(90~100)\n"); break;
        case 'B': printf("B(80~89)\n"); break;
        case 'C': printf("C(70~79)\n"); break;
        case 'D': printf("D(60~69)\n"); break;
        case 'E': printf("E(0~59)\n"); break;
        default: printf("error!\n"); break;
    }
}

例三: 输入年月日,判断这一天是这一年的第几天。

#include<stdio.h>
int main()
{
    int year, month, date, leap, days=0;
    scanf("%4d%2d%2d", &year, &month, &date);
    leap = (year%4==0 && year%100!=0 || year%400==0);
    switch(month)
    {
        case 12: days += 30;
        case 11: days += 31;
        case 10: days += 30;
        case 9: days += 31;
        case 8: days += 31;
        case 7: days += 30;
        case 6: days += 31;
        case 5: days += 30;
        case 4: days += 31;
        case 3: days += 28 + leap;
        case 2: days += 31;
        case 1: days += date; break;
    }
    printf("%4d年%2d月%2d日是这一年的第%d天。\n", year, month, date, days);
}

希望对你有帮助。

c语言switch语句中怎样在嵌套switch

就是在第一个switch的某个case语句或default语句中进行嵌套。 例如:

int a = 4, i = 0;
switch(a)
{
    case 1:
    {
        printf("abc");
        break;
    }
    case 2:
    {
        printf("abcd");
        break;
    }
    case 3:
    {
        i++;
        switch(i) // switch语句中嵌套switch语句
        {
            case 1: printf("fff"); break;
            case 2: printf("111"); break;
            default: printf("222");
        }
        break;
    }
    default:
        printf("error");
}

注意事项

  1. switch后面括号里的结果必须是整型值。因为这个值是要和case语句后面直接跟的常量表达式进行匹配的。
  2. break在switch case语句中主要是将语句划分成不同的部分,方便匹配后跳出switch语句。
  3. default的位置并不是固定的。为了使程序正常运行,它放在case之间的时候,后面必须跟上break语句;如果放在最后,可以跟break语句,也可以不跟。
  4. 不是所有case语句最后都跟有break。我们起初见到的代码里,基本上每个case最后都跟有break,它是指当switch后面括号里的表达式与哪一个case后面的常量表达式匹配时,直接进入这个case,执行完里面的语句后,遇到break,直接退出整个switch case语句。 实际当中,我们还会碰到类似于上述代码的情况(不是所有case语句最后都跟有break),这个时候,程序总是从匹配的case执行,直到遇到break或者程序走到最后的default结束,退出switch case语句。

c语言 switch的用法

执行过程: 先计算并获得switch后面小括号里的表达式或变量值,然后将计算结果顺序与每个case后的常量比较。 当二者相等时,执行个case块中的代码,当遇到break时,就跳出switch选择结构,执行switch选择结构之后的代码。 如果任何一个case之后的常量与switch后的小括号中的值相等,则执行switch尾部的default块中代码。

求教c语言中switch 语句的详细用法

switch 是一个开关语句,和case配套使用,和if else 判断语句差不多,switch 语句是用于多分支语句进行条件判断,比如:

i++;
switch (i)
{
    case 1: P1 = 0xFE; //i =1; 执行P1 = 0XFE;
        break; //执行完成后跳出
    case 2: P1 = 0xFD; //i =2; 执行P1 = 0XFD;
        break;
    case 3: P1 = 0xFB; //i =3; 执行P1 = 0XFB;
        break;
    case 4: P1 = 0xF7; //i =4; 执行P1 = 0XF7;
        break;
    ...
    default: break; //如果i 不符合以上条件直接跳出不执行任何东西
}

建议你还是先把C语言看熟把,书上都写的很清楚。