码迷,mamicode.com
首页 > 编程语言 > 详细

学习C语言第六天

时间:2020-11-06 00:48:55      阅读:22      评论:0      收藏:0      [点我收藏+]

标签:end   常量   else   分支语句   出现   continue   选择   c语言   匹配   

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

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

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

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

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

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

#include<stdio.h>
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<stdio.h>
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<stdio.h>
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<stdio.h>
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<stdio.h>
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

学习C语言第六天

标签:end   常量   else   分支语句   出现   continue   选择   c语言   匹配   

原文地址:https://blog.51cto.com/14982478/2546816

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!