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较多,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语言结构选择语句的更多相关文章
- go语言选择语句 switch case
根据传入条件的不同,选择语句会执行不同的语句.下面的例子根据传入的整型变量i的不同而打印不同的内容: switch i { case 0: fmt.Printf("0") case ...
- C语言第五讲,语句 顺序循环选择.
C语言第五讲,语句 顺序循环选择. 一丶语句的简明了解 我们知道,在编写C语言程序的时候,代码是顺序执行的. 从上往下执行. 但是我们可以控制流程的. 在控制之前,我们要先熟悉什么是语句. 相比大家学 ...
- Golang的选择结构-switch语句
Golang的选择结构-switch语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.选择语句应用场景概述 选择结构也称为条件判断,生活中关于判断的场景也非常的多,比如: ( ...
- Golang的选择结构-if语句
Golang的选择结构-if语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.选择语句应用场景概述 选择结构也称为条件判断,生活中关于判断的场景也非常的多,比如: ()登录Q ...
- 选择结构if语句和switch语句的区别
------- android培训.java培训.期待与您交流! ---------- 1.选择结构if语句格式及其使用 A:if语句的格式: if(比较表达式1) { 语句体1; }else if( ...
- php入门 数据类型 运算符 语言结构语句 函数 类与面向对象
php PHP-enabled web pages are treated just like regular HTML pages and you can create and edit them ...
- 03-03 java 顺序语句结构,选择结构if语句
顺序结构: /* 流程控制语句:可以控制程序的执行流程. 分类: 顺序结构 选择结构 循环结构 顺序结构: 从上往下,依次执行. */ class ShunXuJieGouDemo { public ...
- 你好,C++(19)“老师,我这次四级考试过了没有?”——4.2 条件选择语句
4.2 条件选择语句 “老师,我这次四级考试过了没有?” 如果老师被问到这个问题,他会如何回答?是的,他会根据不同的条件选择不同的回答: 如果考试成绩大于等于60,那就回答:“恭喜你,你通过了这次考 ...
- Java 语言结构【转】
Java 语言结构 基础:包(Package).类(Class)和对象(Object) 了解 Java 的包(Package).类(Class)和对象(Object)这些基础术语是非常重要的,这部分内 ...
随机推荐
- angular6路由参数的传递与获取
1.访问路由链接:/test/id 路由配置: {path: 'test/:id', component: TestComponent} html传参: <a href="javasc ...
- CentOS6和CentOS7进入单用户模式重置root密码
一.前言 如果在Linux系统下root密码丢失或者需要破解物理机器用户密码,可以通过进入系统单用户模式进行重置root密码.本文介绍CentOS6和CentOS7两个系统版本进行root密码重置. ...
- 使用where 过滤数据
--本章主要内容是MySQL中使用where搜索条件进行过滤数据. where条件在from子句后面给出,如下所示: select name,price from shops where price& ...
- 更改CSDN博客皮肤的一种简易方法
CSDN改版后,皮肤设置变得不能够更改了,不过下面这种方法依然可以做到: 首先来到博客设置的主页面:. 接下来按ctrl + shift + i进入 如下页面,然后点击图中红色标记圈起来的选择元素按钮 ...
- Redis两种持久化策略分析
Redis专题地址:https://www.cnblogs.com/hello-shf/category/1615909.html SpringBoot读源码系列:https://www.cnblog ...
- 如何利用PS将照片背景替换为白色
需求:将照片中的蓝底换成白底: 操作步骤: 1.打开图片,点击背景图层: 2.利用套索,选中除背景外的区域: 3.右键,反选: 4.填充为“白色”,确定,保存:
- unittest---unittest封装方法
前面我们写了一个关于查询歌曲的接口测试,但是代码重复性比较大,进行一次简单的优化 封装方法 在编写自动化脚本的时候,都要求代码简介,上一篇unittest---unittest断言中代码重复性比较多, ...
- jQuery使用工具集
//jq-util.js$.extend({ Util:{ /* 浏览器 */ browser:{ IE: !!document.all, IE6: !!document.all && ...
- Java设计模式13:责任链模式
前言 来菜鸟这个大家庭10个月了,总得来说比较融入了环境,同时在忙碌的工作中也深感技术积累不够,在优秀的人身边工作必须更加花时间去提升自己的技术能力.技术视野,所以开一个系列文章,标题就轻松一点叫做最 ...
- SpringBoot应用篇(二):SpringSecurity实现带验证码的登录认证 附代码
一.文章简介 本文简要介绍了spring security的基本原理和实现,并基于springboot整合了spring security实现了基于数据库管理的用户的登录和登出,登录过程实现了验证码的 ...