c语言 用switch case如何表示一个范围?

作者&投稿:贝真 (若有异议请与网页底部的电邮联系)
c语言中switch case怎么表示一个范围~

1、当判断整数时
示例:判断整数范围
#include
int main()
{
unsigned char buf[6]={0x00,0x07,0x11,0x60,0x61,0x66};
for(int i=0;i<6;i++)
switch(buf)
{
case 0x00...0x10:printf("buf[%d]is 0x0~0x10
",i);break;
case 0x11...0x20:printf("buf[%d]is 0x11~0x20
",i);break;
case 0x30...0x60:printf("buf[%d]is 0x30~0x60
",i);break;
case 0x61...0xff:printf("buf[%d]is 0x61~0xff
",i);break;
}
}

2、当判断字符时
示例:将"0x00"~"0xff"转化为数值0x00~0xff
#include
int main()
{
char buf[6][6]={"0xff","0X02","0X1f","0xf1","0xa1","0Xb0"};
for(int i=0;i<6;i++)
if(buf[0]=='0'&&(buf[1]=='x'||buf[1]=='X'))//匹配前缀
{
unsigned char val=0;
int err=0;
for(int j=2;j<4;j++)
switch(buf[j])
{
case'0'...'9':val=val*16+(buf[j]-'0');break;
case'a'...'f':val=val*16+(buf[j]-'a'+10);break;
case'A'...'F':val=val*16+(buf[j]-'A'+10);break;
default:err=1;break;
}
if(!err)
printf("buf[%d]=0X%02X
",i,val);
else
printf("buf[%d]ERR
",i);
}
else
printf("buf[%d]ERR
",i);
}
扩展资料:include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include
2、#include"文件名"

#define Min1 5#define Max1 15#define Min2 15#define Max2 20void switch_range(){//方法① switch语句可以用…来判断范围,要注意其边界条件(且为包含)switch(x){case Min1 ... Max1: //等价于 5<=x && x<=15;;break;case Min2 ... Max2: //等价于 15<=x && x<=20;;break;default:break;}//方法② 另一种常用方法是将其 “/5取商” 常量判断int x;switch(x/5){case 1: //5-9case 2: //10-14printf("5-14");break;case 3: //15-19printf("15-19");break;default:;break;}}

1、首先打开C-Free5.0,然后一个空白的C语言页面保存为switch.c文件,继续输入一般的C语言的基础格式。

2、C语言的输入语句,首先定义一个整型数值,然后从外面写入这个值。#include <stdio.h>main(){int a;printf("请输入一个1-5之间的数值: ");scanf("%d",&a);}这里的scanf() 就是从外面读入一个值给a。

3、要看下输入的值是不是赋值给了a,可以把a的值输出,如下图调试。从下图可以得出,a的值就是输入的值。

4、接着按照获得的值来执行相应的步骤,代码如下图。

5、从系统中输入一个数值,然后switch根据读到的数值判断应该做什么,注意,输入的值必须是定义的值,就比如本程序里面switch里面是一开始定义的a.int a;printf("请输入一个1-5之间的数值: ");scanf("%d",&a);switch (a){}调试下程序,看看对不对。



#define Min1 5
#define Max1 15
#define Min2 15
#define Max2 20
void switch_range()
{
//方法① switch语句可以用…来判断范围,要注意其边界条件(且为包含)
switch(x)
{
case Min1 ... Max1: //等价于 5<=x && x<=15;
;
break;
case Min2 ... Max2: //等价于 15<=x && x<=20;
;
break;
default:
break;
}
//方法② 另一种常用方法是将其 “/5取商” 常量判断
int x;
switch(x/5)
{
case 1: //5-9
case 2: //10-14
printf("5-14");
break;
case 3: //15-19
printf("15-19");
break;
default:
;
break;
}
}

需要你按照题意,将输入的情况用有限的整数形式来概括表示。


东港区18454788720: 如何用switch case实现文本选择功能(C语言) -
柴进联环: main() { int i; scanf("%d",&i); switch(i) {case 0: printf("你输入的是0");break; case 1: printf("你输入的是1");break;case 2: printf("你输入的是2");break;case 3: printf("你输入的是3");break; default :printf("你输入的是错误");}

东港区18454788720: c语言,求教switch case 语句用法,谢谢! -
柴进联环: 这里 a>0 表示一个布尔运算,其值要么为真要么为假. 在C语言中,一般将真转换成整数1,假转换成整数0. 所以 a>0的结果有 0 和 1两种情况.switch 圆括号中可以是能够转换成整型的表达式,例如,常见的 整数int,字符型char等. case 1: case 'A': 这两种是比较常见的格式.

东港区18454788720: C语言,用switch - case结构编写 -
柴进联环: 假设温度在0~100度之间 t = t / 10; // t为int类型,否则需要强制转换 switch(t) { case 0: case 1: case 2:TurnOn(p1.0);break; case 3:TurnOn(p1.1);break; case 4: case 5:TurnOn(p1.2);break; case 6: case 7: case 8: case 9:TurnOn(p1.1);TurnOn(p1.2);TurnOn(p1.3);break; default://温度范围错误 }

东港区18454788720: C语言中switch case用法 -
柴进联环: 这个其实很简单,你可以转化一下,用分数除以10,那样就是一个范围啊,像这样score/10

东港区18454788720: 写C语言一个程序,使用switch case 运算符,来计算给出的两个数的和、差、积、商. -
柴进联环: #include<stdio.h> void main() { float a=0,b=0,c=0,result; char d; printf("输入两个数:\n"); scanf("%f",&a); scanf("%f",&b); printf("选择算法 '+','-','*','/' \n"); scanf(" %c",&d); switch(d) { case'+': c=a+b;break; case'-': c=a-b;break; ...

东港区18454788720: c语言switch怎么用 -
柴进联环: switch 是选择的意思 比如 switch (ch) { case 'a': printf("你输入的是小写a\n"); break; case 'a': printf("你输入的大写a\n"); break; }

东港区18454788720: 怎样用switch case语句输入三个数,输出最大值和最小值? -
柴进联环: #include<stdafx.h> #include<stdio.h> void main() {int x,y,z,t,max;printf("Enter x y and z:");scanf("%d%d%d",&x,&y,&z);t=x>y;switch(t){case 0:max=y; break;case 1:max=x; break;}t=max>z;switch(t){case 0:max=z; break;}printf("max=%d\n",max); }

东港区18454788720: c语言中 switch case default这几个关键字怎么运用?请专业人士指教.谢谢! -
柴进联环: switch(需要判断的常量值){ //看常量值是几比如是1,就运行case 1后的语句;记得break不然会有逻辑错误~不过也就时候可以利用这一点;case 1 : breakcase 2 : break; //default是没有配比的case语句,最后需要运行的,也就是不管有没有case语句都是要运行的default :printf("");}

东港区18454788720: c语言中的switch - case什么意思,怎么用阿
柴进联环: 是一种简化了的if switch (a) {case 1:...break;case 2:...break;default:...} 相当于 if (a==1)...else if (a==2)...else...

东港区18454788720: 你好,我想问下在C语言中如何多次使用switch中的case而不是中能运行一个结果 -
柴进联环: switch 变量 { case 条件一: //满足条件一执行代码 break; case 条件二: //满足条件二执行代码 break; continue: //以上条件皆不满足执行代码 break; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网