C语言中的循环结构与选择结构
1. 为什么使用循环?
重复执行某段代码
2. while(条件){
循环体;
}
当条件成立的时候就执行循环体,条件不成立,就退出循环,继续执行while后面的语句
3. for ( 初始表达式 ; 条件 ; 表达式3){
循环体;
}
初始表达式只执行一次,然后判断条件是否成立 ,成立的话就执行循环体,然后再执行表达式3;当条件不成立的时候就退出循环。
4. break 可以中断循环
continue结束本次循环,继续判断条件是否成立,继续下一次循环
5. do {
循环体;
} while (条件);
1. 默认情况下,程序是顺序执行的
2. 我们程序员可以改变程序的执行顺序
3. 程序的基本结构有三种:顺序结构、选择结构、循环结构
4. 选择结构主要有两种:if...else 和switch
5. if(条件表达式) {
语句块
}
程序执行到if语句时,先判断条件表达式是否成立 ,如果成立,就执行语句块,如果不成立 ,就执行if语句后面的代码。
6. if(条件表达式) {
语句块1
} else {
语句块2
}
程序执行时,先判断条件表达式是否成立 ,如果成立 ,执行语句块1;如果不成立,就执行语句块2.
7. 多层if
if ( 条件表达式1 ) {
语句块1
} else if (条件表达式2) {
语句块2
} else if (条件表达式3) {
语句块3
} else {
语句块4
}
先判断条件表达式1,如果条件1成立,执行语句块1,执行完后,继续执行if语句后面的代码;
条件表达式1如果不成立的话, 再判断条件表达式2,如果成立,执行语句块2;如果不成立的话,再判断条件表达式3,如果条件3成立,执行语句块3,如果不成立,就执行语句块4.
8. if语句可以嵌套
if ( 条件1 ){
if (条件1.1){
} else {
}
}else {
if( 条件2.1) {
} else if (条件2.2) {
}
}
9. 建议,在使用if的时候,语句块都用 大括弧{} 括起来
10. switch语句,多分支选择语句
switch ( 表达式 ) {
case 值1 :
语句块1;
break;
case 值2 :
语句块2;
break;
case 值3 :
语句块3;
break;
default:
语句块n;
break;
}
10.1当表达式的值是一些离散值的时候,可以用switch结构进行选择
10.2 case后面的值不能重复
10.3 每个case后面都有一个break语句,可以跳出switch结构,如果case 值1:后面的语句块中没有break语句,程序会继续执行case值2,直到遇到break语句或者执行完switch结构。
10.4 default如果不是放在最后的话,也需要有break语句
10.5 case 没有先后顺序,即使default语句,也可以放在前面
10.6 switch结构也可以嵌套
11. 提醒大家,如果需要用户输入数据的时候,首先要判断用户输入数据的合法性,在进行用户输入数据合法性检查时,一般有两种处理方式:一是不合法的数据,直接返回,不往下执行了;第二方式是:设置一个标志,当用户输入不合法数据时,修改标志的值,再根据标志的值进行判断是否向下执行。
练习:输入一个字母,判断该字母对应的星期几,如果一个字母不能完全表示,要求输入第二个字母
作业0:输入一个月份,输出对应的季度,
如果输入12或者1或者2,输出冬天
作业1:输入一个时间,输出这个时间之后的一秒
输入:15:59:34
输出:15: 59:35
输入:23:59:59
输出:00:00:00
作业二:输入一个日期,输出当前日期是这一年的第几天
2016-3-3
输出: 63
1. 输入一个矩形的长和宽,输出矩形的面积
2. 输入一个圆的半径,输出圆的面积和周长
3.从键盘上输入三个数,输出其中最大数和最小数
4.从键盘上输入三个数,按从大到小排序输出
5.编写程序输入月份和日期,给出对应的星座。下面是星座计算表:
3月21日~4月20日 白羊
4月21日~5月20日 金牛
5月21日~6月20日 双子
6月21日~7月22日 巨蟹
7月23日~8月22日 狮子
8月23日~9月22日 处女
9月23日~10月22日 天秤
10月23日~11月22日 天蝎
11月23日~12月22日 人马
12月23日~1月20日 摩羯
1月21日~2月20日 宝瓶
2月21日~3月20日 双鱼
C语言中的循环结构与选择结构的更多相关文章
- C 语言入门第五章--循环结构和选择结构
C语言中有三大结构,分别是顺序结构.选择结构和循环结构: 逻辑运算: 与运算: && 或运算:|| 非运算:! ==== #include<stdio.h> int mai ...
- Java程序流程控制:判断结构、选择结构、循环结构
本文内容: 判断结构 if 选择结构 switch 循环结构 while do-while for for each break.continue return 首发时间:2017-06-22 21: ...
- java顺序结构、循环结构、选择结构
java顺序结构.选择结构.循环结构 顺序结构: 语句与语句之间,框与框之间是从上到下的顺序进行的,它是由若干个依次执行的处理步骤执组成的,它是任何一个算法都不离开的一种基本算法结构. 选择结构: 1 ...
- C语言中两个相同类型的结构体变量之间是可以相互直接赋值的
C语言中,在相同类型的变量间赋值时是直接内存复制的,即将他们的内存进行复制,而两个同类型的结构体变量属于同一种变量,所以赋值时是按照他们的内存分布来直接拷贝的.所以,在C语言中两个相同类型的结构体变量 ...
- 黑马程序员——JAVA基础之程序控制流结构之判断结构,选择结构
------- android培训.java培训.期待与您交流! ---------- 程序控制流结构:顺序结构:判断结构:选择结构:循环结构. 判断结构:条件表达式无论写成什么样子,只看最终的结构是 ...
- C语言程序设计第四次作业--选择结构(2)
(一)改错题 输出三角形的面积和周长,输入三角形的三条边a.b.c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数):否则,输出"These sides do ...
- C- 流程控制(顺序结构,选择结构,循环结构)
一.选择结构 1.if 特点: 同一时刻,只有一个大括号里面的代码会被执行 2,switch 特点 默认情况下,只有一个case后面的代码会被执行 如果一个case后面没有break,而且这个case ...
- C语言程序设计第三次作业--选择结构(1)
Deadline: 2017-10-29 22:00 一.学习要点 掌握关系运算符和关系表达式 掌握如何判断两个实数相等 掌握常用数学函数的使用 掌握逻辑运算符和逻辑表达式 理解逻辑运算的短路特性 掌 ...
- C语言程序设计第四次作业——选择结构(2)
Deadline: 2017-11-5 22:00 一.学习要点 掌握switch语句 掌握字符常量.字符串常量和字符变量 掌握字符型数据的输入输出 二.实验内容 完成PTA中选择结构(2)的所有题目 ...
随机推荐
- TRichTextBox – A universal RichTextBox which can display animated images and more
TRichTextBox – A universal RichTextBox which can display animated images and more trestan, 7 Dec 201 ...
- CentOS7上让Jexus开机自启动
昨天刚用了一下CentOS7,很自然的就安装了mono和Jexus,用的都是目前最新版mono4.2.2.10和jexus5.8.0 mono和jexus的具体安装方法,园子里已经有了很多教程,这里就 ...
- 一道java算法题分析
最近在面试中遇到这样的一道算法题: 求100!的结果的各位数之和为多少? 如:5!=5*4*3*2*1=120,那么他们的和为1+2+0=3这道题不算难,不过倒是注意的细节也有 ...
- 提高生产性工具(四) - XML数据库的尝试
首先祝大家新年快乐.身体健康,平安就是福气. 对于一般的个人迷你项目,数据量不大的时候,完全没有必要使用数据库,管理数据使用XML就可以了. 自己尝试写了一个XML数据库,插入1w条小记录,大概3M大 ...
- 如何改变 FMX ListView 颜色
需求:改变 ListView 颜色 适用:Firemonkey 任何平台 操作:Style 是改变控件外观最便捷的途径,ListView 也不例外,下面示范使用 StyleBook 来设定 ListV ...
- 基于类型系统的面向对象编程语言Go
(整理自网络) 面向对象编程 Go语言的面向对象编程(OOP)非常简洁而优雅.说它简洁,在于它没有了OOP中很多概念,比如:继承.虚函数.构造函数和析构函数.隐藏的this指针等等.说它优雅,是它的面 ...
- Verilog学习笔记简单功能实现(五)...............序列检测设计
这里采用夏宇闻教授第十五章的序列检测为例来学习; 从以上的状态转换图可以写出状态机的程序: module seqdet(x,out,clk,rst); input x,clk,rst; output ...
- ahjesus可供C#使用的ip地理位置查询插件
http://dev.maxmind.com/geoip/geoip2/downloadable/#MaxMind_APIs 详情请阅读此链接及相关内容
- java多线程-线程通信
线程通信的目标是使线程间能够互相发送信号.另一方面,线程通信使线程能够等待其他线程的信号. 通过共享对象通信 忙等待 wait(),notify()和 notifyAll() 丢失的信号 假唤醒 多线 ...
- easyui textarea回车导致datagrid 数据无法展示的问题
textarea换行 在easyui中的datagrid中使用行内编辑时textarea的换行保存到mysql数据库为\n在textarea中输入回车符 在js读取textarea中的值有\r\n然后 ...