【C语言】分支和循环语句

1    if语句

1.1  if

if语句的语法形式如下:

if (表达式为真)
{
    执行语句;
}

例子:输入一个整数,判断是否为奇函数

#include <stdio.h>

int main()
{
    int num = 0;
    scanf("%d",&num);
    if(num % 2 == 1)
    {
        printf("%d 是奇数\n");
    }

    return 0;
}

运行结果:

6de7202f30594cd3a5a579c6054af8c4.png

1.2  if...else...语句

 if...else...语句的语法形式如下:

if (表达式1为真)
{
    执行语句1;
}
//若表达式1为假则执行else语句
else
{
    执行语句2;
}

例子:输入一个整数,判断是否为奇函数,还是偶函数

#include <stdio.h>

int main()
{
    int num = 0;
    scanf("%d", &num);
    if (num % 2 == 1)
    {
        printf("%d 是奇数\n", num);
    }
    else
    {
        printf("%d 是偶函数\n", num);
    }

    return 0;
}

运行结果:

e889dec50be64f5c8a834ba11d3b5531.png

2405526750394b83832f9cf9a0c65162.png

注意:写if...else...语句时,if和else语句后面最好加上{},如若不加的话,则默认都只执行一条语句。比如:

#include <stdio.h>

int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age < 18)
		printf("未成年,好好学习\n");
	printf("恭喜你,成年了!\n");

	return 0;
}

运行结果:

61957fd4479a432dbf2b80696fcb599c.png

4fe2b1bfb8fd4bc4ba11d656fc1de252.png

上面的代码,你会发现输⼊的值不管是<18 还是>=18,"恭喜你,成年了!" 都会打印在屏幕上。

这是因为 if 语句只能控制⼀条语句,就是 printf("未成年,好好学习\n"); ,if语句为真,则打印未成年好好学习, if语句为假,则不打印,对于 printf("恭喜你,成年了!\n"); 是独⽴存在的,不管if语句的条件的真假,都会被执⾏。 所以,我们使用if...else...语句时,最好在if和else语句的后面都加上{},以免产生不必要的误会。
 

1.3  if...else if...else...语句

if...else if...else...语句的语法形式如下:

if (表达式1为真)
{
    执行语句1;
}
else if (表达式2为真)
{
    执行语句2;
}
else if
...
else
{
    ...;
}

例子:输⼊⼀个年份year,判断year是否是闰年

#include <stdio.h>

int main()
{
	int year = 0;
	scanf("%d", &year);
	if (year % 4 == 0 && year % 100 != 0)
	{
		printf("是闰年\n");
	}
	else if (year % 400 == 0)
	{
		printf("是闰年\n");
	}
	else
	{
		printf("不是是闰年\n");
	}

	return 0;
}

运行结果:

37cafc22a55945a6b56ed5f133864a76.png

7b6273f011c245f18713a177d36da7c3.png

2    switch语句

除了 if 语句外,C语⾔还提供了 switch 语句来实现分⽀结构。 switch 语句是⼀种特殊形式if...else 结构,⽤于判断条件有多个结果的情况。它把多重 的 else if 改成更易⽤、可读性更好的形式。

switch语句的语法形式如下:

switch (参数) //参数不能为浮点型
{
 case 参数值1: 内容1;
    break;
 case 参数值2: 内容2;
    break;
    ...
 default: ...;
    break;
}
上⾯代码中,根据参数不同的值,执⾏相应的 case 分⽀。如果找不到对应的值, 就执⾏ default 分⽀。
 
例子:输⼊⼀个1~7的数字,打印对应的星期⼏
//输⼊⼀个1~7的数字,打印对应的星期⼏
#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"); break;
	}

	return 0;
}

运行结果:

78ff5e21973442aeaeb551c60f59d92f.png

19c82bf7559b4194a78cd461c2091bc1.png

 

3    while循环

while语句的语法形式如下:

while (表达式为真)
{
    执行语句;
}

例子:打印1~10的数字

#include <stdio.h>
int main()
{
 int i = 1;
 while(i<=10)
 {
 printf("%d ", i);
 i = i+1;
 }
 return 0;
}

运行结果:

0995942cfe7548dab86bdca360983b0e.png

4    do while循环

do while语句的语法形式如下:
do
{
    执行语句;
}
while (表达式为真)

例子:打印1~10的数字

#include <stdio.h>
int main()
{
 int i = 1;
 do
 {
 printf("%d ", i);
 i = i + 1;
 }while(i<=10);
 
 return 0;
}

运行结果:

76cf3a0b73b94abd8bfbc8e5c11db9d3.png

5    for循环

for语句的语法形式如下:

//表达式1 ⽤于循环变量的初始化
//表达式2 ⽤于循环结束条件的判断
//表达式3 ⽤于循环变量的调整
for(表达式1; 表达式2; 表达式3)

例子:打印1~10的数字

#include <stdio.h>

int main() 
{
     int i = 0;
     for(i=1; i<=10; i++)
     {
         printf("%d ", i);
     }
 
    return 0;
}

运行结果:

76cf3a0b73b94abd8bfbc8e5c11db9d3.png

 

本人写作水平有限,如有错误,敬请各位大佬批评指正!

 

 

 

相关推荐

  1. C语言分支循环语句—while

    2024-02-01 21:04:01       20 阅读
  2. C语言分支循环语句

    2024-02-01 21:04:01       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-01 21:04:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-01 21:04:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-01 21:04:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-01 21:04:01       18 阅读

热门阅读

  1. tar解压之后属主和属组不是当前用户问题

    2024-02-01 21:04:01       28 阅读
  2. 台达dvp16es2plc-qt串口通信协议

    2024-02-01 21:04:01       28 阅读
  3. C++入门

    C++入门

    2024-02-01 21:04:01      23 阅读
  4. 使用android辅助服务监听Activity打开

    2024-02-01 21:04:01       23 阅读
  5. 被审查?ChatGPT陷入数据风波!

    2024-02-01 21:04:01       31 阅读
  6. M1芯片MAC 安装MySQL、Nacos遇到的问题

    2024-02-01 21:04:01       32 阅读