黑马程序员--ios基础--c语言--流程控制
来源:互联网 发布:sql主键怎么设置 编辑:程序博客网 时间:2024/04/28 01:14
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一.流程控制
- 顺序结构:默认的流程结构。按照书写顺序执行每一条语句。
- 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
- 循环结构:再给定条件成立的情况下,反复执行某一段代码
二.选择结构——if
- 1.简单使用
- if(表达式)语句1:
int a = -10; if (a>1) printf("A\n");
- if(表达式)语句1;else语句2;
// 人数 int count = 40; if ( count >= 50 ) { printf("开班!!!\n"); printf("准备机器!!!\n"); } else { printf("不开班!!!\n"); printf("不准备机器!!!\n"); }
- if(表达式){}
int count = 40; if ( count >= 50 ) { printf("开班!!!\n"); printf("准备机器!!!\n"); }
- if——else if——else
int a = 6; if (a++ > 10) // a == 7 { printf("A\n"); } else if (a++ > 5) // a == 8 { printf("B\n"); } else if (a++ > 3) { printf("C\n"); } else { printf("D\n"); }
练习
#include <stdio.h>int main(){ // 1.提示输入 printf("请输入分数值:\n"); // 2.接收输入 int score; scanf("%d", &score); // 3.判断等级 (性能最高) 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;}
三.选择结构-switch
1.简单使用
switch(表达式){case 数值1:break;...default:break;}
int a = 10; // break:退出整个switch语句 // 如果case后面没有break,就会执行后面所有case中的语句,直到遇到break为止 int b = 10; switch (a) { case 10: printf("A\n"); b++; case 5: printf("B\n"); b++; case 0: printf("C\n"); b++; break; default: printf("D\n"); break; }
2. if和switch的对比
很多情况可以互换
if用得比较多,比较灵活,switch只能某个单值
如果要在case后面定义新的变量,必须用大括号{}括住
char c = '+'; int a = 10; int b = 20; // 如果要在case后面定义新的变量,必须用大括号{}包住 switch (c) { case '+': { int sum = a + b; printf("和是%d\n", sum); break; } case '-': { int minus = a - b; printf("差是%d\n", minus); break; } }
四.循环结构——while
1.简单使用
while(表达式){}
// 1.先确定需要重复执行的操作 // 2.再确定约束条件 // 定义一个变量记录做的次数 int count = 0; while (count<50) { ++count; if (count%10 != 0) { printf("做第%d次俯卧撑\n", count); } }
continue:
while (count<50) { ++count; if (count%10 == 0) { // 直接结束这一次循环体,进入下一次循环 continue; } printf("做第%d次俯卧撑\n", count); }
break的使用:某次的时候停止循环
while (count < 50) { ++count; printf("做第%d次俯卧撑\n", count); if (count == 20) { break; } }
2.特点
只有条件成立彩绘执行循环体
五.循环结构-do while
特点:一定会执行一次循环体
while和do while循环对比
#include <stdio.h>int main(){ int i = 0; /* while (i<0) { i++; // 5 }*/ do { i++; // 5 } while (i<0); printf("i=%d\n", i); return 0;}
六.循环结构-for
1.简单使用
运行过程
初始化语句等可以是多句(把printf放到for的括号中)
#include <stdio.h>int main(){ /* "做俯卧撑"50次 */ /* int count = 0; for ( ; count < 50; ) { printf("做俯卧撑\n"); count++; }*/ /* for (int count = 0; count < 50; ) { printf("做俯卧撑\n"); count++; }*/ /* for (int count = 0; count < 50; count++) { printf("做俯卧撑\n"); }*/ /* for (int count = 0; count < 50; printf("做俯卧撑\n"),printf("哈哈哈\n"),count++) { }*/ return 0;}
2.for循环嵌套
#include <stdio.h>int main(){ for (int i = 1; i<=4; i++) { //printf("好友列表%d\n", i + 1); printf("好友列表%d\n", i); /* printf(" 好友1\n"); printf(" 好友2\n"); printf(" 好友3\n"); printf(" 好友4\n"); printf(" 好友5\n");*/ for (int j = 1; j<=7; j++) { printf(" 好友%d\n", j); } } return 0;}
3.陷阱
- 死循环
for(;;);
- for循环体内部变量的作用域
- 作用域混淆
- while循环和for循环的比较
可以互换
for循环的变量可以及时回收
七.break和continue
1.break
使用场合:switch、循环结构
循环嵌套线的break
2.continue
使用场合:循环结构
循环嵌套下的continue
int main(){ /* for (int i = 0; i<5; i++) { printf("%d\n", i); if (i%2) { // i为奇数:1、3 continue; } }*/ /* for (int i = 0; i<5; i++) { printf("哈哈哈\n"); continue; printf("哈哈哈23\n"); }*/ for (int i = 0; i<3; i++) { for (int j = 0; j<2; j++) { if (j==1) { break; } printf("A\n"); } break; printf("B\n"); } return 0;}
0 0
- 黑马程序员--ios基础--c语言--流程控制
- 黑马程序员-IOS开发之--C语言基础一流程控制
- 黑马程序员-IOS-C语言基础-流程控制
- 黑马程序员IOS基础---C语言学习之流程控制
- 黑马程序员—IOS基础(C语言流程控制)
- 黑马程序员-IOS基础之C语言流程控制
- 黑马程序员--C语言基础-流程控制
- 黑马程序员--程序流程控制
- 黑马程序员--ios基础--c语言--基础语法、基本运算
- 黑马程序员--ios基础--c语言--函数
- 黑马程序员--ios基础--c语言--指针
- 黑马程序员--ios基础--c语言--结构体、枚举
- 黑马程序员---iOS学习基础---C语言基础知识回顾
- 黑马程序员-IOS开发之--C语言基础-复杂数据类型等
- 黑马程序员-IOS开发之--C语言基础一数据类型,常量,变量
- 黑马程序员-IOS开发之--C语言基础一运算符,表达式
- 黑马程序员-IOS开发之--C语言基础一函数,字符串,指针,数组,
- 黑马程序员-iOS基础-C语言基础(三)流程控制及函数
- 阿萨德撒旦的撒
- 撒打算的撒
- Ember.js 的初学者指南
- Broadcom方案PPPoE实现分析
- Java利用正则表达式统计某个字符串出现的次数
- 黑马程序员--ios基础--c语言--流程控制
- [Leetcode] Search for a Range
- POJ 1579 解题报告
- Linux有问必答:如何在Linux下禁用IPv6
- openvpn安装配置过程
- POJ 1519 解题报告
- 天龙八部3d组队玩法详解 怎么组队创建队伍
- POJ 3062 解题报告
- 以HTTP方式共享当前文件夹的文件