C语言假期作业 DAY 12
一、选择题
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 , 1 无疑是小于字符 '9' 的,最终是真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 个字节的空间中,故选 B3、下列程序的输出结果是什么( )
#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=04、C 语言中,下列运算符优先级最高的是 ( )
A: !
B: %
C: >>
D: ==答案解析
正确答案: A
单目运算符的优先级通常都比较高,具体情况可查阅运算符优先级表格
5、要使 a 的低四位翻转,需要进行操作是( )
A: a|0xF
B: a&0xF
C: a^0xF
D: ~a答案解析
正确答案: C
十六进制数 0xF 是 4 位 1 ,参与运算时整型提升,高位都是 0 。低四位和 1 异或, 0^1 是 1 , 1^1 是 0 ;高位和 0 异或, 0^0 是 0 , 1^0是1 。故而可以通过异或 F 使得 a 的低四位翻转,并保持高位不变二、编程题
1:HJ11 数字颠倒
数字颠倒_牛客题霸_牛客网 (nowcoder.com)
描述
输入一个整数,将这个整数以字符串的形式逆序输出
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001
数据范围: 0 \le n \le 2^{30}-1 \0≤n≤230−1
输入描述
输入一个int整数
输出描述
将这个整数以字符串的形式逆序输出
示例1
输入:1516000
输出:0006151
示例2
输入:0
输出:0
【答案解析】
这道题只需要循环取出一个数字的每一位进行单独打印,打印完毕后换行即可。而获取数据的每一位,可以通过取每次对数字模和除以 10 来完成
示例: 129 , 129%10 得到 9 , 129/10 得到 12 ,循环进行操作直到数字除以 10 得到 0 为止#include <stdio.h> int main() { int num;while(~scanf("%d", &num)) { if (num == 0) {//0的情况特殊处理,因为0不会进入while循环计算余数,因此不会被打印 printf("%d", num % 10);continue;}while(num > 0){printf("%d", num % 10);//打印一个数字的个位数 129 % 10 得到9 num /= 10;//通过除以10的方式去掉个位数 例如:129/10 得到12 }printf("\n"); }return 0; }2:HJ31 单词倒排
单词倒排_牛客题霸_牛客网 (nowcoder.com)
描述
对字符串中的所有单词进行倒排。
说明
1、构成单词的字符只有26个大写或小写英文字母;
2、非构成单词的字符均视为单词间隔符;
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;
4、每个单词最长20个字母;
数据范围:字符串长度满足 1≤n≤10000
输入描述
输入一行以空格来分隔的句子
输出描述
输出句子的逆序
示例1
输入:I am a student
复制输出:student a am I
示例2
输入:$bo*y gi!r#l
输出:l r gi y bo
【答案解析】
这道题的解题思路不难,定义一个字符指针数组,用于保存每个单词的起始字符地址,接下来将非字母字符全部替换成为字符串结尾标志,则单词字符字母遇到结尾就结束了,相当于把一个字符串以非字母字符进行切割成为了多个 符串,最终对字符指针数组进行逆序打印每个单词即可。
#include <stdio.h> #include <string.h> int main() { char str[10001] = {0};//字符串最长10000 int row = 0; while(gets(str) > 0) { char *ptr = str; char *word[10000] = {NULL};while(*ptr != '\0'){ //如果是个字母字符,则是单词的起始字符 if (('z' >= *ptr && *ptr >= 'a') || ('Z' >= *ptr && *ptr >= 'A')){ word[row++] = ptr;//保存每个单词的起始地址 //把本次的单词字母字符走完,直到遇到非字母字符while(*ptr != '\0' && (('z' >= *ptr && *ptr >= 'a') ||('Z' >= *ptr && *ptr >= 'A'))){ptr++; }continue;//不能继续向下,因为下边的ptr++会跳过当前的非字母字符}*ptr = '\0';//把非字母的数据全部替换为结尾标志 ptr++;}for (int i = row - 1; i >= 0; i--){printf("%s ", word[i]);//针对所有单词的起始地址逆序开始打印即可}printf("\n");} }
相关文章:
C语言假期作业 DAY 12
一、选择题 1、请阅读以下程序,其运行结果是( ) int main() { char cA; if(0<c<9) printf("YES"); else printf("NO"); return 0; } A: YES B: NO C: YESNO D: 语句错误 答案解析 正确答案: A 0<c&l…...
2.4在运行时选择线程数量
在运行时选择线程数量 C标准库中对此有所帮助的特性是std::thread::hardware_currency()。这个函数返回一个对于给定程序执行时能够真正并发运行的线程数量的指示。例如,在多核系统上它可能是CPU 核心的数量。它仅仅是一个提示,如果该信息不可用则函数可…...
element-ui中Notification 通知自定义样式、按钮及点击事件
Notification 通知用于悬浮出现在页面角落,显示全局的通知提醒消息。 一、自定义html页面 element-ui官方文档中说明Notification 通知组件的message 属性支持传入 HTML 片段,但是示例只展示了简单的html片段,通常不能满足开发中的更深入需要…...
无头单向非循环单链表、带头双向循环链表
文章内容 1. 链表的概念及结构 2. 链表的分类 3.链表实现 4.代码 文章目录 1. 链表的概念及结构 概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表 中的指针链接次序实现的 。 现实中 数据结构中 链表和顺序表…...
UE4/5C++多线程插件制作(二十、源码)
目录 头文件 MultiThreadPlugins.uplugin MultiThreadPlugins.Build.cs MultiThreadPlugins.h MTPPlatform.h MTPManage.h RTPAgendy.h MTPThreadTaskManage.h...
构建稳健的PostgreSQL数据库:备份、恢复与灾难恢复策略
在当今数字化时代,数据成为企业最宝贵的资产之一。而数据库是存储、管理和保护这些数据的核心。PostgreSQL,作为一个强大的开源关系型数据库管理系统,被广泛用于各种企业和应用场景。然而,即使使用了最强大的数据库系统࿰…...
查看本地mysql账号密码
使用Navicat工具打开本地mysql,新建查询输入下面查询语句 SELECT user, authentication_string FROM mysql.user WHERE userroot将authentication_string 中的加密密码复制出来打开链接: Magic Data 5输入加密的密码,和验证码,点…...
数据结构:顺序表详解
数据结构:顺序表详解 一、 线性表二、 顺序表概念及结构1. 静态顺序表:使用定长数组存储元素。2. 动态顺序表:使用动态开辟的数组存储。三、接口实现1. 创建2. 初始化3. 扩容4. 打印5. 销毁6. 尾插7. 尾删8. 头插9. 头删10. 插入任意位置数据…...
采集数据筛选-过滤不要数据或只保留指定数据
采集文章数据,有时候会遇到一些不需要采集的数据,或者只想采集一些特定的数据,可以使用简数采集器的内容过滤功能,对采集的数据进行筛选,只有符合的数据才采集保留。 可以用于过滤掉一些广告、专题、网站首页等无效数…...
RISC-V基础指令之shift移动指令slli、srli、srai、sll、srl、sra
RISC-V的shift指令是用于对一个寄存器或一个立即数进行位移运算,并将结果存放在另一个寄存器中的指令。位移运算就是把一个操作数的每一位向左或向右移动一定的位数,得到一个新的位。RISC-V的shift指令有以下几种: slli:左逻辑位…...
【沁恒蓝牙mesh】CH58x flash分区与数据存储管理
本文主要介绍了 沁恒蓝牙芯片 CH58x 的flash 分区与数据存储管理 📋 个人简介 💖 作者简介:大家好,我是喜欢记录零碎知识点的小菜鸟。😎📝 个人主页:欢迎访问我的 Ethernet_Comm 博客主页&…...
Ctfshow web入门 JWT篇 web345-web350 详细题解 全
CTFshow JWT web345 先看题目,提示admin。 抓个包看看看。 好吧我不装了,其实我知道是JWT。直接开做。 在jwt.io转换后,发现不存在第三部分的签证,也就不需要知道密钥。 全称是JSON Web Token。 通俗地说,JWT的本质…...
2023年国家留学基金委(CSC)青年骨干教师项目即将开始申报
国家留学基金委(以下简称CSC)的青年骨干教师出国研修项目(即高校合作项目),将于2023年9月10-25日进行网上报名及申请受理。知识人网小编特提醒申请者注意流程及政策,以防错过申报时间。 青年骨干教师项目&a…...
GC垃圾回收器【入门笔记】
GC:Garbage Collectors 垃圾回收器 C/C,手动回收内存;难调试、门槛高。忘记回收、多次回收等问题 Java、Golang等,有垃圾回收器:自动回收,技术门槛降低 一、如何定位垃圾? https://www.infoq.c…...
在 React 中渲染大型数据集的 3 种方法
随着 Web 应用程序变得越来越复杂,我们需要找到有效的方法来优化性能和渲染大型数据集。在 React 应用程序中处理大型数据集时,一次呈现所有数据可能会导致性能不佳和加载时间变慢。 虚拟化是一种通过一次仅呈现数据集的一部分来解决此问题的技术&#…...
uniapp iOS 消息推送扩展:后台/杀死app进程状态能语音播报
文章目录 引言I 前期准备1.1 配置扩展1.2 测试报文II iOS Extension(扩展)2.1 插件作者配置2.2 插件使用者配置see also引言 HBuilderX3.1.5+版本uni原生插件支持iOS Extension(扩展)。 消息推送离线语音播报插件获取方式: 公z号:iOS逆向: 离线包x10, 源码是x15。 实…...
批量创建可配置物料参数文件
启用可配置物料之后,每次创建新的物料需要通过CU41创建可配置物料,没找大批量创建的程序,所以SHDB录屏搞了一个代码。 前提:物料主数据初始化通过程序导入时,可配置物料参数文件已按照物料代码赋值。 效果…...
性能压力测试的重要性与实施方法
性能压力测试是在软件开发过程中评估系统在不同负载条件下的表现和稳定性的关键步骤。这种测试是为了确定系统在正常和峰值负载下的性能表现,以验证系统是否能够满足用户需求,同时发现潜在的性能问题并加以解决。 首先,性能压力测试对于确保系…...
HCIP入门静态实验
题目及要求 第一步:拓扑的搭建 第二步:路由、IP的配置 r1: <Huawei>sys Enter system view, return user view with CtrlZ. [Huawei]sys r1 [r1]int loop [r1]int LoopBack 0 [r1-LoopBack0]ip add 192.168.1.65 27 [r1-LoopBack0]int loop 1 […...
Vue与js的融合,如何编写现代化的前端应用
随着Web应用的不断发展,前端开发已经成为了当今互联网行业中最为流行和重要的领域之一。而在前端开发中,JavaScript无疑是最为常用和基础的语言之一。而Vue.js作为一种轻量级的JavaScript框架,它的出现极大地简化了前端开发的过程,…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...
pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
QT开发技术【ffmpeg + QAudioOutput】音乐播放器
一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下,音视频内容犹如璀璨繁星,点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频,到在线课堂中知识渊博的专家授课,再到影视平台上扣人心弦的高清大片,音…...
