目录
一、分支语句(选择结构)
1.1 、if 语句
1.2、悬空else
1.3、 switch语句
二、循环语句
2.1 whie语句
2.1.1 getchar( )与putchar( )
三、结束语
一、分支语句(选择结构) 如果你好好学习,校招时拿一个好 offer ,走上人生巅峰。
如果你不学习,毕业等于失业,回家卖红薯。
这就是选择! 1.1 if 语句
1.11
#include
int main()
{
int i = 0;
//0==i可以防止少等于号
if (0==i)
{
printf("hehe\n");
}
return 0;
}
1.12
#include
int main()
{
int i = 1;
if (0==i)
{
printf("hehe\n");
}
else
{
printf("haha\n");
}
return 0;
}
注:if和else后面只可以加一条语句,如果想要加多条语句需要加大括号
1.13
#include
int main()
{
int age = 10;
scanf("%d", &age);
if (age < 18)
printf("青少年\n");
else if (age >= 18 && age < 28)
printf("青年\n");
else if (age >= 28 && age < 40)
printf("中年\n");
else if (age >= 40 && age < 60)
printf("壮年\n");
else if (age >= 60 && age <= 100)
printf("老年\n");
else
printf("老寿星\n");
return 0;
}
if与else后面不可以接分号,else后面不可以接语句
C语言中 0为真
非0为假
1.2、悬空else 1.3 switch语句
switch语句是分支语句,常用于多分支
比如: 输入 1 ,输出星期一 输入 2 ,输出星期二 输入 3 ,输出星期三 输入 4 ,输出星期四 输入 5 ,输出星期五 输入 6 ,输出星期六 输入 7 ,输出星期日而语句项是什么呢?
按理说,我输入的是1,打印出来的却是星期一。
。
。
星期六 星期天。
出现这种情况是没有用到break让它停下来
下面使用break
#include
int main()//单独输出哪一天
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期天\n");
break;
}
return 0;
}
这是由于break是跳出本次循环的原因
如果想要输入1-5显示工作日,6-7显示周末,但是8之后呢
这里我么们可以用default
#include
int main()//简化并且超出使用default显示错误
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日\n");
break;
case 6:
case 7:
printf("星期天\n");
break;
default:
printf("输入错误\n");
break;
}
return 0;
}
当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。
但是它可以出现在语句列表的任何位置,而且语句流会像执行一个 case 标签一样执行 default 子句。
二、循环语句 2.1 whie语句 比如我们实现:
上面的代码已经帮我了解了 while 语句的基本语法,那我们再了解一下:
//while循环中的
//break是用于永久的终止循环
//continue 跳过本次循环后面的代码,直接去判断部分,进行下一次循环的判断
2.1.1 getchar( )与putchar( )getchar和putchar其实就是两个函数,一个用来输入字符,一个用来输出字符的
getchar函数读取成功时,它的返回值类型是int型,当它读取错误,或者一个结束符号,它就会返回EOF; EOF( end of file),EOF的值为-1。
读一个字符,打印一个
这边失败是因为后买你有回车(\n)被下面读取了
我们可以在printf()前加getchar()读取回车(\n)
如果缓冲区中有多个字符需要读取,那么一个个加getchar()是不是过于麻烦????
下面有一种方法
一直读取到\n才停下来
//代码2
#include
int main()
{
char ch = '\0';
while ((ch = getchar()) != EOF)
{
if (ch < ‘0’ || ch > ‘9’)
continue;
putchar(ch);
}
return 0; }
//这个代码的作用是:只打印数字字符,跳过其他字符的、
三、结束语
预计下一篇分支循环结束,如有错误,还请斧正
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)