C语言:分支与循环(1)

分支与循环(1)

这章主要讲的是循环if、for、switch、while

if语句表达式为:
if(条件表达式)
{执行代码};
else if(条件表达式)
{执行代码};
else
{执行代码}

如果第一个if()语句表达式为真,则执行{}里的代码;
否则判断下一个else if(),如果为真则执行{}里的代码;
如果为假则执行else{}的代码

    int age=20;
    if(age<18)
        printf("未成年\n");
    else if(age>=18&&age<23)
        printf("青年\n");
    else if(age>=23&&age<50)
        printf("壮年\n");
    else if(age>=50&&age<90)
        printf("老年\n");
    else
        printf("老顽童\n");

悬空else
没有与该if匹配的else,不输出
就近原则,else跟最近的if匹配

//悬空else
        int a=0;
        int b=2;
        if(a==1)//没有与该if匹配的else,不输出
        if(b==2)
        printf("hehe\n");
        else//就近原则,else跟上面的if匹配
        printf("haha\n");

赋值语句,非0即真,可以输出

    int num=4;
    if(num=5)
    {
        printf("呵呵\n");
    }

判断一个数是否为奇数

    int c;
    scanf("%d",&c);//不加\n,记得取址符号&
    if(c%2==1)
        printf("是奇数\n");
    else
        printf("不是奇数\n");

for循环语句格式:
for(单次表达式;条件表达式;末尾循环体)
{
中间循环体;
}
其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。

输出1-100之间的奇数

    int d;
    for(d=1;d<=100;d++)
    {
        if(d%2==1)
        printf("%d\n",d);
    }

switch语句格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;

default:
语句体n+1;
break;
}
switch()语句括号的变量必须是整型,
同样case后面的数字也必须是整型,不能写1.0

    int e;
    scanf("%d",&e);
    switch(e)//括号的变量必须是整型
    {
    case 1://同样case后面的数字也必须是整型,不能写1.0
        printf("星期一");
        break;
    case 2:
        printf("星期二");
        break;
    case 3:
        printf("星期三");
        break;
    case 4:
        printf("星期四");
        break;
    case 5:
        printf("星期五");
        break;
    case 6:
        printf("星期六");
        break;
    case 7:
        printf("星期天");
        break;
    default://每个switch语句只能出现一个default
        printf("输错了吧");
        break;
    /*case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        printf("工作日");
        break;
    case 6:
    case 7:
        printf("休息日");
        break;
    这样也是一种switch的写法,将相同的输出合并起来
    */

switch语句可以嵌套使用

    int f=1;
    int g=2;
    switch(f)
    {
    case 1:g++;
    case 2:f++;
    case 3:
           switch(f)
           {
               case 1:f++;
               case 2:g++;f++;break;
           }
    case 4:g++;
        break;
    default:
        break;
    }
    printf("g=%d,f=%d\n",g,f);

while语句用法
基本格式:
while(条件判断语)
{
循环体语句;
}

    int h=1;
    while(h<=10)
    {
        if(h==5)
            break;//循环遇到break会跳出循环,并不会把5打印出来
            //continue;  循环遇到continue会跳上去重新进行循环判断,于是便会一直循环
        printf("%d\n",h);
        h++;
    }

getchar是输入,跟scanf一样
putchar是输出,跟printf一样

int ch=getchar();
putchar(ch);
printf("%c\n",ch);

EOF–end of file(文件结束标志)-> -1

int cg;
//EOF--end of file(文件结束标志)-> -1
while((cg=getchar())!=EOF)//按ctrl+z才能停下来
{
    putchar(cg);
}
return 0;
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tyro达令

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值