C语言第七节流程控制

  1. 流程控制

  • 顺序结构:默认的流程结构。按照书写顺序执行每一条语句。
  • 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
  • 循环结构:在给定条件成立的情况下,反复执行某一段代码。

?

?

  1. 选择结构-if

  1. 简单使用

  • if (表达式) 语句1;
  • if(count>50) 开班; 上课;

?

  • if(表达式) 语句1; else 语句2;
  • f(count>50) 开班; else 不开班;

?

  • if(表达式) { }
  • if(count>50) {开班; 布置课室;} else {}
  • { }的作用域

?

  • if -else if-else
  • if(a==0) else if (a>0) else
  • 特点:只有一个括号会被执行

?

  • 复合条件
  • 上课时间的取值范围(9~12 || 14 ~17)

?

  • 陷阱
  • if(a!=0) { a不是0;} else {a是0;}
  • if (a); { }
  • if (a=0)
  • a == 0;
  • if (10) int a = 9;

?

  1. 习题

  2. 输入一个整数day代表星期几,根据day的值输出对应的星期几,比如day==1,就输出"星期一"
  3. 输入一个整数month代表月份,根据月份输出对应的季节。

春季:3、4、5

夏季:6、7、8

秋季:9、10、11

冬季:12、1、2

  1. 输入一个整数score代表分数,根据分数输出等级(A-E)(用两种方式)

A:90~100

B:80~89

C:70~79

D:60~69

E:0~60

?

  1. 选择结构-switch

  1. 简单使用

  • switch(表达式) { case 数值1: break; … default: break;}
  • 举例

int a = 10;

switch (a) {

case 0:

printf("这是一个0");

break;

case 5:

printf("这是一个5");

break;

case 10:

printf("这是一个10");

break;

default:

printf("什么也不是");

break;

}

  • 简述break的作用
  • 在case中定义变量

?

  1. if和switch的对比

  • 很多情况可以互换
  • if用得比较多,比较灵活,switch只能某个单值

?

  1. 习题

用switch替代if实现if中的习题

?

  1. 循环结构-while

  2. 简单使用

  • 连续printf("俯卧撑")20次;
  • while(表达式) { }
  • continue:输出5次休息一下
  • break的使用:某次的时候停止循环
  1. 特点

只有条件成立才会执行循环体

  1. 习题

  1. 提示用户输入一个正整数n,计算1+2+3+…+n的和
  2. 提示用户输入一个正整数n,计算1-2+3-4+5-6+…+n的和

    1. 陷阱

while(条件);

?

  1. 循环结构-do while

  • 特点:一定会执行一次循环体
  • while和do while循环对比

int i=0;
while(i<0){
i++;
}

?

int i=0;
do{
i++;
} while(i<0);

?

  1. 循环结构-for

  1. 简单实用

  • 运行过程
  • 初始化语句等可以是多句(把printf放到for的括号中)

?

  1. for循环嵌套

好友列表1

????好友1

????好友2

好友列表2

????好友1

????好友2

好友列表3

????好友1

????好友2

?

  1. 陷阱

  2. 死循环 for(;;);
  3. for循环体内部变量的作用域
  4. 作用域混淆

for (int i = 0; i<5; i++) int a = 10;

?

  1. while循环和for循环的比较

  • 可以互换
  • for循环的变量可以及时回收

?

  1. 习题

    1. 提示用户输入一个正整数n,如果n5,就输出下列图形,其他n值以此类推

  1. 输出九九乘法表

?

  1. break和continue

  1. break

  • 使用场合:switch\循环结构
  • 循环嵌套下的break

?

  1. continue

  • 使用场合:循环结构
  • 循环嵌套下的continue

内容来源:传智播客李明杰老师授课内容

时间: 2024-10-10 04:03:25

C语言第七节流程控制的相关文章

08-流程控制

本文目录 流程控制 选择结构-if 选择结构-switch 循环结构-while 循环结构-do  while 循环结构-for break 和 continue 回到顶部 一. 流程控制 1> 顺序结构:默认的流程结构.按照书写顺序执行每一条语句. 2> 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码. 3> 循环结构:在给定条件成立的情况下,反复执行某一段代码. 回到顶部 二. 选择结构-if 1. 简单使用 1> if (表达式)  语句1; 1) if(

嵌入式linux C++语言(七)——继承与派生

嵌入式linux C++语言(七)--继承与派生 一.继承 在C++编程中软件可重用性(software reusability)是通过继承(inheritance)机制来实现的.类的继承,是新的类从已有类那里得到已有的特性.或从已有类产生新类的过程就是类的派生.原有的类称为基类或父类,产生的新类称为派生类或子类. 派生类的声明:class 派生类名:[继承方式] 基类名{派生类成员声明:};    一个派生类可以同时有多个基类,这种情况称为多重继承,派生类只有一个基类,称为单继承. 继承方式规

黑马程序员 ---- C 语言的运算及流程控制

C 语言的运算及流程控制         一. 运算部分:         C语言中的类型转换  强制类型转换 int b = (int) 10.5          // double -> int 自动类型转换 int a = 10.6 // double -> int int b = 10.5 + 1.7  // 自动将大型转换为了小数类型,会丢失精度 自动类型提升 int b = 10.5 +10;  // int -> double       将右边的10 提升为了doubl

window启动程控制

1.启动服务管理(RPC) 2.开启远程选项 3.开启防火墙允许 window启动程控制

iOS学习笔记---oc语言第七天

类的扩展 NSDate是Cocoa中用于处理日期和时间的基础类,封装了某一给定的时刻,具体的日期 时间和时区 使用+date方法获取当前日期和时间 1 NSDate *date = [NSDate date];//获取当前时间 2 NSLog(@"%@",date);//无论你是哪个时区的时间,打印的总是o时区的时间 3 NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:60*60*8];//从现在开始之后的时间 4 NSLog(

PIC12F629帮我用C语言写个程序,控制三个LED亮灭

http://power.baidu.com/question/240873584599025684.html?entry=browse_difficult PIC12F629帮我用C语言写个程序,控制三个LED亮灭! 2014-12-31 16:05DINZEYU  分类:C/C++ | 浏览 87 次 C语言VC++ 按键按一次LED1低亮,按两次高亮,按三次2HZ闪,按三次关,按键长按3秒松开LED2亮,长按3秒松开LED2灭,按键长按5秒松开LED3亮,长按5秒松开LED3灭,每个功能独

【零基础学习iOS开发】【02-C语言】09-流程控制

前言 1.默认的运行流程 默认情况下,程序的运行流程是这样的:运行程序后,系统会按书写顺序执行程序中的每一行代码.比如下面的程序 1 #include <stdio.h> 2 3 int main() 4 { 5 6 printf("Hello-1\n"); 7 printf("Hello-2\n"); 8 printf("Hello-3\n"); 9 10 return 0; 11 } 程序运行后,会按顺序执行第6.7.8行语句,于

c语言实现的协程

这几天突然对协程感兴趣,于是自己实现了一个,代码放在github上:https://github.com/adinosaur/Coro 协程是一种用户空间的非抢占式线程,主要用来解决等待大量的IO操作的问题. 协程vs线程 对比使用多线程来解决IO阻塞任务,使用协程的好处是不用加锁,访问共享的数据不用进行同步操作.这里需要说明的一点是,使用协程之所以不需要加锁不是因为所有的协程只在一个线程中运行,而是因为协程的非抢占式的特点.也就是说,使用协程的话,在没主动交出CPU之前都是不会被突然切换到其它

黑马程序员—C语言的基本运算以及流程控制学习的注意点

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 在学习基本算法与流程控制之前,先补充在学习C语言基础语法时的变量内存分析以及scanf函数的一些用法注意. 一.变量内存分析:不同的数据类型所占用的字节是不一样的,数据越大,所占用的字节数就越多,在系统分配内存时,内存寻址是由大到小的,在系统中验证输出内存地址的C语言语句是:printf("变量的内存地址是:%p" , &变量名).其中&是一个地址运算符,用来取得变量