#pragma mark - 简单复习一下
1.if选择结构
if(关系表达式1)
{
语句1;
}else if(关系表达式2)
{
语句2;
}else if(关系表达式3)
{
语句3;
}else{
语句n;
}
2.switch选择结构
switch(有一个固定的值,必须是整数 或者 字符)
{
case 值1:
语句块1;
break;
case 值2:
语句块2;
break;
case 值2:
语句块2;
break;
case 值2:
语句块2;
break;
default :
break;
}
3.if和switch的对比使用场景
一般来说: 如果判断的是一个范围或者区间 用if
如果判断的是几个固定值 用switch
#pragma mark - 06 while循环结构简要介绍 [掌握]
1.代码中什么叫做循环:
有一段代码,反复执行
2.C语言中有哪些循环结构
while循环
do...while循环
for 循环
// if 和 goto一起使用的循环;这种循环已经不用了
3.while循环的格式
while(条件表达式)//
{
语句1;
}
4.循环头 和 循环体的概念
int main()
{
int num = 10;
//来一个循环
while(num > 0)//循环头
{
printf("吃喝嫖赌抽\n");//大括号中的代码叫做循环体
}
}
#pragma mark - 07 死循环 [掌握]
1.死循环: 一段代码 反复不停地执行 而且不会停止
while(1){
printf("死循环");
}
printf("aaaa\n");//因为上面的循环永远不会结束
2.死循环的用处[了解]
3.无效循环
while(0)
{
printf("aa\n");
}
#pragma mark - 08 使用while循环注意 [掌握]
1.while(条件表达式),这个条件表达式也可以是一个普通的表达,只要有真假就可以
2.永真 永假
while(10) while(0)
3.循环体 可以只有一句代码 也可以有多句代码 甚至可以没有代码
4.写一个循环语句 必须确定以下两点
1>循环体 是啥?
2>循环条件是什么?
#pragma mark - 09 循环的第一种应用 [掌握]
"应用场景":循环体确定 而且循环次数也确定
例如:
打印"凤姐我爱你" 10次
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
//1.循环体 : printf("凤姐我爱你\n"); 次数还要+1
//2.循环条件: 打印的次数 不超过10次
int count = 0;//变量用来记录打印次数
/*
count 和 打印的次数
0 1
1 2
9 10
*/
// "规律: 如果 记录次数的变量 从0开始 那么 小于几 就是几次"
while(count < 15){
printf("凤姐我爱你\n");
count++;
}
return 0;
}
#pragma mark - 0_09_2 案例讲解及技巧 [掌握] [播]
此知识点复习的参见第5天视频笔记/0_09_2 案例讲解及技巧.pdf
1.确定循环体
2.确定循环次数
3.例题:
让用户输入10个数,输入一个数 打印这个数的两倍
/*
分析:
循环次数: 10 次
循环体: 当我们不用循环结构写的时候,
我们复制粘贴的 哪些代码就是循环体
*/
#pragma mark - 0_09_3 练习讲解 [掌握]
1.获取10个1-99之间的随机数,每获取一个判断并且打印这个数是奇数还是偶数
#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char * argv[]) {
// insert code here...
//1.循环条件: 10次
int count = 0;
//2.循环体: 按照没学过while循环写代码 赋值粘贴的那些代码就是循环体
while(count < 10){
//1-99的随机数 [0-98]+1
int num = arc4random_uniform(99)+1;
//判断这个数是奇数还是偶数
if (num % 2 == 0) {
printf("这个数%d是偶数\n",num);
}else{
printf("这个数%d是奇数\n",num);
}
count++;
}
return 0;
}
#pragma mark - 0_10 循环的第二种应用场景 [掌握]
"应用场景":循环体确定 但是循环次数不确定
例子: 让用户输入密码 直到输对为止 假设密码是:88888
/*
分析 :
循环条件: 密码不对
循环体: 复制粘贴的哪一些代码 就是循环体
*/
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
//记录密码的变量
int pwd = 0;
while (pwd != 88888) {//当密码不对的时候循环
printf("请输入密码:\n");
scanf("%d",&pwd);
if (pwd == 88888) {
printf("密码正确");
}else{
printf("密码错误\n");
}
}
// int pwd = 0;
// printf("请输入密码:\n");
// scanf("%d",&pwd);//我们只输入数字
// if (pwd == 88888) {
// printf("密码正确\n");
// }else{
// printf("密码错误\n");
// }
return 0;
}
#pragma mark - 0_10_2 练习讲解 [掌握]
例题:
反复地询问用户 "你爱我吗? y(爱)/n(不爱)"
直到用户输入y为止才停止询问
/*
分析:
循环体:
循环条件: user != 'y'
*/
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
char user = 'a';//定义一个变量 用来存储用户的输入
while(user != 'y'){
printf("你爱我吗? y(爱)/n(不爱)\n");
rewind(stdin);
scanf("%c",&user);//n 回车
//n给了user 但是回车还在缓存中,下一次执行的时候会直接取走'\n'这个符号 而不用你自己输入
}
return 0;
}
"提示":只要 scanf("%c",&user); 就在这句代码前 加上一个
rewind(stdin);
#pragma mark - 0_10_3 使用注意 [掌握] [播]
此知识点复习的参见第5天视频笔记/0_10_3 使用注意.pdf
1.参与循环条件判断的变量的默认值 不能让第一次循环就不执行
2.字符 一定要 加上单引号 'y'
#pragma mark - 0_10_4 练习讲解 [掌握]
例题:
用户输入 登陆账号和密码 ,只有账号和密码都正确才能登陆,否则要求用户重新输入 账号和密码
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
//循环体:
//循环条件: 账号不正确(123456) 或者 密码不正确(888888)
int account = 0;//记录账号的变量
int pwd = 0;//记录密码的变量
while(account != 123456 || pwd !=888888){
printf("请输入账号:\n");
scanf("%d",&account);
printf("请输入密码:\n");
scanf("%d",&pwd);
//循环体是输入账号 和 密码
}
// printf("恭喜登陆成功\n");
return 0;
}
#pragma mark - 0_11 循环的第三种应用 [掌握]
"应用场景":遍历一个范围内所有的数
例题:
打印0-10的每一个整数
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
//循环体:
//循环条件:11次
/*
分析:
count 和 我们要打印的值
0 0
1 1
2 2
*/
// int count = 0;
// while(count < 11){
//
// printf("%d\n",count);
// count++;
// }
/*
分析:
count 要打印的值
0 1
1 2
2 3
要打印的值 = count + 1
*/
//改一下题目 打印 1-10所有的整数
// int count = 0;
// while (count < 10) {
// //打印
// printf("%d",count+1);
// count++;
// }
int count = 1;
while (count < 11) {
//打印
printf("%d",count);
count++;
}
return 0;
}
#pragma mark - 0_12 循环的第四种应用场景[掌握]
"应用场景":找出一个范围内指定条件的数
例题:
打印1-100之内 能被8整除的数
int count = 1;//count 从1 开始 因为打印的数值也是从1开始,这样不用再计算
while (count < 101) {
if(count % 8 == 0){
//并不是所有的数都要打印
printf("%d ",count);
}
count++;
}
|
|