2020.10.6 CLoin基础知识part3

三目运算符

三目运算符/问号表达式(相当于if else)

 passwordTwo = 123 ? printf("密码正确\n") : printf("密码错误 还有两次机会 请重新输入密码:");

Srand - 播种 确定随机数的范围
Rand - 产生随机数
使用 rand需导入头文件stdlib.h头文件
每次重新运行的结果是一样的

若不以时间为种子,因为每次运行的种子不变 会导致每次运行产生的随机数一样 要改变随机数就要改变种子 通常以时间作为种子(起始时间 - 执行程序的那一刻)
用时间导入头文件

#include <time.h>

Sleep

苹果 导入头文件Linux)sleep单位是1秒

windows 导入头文件 sleep单位是1秒

#include <windows.h>

Fflush(stdout):先把输出的东西写到终端 再做其他事 使两件事同步

\n 光标定位到下一行行首
\r 光标定位到当前行行首
(windows)

循环语句

For

和次数相关 For(表达式1;表达式2;表达式3) 分号不能省略

表达式1:
      初始循环控制变量 只会执行一次 可以省略
      如需要扩大作用域 则放在循环外面
      如果不需要 则尽量放在里面
表达式2:
      循环执行条件 不可省略 每次循环都会判断条件是否成立
      成立就执行 
      不成立就退出循环
表达式3:
      循环控制变量的变化 在当前这一次执行完毕后才执行这个表达式

While

      和循环条件有关 
      通常不需要关注次数

Break

      提前跳出整个循环

Continue 结束当前本次循环

      继续下次循环 本次循环不执行

课堂练习

猜数字小游戏

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>

int main() {

    int count = 3;//记录产生的随机数的个数
    int oldNum = 0;
    int guessNum = 0;
    srand(time(0));//播种子 确定随机数的范围

    for (;  ; ) {//嵌套结构 - 无限循环

        for (int i = 0; i < count; ++i) {
            int temp = rand() % 9 + 1;//产生随机数


            printf("%d",temp);//打印随机数

            oldNum = oldNum * 10 + temp;//将个体随机数转化成一个整体

        }

        fflush(stdout);//先将printf打印的函数输出 再
        _sleep(1000);//暂停1s

        printf("\n");
        printf("请输入刚刚看到的数字:");
        scanf("%d",&guessNum);


        if (oldNum == guessNum){
            printf("记性真好,继续吧!\n");
            count++;//下次产生的随机数加一
            oldNum = 0;//将上次的值清零以便得到新的随机数
        } else{
            printf("你记错了,真笨,你不适合玩这个游戏\n游戏结束!");
            break;//结束循环
        }
    }
    return 0;
}

无限循环

第一种
#include <stdio.h>

int main(){

    int count = 0;

    for (int i = 1; i < 11 ; i++) {
    printf("%d ",i);


     if (i == 10){
        i = 0;
        count++;


        }
    }
    return 0;
    }
第二种
#include <stdio.h>

int main(){

    int count = 0;
    for (;  ; ) {
        for (int i = 1; i < 11 ; i++) {
            printf("%d ", i);
        }
    }

    return 0;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值