初学者对分支语句和循环语句的浅述(C语言)

Posted 张同学吧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初学者对分支语句和循环语句的浅述(C语言)相关的知识,希望对你有一定的参考价值。

分支语句

1.if语句

格式:

格式:
if(表达式1){
	语句列表;//如果表达式的结果为真,则语句执行
}
语法结构:
//单分支
if(表达式)
    语句;
//双分支
if(表达式)
 	语句1;
else
    语句2;
//多分支    
if(表达式1){
    语句1;
}
else if(表达式2){
	语句2;
} 
else{
    语句3;
}

初学者应该养成加花括号的好习惯,方便分析代码的结构。如果不加括号,else只会匹配上面离他最近的if

2.switch语句

(1)switch语句常常用于多分支的情况。等价于if…else if…else;在switch语句中有case、break、default等关键字;break语句的实际效果是把语句列表划分为不同的部分。
(2)如果没有break那switch循环会在case语句中贯穿,一直到有break、或default为止。除了break,也可以用return、throw等来代替。
(3)case标签的目标值只能是唯一的值
(4)对于多个case标签的输入如果都是一样的则可以简写:
  如:case 1:
    case 2:
      执行语句
(5)如果表达式是所有的标签都不匹配的值时,你可以在语句列表中增加一条default子句,当 switch表达式的值并不匹配所有case标签的值时,这个default子句后面的语句就会执行。每个switch语句中只能出现一条default子句。
注意switch表达式的参数包括整形,char,枚举,或相应可以为null的类型,bool和string也可以,除C语言都可以使用

#include <stdio.h>
int main()
{
    int day = 0;
    switch(day)
   {
        case 1printf("星期一\\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;
   }
    return 0;
}

3…三元运算符

适用于判断有两个结果的情况,可读性较差,在取两者较大或较小值时经常用到。

(关系表达式) ? 表达式1 : 表达式2;
int a = 2;
int b = 1;
int c = (x > y) ? x : y;//如果a大于b 则是true,执行表达式1;
						//如果a不大于b 则是false,执行表达式2;

循环语句:

1.while语句

while (表达式)
{
        语句;
}

还有一个do while语句,先执行一次do中的语句,再判断表达式;

do{
	语句;
}
while(表达式);

2.for语句

for(表达式1;表达式2;表达式3);

1.不建议在for循环当中修改循环变量,防止循环容易失去控制。
2.在写循环控制变量的取值时,最好用前闭后开的形式。
比如取1-100:for(int i=1;i<101;i++)
3. 循环过程:从第二次循环开始,不会执行表达式1。直到表达式2不成立。
表达式1:初始条件;表达式2:判断条件;表达式3:步进
4.for语句和while语句可以等价转化。

3.continue和break

continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。对于for循环,continue后是会继续执行表达式3,进行下一次循环,只要是for循环,每次循环结束都会自动执行表达式3进行下一次循环,直到满足结束循环的条件为止。
break语句就简单粗暴,直接跳出所有循环,并且终止后面的循环,循环语句不再执行。

4.死循环三种情况

(1)goto死循环(因为安全性较低,所以goto基本不用)

int a=1;
loop:
if(i==1)
 goto loop;

(2)、for(){}当for循环的第二个表达式没有条件时,就会导致死循环。
(3)、while (1)或者do{}while (1)时死循环;

几个入门代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int measure(int x, int y) {//求最大公约数,辗转相除法
	if (x <= y) {
		int m = 0;
		m = y;
		y = x;
		x = m;
	}
	int z = y;
	while (x % y != 0) {
		z = x%y;
		x = y;
		y = z;
	}
	return z;
	}
int main()//暴力枚举法求最大公约数
{
	int a = 18;
	int b = 24;
	int c = 0;
	while(c=a%b)
	{
		a = b;
		b = c;
	}
	printf("%d\\n", b);
	return 0;
}
int main() {//计算1000-2000年之间的所有闰年
	int i = 0;
	for (int i = 1000; i <=2000; i++)
	{
		if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
		printf(" %d\\t", i);
	}
}

同为初学者,希望我写的文章能为你带来一些帮助,加油年轻人!

以上是关于初学者对分支语句和循环语句的浅述(C语言)的主要内容,如果未能解决你的问题,请参考以下文章

二c语言初阶之分支和循环

二c语言初阶之分支和循环

C语言分支语句与循环语句

C语言☀️分支语句和循环语句,一篇文章就够了☀️(详细讲解+代码演示+图解)赶快收藏吧

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

python中的分支语句和循环语句