C语言_分支和循环语句(3)

news2024/10/6 12:28:49

文章目录

  • 前言
  • 一、猜数字游戏
    • 1.1.电脑随机生成一个数(1~100);
    • 1.2.猜数字:
    • 1.3.玩完一把不过瘾,可以继续玩,不用退出程序。
    • 1.4.rand 和 srand 之间的联系
    • 5.猜数字游戏源码
  • 二、go to 语句
    • 2.1.例如:一次跳出两层或多层循环。
    • 2.2. goto 语句是不能跨函数的
  • 三.关机程序
    • 3.1.程序运行起来,1分钟内关机电脑
    • 3.2.如果,输入我是猪,就取消关机。
    • 3.3字符串比较大小 strcmp 头文件 <string.h>
  • 四.例题——打印素数、打印闰年
    • 4.1.char 是字符类型
    • 4.2.指针变量是用来存放地址的
    • 4.3.switch语句知识点
    • 4.4.两整形变量的交换
    • 4.5.打印素数 --- count++ 用法 -- sqrt 函数
    • 4.6.打印闰年


前言

:C语言:结构化的程序设计语言 顺序结构、选择结构、循环结构:


提示:以下是本篇文章正文内容,下面案例可供参考

一、猜数字游戏

1.1.电脑随机生成一个数(1~100);

1.2.猜数字:

a> 猜到了,提醒猜到了,可以继续猜。
b> 猜小了, 提醒猜小了,继续猜。
c>猜对了 , 恭喜,猜对了,结束游戏

1.3.玩完一把不过瘾,可以继续玩,不用退出程序。

如何产生随机数 --- rand 函数 rand 包含的头文件是

1.4.rand 和 srand 之间的联系

  • rand 使用之前先调用 srand
  • srand 只要调用一次就可以啦,不要每次生成随机数都设置srand
  • rand 是生成随机数,而srand是在生成随机数之前先设置随机数的生成起点

5.猜数字游戏源码

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

void menu()
{
    // 菜单
    printf("*********************************\n");
    printf("********1. play  0. exit*********\n");
    printf("*********************************\n");

}

void game()
{
    RAND_MAX;
    // 1.生成随机数
    //rand 函数 可以生成随机数
    int ret = rand()%100+1;  //随机数范围是 0 ~ 32767 
    // rand()%100  得到的余数只可能是小于100 ---  0~99
    //rand()%100+1 随机数范围是 1~100
    //printf("%d\n", ret);
    
    // 2.猜数字
    int guess = 0;
    while (1)
    {
        printf("请猜数字:>");
        scanf("%d", &guess);
        if (guess > ret)
        {
            printf("猜大了\n");
        }
        else if (guess < ret)
        {
            printf("猜小了\n");
        }
        else
        {
            printf("恭喜!猜对了\n");
            break;
        }
    }
}

int main()
{
    int input = 0;
    srand((unsigned int)time(NULL)); //要给srand 传递一个变化的值,计算机上的时间是时刻发生变化的
    //time 函数可以返回一个时间戳

    do
    {
        menu();
        
        printf("请选择:>");
        scanf_s("%d", &input); // 1  0 
        switch (input)
        {
        case 1:
            game();
            break;
        case 0:
            printf("退出游戏\n");
            break;
        default:
            printf("选择错误\n");
            break;
        }
        
    } while (input);

    //打印菜单
    //1.玩游戏
    //0.退出游戏
    return 0;
}


二、go to 语句

  • C语言中提供了可以随意滥用的 goto语句
  • 从理论上goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。
  • 但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程

2.1.例如:一次跳出两层或多层循环。

多层循环这种情况使用break 是达不到目地的,他只能从最内层循环退出到上一层的循环。

2.2. goto 语句是不能跨函数的

三.关机程序

3.1.程序运行起来,1分钟内关机电脑

3.2.如果,输入我是猪,就取消关机。

3.3字符串比较大小 strcmp 头文件 <string.h>


  • goto 写法


四.例题——打印素数、打印闰年

4.1.char 是字符类型

字符的本质是字符的ASCII码值,ASCII码值是整型,所以字符类型在归类的时候是可以划分到整型家族的

4.2.指针变量是用来存放地址的

地址大小 32bit / 64bti
变量的大小 32 bit - 4个字节 / 64bit - 8个字节

4.3.switch语句知识点

switch 语句中的default子句可以放在任意位置(√)
switch 语句中的case后的表达式只能是整形常量表达式(√)
switch 语句中case子句必须在default 子句之前(×)
switch 语句中case表达式不要求顺序

4.4.两整形变量的交换

4.5.打印素数 — count++ 用法 – sqrt 函数

4.6.打印闰年

  • 判断规则:
    1.能被四整除,并且不能被一百整除。
    2.能被四百整除是闰年。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/954575.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PMP项目管理主要学习内容是什么?

PMP项目管理是指根据美国项目管理学会(Project Management Institute&#xff0c;简称PMI)制定的项目管理知识体系和方法论进行项目管理的一种认证。PMP主要关注项目的规划、执行和控制等方面的知识和技能。 下面是PMP项目管理《PMBOK指南》第六版的主要学习内容&#xff1a; …

RT-内核介绍

内核是一个操作系统的核心&#xff0c;是操作系统最基础也最重要的部分。它负责管理系统的线程、线程间通信、系统时钟、中断及内存等。 下图为 RT-Thread 内核架构图&#xff0c;内核部分包含内核库、实时内核实现。 内核库是为了保证内核能够独立运行的一套小型的类似C库的函…

新款岚图 FREE 26.69 万元,继续修高端操作

新款岚图 FREE 正式上市&#xff0c;新车共有一款车型&#xff0c;超长续航智驾版售价 26.69 万元。 在选装和上市权益方面&#xff0c;新款岚图 FREE 可选装百度 Apollo 高阶智驾选装包&#xff0c;价值 2.5 万元。 在 12 月 31 日前购买新款岚图 FREE &#xff0c;用户可以…

视频监控/视频汇聚/视频云存储EasyCVR平台接入华为ivs3800平台提示400报错,该如何解决?

开源EasyDarwin视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;在视频监控播放上&#xff0c;视频云存储/安防监控汇聚平台可支持1、4、9、16个画面窗口播放&#xff0c;可同时播放多路视频…

【高级程序设计语言C++】C++11

1. lambda表达式2. 移动构造函数和移动赋值运算符重载3. default关键字4. delete关键字5. 可变参数模板6. push_back和emplace_back的区别6.1. emplace_back的优势 7. 包装器7.1. 包装器的语法格式 1. lambda表达式 在C中&#xff0c;lambda表达式是一种用于创建匿名函数的语法…

发表于《自然》杂志:语音转文本BCI的新突破实现62字/分钟的速度

语音脑机接口&#xff08;BCI&#xff09;是一项创新技术&#xff0c;通过用户的大脑信号在用户和某些设备之间建立通信通道&#xff0c;它们在恢复残疾患者的言语和通信能力方面具有巨大潜力。 早期的研究虽然很有希望&#xff0c;但尚未达到足够高的精度来解码大脑活动&…

深入MaxCompute -第十弹 -IF ELSE分支语句

简介&#xff1a; MaxCompute通过脚本模式支持IF ELSE分支语句&#xff0c;让程序根据条件自动选择执行逻辑&#xff0c;支持更好的处理因数据不同而需要采用不同策略的业务场景产生的复杂SQL&#xff0c;提高开发者编程的灵活性&#xff01; MaxCompute&#xff08;原ODPS&am…

正中优配:回购!回购!再回购!已成A股新常态?

上市公司回购潮还在继续&#xff01; 8月30日&#xff0c;海通证券、捷佳伟创等多家上市公司纷繁发布回购公告。自8月18日证监会提出“放宽相关回购条件&#xff0c;支撑上市公司展开股份回购”以来&#xff0c;A股上市公司掀起了一轮“回购潮”。Wind数据显现&#xff0c;8月…

Flutter小功能实现-咖啡店

1 导航栏实现 效果图&#xff1a; 1.Package google_nav_bar: ^5.0.6 使用文档&#xff1a; google_nav_bar | Flutter Package 2.Code //MyBottomNavBar class MyBottomNavBar extends StatelessWidget {void Function(int)? onTabChange;MyBottomNavBar({super.key, …

基于低代码/无代码工具构建 BI 应用程序

一、前言 随着数字化推进&#xff0c;越来越多的企业开始重视数据分析&#xff0c;希望通过BI&#xff08;商业智能&#xff09;技术提高业务决策的效率和准确性。 传统的BI解决方案往往需要大量的定制开发和数据准备&#xff0c;不仅周期长、成本高&#xff0c;还需要专业的数…

炒股技巧一文通!在深圳开股票账户交易佣金手续费一般是多少?

股票操作技巧可以说是股票投资成功的关键&#xff0c;下面是一些常用的技巧&#xff1a; 1.合理设置止盈止损&#xff1a;止盈可以帮助你在股票价格到达一定水平时获得利润&#xff0c;而止损可以保护你的本金&#xff0c;避免亏损过多。 2.选对个股&#xff1a;选对个股是根…

无涯教程-Android Mock Test函数

本节介绍了与 Android 相关的各种模拟测试。您可以在本地计算机上下载这些样本模拟测试,并在方便时离线解决。每个模拟测试均随附一个模拟测试键,可让您验证最终分数并为自己评分。 Mock Test I Mock Test II Mock Test III Mock Test IV Q 1 -什么是Android&#xff1f; A -A…

酒店的业务高度,关键还得看这个技术!

在酒店业务中&#xff0c;资产管理系统的重要性不容忽视。在这个竞争激烈且日益复杂的行业中&#xff0c;酒店经营者需要精确而高效地管理各种资源&#xff0c;包括客房、设备、财务以及人力。 资产管理系统为管理者提供了一个集中管理、优化和监控资产的强大工具。这不仅有助于…

产能紧张,联电、日月光急单要涨价 | 百能云芯

台积电在CoWoS先进封装领域的产能紧张&#xff0c;这导致英伟达在AI芯片方面的生产受到限制。有消息称&#xff0c;英伟达正考虑通过加价寻找除台积电以外的替代生产能力&#xff0c;以应对这一局面。这一消息引发了巨大的订单涌入效应。 联电公司作为提供CoWoS中间层材料的供应…

​放弃数据库,改用Kafka!

长期以来&#xff0c;数据库一直充当着记录系统&#xff0c;它们以可靠且持久的方式存储和管理关键数据&#xff0c;也赢得了大多数公司的信赖。 但时代在变。许多新兴趋势正在影响当今数据的存储和管理方式&#xff0c;不得不让一些技术决策者们重新考虑数据存储究竟还有哪些…

国标GB28181安防视频平台EasyGBS角色设备分配功能优化

视频流媒体安防监控国标GB28181平台EasyGBS视频能力丰富&#xff0c;部署灵活&#xff0c;既能作为业务平台使用&#xff0c;也能作为安防监控视频能力层被业务管理平台调用。国标GB28181视频监控EasyGBS平台可提供流媒体接入、处理、转发等服务&#xff0c;支持内网、公网的安…

2023年全方位SaaS平台测评!SaaS平台应该怎么选择?

什么是SaaS平台&#xff1f;SaaS平台的优势在哪&#xff1f;怎么样选择SaaS平台&#xff1f;作为两个在SaaS平台领域做的非常优秀的资深平台&#xff0c;简道云和salesforce究竟能更胜一筹&#xff1f;本篇&#xff0c;我将带领大家深入测评这两款SaaS平台&#xff0c;话不多说…

Jmter生成MD5 jmter使用md5 jmter使用自定义参数 jmter生成自定义参数 jmter编写java代码

Jmter生成MD5 jmter使用md5 jmter使用自定义参数 jmter生成自定义参数 jmter编写java代码 1、创建一个线程组2、创建线程组 http请求3、在 http请求添加前置处理器(BeanShell)4、请求测试 是否生效4.1 GET请求4.2 POST请求 1、创建一个线程组 2、创建线程组 http请求 在线程组…

linux云服务器安装宝塔

首先远程连接服务器 yum update -y 拉取宝塔面板镜像并安装 #CentOS7以上: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh #CentOS7以下: #yum install -y wget && wget -O install.sh…

一体化数据安全平台 uDSP 获“金鼎奖”优秀金融科技解决方案奖

近日&#xff0c;2023 年中国国际金融展“金鼎奖”评选结果揭晓&#xff0c;原点安全打造的“一体化数据安全平台 uDSP”产品获评“金鼎奖”优秀金融科技解决方案奖。该产品目前已广泛应用于银行业、保险企业、证券、医疗、互联网、政务、在线教育等诸多领域。此次获奖再次印证…