黑马程序员——C语言基础 流程控制 选择结构和循环结构
---恢复内容开始---
Java培训、Android培训、iOS培训、.Net培训、期待与您交流!
(以下内容是对黑马苹果入学视频的个人知识点总结)
(一)流程控制
1> 顺序结构:默认的流程结构。按照书写顺序执行每一条语句。
2> 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
3> 循环结构:在给定条件成立的情况下,反复执行某一段代码。
(二)选择结构-if
.if的第1种结构
if(条件)
{
语句1;
语句2;
......
} .if的第2种结构
if(条件1)
{
语句1;
语句2;
......
}
else
{ } .if的第3种结构
if(条件1)
{
语句1;
语句2;
......
}
else if(条件2)
{
}
else if(条件3)
{
}
else if(条件4)
{
}
else
{
}
.if的第4种结构
if (条件)
语句1;
以上是if的几种运用方法、
(三)选择结构-switch
应用switch(表达式) { case 数值1: break; … default: break;}
#include <stdio.h> int main()
{
//int a = 10;
// break:退出整个switch语句
// 如果case后面没有break,就会执行后面所有case中的语句,直到遇到break为止
char c = '+';
int a = ;
int b = ;
// 如果要在case后面定义新的变量,必须用大括号{}包住
switch (c) {
case '+':
{
int sum = a + b;
printf("和是%d\n", sum);
break;
} case '-':
{
int minus = a - b;
printf("差是%d\n", minus);
break;
}
} return ;
}
1)if和switch的对比
1>通常很多情况下,他们是可以互换的 但是if用的更多一些,而且运用比较灵活,switch只能用于单值,引用的比较少。最主要的是if语句能完成的功能,switch并不一定能完成,switch能完成的功能,if语句都能完成。
(四)循环结构-while
while (条件)
{
循环体
}
1>运行原理
①如果一开始条件就不成立,永远不会执行循环体
②如果条件成立,就会执行一次循环体,执行完毕,再次判断条件是否成立......
break
直接结束整个while循环
continue
结束当前的循环体,进入下一次循环体的执行
#include <stdio.h> int main()
{
// 1.先确定需要重复执行的操作 // 2.再确定约束条件 // 定义一个变量记录做的次数
int count = ; /*
while (count<50)
{
++count; if (count%10 != 0)
{
printf("做第%d次俯卧撑\n", count);
}
}*/ /*
while (count<50)
{
++count; if (count%10 == 0)
{
// 直接结束这一次循环体,进入下一次循环
continue;
} printf("做第%d次俯卧撑\n", count);
}*/ while (count < )
{
++count; printf("做第%d次俯卧撑\n", count); if (count == )
{
break;
}
} return ;
}
使用循环时主要是之一循环次数变量选对,而且循环可以嵌套的。注意关键词break和continue的灵活运用。
1>循环结构do while
与while相比较,最主要的特点是一定会执行一次循环体。
int i=;
while(i<){
i++;
} int i=;
do{
i++;
} while(i<);
while和do-while的区别
1.很多情况下,while和do while可以互换
2.while特点:如果一开始的条件不成立,永远不会执行循环体
do while特点:不管一开始的条件是否成立,至少会执行一次循环体
3.最好使用while
(五)循环结构 for
for (语句1; 条件; 语句2) {
循环体
}
1>for一开始就会执行一次语句1(整个for循环只会执行一次)
2>判断条件是否成立,如果条件成立,就会执行一次循环体,然后就会执行语句2,再次判断条件是否成立
使用时应该注意一下:①不要随便在for()后面写分号 ②错误:变量a的作用域不明确,如果要在循环体中定义新的变量,必须用大括号{}包住③循环体内定义变量只能再循环体内用,有时候有可能会变成死循环。
for循环是可以循环嵌套的
/*
提示用户输入一个正整数n,如果n=5,就输出下列图形,其他n值以此类推
*****
****
***
**
*
*/ #include <stdio.h> int main()
{
// 1.定义一个变量存储用户输入的值
int n = ; // 一定要初始化 // 2.判断n值合不合理
while (n <= )
{
// 2.1 提示用户输入正整数
printf("请输入一个正整数:\n"); // 2.2 接收输入的数据
scanf("%d", &n);
} // 3.输出图形
for (int i = ; i<n; i++)// 有多少行
{
//printf("*****\n");
for (int j = ; j<n-i; j++)
{ // 每一行有多少个
printf("*");
} printf("\n");
} return ;
}
(六)break和continue
1> break
①使用场合:switch\循环结构
②循环嵌套下的break
2>continue
① 使用场合:循环结构
②循环嵌套下的continue
黑马程序员——C语言基础 流程控制 选择结构和循环结构的更多相关文章
- 黑马程序员——C语言基础语法 关键字 标识符 注释 数据及数据类型
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)C语言简单介绍 (1)C语言程序是由函数组成的任何C语言程序都是由一 ...
- 黑马程序员——OC语言基础语法 面向对象的思想
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结)(一)基础语法 1)关键字 @interface.@implementati ...
- 黑马程序员——C语言基础 函数
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)函数的定义 1> 任何一个C语言程序都是由一个或者多个程序段( ...
- 黑马程序员——C语言基础 枚举 宏定义 自定义 static exterm
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)枚举 1)枚举类型的定义 枚举是C语言中的一种基本数据类型,并不是构 ...
- 黑马程序员——C语言基础 scanf函数 基本运算 三目运算符
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)scanf函数 1> 简单介绍一下scanf函数 这是在 ...
- 黑马程序员——C语言基础 指针
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)指针 首先指针是C语言中非常重要的数据类型,如果你说C语言中除了指针 ...
- 黑马程序员——C语言基础 char字符 数组
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)char类型 1)存储细节 ASCII单字节表(双字节GBK\GB2 ...
- 黑马程序员——C语言基础 变量类型 结构体
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)变量类型 1)局部变量 1> 定义:在函数内部定义的变量,称为 ...
- 黑马程序员——C语言基础 字符串
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)字符串 1>字符串是由多个字符组合在一起形成的 2>初始 ...
随机推荐
- spring-task
cronExpression的配置说明,具体使用以及参数请百度google 字段 允许值 允许的特殊字符 秒 0-59 , - * / 分 0-59 , - * / 小 ...
- (转)pymysql 连接mysql数据库---不支持中文解决
往数据库里插入中文时出现异常:UnicodeEncodeError: 'latin-1' codec can't encode characters 就是编码的问题,pymysql默认的编码是lati ...
- 初学js/jquery 心得
1.多个对象操作的时候可以放在一起,eg: $('.send_message, .friends_increment').blur(function() {}); 2.三元表达式与if else,eg ...
- nginx配合zabbix编译安装时web下一步跳转问题
很多时候编译安装的时候把zabbix的php包拷贝到web所在目录之后(本文为nginx所在html目录),网页打开http:/localhost/zabbix却进不去下图: 或者是点了下一步没反应, ...
- USR-BLE101配置
新买来的模块,默认为slave模式,波特率57600,8位数据位,无检验位,1位停止位. 发送+++a,进入命令模式. 1.设置模块名称 AT+NAME=BT_Shining 2.设置发射功率(最大功 ...
- cordova 下载更新
function UpdateForAndroid(downloadUrl) { $ionicLoading.show({ template: "已经下载:0%" }); var ...
- python+selenium安装步骤
1.先安装python 2.下载setuptools 使用方法是在 命令提示符(cmd)下 输入 "easy_install包名称" 3.安装pip 4.安装selenium如果是 ...
- (C# & Unity) 脚本语言 ES
C# 编写,解释执行,语法类似 JS,动态类型,支持闭包,支持热更新,效率比较低,目前暂时没有发现 BUG,实际游戏运行稳定,没有发现内存泄漏 Github:https://github.com/ea ...
- vs中部分快捷键
ctrl + r ctrl + r ctrl 按两次r修改变量名(修改被引用到的变量名),不同于ctrl + f(修改全部相同名字的) ctrl +r ctrl + m 先选中一部分da ...
- MVC3 新建项目
一.安装工具 二.新建项目 step1:新建MVC3项目 打开新建项目窗口,在“已安装的模板”列表中选择“Web”,在右侧应用程序模板列表中选择“ASP.NET MVC3 Web应用程序”,修改项目名 ...