当前位置:首页 » 编程语言 » c语言什么情况用if与switch
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言什么情况用if与switch

发布时间: 2022-07-12 05:26:15

c语言 选择语句 if switch 有什么区别怎么用

switch能做到的,if都能做到,反过来就不一定了。
switch是没有>、<判断
switch只能判断整型数

多看看书。

㈡ 大一C语言求解switch语法和if语法有什么区别 最好。举个例子吧

//使用ifelse语句
#include<stdio.h>
#include<time.h>

intmain()
{
intcommand[4]={0,1,2,3}; /*定义一个数组*/
intnum;
structtm*sysTime;
printf("如需帮助可输入数字0! "); /*输出字符串*/
printf("请输入命令符: "); /*输出字符串*/

while(1)
{
scanf("%d",&num); /*获得输入数字*/
/*判断用于输入的字符*/
if(command[0]==num) /*如果输入数字0 */
{
/*输出帮助信息*/
printf("输入数字1显示系统日期,输入数字2显示系统时间,输出字母3退出系统! ");
}
elseif(command[1]==num) /*如果是命令数字1*/
{
time_tnowTime;
time(&nowTime); /*获取系统日期*/
sysTime=localtime(&nowTime); /*转换为系统日期*/
printf("系统日期:%d-%d-%d ",1900+sysTime->tm_year,sysTime->tm_mon+1
,sysTime->tm_mday); /*输出信息*/
}
elseif(command[2]==num) //如果是命令数字2*/
{
time_tnowTime;
time(&nowTime); /*获取系统时间*/
sysTime=localtime(&nowTime); /*转换为系统时间*/
printf("系统时间:%d:%d:%d ",sysTime->tm_hour,sysTime->tm_min
,sysTime->tm_sec); /*输出信息*/
}
elseif(command[3]==num)
{
return0; /*退出系统*/
}
printf("请输入命令符: "); /*输出字符串*/
}

return0; /*程序结束*/
}
//使用switch语句
#include<stdio.h>
#include<time.h>

intmain()
{
//intcommand[4]={0,1,2,3};/*定义一个数组*/
intnum;
structtm*sysTime;
time_tnowTime;
printf("如需帮助可输入数字0! ");/*输出字符串*/
printf("请输入命令符: ");/*输出字符串*/

while(1)
{
scanf("%d",&num);/*获得输入数字*/

switch(num){
case0:
/*输出帮助信息*/
printf("输入数字1显示系统日期,输入数字2显示系统时间,输出字母3退出系统! ");
break;
case1:
time(&nowTime);/*获取系统日期*/
sysTime=localtime(&nowTime);/*转换为系统日期*/
printf("系统日期:%d-%d-%d ",1900+sysTime->tm_year,sysTime->tm_mon+1
,sysTime->tm_mday);/*输出信息*/

break;
case2:
time(&nowTime);/*获取系统时间*/
sysTime=localtime(&nowTime);/*转换为系统时间*/
printf("系统时间:%d:%d:%d ",sysTime->tm_hour,sysTime->tm_min
,sysTime->tm_sec);/*输出信息*/

break;
case3:
return0;
}
printf("请输入命令符: ");/*输出字符串*/
}
return0;/*程序结束*/
}

这两个例子实现的是同样的功能,if只是比较输入的数字是不是与数组的相同

㈢ C语言if语句和switch语句怎么同时使用啊

判断使用哪个标准(国标、亚洲或中国)用switch,判断胖瘦用if,就是点到点用switch,区间到点用if

㈣ C语言中if和switch有什么区别

if和switch的主要区别如下:
1)if的括号内的表达式可以分别是布尔类型的合法表达式、可以是所有大于0的正整数为true,反之为小于等于0的正整数为false、可以是常量、枚举;而switch括号内也符合前面if提到的外,就是当圆括号内为正整数只能是0或1,其它的正整数属于
default范围。这点可以看如下代码:
switch (2) // 除了0和1的其它正整数
{
case false: // 对应0
printf("false\n");
break;
case true: // 对应1
printf("true\n");
break;
default: // 对应非0和1以外的正整数
printf("其它\n");
break;
}2)尽管if括号内也支持常量、枚举但也是有前提的那就是常量或枚举必须要显式给出相应的数值。而switch则不必;
3)switch适合处理判断分支较多的情况下(代码可读性好),而if适合处理判断分支较少的情况下(反之代码可读性差,容易出现漏判或重复判断)。

㈤ C语言中switch和if的适用方面有什么区别

switch语句,可读性更好,整体流程看起来清晰明确。
if语句适应性更强,可以处理更多的情况。
所有的switch语句都可以写成if的形式,比如
switch(a)
{
case b:

break;

case c:

break;

default:

break;

}
可以写作
if(a==b)//case b
{
}
else if(a==c) // case c
{
}
else //default.
{

}

但是switch 语句,仅能够处理整型数值,即switch()括号中的判断的值,必须是整型的,而且每个case后面跟的值,也必须是整型的。
另外,对于大规模的连续数值,比如if(a>=1 && a<=100) 这样的语句,要用switch则需要连续写100个case,这种情况下,switch语句也是不适用的。

总体来说,对于散列的整型数据,用switch语句更清晰明确,而对于其它情况,if语句则更好。

㈥ C语言中if和switch的嵌套是怎么回事

具体意思及代码;

互相嵌套?switch(日期)


{


case 5月14:在家睡觉


break;



case 5月16:


if (工作日){


上班


}
break;

㈦ c语言里的if和switch语句

嗯!两者之间是有很多相同之处,也有不同之处(这是废话)!
使用时,明显的不同之处在于:
1.if语句可以判断一个范围,如if(a>3);else
if(a>=0)等等;而switch只能是某个确定的常数值,如case
3、case
2等等。
2.if与句可以判断表达式和变量,而switch中的case
不可以接常数表达式,更不可以接变量。
想了解更多你可以去搜索更多的资料!

㈧ switch与我if在C语言中的逻辑表达能力强弱

switch的限制很多,能用switch实现的就一定能用if实现,所以单论能力的话,if功能要比switch强大的多。

㈨ C语言中if else语句与switch语句区别

1 两者本质的区别是 if-else语句更适合于对区间(范围)的判断,而switch语句更适合于对离散值的判断
2 示例
判断65分到85分之间的学生有哪些适合用if-else语句,因为[65,85]是区间
而判断一个学生的班级是一班、二班还是三班适合用switch语句,因为一班、二班、三班是离散值
3 扩展
所有的switch语句都可以用if-else语句来替换(因为if-else语句只需对每个离散值分别做判断即可),而并不是所有的if-else语句都可以用switch语句来替换(因为区间里值的个数是无限的并且switch所接受的值只能是整型或枚举型,所以不能用case来一一列举)。