总结一下常用的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较多,www.cdxsxbx.com应当注意添加相应的花括号,增加代码的可读性。在使用了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语言结构选择语句的更多相关文章

  1. go语言选择语句 switch case

    根据传入条件的不同,选择语句会执行不同的语句.下面的例子根据传入的整型变量i的不同而打印不同的内容: switch i { case 0: fmt.Printf("0") case ...

  2. C语言第五讲,语句 顺序循环选择.

    C语言第五讲,语句 顺序循环选择. 一丶语句的简明了解 我们知道,在编写C语言程序的时候,代码是顺序执行的. 从上往下执行. 但是我们可以控制流程的. 在控制之前,我们要先熟悉什么是语句. 相比大家学 ...

  3. Golang的选择结构-switch语句

    Golang的选择结构-switch语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.选择语句应用场景概述 选择结构也称为条件判断,生活中关于判断的场景也非常的多,比如: ( ...

  4. Golang的选择结构-if语句

    Golang的选择结构-if语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.选择语句应用场景概述 选择结构也称为条件判断,生活中关于判断的场景也非常的多,比如: ()登录Q ...

  5. 选择结构if语句和switch语句的区别

    ------- android培训.java培训.期待与您交流! ---------- 1.选择结构if语句格式及其使用 A:if语句的格式: if(比较表达式1) { 语句体1; }else if( ...

  6. php入门 数据类型 运算符 语言结构语句 函数 类与面向对象

    php PHP-enabled web pages are treated just like regular HTML pages and you can create and edit them ...

  7. 03-03 java 顺序语句结构,选择结构if语句

    顺序结构: /* 流程控制语句:可以控制程序的执行流程. 分类: 顺序结构 选择结构 循环结构 顺序结构: 从上往下,依次执行. */ class ShunXuJieGouDemo { public ...

  8. 你好,C++(19)“老师,我这次四级考试过了没有?”——4.2 条件选择语句

    4.2  条件选择语句 “老师,我这次四级考试过了没有?” 如果老师被问到这个问题,他会如何回答?是的,他会根据不同的条件选择不同的回答: 如果考试成绩大于等于60,那就回答:“恭喜你,你通过了这次考 ...

  9. Java 语言结构【转】

    Java 语言结构 基础:包(Package).类(Class)和对象(Object) 了解 Java 的包(Package).类(Class)和对象(Object)这些基础术语是非常重要的,这部分内 ...

随机推荐

  1. Vue-兄弟组件传值

    学习博客:https://www.jianshu.com/p/b10b3ac3729a

  2. CCF-CSP题解 201803-3 URL映射

    题目要求写一个简易的URL规则和URL地址匹配的程序. 说说我的思路. 将URL规则和地址都截成片段用结构体\(<type, str[]>\)存储.对于URL规则,\(type\)为0代表 ...

  3. Java 打印Word文档

    本文介绍如何在Java程序中通过物理打印机和虚拟打印机来打印Word文档的方法.文中使用了类库Spire.Doc for Java,可通过官网下载jar文件并导入程序或者直接通过maven仓库安装导入 ...

  4. Linux CPU占用率监控工具

    关键词:top.perf.sar.ksar.mpstat.uptime.vmstat.pidstat.time.cpustat.munin.htop.glances.atop.nmon.pcp-gui ...

  5. QT删除整个文件夹

    故事背景:因为客户端要清理旧版本以及日志文件,所以需要删除一个月以前的所有文件夹 技术调研:在程序中我想把文件夹直接删除,但是调用QDir中的rmdir()或者rmpath()时要求文件夹必须是非空的 ...

  6. Python活力练习Day3

    Day3:请输入星期几的第一个字母来判断是星期几,如果第一个字母一样,则继续判断第二个字母. #这是一道典型的题,一次输入一个字母,首字母匹配一个list里的内容.如果匹配到多个,再输入并匹配第二个字 ...

  7. UWP 在ShellPage.xaml.cs 中导航至其他页面引发System.Exception

    最近有一个需求,需要App监测网络变化,并在网络变化的同时用户,你切网啦,并且导航至一个切网的特定页面. 和Android.iOS的小伙伴后共同发现,人家有一个类似”拦截器“的框架,可以拦截App发出 ...

  8. 一起学SpringMVC之国际化

    随着网络的发展,在Web开发中,系统的国际化需求已经变得非常的普遍.本文主要讲解SpringMVC框架对多语言的支持,仅供学习分享使用,如有不足之处,还请指正. 什么是国际化? 国际化(interna ...

  9. C#中PadLeft,PadRight的用法

    今天在遇到一个需求的时候,需要一个字符串实现自增.是根据数据库中一个自增的int类型的值,实现自增的.但是要加上前缀.比如,数据库中有一个自增的值,为,2.那么这个自增的值后面的值就位3.4.5.6. ...

  10. Delphi 调用C# 编写的DLL方法

    近来,因工作需要,必须解决Delphi写的主程序调用C#写的dll的问题.在网上一番搜索,又经过种种试验,最终证明有以下两种方法可行:    编写C#dll的方法都一样,首先在vs2005中创建一个“ ...