A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐荘 中级黑马   /  2016-7-29 22:28  /  1024 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#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++;
    }

1 个回复

倒序浏览
谢谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马