当前位置: 首页 > news >正文

C语言典型例题37

《C程序设计教程(第四版)——谭浩强》


例题3.5 按照按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70~84分,C等为 60~69分,D等在60分以下,成绩的等级从键盘输入


代码:

//《C程序设计教程(第四版)——谭浩强》
//例题3.5 按照按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70~84分,C等为 60~69分,D等在60分以下,成绩的等级从键盘输入#include <stdio.h>
int main()
{char scores;printf("请输入你需要查看的分数等级所对应的分数区间:\n");scanf("%c",&scores);switch(scores){case 'A':printf("A等级的分数区间为[85,100]\n");break;case 'B':printf("B等级的分数区间为[70,84]\n");break;case 'C':printf("C等级的分数区间为[60,69]\n");break;case 'D':printf("D等级的分数区间为[0,59]\n");break;default:printf("你的输入有误!\n");}return 0;
}

运行结果:(只举两个例子)

(1)

(2)


代码中需要注意的点:

(1)scanf函数中一定要细心,不要在转义字符后面输入\n

scanf("%c\n",&scores);(错误写法)

scanf("%c",&scores); (正确写法

二者虽然看起来差别不大,但是却差别特别大

A:(错误示范运行结果)

(2)(正确示范运行结果)

相关C语言知识点:

(1)switch语句

‌Switch语句是编程中一种多分支选择结构,用于根据表达式的值选择执行不同的代码块。

 它允许程序根据不同的条件值来执行不同的代码,可以替代多个if-else语句,提高代码的可读性和可维护性。

Switch语句的基本语法包括一个表达式和多个‌case标签,每个case标签后面跟着一条或多条要执行的语句,以及一个可选的‌default标签用于处理未匹配的情况。

Switch语句的基本语法和用法

  • 基本语法switch(expression) { case value1: // 语句 break; case value2: // 语句 break; ... default: // 默认语句 }
  • 表达式:一个返回整数、枚举、字符或字符串的表达式,用于与case标签的值进行比较。
  • case标签:表示可能的值,如果表达式的值与某个case标签的值匹配,则执行该case后面的语句。
  • break语句:用于跳出switch语句,防止执行下一个case的语句。
  • default标签:可选,用于处理所有未匹配的情况。

Switch语句的使用场景和注意事项

  • 使用场景:当需要根据不同条件执行不同操作时,使用switch语句可以使代码更加简洁和清晰。
  • 注意事项
    • 每个case后面的语句块必须以break语句结束,否则程序会继续执行下一个case的语句块。
    • default标签是可选的,但如果所有case标签都没有匹配到,且没有default标签,程序将不执行任何操作。
    • case标签的排放顺序是无关紧要的,但通常将最不可能匹配的情况放在后面可以提高效率。

不同编程语言中的Switch语句

  • Java:支持整数、枚举、字符和字符串类型的表达式。
  • C语言:支持字符变量、整型变量、枚举变量作为表达式。
  • C++:与C语言类似,也支持这些类型,并且还支持字符串和布尔类型。

http://www.lryc.cn/news/424574.html

相关文章:

  • 二自由度机械臂软件系统(三)ros2_control硬件底层插件
  • 24.8.9.11数据结构|链栈和队列
  • StarSpider:一款高效的网络爬虫框架解析与实战
  • LVS详细解析及其NAT模式与DR模式部署(理论+实验全方位指导)
  • 负载均衡相关概念介绍(一)
  • 二叉树详解(1)
  • Spring定时任务注解
  • 数据结构-绪论
  • Web开发:web服务器-Nginx的基础介绍(含AI文稿)
  • 共享经济背景下校园、办公闲置物品交易平台-计算机毕设Java|springboot实战项目
  • Linux 服务器上简单配置 minio
  • TypeScript 面试题汇总
  • 杰卡德系数
  • 微服务实现-sleuth+zipkin分布式链路追踪和nacos配置中心
  • 数学中常用的解题方法
  • pytorch 1 张量
  • 音视频开发继续学习
  • 【Datawhale X 魔搭 】AI夏令营第四期大模型方向,Task1:智能编程助手(持续更新)
  • 如何判断监控设备是否支持语音对讲
  • Grafana+Influxdb(Prometheus)+Apache Jmeter搭建可视化性能测试监控平台
  • 【笔记】MSPM0G3507移植RT-Thread——MSPM0G3507与RT_Thread(二)
  • 计算机毕业设计 美发管理系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试
  • soapui调用接口参数传递嵌套xml,多层CDATA表达形式验证
  • GB/T35561-2017d,GB/T38565-2020,ocr解析文本
  • IDEA使用LiveTemplate快速生成方法注释
  • 慢SQL优化
  • MES生产执行系统源码,支持 SaaS 多租户,技术架构:springboot + vue-element-plus-admin
  • 【Linux】分析hung_panic生成的vmcore
  • unity 画线写字
  • GitHub的详细介绍