两个代码:
//代码1
if(dodition)
{
return x;
}
return y;
//代码2
if (condition)
{
return x;
}
else
{
return y;
}
问题:代码1和代码2一样吗?
答案:意思一样。但是代码1的书写方法容易造成歧义。所以代码2的书写方法更加易懂。
注意,if条件的时候应该写num==1这种,如果写成num=1,那么会直接判断为真进入这一if语句后面的内容。千万不要写成=了。
做个练习
- 判断一个数是否为奇数
- 输出1-100之间的奇数
第一个直接用ifa%==1就完事了,主要是第二题还得使用循环,我写出的代码如下:
int main()
{
int a = 0;
while (a < 100)
{
{
if (a % 2 == 1)
printf("%d", a);
else
printf(" ");
}
a++;
}
return 0;
}
运行一下:
Ok没毛病!
Switch语句:
接下来学习switch语句
Switch(整型表达式)
{
}
下面写一个输入1234567分别输出星期一到星期日的代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:
printf("星期1\n");
break;
case 2:
printf("星期2\n");
break;
case 3:
printf("星期3\n");
break;
case 4:
printf("星期4\n");
break;
case 5:
printf("星期5\n");
break;
case 6:
printf("星期6\n");
break;
case 7:
printf("星期7\n");
break;
}
return 0;
}
解释以上语句,首先赋值day输入一个值赋给day,然后通过switch语句,输入几进入case几,然后打印以后通过break退出执行后面的代码。
如果输入超出1-7的数字呢?那么不会显示,所以为了完善语法,最好加入default默认的输出,不属于上面任何case的都会进入default
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:
printf("星期1\n");
break;
case 2:
printf("星期2\n");
break;
case 3:
printf("星期3\n");
break;
case 4:
printf("星期4\n");
break;
case 5:
printf("星期5\n");
break;
case 6:
printf("星期6\n");
break;
case 7:
printf("星期7\n");
break;
default:
printf("输入错误");
break;
}
return 0;
}
代码运行结果如下: