云社区 博客 博客详情

学习C语言第六天

51CTO 发表于 2020-11-06 00:02:51 2020-11-06
0
0

【摘要】 C语言是一门结构化的程序设计语言 1.顺序结构2.选择结构3.循环结构 什么是语句?C语言中由一个分号;隔开的就是一条语句比如 printf(“hehe”);1+2; 分支语句(选择结构)if语句 1 if(表达式) 单分支 语句; 如果if是真那么语句执行 否则 什么都不执行 #include<stdio.h>int main(){int a=0;printf("你打...

C语言是一门结构化的程序设计语言
1.顺序结构
2.选择结构
3.循环结构

什么是语句?
C语言中由一个分号;隔开的就是一条语句
比如 printf(“hehe”);
1+2;

分支语句(选择结构)
if语句

 1 if(表达式) 单分支 语句; 如果if是真那么语句执行 否则 什么都不执行 

#include
int main()
{
int a=0;
printf("你打了多少行有效代码?\n");
scanf("%d",&a);
if(a>=100000)
printf("大佬\n");
return 0;
}

 2 if(表达式) 双分支 语句; else; 语句;

#include
int main()
{
int a=0;
printf("您的?龄多少\??n");
scanf("%d",&a);
if(a<=17)
printf("您是未成年人\n");
else
printf("您已是成年?\n");
return 0;
}

 多分支
 3 if(表达式) 这里只有一个语句能被执行 如有if成立语句1执行 语句1; 否则 执行else if 如果它是真 则执行语句2  否则 else if(表达式) 执行语句3 语句2; else; 语句3;

#include
int main()
{
int a=0;
printf("年龄\n");
scanf("%d",&a);
if (a<7)
printf("儿童");
else if(7<=a && a<14)
printf("少年");
else if(15<=a && a<30)
printf("青年");
else if(40<=a && a<50)
printf("中年");
return 0;
}
if 和else要执行多个语句要加大括号 { }
比如 if()
{
printf()
printf()
}
#include
int main()
{
int a=0;
printf("毕业想不想要一份好offer?\n");
printf("想输入1不想输入其他数字\n");
scanf("%d",&a);
if(a==1)
{
printf("有好offer是否能努力工作?\n");
printf("能输入1不能输入其他数字\n");
scanf("%d",&a);
if(a==1)
printf("你会有稳定的生活\n");
else
printf("你可能失业\n");
}
else
printf("那你家里一定有矿\n");
return 0;
}
esle和最近的没有匹配的if 匹配

switch
用于多分支语句
switch(整型表达式)
{
语句项;
}

语句项
是一些case语句 比如 case 整型常量表达式:
语句;
case 1:
printf("星期一");
case 2:
printf("星期二");
case 3:
printf("星期三");
case4:
printf("星期四");
#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;
default:
printf("输入错误\n");
}
return 0;
}

 case 1: case 2: printf("工作日"); break; ( day满足case1或者case2 都能打印出工作日)

#include
int main()
{
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");
}
return 0;
}

如果输入的值超过了switch所能够判断的范围 它会直接打印出你输入的值
为了解决这个问题 可以在switch语句项的最后一项后面再加上
default:
printf(“输入错误”) 那么就会执行default后面的语句
default 可以加在switch里面的任何地方 建议放在后面 逻辑好点 但它只能出现一次

循环语句
while
int main()
{
int a=1;
int b=0;
while(a<101)
{
b=a%2;
if(b==1)
printf("%d为a奇数y\n",a);
else
printf("%d为a偶数y\n",a);
a++;
}
return 0;
}

如果在if下面加上break 那么但if成立 直接结束循环
而在if下面加上continue 可能出现死循环小心使用 如果执行continue那么指令就会直接
跳到while 结束本次循环 跳入下次循环
getchar()是一个函数 可以接收键盘输入的符号 接收后会返回来
比如 int ch=getchar() 接收了键盘输入的符号 然后ch接收它的返回值(也就是符号赋 给ch )

putchar(ch)相等于printf(“%c\n”,ch)

int main()
{
int ch=0;
while((ch=getchar())!=EOF)
putchar(ch)
}

如果要结束while 可以按ctrl+z 它就会把EOF直接赋给ch 然后此时while后面就是假的
那么就跳出循环了
EOF- end of file-->-1 名字叫做文件结束标志 它的值是-1

文章来源: blog.51cto.com,作者:先进打工仔,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.51cto.com/14982478/2546816

登录后可下载附件,请登录或者注册

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:huaweicloud.bbs@huawei.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章 //点赞 收藏 0
点赞
分享文章到微博
分享文章到朋友圈

上一篇:一文读懂Java 11的ZGC为何如此高效

下一篇:实时接口数据也能就近访问?细说如何用CDN提升App性能

评论 (0)


登录后可评论,请 登录注册

评论