黑马程序员——C语言基础04—程序控制
2015-11-11 09:02
232 查看
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
一、 程序控制
顺序结构:默认的流程结构,按照书写顺序执行每一条语句。
选择结构对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。有if语句和switch语句。
循环结构再给定条件成立的情况下,反复执行某一段代码。
有while语句和for语句。
二、选择结构
1.if语句
1)if语句的一般形式:
if(表达式1){
语句1
语句2
}
表达式可以是关系表达式/逻辑表达式/甚至是数值表达式。
2)if 的其他形式
3)if语句的嵌套
if ()
if()语句1
else 语句2
else
if()语句3
else 语句4
4) if 的应用 通过输入成绩判断等级
5)if 语句的注意问题:
2.switch 语句
1)switch语句格式
表达式可以是整形的常量/整形变量,返回值为整形的表达式。
如果case后面定义新的变量,必须用‘{ }’。
如果语句后面无break语句,则程序将按照顺序执行所有的case语句。
因为 case具有穿透性。
三、循环结构
1.while语句
while语句一般表达式:
当给定的条件表达式语句为真,则执行循环体语句,否则不执行循环体。
循环体如果包含一个以上的语句,应该用大括号扩起来,作为符合语句出现。如果没有括号,则while语句执行循环的范围就是知道while后面的第一个分号处。所以 while(1);由于空语句对出现,造成了死循环。
2. continue 语句
contimue 在这的作用时当满足本循环语句的条件表达式时,直接结束本次循环,进入到下一次。可以用continue筛选并输出一定范围内n的倍数。
3. break语句
break 通常用于switch 语句和循环语句中,目的是当进入该循环时直接结束循环体。但是在多重嵌套中,只对内部循环体有效。
4.do..while型
1)语句格式:
它的特点是:先无条件的执行循环体,然后再判断循环条件是否成立。
与while的不同之处就是,while先判断后执行,而do…while是先执行后判断。
6.for 循环(重点)
1)for循环语句格式:
2)先判断语句1是否符合条件要求,当条件成立,则执行循环体,然后执行变量增值,再进行判断。
3)for循环有很大的用处,在之前的求值两个数大小,到以后的遍历数组、冒泡排序、选择排序中都能用上for循环。
4)最简单的for循环死循环
5)for 循环嵌套
输出9*9乘法表:
表达思想:for循环外层控制行数,内层控制列数。
![](http://img.blog.csdn.net/20151111090020827)
如图所示。
一、 程序控制
顺序结构:默认的流程结构,按照书写顺序执行每一条语句。
选择结构对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。有if语句和switch语句。
循环结构再给定条件成立的情况下,反复执行某一段代码。
有while语句和for语句。
二、选择结构
1.if语句
1)if语句的一般形式:
if(表达式1){
语句1
语句2
}
表达式可以是关系表达式/逻辑表达式/甚至是数值表达式。
2)if 的其他形式
1》if(表达式)语句1 (没有else成分) 2》if (表达式1){ 语句1 }else if(表达式 2){ 语句2 }else if (表达式3){ 语句3 }else{ 语句4 }
3)if语句的嵌套
if ()
if()语句1
else 语句2
else
if()语句3
else 语句4
4) if 的应用 通过输入成绩判断等级
if (score>=90 && score<=100) { // [90, 100] printf("A\n"); } else if (score>=80) { // [80, 89] printf("B\n"); } else if (score>=70) { // [70, 79] printf("C\n"); } else if (score>=60) { // [60, 69] printf("D\n"); } else { // (-∞, 59] printf("E\n"); } return 0; }
5)if 语句的注意问题:
1》 if(条件) 语句1; 语句2; //此时条件成立时,语句1、2都执行,若条件不成立,则语句2执行。 2》 if(10) printf("a"); else printf("b"); //永真式 ,永远输出a。 if(5>6); { printf("A"\n); } return 0; //永假式 数值输出为A,因为if(5+6)后面的“;”,使得语句成为空语句。 3》 int a =100; if (a=0) printf("a等于0\n"); else printf("a不等于0\n"); //始终输出后者。
2.switch 语句
1)switch语句格式
switch (表达式){ case 常量1 :语句1; break; case 常量2 : 语句2 break; case 常量3 : 语句3 ... default : }
表达式可以是整形的常量/整形变量,返回值为整形的表达式。
如果case后面定义新的变量,必须用‘{ }’。
如果语句后面无break语句,则程序将按照顺序执行所有的case语句。
因为 case具有穿透性。
2) if和switch的对比 if用得比较多,比较灵活,if语句能完成的功能switch 不一定能实现,switch只能某个单值; switch能完成的,if也能完成; 有些情况下,两者可以互换。
三、循环结构
1.while语句
while语句一般表达式:
while (条件表达式){ 循环体语句; }
当给定的条件表达式语句为真,则执行循环体语句,否则不执行循环体。
循环体如果包含一个以上的语句,应该用大括号扩起来,作为符合语句出现。如果没有括号,则while语句执行循环的范围就是知道while后面的第一个分号处。所以 while(1);由于空语句对出现,造成了死循环。
2. continue 语句
while (count<50) { ++count; if (count%10 == 0) { continue; // 直接结束这一次循环体,进入下一次循环 } printf("做第%d次俯卧撑\n", count); }
contimue 在这的作用时当满足本循环语句的条件表达式时,直接结束本次循环,进入到下一次。可以用continue筛选并输出一定范围内n的倍数。
3. break语句
break 通常用于switch 语句和循环语句中,目的是当进入该循环时直接结束循环体。但是在多重嵌套中,只对内部循环体有效。
while (count<50) { ++count; if (count%10 == 0) { break; // 直接结束整个循环体 } printf("做第%d次俯卧撑\n", count); }
4.do..while型
1)语句格式:
do { 循环体; } while(条件表达式);
它的特点是:先无条件的执行循环体,然后再判断循环条件是否成立。
与while的不同之处就是,while先判断后执行,而do…while是先执行后判断。
6.for 循环(重点)
1)for循环语句格式:
for(语句1;条件;语句2){ 循环体; } //语句1是初始化语句,语句2是增量语句。
2)先判断语句1是否符合条件要求,当条件成立,则执行循环体,然后执行变量增值,再进行判断。
for (int count = 0; count < 50; count++) { printf("做俯卧撑\n"); }
3)for循环有很大的用处,在之前的求值两个数大小,到以后的遍历数组、冒泡排序、选择排序中都能用上for循环。
4)最简单的for循环死循环
for(;;);
5)for 循环嵌套
输出9*9乘法表:
表达思想:for循环外层控制行数,内层控制列数。
#include <stdio.h> int main(int argc, const char * argv[]) { for (int i=1; i<=9; i++) { for (int j=1; j<=i; j++) { printf("%d*%d=%d\t",j,i,j*i); } printf("\n"); } return 0; }
如图所示。
相关文章推荐
- C++面向对象操作符重载:调用操作符和函数对象
- c#和c++互操作(平台调用相关)
- C++实现调用C#(CLI)方法
- struct 区别 在C 和C++ 中
- C C++ 文件输入与输出
- C++primer--泛型算法初识
- Cocoa开发——PIPE通讯框架
- 反转二进制数输出十进制值
- c++中将文件内容清空
- C++内存管理
- C语言实现文件实时更新
- C++11新特性之 default and delete specifiers
- C++11新特性之 default and delete specifiers
- C语言编写的文本文件/二进制文件格式互换
- leetcode笔记:Best Time to Buy and Sell Stock
- C/C++连接MySql数据库
- 用C语言实现“智障”的棋盘游戏
- C语言中移位、逻辑运算符的简单应用
- 黑马程序员——C语言基础 03—基本运算符
- 串的KMP模式匹配算法(C语言优化)