0
点赞
收藏
分享

微信扫一扫

分支和循环语句

月半小夜曲_ 2022-02-18 阅读 49
c语言

什么是语句?

C语句可分为以下五类:

  1. 表达式语句
  2. 函数调用语句
  3. 控制语句
  4. 复合语句
  5. 空语句

控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,C语
言有九种控制语句。
可分成以下三类:

  1. 条件判断语句也叫分支语句:if语句、switch语句;
  2. 循环执行语句:do while语句、while语句、for语句;
  3. 转向语句:break语句、goto语句、continue语句、return语句。

分支语句

分支语句(选择结构)
如果你早睡早起,每天的生活都非常有规律,那么你就会有一具强健的体魄
如果你天天熬夜,每天都过着不健康的生活,那么你的身体会越来越差
这就是选择!

if语句

if语句的语法结构

if(表达式)
    语句;
//if(表达式)
//    语句1;
//else
//    语句2;
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age >= 18)
		printf("成年\n");
	else
		printf("未成年\n");

	return 0;
}
//多分支    
//if(表达式1)
//    语句1;
//else if(表达式2)
//    语句2;
//else
//    语句3;
 int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age < 18)
	{
		printf("青少年\n");
		printf("好好学习\n");
	}
	//if与elseif 后面默认只能跟一条语句
	else if (age >= 18 && age < 30)//&& 并且
		printf("青年\n");
	else if (age >= 30 && age < 50)
		printf("中年\n");
	else if (age >= 50 && age < 90)
		printf("老年\n");
	else
		printf("老寿星\n");
	return 0;
}

如果条件成立,要执行多条语句,怎应该使用代码块?

#include <stdio.h>
int main()
{
    if(表达式)
   {
        语句列表1}
    else
   {
        语句列表2}
    return 0; 
}

这里的一对 { } 就是一个代码块

悬空else

//写法一
#include <stdio.h>
int main()
{
    int a = 0;
    int b = 2;
    if(a == 1)
        if(b == 2)
            printf("hehe\n");
    else
        printf("haha\n");
    return 0; }
//写法二
#include <stdio.h>
int main()
{
	int a = 0;
	int b = 2;
	if (a == 1)
		if (b == 2)
			printf("hehe\n");
		else
			printf("haha\n");
	return 0;
}

观察以上两个代码会发现else的位置有所不同,而语句一的写法就是有问题的它的写法会误导我们误以为if(a == 1)与else是一起的,正确的写法应该是写法二,else只与最近的if匹配,更好一些的写法是:

#include <stdio.h>
int main()
{
	int a = 0;
	int b = 2;
	if (a == 1)
	{ 
		if (b == 2)
			printf("hehe\n");
		else
			printf("haha\n");
	}
	return 0;
}

这个时候有人就说我就想要if(a == 1)与else是一起的怎么办?
那么我们还是加{}

#include <stdio.h>
int main()
{
	int a = 0;
	int b = 2;
	if (a == 1)
	{
		if (b == 2)
			printf("hehe\n");
	}
	else
	{
		printf("haha\n");
	}
			return 0;
}

由以上可见,良好的代码风格是非常有必要的

举报

相关推荐

0 条评论