温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C语言循环与分支语句实例分析

发布时间:2022-04-13 10:40:48 来源:亿速云 阅读:123 作者:iii 栏目:开发技术

本篇内容主要讲解“C语言循环与分支语句实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言循环与分支语句实例分析”吧!

    写在开始

    0表示假,非0表示真。

    1. 分支语句

    分支语句也叫做条件选择语句,主要分为if语句和switch语句。

    1.1 if语句

    if()…{} else if()…{} else {}

    代码解释:

    #include<stdio.h>  
    //这里是引入“printf”函数所在的头文件,大家在使用函数时要记得把函数的头文件加上哦
    int main()
    {
       int a = 1, b = 2, c = 3;
       if (a > c)  printf("a比c大");
       else if (a > b) printf("a比b大");
       else (printf("a比b和c都小"));
    }

    C语言循环与分支语句实例分析

    分析:

    在if(a>c)中a>c为假,故会跳过printf(“a比c大”);,接下来会运行else if,而a>b也为假,故会向下执行else的语句"a比b和c都小",最终如上图所示。

    注:如果在第一个if里面条件成立了那之后的else if和else语句都将不会被运行。

    • if()&hellip;{}&hellip;else {}

    理解完第一种方法后面这两种方法也就不难理解了,在这个语句中少了if else语句,因此对比上一种方法这种语句在运行时跳过了else if的判断与执行阶段。

    或者我们可以这样理解:在这里其实else if也存在,比如以这种方式:else if(0) {expression;}

    • if() &hellip;{}

    关于这个语句想必不用我多说了吧,相信聪明的小伙伴们自己便能明白了。

    总结:

    在if()的括号内填入条件,如果条件成立时,将会执行后面大括号(代码块)里的的表达式,而若条件不成立时,系统将会直接跳过表达式去执行else if 的判断,条件成立则运行else if 后面的代码块,反之则跳过,最后如果都不符合条件的话则会直接执行else后的语句。

    1.2 switch

    switch语句一般是和循环语句一起搭配使用的,现在先了解一下switch语句是怎么使用的。

    代码格式:

    switch(a)//a是一个整形变量
    {
       case 1:expression1;//不一定要写case 1,可以是任意a所能取值的数
       break;
       case 2:expression2;
       break;
       ....
       default:expression;
    }

    在switch()里放入一个整形变量a,程序会根据a的值跳转到对应的case 语句并执行,而执行到break时程序便会跳出switch语句,如果没有对应的case语句则会执行default语句.下面请看实例来了解:

    //将数字转换成其在一周内的位置
    int main()
    {
    	int day = 0;
    	scanf("%d",&day);//通过键盘向变量day输入一个整数
    	switch (day){
    	case 1:printf("周一"); 
    		break;
    	case 2:printf("周二"); 
    		break;
    	case 3:printf("周三");
    		break;
    		//中间的我省略了,这里代码演示主要是为了让大家了解功能,长篇大论也不太好
    	case 7:printf("周日");
    		break;
    	default:printf("请输入正确的数字");
    	}
    	return 0;
    }

    前面说了break的作用是跳出switch语句,现在给大家看看如果没有break的效果吧:

    C语言循环与分支语句实例分析

    既然没有跳出去那就继续执行下一个语句呗,没有问题。break语句其实并不是每个case语句后面都要加上,有些时候只在必要的地方加上就可以达到我们想要的效果了.

    2. 循环语句

    循环语句主要分为三种:for语句,while语句和do while语句,这三种语句都是可以做到相互转换的,一般来说for语句会方便点,不过最终用哪种还是看具体问题和个人的喜好吧。

    2.1 while()语句

    while(condition)
    {
        expression;
    }

    解释:

    condition 为判断条件。

    expression 为条件为真时执行的语句。

    运行时:

    while()语句首先是判断括号里面表达式的真值,如果条件为真(非0),则会运行后面的代码块,运行完之后会再一次的进入条件判断阶段,如果条件还为真,则会继续运行直至条件为假(0)时跳出循环。

    这里给大家出个小题目吧,随便复习下刚刚讲的if语句(不会也不要紧的,慢慢来,这里只是给大家加深点印象)

    1.打印10以内的奇数。

    有没有小伙伴是这样写的呢:printf("%d%d%d%d%d", 1, 3, 5, 7, 9);

    哈哈结果没问题,不过咱们可是要当程序员的人呐

    int main()
    {
    	int i = 0;//在声明一个变量时记得给它赋值,这一部叫做变量的初始化
    	while (i <= 10) {
    		if (i % 2 == 1)  //符号“==”是判断是否相等,可以理解为数学中的等于号
    		//"%"为取模,比如10%3=1,是取余数
    			printf("%d", i);
    		i++; //  i++的意思是先使用i自己的值,然后使自己的值加1,这里可以看成是  i = i + 1;
    	}
    	return 0;
    }

    该注意的点我已近在代码里注释了,如果还有不懂的可以在评论区提问,当然如果有问题也还请大佬们指出,YU同学先感谢大家了。

    2.2 do while()语句

    do while()语句与while语句区别不大,正如它的名字一样,它在运行是会提前执行一遍代码块里面的内容,然后再进行判断while()里面的真值,后面的就与while()语句是一样的,接下来给大家演示一下do while ()语句的格式:

        do {
            expression;
        }while (condition);

    2.3 for 语句

    代码格式:

    for(expression1;condition;espression2)
    {
        expression;
    }

    解释:

    expression1 是给循环变量赋予初始值。(这时在开始循环的时候进行的,后面循环的时候不会再运行这个代码)

    condition 是每次循环时判断的条件,若条件真值为真这继续运行代码块里面的语句,为假则会跳出for循环。

    expression2 一般是对赋值变量的操作,让程序能达到自己想要的效果。

    运行时:

    程序会先进行对循环变量的赋值,而后进行条件判断,为真则执行后面的代码块,为假则退出循环,再执行完代码块后程序会通过condition2进行对循环变量的操作,然后进入下一次循环的判断阶段,以此类推。

    for语句中表达式的省略

    注:语句可以省,但分号不能省的,就算全省了也要写成for( ; ; )这样

    • 省略expression1

    省略这一步则会跳过for循环时给循环变量赋值的部分,如果省略需要再for循环之前设定好循环变量的初始值。

    • 省略condition

    condition为循环条件,当省略 它时系统会默认条件真值为1,即条件永远为真,这样程序会陷入死循环而崩溃,是不能省略的。

    • 省略expression2

    可省略,省略完后系统将跳过执行代码块后对循环变量的操作,因次就要把对循环变量的操作放到代码块中了。

    break在循环语句中的作用

    程序运行时遇到break语句时不论当前条件的真值是否为假都会会直接跳出循环,下面给大家看个例子:

    int main()
    {
    	int i = 1;
    	for (i = 0; i<10; i++)
    	{
    		if (i == 6)
    			break;
    		printf("%d",i);
    	}
    	printf("\n%d", i);//前面打印一个空行
    }

    C语言循环与分支语句实例分析

    程序的结果是012345 6

    过程解释:在循环变量i=5时,if(i==6)条件不通过,并没有运行break语句,然后继续在屏幕打印5,之后通过i++使得i变成6,从而使得if(i==6)为真,程序运行时执行了break后跳出了循环,没有打印6和进行之后的循环,而后面的6时在循环外打印的,此时i=6,故打印出了一个六在下一行。

    continue 在循环语句中的应用

    continue 是使程序跳出本次循环去执行下一次循环

    注:是跳出本次循环的执行代码块部分,前面讲过for循环在执行完代码块后还会有一步对循环变量的操作,这一部分是不会被跳过的。

    下面看看效果:

    对于while和do while

    int main()
    {
    	int i = 0;
    	while(i<10)
    	{
    		if (i == 6)
    			comtinue;
    		printf("%d",i);
    		i++;
    	}
    	printf("\n%d", i);//前面打印一个空行
    }

    C语言循环与分支语句实例分析

    程序出现了在一直闪光标,出现死循环。

    分析:当i=6时运行了continue跳出了本次循环进入下一次循环,可下一次循环还是有i=6(i++语句在continue之后,没有没运行),一直重复从而出现死循环。

    对于for

    int main()
    {
    	int i = 0;
    	for (i = 0; i<10; i++)
    	{
    		if (i == 6)
    			continue;
    		printf("%d",i);
    	}
    	printf("\n%d", i);
    }

    C语言循环与分支语句实例分析

    这次打印少为12345789 10,少了一个6,但程序并没有出现死循环正是上面说说的,for循环中对循环变量处理的一部分不会被跳过。

    到此,相信大家对“C语言循环与分支语句实例分析”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI