//使用if else 语句
#include
#include
int main()
{
int command[4] = {0,1,2,3}; /*定义一个数组*/
int num;
struct tm *sysTime;
printf("如需帮助可输入数字0!\n"); /*输出字符串*/
printf("请输入命令符:\n"); /*输出字符串*/
while (1)
{
scanf("%d", &num); /*获得输入数字*/
/*判断用于输入的字符*/
if (command[0] == num) /*如果输入数字0 */
{
/*输出帮助信息*/
printf("输入数字1显示系统日期, 输入数字2显示系统时间, 输出字母3退出系统!\n");
}
else if (command[1] == num) /*如果是命令数字1*/
{
time_t nowTime;
time(&nowTime); /*获取系统日期*/
sysTime= localtime(&nowTime); /*转换为系统日期*/
printf("系统日期:%d-%d-%d \n",1900 + sysTime->tm_year,sysTime->tm_mon + 1
,sysTime->tm_mday); /*输出信息*/
}
else if (command[2] == num) //如果是命令数字2*/
{
time_t nowTime;
time(&nowTime); /*获取系统时间*/
sysTime = localtime(&nowTime); /*转换为系统时间*/
printf("系统时间:%d:%d:%d \n",sysTime->tm_hour ,sysTime->tm_min
,sysTime->tm_sec); /*输出信息*/
}
else if (command[3] == num)
{
return 0; /*退出系统*/
}
printf("请输入命令符:\n"); /*输出字符串*/
}
return 0; /*程序结束*/
}
//使用switch语句
#include
#include
int main()
{
//int command[4] = {0,1,2,3}; /*定义一个数组*/
int num;
struct tm *sysTime;
time_t nowTime;
printf("如需帮助可输入数字0!\n"); /*输出字符串*/
printf("请输入命令符:\n"); /*输出字符串*/
while (1)
{
scanf("%d", &num); /*获得输入数字*/
switch(num){
case 0:
/*输出帮助信息*/
printf("输入数字1显示系统日期, 输入数字2显示系统时间, 输出字母3退出系统!\n");
break;
case 1:
time(&nowTime); /*获取系统日期*/
sysTime= localtime(&nowTime); /*转换为系统日期*/
printf("系统日期:%d-%d-%d \n",1900 + sysTime->tm_year,sysTime->tm_mon + 1
,sysTime->tm_mday); /*输出信息*/
break;
case 2:
time(&nowTime); /*获取系统时间*/
sysTime = localtime(&nowTime); /*转换为系统时间*/
printf("系统时间:%d:%d:%d \n",sysTime->tm_hour ,sysTime->tm_min
,sysTime->tm_sec); /*输出信息*/
break;
case 3:
return 0;
}
printf("请输入命令符:\n"); /*输出字符串*/
}
return 0; /*程序结束*/
}
这两个例子实现的是同样的功能,if只是比较输入的数字是不是与数组的相同
switch语句一般用于判断一个整形变量的不同取值的情况,switch语句可以使用if语句进行改写。
例如:
int i = 1;
switch(i) {
case 0:
printf("i=0\n");
break;
case 1:
printf("i=1\n");
break;
}
改写为if语句:
int i=1;
if(i==0)
printf("i=0\n");
else if(i==1)
printf("i=1\n");
if ( 条件 )
{
满足条件时执行语句,单条语句可省略外面的大括号
}
else //省略大括号时注意与距离其最近的if语句配对,这是容易搞错的地方(考试点)
{
不满足条件时执行语句,单条语句可省略外面的大括号
}
switch ( a ) //变量是整型数值
{
case 0: b=0; break;
case 1: b=1; break;
default: b=-1; break;
}
与之相当的if语句组
if ( a==0 ) b=0;
else if ( a==1 ) b=1;
else b=-1;
再举例:省略break情况
switch ( a )
{
case 0: b=0;
case 1: b=1; break;
default: b=-1; break;
}
与之相当的if语句组
if ( a==0 ) { b=0; b=1; }
else if ( a==1 ) b=1;
else b=-1;