统计大写字母-C语言实现

news2024/11/23 8:41:38

任务描述

本关任务:统计大写字母个数。

相关知识


视频1 初识文本处理之单词计数II — C 语言的逻辑运算符

逻辑运算符

C 语言定义了3个逻辑运算符,其表示方法及含义如下表所示。

逻辑运算C语言符号表示说明
&&双目运算符,若两个操作数都是非 0 值,运算结果为真(1),否则为假(0)
||双目运算符,两个操作数中任一个的值非 0 ,运算结果为真( 1 ),否则为假( 0 )
单目运算符,若操作数的值为 0 ,则运算结果为真( 1 ),否则为假( 0 )

下表列出了目前学习过的部分 C 语言运算符的优先级。

优先级运算符结合性


!   ++  --  &从右至左
*  /从左至右
+  -
<  <=   > >=
==  !=
&&
||
=从右到左

逻辑表达式的求值次序

下面的代码片段将根据表达式((a < b)&&(x < y))||(c = b - !c)的值输出不同的内容。

  1. int a = 10, b = 20, c = 5;
  2. float x = 1.8, y = 2.4;
  3. if (((a < b) && (x < y)) || (c = b - !c)) {
  4. printf("该表达式值为真(1),");
  5. printf("c = %d\n", c);
  6. }
  7. else {
  8. printf("该表达式值为假(0),");
  9. printf("c = %d\n", c);
  10. }

输出结果:

  1. 该表达式值为真(1),c = 5

若变量a的值为30,上述程序代码的输入结果为:

  1. 该表达式值为真(1),c = 20

在上面两个输出结果中,变量c的值不一样,这是 C 语言对逻辑表达式规定的特殊求值次序造成的。下面来看一下表达式((a < b)&&(x < y))||(c = b - !c)的求值次序。

  • 根据运算符优先级,首先计算逻辑与运算表达式(a < b)&&(x < y)的左操作数(a < b),若其值为 1 ,则继续计算右操作数(x < y)的值,并根据逻辑与运算规则计算表达式的值;若左操作数的值为 0 ,则可以直接得到逻辑与运算的结果值为 0 ,此时不再计算右操作数。
  • 若逻辑或运算的左操作数,即表达式(a < b)&&(x < y)的值为 1 ,则可以直接得到逻辑或运算的结果值为 1 ,此时不再计算其右操作数(c = b - !c);若左操作数的值为 0 ,再计算右操作数,并根据逻辑或运算规则计算表达式的值。

根据上面描述的表达式求值次序,可以看到:

  • 当变量a的值为 10 时,逻辑或运算||的左操作数(a < b)&&(x < y)的值为 1 ,其右操作数(c = b - !c)不会计算,变量c仍然保持原值 5 ,整个表达式的求值计算终止,表达式的结果为 1 。
  • 当变量a的值为 30 时,逻辑或运算||的左操作数(a < b)&&(x < y)的值为 0 ,这时需计算右操作数(c = b - !c)的值,变量c的值变为 20 ,整个表达式的值为 1 。

注意:当逻辑或运算 || 和逻辑与运算 && 构成表达式,并从左到右求值时,若根据左操作数就能判断最终结果为真或假时,求值立即终止,右操作数不会被计算。

下面列出了几类常用的逻辑表达式。 若要判断变量x是否在 [ 1 , 100 ) 区间中,正确的表达式如下所示。

  1. x >= 1 && a < 100 // 正确表示 x ∈ [ 1 , 100 )

不是采用如下代码。

  1. 1 <= x < 100 // 错误表示 x ∈ [ 1 , 100 )

当要判断一个变量是大写字母 'A'、换行符,或者是空格符时,应该用如下表达式。

  1. c == 'A'||c == '\n'||c == ' '

编程要求

根据提示,在右侧编辑器中的 Begin-End 区间补充代码。读入一行文本,统计里面大写字母的个数。 格式要求详见测试说明。

测试说明

平台会对你编写的代码进行测试。

测试输入:safgakghJAadfg 预期输出:

  1. 该文本流大写字母共有2个。

测试输入:safgakgfg 预期输出:

  1. 该文本流大写字母共有0个。

代码展示:

#include<stdio.h>
int main()
{
    int i,a,m=0;
   for(i=0;i<30;i++)
    {a=getchar();
    
    if(a<='Z'&&a>='A')
    {m=m+1;
    }
    }
    printf("该文本流大写字母共有%d个。\n",m);}/* 本程序用于计算大写字母个数 */
/* 请在此处添加代码,统计大写字母 */
/********** Begin **********/
    
    
    
/********** End **********/

运行结果:

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

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

相关文章

九 深度剖析数据在内存中的存储

目录 一.整形在内存中的存储 1.原码&#xff0c;反码&#xff0c;补码 &#xff08;1&#xff09;正数的原反补码 &#xff08;2&#xff09;负数的原反补码 2.大小端介绍 二.浮点型在内存中的存储 1.浮点型的存储 2.浮点型的读取 一.整形在内存中的存储 1.原码&#…

【学习】RL

sparse reward我们不知道行动是好是坏&#xff0c;大多数情况下&#xff0c;如果r 0&#xff0c;那怎么解决呢&#xff1f;例如&#xff0c;机器人手臂将螺栓固定在螺丝上&#xff0c;开发人员应该定义额外奖励来指导代理&#xff08;reward shaping&#xff09;。reward shap…

PyFlink使用说明:建表及连接Mysql数据库

PyFlink1.16.0 使用说明&#xff1a;建表及连接Mysql数据库引言安装运行环境PyFlink创建作业环境一、创建一个 Table API 批处理表环境二、创建一个 Table API 流处理表环境三、创建一个 DataStream API 数据流处理环境PyFlink建表一、从Python List对象创建一个 Table二、创建…

尚硅谷-SpringSecurity

一、SpringSecurity是什么 SpringSecurti基于Spring框架&#xff0c;提供了一套Web应用安全性的完整解决方案 一般来说&#xff0c;Web应用的安全性包括用户认证&#xff08;Authenticataion&#xff09;和用户授权&#xff08;Authorization&#xff09;两个部分 这两点也是S…

【2023程序员必看】产品经理行业分析

今天我要给大家推荐一个政策好&#xff0c;薪酬高&#xff0c;发展好&#xff0c;门槛低&#xff0c;且容易实现CEO总裁梦的岗位。当当当当当~产品经理&#xff0c;不用写代码的高薪互联网岗位&#xff01; 接下来我们就来聊聊它的政策机会&#xff0c;职业前景与薪资待遇&…

mac无法启用443端口的解决方案

前言&#xff1a;在macOS中&#xff0c;对于1024以下的端口需要使用root权限才可以使用&#xff0c;因此在mac中启动本地的vue-cli项目的时候&#xff0c;端口443无法正常使用&#xff0c;即使在配置文件中配置了443端口&#xff0c;启动项目的时候&#xff0c;仍然会是1024端口…

良品铺子:金选年货礼盒里,装着“高端零食”的初心

撕下一页日历&#xff0c;春节的脚步越来越近。自古以来&#xff0c;置办年货就是过年不可或缺的环节&#xff0c;年货中包含着浓浓的年味。“农家腊月为食忙&#xff0c;转换时空去品尝&#xff0c;腊菜藏于坛子里&#xff0c;鲜鱼养在自家塘&#xff0c;粉丝豆泡鸡汤热&#…

node实现文件上传和下载

一、node实现文件上传 1. FormData对象&#xff1a;以对象的方式来表示页面中的表单&#xff0c;又称为表单对象。以key-value的方式来保存数据&#xff0c;XMLHttpRequest对象可以轻松地将表单对象发送到服务器端 ​ &#xff08;1&#xff09;是一个构造函数&#xff1a;ne…

Talk预告 | 字节跳动(北美)软件工程师桑燊:风格化3D虚拟形象的创建

本期为TechBeat人工智能社区第469期线上Talk&#xff01; 北京时间1月5日(周四)20:00&#xff0c;字节跳动(北美) 计算机视觉与图形学软件工程师——桑燊的Talk将准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “风格化3D虚拟形象的创建”&#xff0c;届时…

mongodb 分组子文档合并

【问题】Hi, i am trying to use mongodb aggregate query using $setUnion, $project and also $group to group the documents. The structure of document is{ “_id” : ObjectId(“55014006e4b0333c9531043e”), “acls” : { “append” : { “users” : [ObjectId(“54f…

domain_fronting域名前置检测调研笔记

暗度陈仓&#xff1a;基于国内某云的 Domain Fronting 技术实践 https://www.anquanke.com/post/id/195011?fromtimeline 1.作者提到因为 CDN 的存在&#xff0c;访问网站时访问的实际上只是 CDN&#xff0c;而不是直接和网站的真实服务器进行通信&#xff0c;所以利用 CDN 的…

【虹科云展厅】虹科赋能汽车智能化云展厅今日正式上线!

虹科2023年开年福利来了&#xff01; 聚焦前沿技术&#xff0c;【虹科赋能汽车智能化云展厅】正式上线&#xff0c;本次云展厅围绕“汽车以太网/TSN、汽车总线、智能网联、电子测试与验证、自动驾驶”等核心话题&#xff0c;为您带来如临展会现场般的讲演与介绍&#xff0c;更…

【MySQL】MySQL基本数据类型

序号系列文章1【MySQL】MySQL介绍及安装2【MySQL】MySQL基本操作详解3【MySQL】MySQL基本数据类型文章目录1&#xff0c;数字类型1.1&#xff0c;整型类型1.2&#xff0c;浮点数类型1.3&#xff0c;定点数类型1.4&#xff0c;BIT类型1.5&#xff0c;直接常量2&#xff0c;时间和…

2024在职考研|MBA/MPA/MEM管理类硕士报考流程及基础问题扫盲

各位小伙伴们&#xff0c;2024年研究生备考工作即将启程&#xff01;作为在职人群&#xff0c;想攻读双证硕士可以选择的专业比较有限&#xff0c;其中管理类硕士是很多在职考生可以考虑的。专注管理类联考辅导领域的达立易考教育为2024级考生梳理基本流程和关注的问题&#xf…

举一反三-zabbix监控nginx

监控nginx需要修改nginx配置文件&#xff0c;添加如下&#xff1a; location /nginx_status { stub_status; allow 127.0.0.1; allow 192.168.1.71; deny all; } 这里边192.168.1.71是这台服务器的IP。 保存退出&#xff0c;重启…

【阶段二】Python数据分析Pandas工具使用06篇:探索性数据分析:异常数据的检测与处理

本篇的思维导图: 探索性数据分析:异常数据的检测与处理 异常值也称为离群点,就是那些远离绝大多数样本点的特殊群体,通常这样的数据点在数据集中都表现出不合理的特性。如果忽视这些异常值,在某些建模场景下就会导致结论的错误(如线性回归模型、K均值聚类等),所以在数据…

《杜拉拉升职记》读后感

主要是那封拉拉写给李都的信&#xff0c;内容&#xff1a;一、关于什么样的职位算好职位1.你的找一家好公司&#xff0c;什么是好公司?1)产品附加值高&#xff0c;生意好&#xff0c;并且从业务线看&#xff0c;具备持续发展的能力和前景;2)有专业的/聪明能干的/经验丰富的/并…

ESP IDF:创建并打印vector的元素值

ESP IDF:创建并打印vector的元素值 程序&#xff1a; #include <stdio.h> #include std::vector v; std::vector::iterator pBegin v.begin(); std::vector::iterator pEnd v.end(); void test_vector() { v.push_back(10); v.push_back(20); v.push_back(30); v.…

iPhone 14微信闪退怎么办?iPhone 14微信闪退解决办法分享

大家在iPhone上使用微信的时候肯定都有遇到过微信闪退的情况&#xff0c;闪退问题一旦出现&#xff0c;就会严重影响我们的正常使用&#xff0c;特别是使用频繁的APP。 iPhone 14微信闪退是什么原因造成的&#xff1f;iPhone 14微信闪退怎么办&#xff1f; 一、缓存垃圾过多 …

Qt扫盲-QLinkedList理论总结

QLinkedList理论总结一、概述二、使用说明1. 声明链表2. 获取元素、链表信息3. 删除元素4. 添加元素5. 遍历元素一、概述 QLinkedList是Qt的泛型容器类之一。它存储一个值列表&#xff0c;并提供基于迭代器的访问以及常量时间的插入和删除。 QList、QLinkedList和QVector提供类…