0
点赞
收藏
分享

微信扫一扫

C语言学习之旅 【分支与循环完结版】

C语言是结构化的程序设计语言主要有顺序结构、选择结构和循环结构

C语言中由 分号(;) 隔开的就是一个语句

1.分支语句

1.1 if else 语句

```C++
//判断一个数是否为奇数
int main()
{
        int a = 15;
        if (a % 2 == 1)
        {
               printf("是奇数");
        }
        return 0;
}

//打印1-100之间的奇数
int main()
{
        int i = 0;
        for (i = 1; i <= 100; i++)
        {
               if (0 == i % 2)
               {
                       printf("%d\n", i);
               }
        }
        return 0;
 }

#### 1.2 switch case语句
```C++
//伪代码
switch(整形表达式)
{
    case 整型常量表达式:
        语句;
    default:
        break;
}

switch 语句允许嵌套使用,而且case语句不要求顺序
```C++
int main()
{
        int day = 0;
        scanf("%d", &day);
        switch (day)
        {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
               printf("工作日");
               break;
        case 6:
        case 7:
               printf("休息日");
               break;
        default:
               printf("输入错误");
               break;
        }

### 2.循环语句
#### 2.1 while循环
```C++
int main()
{
        //写够三万行代码后迎娶白富美
        int i = 0;
        while (i <= 30000)
        {
               i++;
               printf("正在通往迎娶白富美的路上,目前写了%d行代码。\n", i);
        }
        printf("白富美到手");
        return 0;
} 

2.2 for循环

```C++
int main()
{
int i =0;
for ( i = 0; i < 10; i++ )
{
printf("呵呵");
}
return 0;
}

#### 2.3 do...while循环

```C++
int main()
{
        int i = 1;
        do
        {
               printf("%d\n", i);
                       i++;
        } while (i <= 10);//注意后面还有一个分号
        return 0;
}

3.goto语句

一般在存在多重嵌套时使用,且goto语句只能在本函数中使用
```C++
#include <stdlib.h>
#include <string.h>
//关机程序
//只要运行起来,电脑就在一分钟内关机,如果输入:我是猪,就取消关机
int main()
{
        char input[20] = { 0 };
        system("shutdown -s -t 60"); //system的头文件是stdlib.h
again:
        printf("请注意,你的电脑将在一分钟内关机,如果输入“我是猪”,就取消关机");
        scanf("%s", input);
        if (strcmp(input, "我是猪") == 0) //两个字符串比较不能使用==,而应该使用string compare函数,即strcmp,对应头文件是string.h
        {
               system("shutdown -a");
        }
        else
        {
               goto again;
        }
        return 0;
}


### 4.补充
#### 4.1.break、continue和pass的区别
1. break是终止循环
2. continue是跳过本次循环,跳到逻辑判断部分
3. pass只做占位符,没有实际意义 

#### 4.2 EOF标志
EOF的值为-1,全称文件结束标志end of file
```C++
int main()
{
        int ch = 0;//当按下ctrl+z时读取结束
        while ((ch = getchar()) != EOF)
        {
               putchar(ch);
        }//自动换行是因为按下Enter键后输入的字符后有一个\n进入缓存区
        return 0;
}
举报

相关推荐

0 条评论