c语言选择结构语句

总结一下常用的if else与switch,其中switch中的break知识点是笔试题经常考到的内容。

if else与else if

在C语言中,经常使用if else选择语句,来实现很多对应的功能,此部分简单易学,却是基础中的基础。特记录一下,供像我当初一样学编程迷茫的初学者参考。

一 直接使用if-else语句

int num;
scanf("%d",&num)
if(num==1)
{
   printf("you input is 1\n");
}
else 
    printf("you input is another\n");

上面的代码表示,如果num=1,输出you input is 1。如果不是,输出you input is another。

这是最基本的选择语句。if或者else条件后面只有一条语句时,花括号可写可不写,不加的话记得缩进,为了美观和规范,一般写上。

二 嵌套使用if else、else if语句

先来看下面的代码

#include<stdio.h>
 
int main()
{
 
    int a,b,c;
 
    scanf("%d",&a);//输入a
 
    if(a==0)  //如果a等于0,进入,
    {
        printf("welcome here\n");
 
        scanf("%d",&b); //输入b
 
        if(b==5)   //判断b是不是等于5,如果等于,输出you intput is 5,该函数体结束
        {
            printf("you intput is 5\n");
        }
        else if(b>5)
        {
            printf("More than 5\n"); 
        }
        else
        {     
            printf("Less than 5\n");    //如果不满足b>=5,打印Less than 5,函数结束
        }
    } //end for if(a==0)
    else
        puts("hello world");
}

 

一个if对应一个else,需要注意配对。在编写代码的时候,如果使用的if-else较多,应当注意添加相应的花括号,增加代码的可读性。在使用了if以后,如果不需要另外的条件判断,就可以不使用else。当括号较多时,通常在右括号}后面注释上是属于哪段的括号,以免混淆。

----------------------------------------------------------分割线------------------------------------------------------

switch-case

C语言中,switch的执行规则是,判断case后面的常量和switch后面的表达式是否相匹配,如果匹配,就执行case后面的程序代码,直到遇到break退出。

#include<stdio.h>
 
int main() 
{
int num;
 
while(1)
{
    printf("******************************************\n"); //界面
    printf("-------------主菜单界面------------------\n");
    printf("------------1:输出hello-------------------\n");
    printf("------------2:输出world------------------\n");
    printf("------------3:输出welcome--------------\n");
    printf("------------4:注销------------------------\n");
    printf("******************************************\n");
    printf("请选择:\n");  
    scanf("%d",&num);  //输入选项
 
    switch(num)
    {
 
    case 1:
        printf("hello\n");
    break;    //break表示跳出switch选择结构,记住,是跳出switch,不是跳出循环
 
    case 2:
       printf("world\n");
    break;
 
    case 3:
       printf("welcome\n");
    break;
 
    case 4:
       sleep(1); //等待1s后
       exit(0); //表示直接退出函数
 
    default:   //表示如果输入1,2,3,4之外的选项,就直接退出switch
    break;
 
    }
 
}
 
return 0;
 
}

分析:

1、说明一下switch case语句中的break。break是可加可不加的。比如case 1后面没有break,那么当我们输入1,匹配成功,

就会打印hello。然后会自动往下走,执行case 2后面的语句,直到遇到break。如果case 2还是没有break,就会继续往下执行case 3中的语句,遇到break后结束。如果后面都没有break,就会依次执行整个switch case中的程序。

举个栗子,比如下面这个程序。

int n=10;

switch (n++)
{
	default:
		break;
	case 10:
		printf("123");
	case 5:
		printf("456");
		break;
	case 6:
		printf("789");
		break;
}

将会输出,123456。因为case 10: 满足条件,打印123,但是没有break,程序继续往下执行,打印456,遇到break后退出。

--------------------------------------------分割线--------------------------------------------------------------------------

2、exit(0)表示正常运行程序并退出。    exit(1)表示非正常运行程序导致退出。一般0表示正常退出,非0为异常。

在单个程序中看不出作用,但是如果在一个程序中调用别的程序,这个返回值就可以看出来调用的程序运行有没有异常。

下一篇 C语言循环

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值