C/C++教程

C2 分支和循环语句

本文主要是介绍C2 分支和循环语句,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

  • 什么是语句
  • 分支语句
    • if
      • 1. 0表示假,非0表示真(-1也是真)
      • 2. 语法结构(可以单分支也可以多分支):
      • 3. 悬空else 语句
      • 4. if书写形式的对比
    • switch
      • 整型是必要的
      • 不加break也可能是需求;
      • default 语句
      • 可以嵌套
  • 循环语句
    • while
      • break 跳出while 循环
      • continue 终止本次循环
    • for
    • do while
  • goto 语句

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

什么是语句

 C语言的语句分为以下5类:
 表达式语句
 函数调用语句
 控制语句
 复合语句
 空语句
 
 之后介绍控制语句:用于控制函数的执行流程,以实现程序的各种结构方式,由特定的语句定义符组成,C有9种
 可分为以下三类
 1. 条件判断语句,即分支语句:if 、while
 2. 循环执行语句     do while、while、for
 3. 转向语句: break、goto、continue、return

分支语句

if

1. 0表示假,非0表示真(-1也是真)

if(18<age<30)                  //age =10;
 {                             //18<10-->0,0<30-->1,  if(1) 
    printf("%d ",age);
 	语句1;
 }
if(表达式)
 {
 	语句1;                        //不加大括号,只能跟一个语句
 }
 else(表达式)                      // 这里 if else 合成一条语句
 {
 	语句2;
 }

2. 语法结构(可以单分支也可以多分支):

if(表达式)        //多分支
 {
 	语句1;
 }
 else if(表达式)
 {
 	语句2;
 }
 else (表达式)
 {
  	语句3;  
 }

3. 悬空else 语句

    else总是与离他最近的if 匹配;利用大括号分隔
    做好代码分隔,int a = 10;(大概是便于修改)   //《高质量c/c++编程》

在这里插入图片描述
在这里插入图片描述

4. if书写形式的对比

// 代码1  
if(condition)           //1,2的效果是一致的   函数执行到return 0 ,就结束;
	return x;            // 但这种写法不好,代码2是规范写法
return y;
//代码2
if(condition)
	return x;
else
	return y;
  1. debug
    所以比较时, 把常量放在左边,更好
int main()
{
		int num = 1;
		if (m=5)                            //误写(m==5) 这时不会报错,会错误地执行下去
		       printf("A");    
		if ( 5=m)                            //误写(5==m) error:左操作目不等于左值
		       printf("A");                         
}

switch

常常应用于多分支

int main()
{
	int day = 0;
	scanf("%d", &day);
	switch(day)                            //day 的值只决定了入口,没给出口
	{
		case 1:
			printf(“星期1\n”);
		case 2:
			printf(“星期2\n”);
       case 3:
			printf(“星期3\n”);
			break;                        // 适当加break,可以跳出;
		case 4:                           // 没有break 一直执行,直到遇到break;
			printf(“星期4\n”);
		case 5:
			printf(“星期5\n”);		
	}
return 0;
}

整型是必要的

switch(整型表达式)
{
	case 整型常量表达式:
		语句;
}

不加break也可能是需求;

int main()
{
	int day = 0;
	scanf("%d", &day);
	switch(day)                            // day 的值只决定了入口,没给出口
	{
		case 1:
		case 2:                          
        case 3:
		case 4:
		case 5:                          // 保留入口标签
			printf(“工作日\n”);	
			break;
		case 6:
		case 7:
			printf(“休息日\n”);	
			break;			             // 最后一个break 可加可不加,但考虑到后续可能增加case 
		// case 8:
	}                                                          
return 0;
}

default 语句

int main()
{
	int day = 0;
	scanf("%d", &day);
	switch(day)                        
	{
		case 1:
		case 2:                          
        case 3:
		case 4:
		case 5:                       
			printf(“工作日\n”);	
			break;		           
		default :                        // 处理额外情况
			printf("输入错误");    // 没有顺序要求
			break;                      // 其他位置的话,不要漏掉break;
	}                                                          
return 0;
}

可以嵌套

在这里插入图片描述
// 5 3

循环语句

while

在这里插入图片描述

break 跳出while 循环

int main()
{
	int i =  1;
	while(i<=10)
	{
		if(5==i)
			break;                                  // 1 2 3 4
		printf("%d", i);
		i++;	 
	}
	return0 ;
}

continue 终止本次循环

直接跳到while ,重新判断条件

int main()
{
	int i =  1;
	while(i<=10)
	{
		if(5==i)
			continue;               // 1 2 3 4 _ 开始前三句的死循环
		printf("%d", i);
		i++;	                    // 遇到continue,之后的代码不再执行
	}
	return0 ;
}

for

do while

goto 语句

这篇关于C2 分支和循环语句的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!