C语言题目强化-DAY12

题型指引

  • 一、选择题
  • 二、编程题


★★写在前面★★
本题库源自互联网,仅作为个人学习使用,记录C语言题目练习的过程,如果对你也有帮助,那就点个赞吧。


一、选择题

1、请阅读以下程序,其运行结果是( )

int main()
{char c='A';if('0'<=c<='9') printf("YES");else printf("NO");return 0;
}

A: YES B: NO C: YESNO D: 语句错误
正确答案:A
答案解析:‘0’<=c<=‘9’并非判断x大于等于字符0,小于等于字符9,而是先执行’0’<=c,使用这个表达式的结果再和’9’比较,‘0’的ASCII码值是48,‘A’的ASCII码值是’65’,故’0’<c是真值1,结果为YES,选项A正确。

2、假设编译器规定int 和 short 类型长度分别为32位和16位,若有下列C语言语句,则y 的机器数为( )

unsigned short x = 65530;
unsigned int y = x;

A: 0000 7FFA B: 0000 FFFA C: FFFF 7FFA D: FFFF FFFA
正确答案:B
答案解析:unsigned short类型的x变量2个字节保存了65530,十六进制形式为0xFFFA,x给y赋值时会整型提升,而无符号数在提升时高位补0,其实就相当于把x的值放在了y的低2个字节的空间中,选项B正确。

3、下列程序的输出结果是什么( )

#include<stdio.h>
int main()
{int n = 1001;int ans = 0;for(int i = 1; i <= n; ++i){ans ^= i % 3;}printf("%d",ans);return 0;
}

A: -2 B: 0 C: 1 D: 2

正确答案:B
答案解析:i % 3 的值按1、2、0循环,可推算出ans按1、3、3、2、0、0循环,循环进行1001次,而1001%6=5,也就是ans按规律得到的第5个数为最终结果,故ans=0,选项B正确。

程序运行截图
在这里插入图片描述
4、C 语言中,下列运算符优先级最高的是 ( )
A: ! B: % C: >> D: ==

正确答案:A
答案解析:单目运算符的优先级通常都比较高,具体情况可查阅运算符优先级表格,选项A正确。

5、要使a 的低四位翻转,需要进行操作是( )
A: a|0xF B: a&0xF C: a^0xF D: ~a

正确答案:C
答案解析:十六进制数0xF是4位1,参与运算时整型提升,高位都是0。低四位和1异或,01是1,11是0;高位和0异或,00是0,10是1。故而可以通过异或F使得a的低四位翻转,并保持高位不变,选项C正确。

二、编程题

1、输入一个整数,将这个整数以字符串的形式逆序输出,程序不考虑负数的情况,若数字含有0,则逆序形式也含
有0,如输入为100,则输出为001。
数据范围: 1 <= n <= 2^30 - 1
输入描述:输入一个int整数。
输出描述:将这个整数以字符串的形式逆序输出。

牛客网【牛客网题号: HJ11 数字颠倒】

示例:
输入:1516000
输出:0006151
#include<stdio.h>
int main() {int input = 0;int r = 0;char ch = 0;scanf("%d", &input);if (input == 0)putchar('0');while (input){ch = input % 10 + '0';putchar(ch);input /= 10;}return 0;
}

代码思路:依次取模获取整数从低到高的每一位,加‘0’使其ASCII码值变为‘0’-‘9’之间,然后用putchar立马进行输出。

2、对字符串中的所有单词进行倒排。
说明:
1、构成单词的字符只有26个大写或小写英文字母;
2、非构成单词的字符均视为单词间隔符;
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;
4、每个单词最长20个字母;

牛客网【牛客网题号: HJ31 单词倒排】

示例:
输入:I am a student 输入:$bo*y gi!r#l
输出:student a am I 输出:l r gi y bo
//牛客网网友代码
#include <stdio.h>
#include <stdlib.h>int main(){char str[100][22];int i=0;int x;while(1){x=scanf("%[a-z|A-Z]",str[i]);if(getchar()=='\n') break;if(x) i++;}for(int j=i;j>=0;j--){printf("%s ",str[j]);}return 0;
}

代码思路:二维数组对输入的每一串连续输入的字母进行保存,每一段连续输入的字母首元素地址即为二维数组每一行首元素的地址,scanf(“%[a-z|A-Z]”,str[i]),这个语句中使用了正则表达式%[a-z|A-Z],只会读取大小写字母,因为scanf()函数遇到输入空格字符会停止,所以这方法可以读取每次连续输入的字符中的字母字符,循环结束的标志是遇到回车符号,循环结束后再进行打印,从最后一行往前打印即可,空格用printf里面打印出来即可。

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

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

相关文章

CMake语法解读 | Qt6需要用到

CMake 入门CMakeLists.txtmain.cpp编译示例cmake常用参数入门 Hello CMake CMake 是一个用于配置跨平台源代码项目应该如何配置的工具建立在给定的平台上。 ├── CMakeLists.txt # 希望运行的 CMake命令 ├── main.cpp # 带有main 的源文件 ├── include # 头文件目录 …

GLM: 自回归空白填充的多任务预训练语言模型

当前&#xff0c;ChatGLM-6B 在自然语言处理领域日益流行。其卓越的技术特点和强大的语言建模能力使其成为对话语言模型中的佼佼者。让我们深入了解 ChatGLM-6B 的技术特点&#xff0c;探索它在对话模型中的创新之处。 GLM: 自回归空白填充的多任务预训练语言模型 ChatGLM-6B 技…

C++二分查找视频教程:两数之和

作者推荐 利用广度优先或模拟解决米诺骨牌 本文涉及的基础知识点 二分查找算法合集 题目 给你一个下标从 1 开始的整数数组 numbers &#xff0c;该数组已按 非递减顺序排列 &#xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 n…

Webhook端口中的自签名身份验证

概述 有时&#xff0c;可能需要通过 Webhook 端口从交易伙伴处接收数据&#xff0c;但该交易伙伴可能需要更多的安全性&#xff0c;而不仅仅是用于验证入站 Webhook 请求的基本身份验证用户名/密码 – 或者您可能只想在入站 Webhook 消息上添加额外的安全层。 使用 Webhook 端…

使用STM32和蓝牙模块进行无线数据传输的实践

无线数据传输在现代通信领域中具有重要的地位&#xff0c;而蓝牙技术是一种常用的无线数据传输技术。本文介绍了如何使用STM32微控制器和蓝牙模块实现无线数据传输的方案&#xff0c;包括硬件设计、蓝牙模块配置、数据发送和接收等步骤&#xff0c;并给出相应的代码示例。 一、…

Codebeamer—软件全生命周期管理轻量级平台

产品概述 Codebeamer涵盖了软件研发的生命周期&#xff0c;在一个整合的平台内支持需求管理、测试管理、软件开发过程管理以及项目管理等&#xff0c;同时具有IToperations&DevOps相关的内容&#xff0c;并支持变体管理的功能。对于使用集成的应用程序生命周期管理&#xf…

13.端点、簇、属性

源码地址&#xff1a;13.端点、簇、属性 端点&#xff08;endPoint&#xff09; 一个端点就是一个应用 一个字节编号&#xff0c;数据收和发送的基本单元&#xff0c;在模块通信的时候&#xff0c;发送模块必须指定收发双方模块的网络地址和端点。端点要使用必须要和模块里的…

MFC添加窗体菜单栏和消息响应

在资源视图右键,添加资源,选择Menu,新建 添加的菜单在资源菜单的Menu目录下 双击直接编辑输入菜单 之后在要添加菜单的窗体的属性Menu里面填写菜单的ID就可以了 如何给菜单添加点击响应? OnCommand是MFC中的一个消息处理函数,用于处理在窗口或控件被激活时发出的WM_CO…

java.sql.SQLException: No suitable driver 问题解决

问题出现 自己在写一个连接C3P0数据库连接池库的测试类&#xff0c;运行该类后出现了下图这个问题 这是我写的测试类 package demo;import com.mchange.v2.c3p0.ComboPooledDataSource;import javax.sql.DataSource; import java.sql.Connection; import java.sql.SQLExcept…

竞赛选题 题目:基于大数据的用户画像分析系统 数据分析 开题

文章目录 1 前言2 用户画像分析概述2.1 用户画像构建的相关技术2.2 标签体系2.3 标签优先级 3 实站 - 百货商场用户画像描述与价值分析3.1 数据格式3.2 数据预处理3.3 会员年龄构成3.4 订单占比 消费画像3.5 季度偏好画像3.6 会员用户画像与特征3.6.1 构建会员用户业务特征标签…

Unity Meta Quest 一体机开发(八):实现 Hand Grab 扔物体功能

文章目录 &#x1f4d5;教程说明&#x1f4d5;设置刚体和碰撞体&#x1f4d5;给物体添加 Physics Grabbable 脚本&#x1f4d5;给手部添加 Hand Velocity Calculator 物体 此教程相关的详细教案&#xff0c;文档&#xff0c;思维导图和工程文件会放入 Seed XR 社区。这是一个高…

Open Feign 源码解析(一) --- FactoryBean的妙用

什么是Open Feign? OpenFeign 是 Spring Cloud 全家桶的组件之一&#xff0c; 其核心的作用是为 Rest API 提供高效简洁的 RPC 调用方式 搭建测试项目 服务接口和实体 项目名称 cloud-feign-api 实体类 public class Order implements Serializable {private Long id;p…

Vue3的项目创建到启动

Vue3的项目创建 检查node版本创建 npm init vuelatest 安装依赖 项目启动 启动成功

java学习part15单例模式

107-面向对象(高级)-单例设计模式与main()的理解_哔哩哔哩_bilibili 1.单例 就是说在某些开发场景中&#xff0c;某个类只要有一个对象就足够使用了&#xff0c;不需要重复创建。 &#xff08;理解&#xff1a;比如说是数据库对象&#xff0c;使用时创建一个可以处理所有的数…

苍穹外卖项目笔记(5)——Redis

1 入门 1.1 Redis 简介 Redis 是一个基于内存的 key-value 结构数据库&#xff0c;官网链接&#xff08;中文&#xff09;&#xff1a;https://www.redis.net.cn 特点&#xff1a; 基于内存存储&#xff0c;读写性能高适合存储热点数据&#xff08;热点商品、资讯、新闻&am…

C语言进阶-程序环境和预处理

目录 ​编辑 翻译环境 编译过程 预定义符号 #define #define 定义标识符 #define 定义宏 注意 例1 例2 提醒 #和## ##的作用 ​编辑 #的作用 ​编辑 带副作用的宏参数 预处理结果 输出结果 宏和函数对比 宏的缺点 命名约定 #undef 文件包含 本地文件包含 库文件包含…

C#,《小白学程序》第九课:堆栈(Stack),先进后出的数据型式

1 文本格式 /// <summary> /// 《小白学程序》第九课&#xff1a;堆栈&#xff08;Stack&#xff09; /// 堆栈与队列是相似的数据形态&#xff1b;特点是&#xff1a;先进后出&#xff1b; /// 比如&#xff1a;狭窄的电梯&#xff0c;先进去的人只能最后出来&#xff1…

oracle第一部分答疑

基础知识&#xff1a;第一章 视频总结&#xff1a; 1.体系结构&#xff1a; 1.1 oracle server 包括 instance/database instance包括&#xff1a; 2.内存结构&#xff1a; sga pga 3.进程结构&#xff1a; databse包括&#xff1a; 1.参数文件&#xff1a; pfile spfile 2…

西南科技大学(数据结构A)期末自测练习一

一、填空题(每空0.5分,共5分) 1、数据结构是指( A )。 A、数据元素的组织形式 B、数据类型 C、数据存储结构 D、数据定义 2、数据结构被形式地定义为(D,R),其中D是( B )的有限集合,R是D上( D )的有限集合。 (1)A.算法B.数据元素C.数据操作D.逻辑结构 (2)A.操作B.…

C++二分查找或并集查找:交换得到字典序最小的数组

作者推荐 利用广度优先或模拟解决米诺骨牌 本文涉及的基础知识点 二分查找算法合集 题目 给你一个下标从 0 开始的 正整数 数组 nums 和一个 正整数 limit 。 在一次操作中&#xff0c;你可以选择任意两个下标 i 和 j&#xff0c;如果 满足 |nums[i] - nums[j]| < limi…