C中的流程控制
一、 流程控制
l 顺序结构:默认的流程结构。按照书写顺序执行每一条语句。
l 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
l 循环结构:在给定条件成立的情况下,反复执行某一段代码。
二、 选择结构-if
1. 简单使用
l if (表达式) 语句1;
u if(count>50) 开班; 上课;
l if(表达式) 语句1; else 语句2;
u f(count>50) 开班; else 不开班;
l if(表达式) { }
u if(count>50) {开班; 布置课室;} else {}
u { }的作用域
l if -else if-else
u if(a==0) else if (a>0) else
u 特点:只有一个括号会被执行
l 复合条件
u 上课时间的取值范围(9~12 || 14 ~17)
l 陷阱
u if(a!=0) { a不是0;} else {a是0;}
u if (a); { }
u if (a=0)
u a == 0;
u if (10) int a = 9;
2. 习题
1> 输入一个整数day代表星期几,根据day的值输出对应的星期几,比如day==1,就输出“星期一”
2> 输入一个整数month代表月份,根据月份输出对应的季节。
春季:3、4、5
夏季:6、7、8
秋季:9、10、11
冬季:12、1、2
3> 输入一个整数score代表分数,根据分数输出等级(A-E)(用两种方式)
A:90~100
B:80~89
C:70~79
D:60~69
E:0~60
三、 选择结构-switch
1. 简单使用
l switch(表达式) { case 数值1: break; … default: break;}
l 举例
int a = 10;
switch (a) {
case 0:
printf("这是一个0");
break;
case 5:
printf("这是一个5");
break;
case 10:
printf("这是一个10");
break;
default:
printf("什么也不是");
break;
}
l 简述break的作用
l 在case中定义变量
2. if和switch的对比
l 很多情况可以互换
l if用得比较多,比较灵活,switch只能某个单值
3. 习题
用switch替代if实现if中的习题
四、 循环结构-while
1. 简单使用
l 连续printf(“俯卧撑”)20次;
l while(表达式) { }
l continue:输出5次休息一下
l break的使用:某次的时候停止循环
2. 特点
只有条件成立才会执行循环体
3. 习题
1> 提示用户输入一个正整数n,计算1+2+3+…+n的和
2> 提示用户输入一个正整数n,计算1-2+3-4+5-6+…+n的和
4. 陷阱
while(条件);
五、 循环结构-do while
l 特点:一定会执行一次循环体
l while和do while循环对比
int i=0;
while(i<0){
i++;
}
int i=0;
do{
i++;
} while(i<0);
六、 循环结构-for
1. 简单实用
l 运行过程
l 初始化语句等可以是多句(把printf放到for的括号中)
2. for循环嵌套
好友列表1
好友1
好友2
好友列表2
好友1
好友2
好友列表3
好友1
好友2
3. 陷阱
1> 死循环 for(;;);
2> for循环体内部变量的作用域
3> 作用域混淆
for (int i = 0; i<5; i++) int a = 10;
4. while循环和for循环的比较
l 可以互换
l for循环的变量可以及时回收
5. 习题
1> 提示用户输入一个正整数n,如果n5,就输出下列图形,其他n值以此类推
2> 输出九九乘法表
七、 break和continue
1. break
l 使用场合:switch\循环结构
l 循环嵌套下的break
2. continue
l 使用场合:循环结构
l 循环嵌套下的continue
C中的流程控制的更多相关文章
- Java中的流程控制(三)
关于Java中的流程控制 关于Java中的流程控制 4.do while语句 do while语句的功能和while语句差不多,只不过它是在执行完第一次循环后才检测条件表达式的值,这意味着包含在大括号 ...
- Python基础之:Python中的流程控制
目录 简介 while语句 if 语句 for语句 Break Continue pass 简介 流程控制无非就是if else之类的控制语句,今天我们来看一下Python中的流程控制会有什么不太一样 ...
- python中的流程控制
目录 引言 流程控制的分类 分支结构 单if结构 if与else结构 if与elif与else结构 if分支的嵌套 循环结构 while循环 while + break循环 while + conti ...
- Java中的流程控制(二)
关于Java程序的流程控制(二) 关于Java程序的流程控制(二) 3.switch选择语句 switch语句用于将一个表达式的值同许多其他值比较,并按比较结果选择下面该执行哪些语句. switch( ...
- Java中的流程控制(一)
程序的流程控制(一) 关于Java程序的流程控制(一) 从结构化程序设计角度出发,程序有三种结构: 顺序结构 选择结构 循环结构 1.顺序结构 就是程序从上到下一行行执行,中间没有判断和跳转. 2.i ...
- Java中的流程控制
1.Java中有几种流程控制?分别是什么? 答:有三种流程控制,分别是顺序流程,分支流程和循环流程 2.分支语句if/else有哪三种形式?分别如何使用? 答:if/if-else-/if-else ...
- 在NodeJS中使用流程控制工具Async
本文介绍一款流程控制工具async,在编写接口或者编写测试用例的过程中总是会用到它. 由于nodejs是异步编程模型,有一些在同步编程中很容易做到的事情,现在却变得很麻烦.Async的流程控制就是为了 ...
- 赶紧收藏!这些Java中的流程控制知识你都不知道,你凭什么涨薪?
Java的流程控制 基础阶段 目录: 用户交互Scanner 顺序结构 选择结构 循环结构 break & continue 练习题 1.Scanner对象 之前我们学的基本语法中并没有实现程 ...
- python编程中的流程控制
内容概要 成员运算 身份运算 流程控制 详细 1.成员运算 定义:判断某个个体在不在某个群体内 关键词:in(在) /// not in(不在) 例: num_list = [1, 2, 3, 4, ...
随机推荐
- SpringAOP使用扩展
在<初识Spring>中我们了解到Spring支持AOP且可配置方法的前置曾强和后置曾强,但其实Spring支持多种曾强类型.下面同过一些例子来介绍Spring的几种常用的曾强(前置增强和 ...
- Redis代码阅读之Hacking Strings
Hacking Strings The implementation of Redis strings is contained in sds.c ( sds stands for Simple Dy ...
- Model元数据定制与Model模板
元数据这一词对于计算机科学来说不算陌生,对元数据的解释最简单的解释就是描述数据的数据,那么Model元数据当然是描述Model中各种成员的数据了,在ASP.NET MVC中ModelMetadata这 ...
- [DBW]js获取当前时间(昨天、今天、明天)
开发过程中某些前台页面的时间控件我们需要给默认当前时间,jquery可以轻松的帮我们实现,代码如下 1 //昨天的时间 2 var day1 = new Date(); 3 day1.setTime( ...
- iTextSharp快速使用指南
前言 最近公司一直使用iText开发PDF报表,使用一段时间之后发现iText这个类库虽然是庞大无比,但作为程序猿我们不需要知道所有的类和方法,我们只需要知道如何使用即可. 所以这篇文章就是告诉大家如 ...
- jquery表单选择器
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 双系统下删除Linux系统方法和Windows无法启动问题的解决方法
装了一个linux,后面直接把它删掉了,结果电脑重启的时候重启不了,总是一开机就出现 grub> 心中无比的恼火,后面想不通了,就打算直接重装系统,结果重装系统的过程中遇到了问题,B ...
- hdu-1213-How Many Tables
How Many Tables Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- Nuget很慢,我们该怎么办
在VS中给项目添加程序已经采用NuGet 十分方便 不过很多时候速度很慢,一直显示“正在检索信息” 其实直接使用程序包管理控制台,速度就会好很多 如果命令不太会写,安装包名不是确认,可以先登录 htt ...
- 【笔记】InnoDB内存分配
原文:http://www.mysqlperformanceblog.com/2006/05/30/innodb-memory-usage/ 有很多问题是有关InnoDB如何分配内存的.这里我试图解释 ...