C语言--每日选择题--Day28
第一题
1. 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是( )
A:6.500000
B:6
C:5.500000
D:6.000000
答案及解析 D
本题考查的是不同数据类型之间的变量进行运算时发生的类型转换;
不涉及强制类型转换的规则:
1. char --> int --> float --> double;
2. 有符号会转换为无符号
强制类型转换只针对一个变量,括号后面是谁就针对谁;
本题为(int)a + b / b;
首先a被强制类型转换为int类型,会直接保留整数部分,a = 5;
b / b = 1.000000 因为b为double类型;
所以(int)a + b / b = 5 + 1.000000 ;
int 隐式类型转换为double
(int)a + b / b = 6.000000
第二题(易错题)
2. s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S。则以下选项中正确的是()
A:if(s1>s2) S;
B:if(strcmp(s1,s2)) S;
C:if(strcmp(s2,s1)>0) S;
D:if(strcmp(s1,s2)>0) S;
答案及解析 D
这里考的一方面是对strcmp函数的认识,另一方面考的就是在if语句中的真假;
strcmp函数,比较两个字符串的大小,通过两个字符串的第一个字符的ASCII值比较,若相等就继续往下比,左操作数的大,就是左字符串大,反之亦然;
if中的真假:0为假,非0为真
所以本题的B选项是最容易错的选项,如果s1 < s2 ,返回值为负数,但是在if语句中负数也为真值,所以会执行S,B选项错误;
第三题(易错题)
3. i = 1,j = 0 是正确的吗?
char c = 48;
int i = 1, j = 10;
j = !(c > j)&&i++;
A:正确
B:错误
答案及解析 A
本题中一是要看优先级,二是考查结合性
相关博客:
C语言操作符优先级表格(建议收藏,每次看一下)-CSDN博客
首先,优先级:括号 > ++ > ! >&&
所以先算括号里的是必然的,j = !1 && i++;
那之后就是要根据优先级去算i++了吗?
当然不是,因为这时候我们的 !1和i++是&&的两个操作数;
先要遵守结合性;&&的结合性也就是运算顺序:从左到右
所以会先算!1 = 0;
j = 0 && i++;
而左边算完之后为0,又因为&&是有0就是0,岁月右边的i++不会计算;
最后i = 1, j = 0;
第四题
4. 若a是float型变量,b是unsigned型变量,以下输入语句中合法的是( )
A:scanf("%6.2f%d", &a, &b);
B:scanf("%f%n", &a, &b);
C:scanf("%f%3o", &a, &b);
D:scanf("%f%f", &a, &b);
答案及解析 C
单独的unsigned是unsigned int的缩写,表示无符号整数;
A:%6.2f,在scanf中,不需要精度,所以错误;
B:%n是用来统计字符个数的,不参加输入输出语句;
C:正确,八进制也是一个整数;
D:格式不匹配;
第五题
5. 下面程序执行后的输出值为()
#define SUM(x) 3*x*x+1
int main()
{int i=5, j=8;printf("%d\n", SUM(i+j));return 0;
}
A:64
B:508
C:420
D:其他几项都不对
答案及解析 A
记住一点,define就是替换,不要自己添加符号;
所以SUM(i+j) 被替换为 3 * i + j * i + j + 1 = 3 * 5 + 8 * 5 + 8 + 1 = 64
相关文章:
C语言--每日选择题--Day28
第一题 1. 设a和b均为double型变量,且a5.5、b2.5,则表达式(int)ab/b的值是( ) A:6.500000 B:6 C:5.500000 D:6.000000 答案及解析 D 本题考查的是不同数据类型之间的变量进行运算时…...
Linux 安装 Minio 配置 HTTPS
安装 创建目录 [roott2 local]# mkdir minio [roott2 local]# cd minio [roott2 minio]# mkdir data下载 [roott2 minio]# wget https://dl.min.io/server/minio/release/linux-amd64/minio [roott2 minio]# chmod x minio # 赋权设置账号密码 minio 默认账号密码为 minio…...
xcode opencv
1、导入报错 Undefined symbols: linker command failed with exit code 1 (use -v to see invocation) 直接添加如下图内容即可...
Spark---资源、任务调度
一、Spark资源调度源码 1、Spark资源调度源码过程 Spark资源调度源码是在Driver启动之后注册Application完成后开始的。Spark资源调度主要就是Spark集群如何给当前提交的Spark application在Worker资源节点上划分资源。Spark资源调度源码在Master.scala类中的schedule()中进行…...
单片机开发常见问题集合
文章目录 发送串口数据偶尔丢失字节 发送串口数据偶尔丢失字节 场景: 在STM32单片机中进行串口数据发送,在Linux/Windows上进行串口数据接收,会偶发出现接收到的数据有某些字节丢失。 分析: 在STM32中可以使用printf用于发送串口…...
Matlab 点云曲率计算(之二)
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 之前已经讨论过许多关于计算曲率的问题,这里使用一个通过拟合三次曲面方程的方式来计算曲率,计算过程如下图所示: 二、实现代码 %********...
C++11的原子变量
C11提供了一个原子类型std::atomic<T>,可以使用任意类型作为模板参数,C11内置了整型的原子变量,可以更方便的使用原子变量,使用原子变量就不需要使用互斥量来保护该变量了,用起来更简洁。例如,要做一…...
北京交通大学 计算机网络体系与协议(研) 考试试卷
计算机网络体系与协议2023年期末考试 时长:120分钟 学院: 学号: 姓名: 一、简答题(每题5分) 1.简述公开密钥密码体制的工作原理…...
python之pyqt专栏7-信号与槽3
在上一篇文章中python之pyqt专栏6-信号与槽2-CSDN博客中,我们可以了解到对象可以使用内置信号,这些信号来自于类定义或者继承过来的。我们可以对这些信号可以通过connect连接槽函数。 需求 现在有一个需求,有两个UI界面“untitled.ui”和“u…...
高噪点灰度图目标粗定位CoraseLocation
高噪点的灰度图目标粗定位 /* ** name: CoraseLocation ** brief: 粗定位 ** param:[in] srcGray 灰度图() ** param:[in] box 目标尺寸(像素) ** param:[ou] roi 目标定位结果 ** return: true成功,false…...
Android:Google三方库之Firebase集成详细步骤(二)
Analytics分析 1、将 Firebase 添加到您的 Android 项目(如果尚未添加),并确保在 Firebase 项目中启用了 Google Analytics(分析): 如果您要创建新的 Firebase 项目,请在项目创建过程中启用 G…...
java使用freemarker模板生成html,再生成pdf
1.freemarker模板生成html 添加Maven依赖 在pom.xml文件中添加以下依赖: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId> </dependency>创建Freemarker…...
图解系列--Web服务器,Http首部
1.用单台虚拟主机实现多个域名 HTTP/1.1 规范允许一台 HTTP 服务器搭建多个 Web 站点。。比如,提供 Web 托管服务(Web Hosting Service)的供应商,可以用一台服务器为多位客户服务,也可以以每位客户持有的域名运行各自不…...
直线(蓝桥杯)
直线 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 在平面直角坐标系中,两点可以确定一条直线。如果有多点在一条直线上, 那么这些点中任意两点确定的直线是同一条。 给定平面上 2 3 个…...
Android:从源码看FragmentManager如何工作
一个Activity中,在某一个容器中,更换不同的Fragment,从而显示不同的界面,这个场景相信大家已经非常熟悉了,也知道Activity是通过FragmentManager来管理嵌入的Fragments的,所以今天就来看看FragmentManager是…...
LabVIEW通过编程将图形类控件的X轴显示为时间戳
LabVIEW通过编程将图形类控件的X轴显示为时间戳 每个版本的LabVIEW中都有属性节点,可以以编程方式调整X轴和Y轴格式。对于不同版本的LabVIEW,这些属性节点无法在同一个位置找到。请参阅以下部分,了解特定版本LabVIEW的相关属性节点的位置。 …...
Spring Boot进行单元测试,一个思路解决重启低效难题!
所谓单元测试就是对功能最小粒度的测试,落实到JAVA中就是对单个方法的测试。 junit可以完成单个方法的测试,但是对于Spring体系下的web应用的单元测试是无能为力的。因为spring体系下的web应用都采用了MVC三层架构,依托于IOC,层级…...
c/c++ header_only 头文件实现的关键点
header_only 头文件实现的关键点 ------------------------------------------------------------------------- author: hjjdebug date: 2023年 11月 28日 星期二 16:58:38 CST descriptor: header_only 头文件实现的关键点1. 对外声明的函数必需加上inline, 消除连接的歧义…...
Linux(CentOS7.5):通过docker安装redis
一、准备配置文件 在宿主机,准备映射配置文件的目录下,运行如下: wget http://download.redis.io/redis-stable/redis.conf二、安装 docker run \ --restartalways \ --log-opt max-size100m \ --log-opt max-file2 \ -p 6380:6379 \ -v /opt…...
唯创知音WT588F02B-8S语音芯片:灵活更换语音内容,降低开发成本与备货压力
在电子产品的开发阶段,语音芯片的选择与使用对于产品的功能、成本和上市时间都有着重要影响。唯创知音的WT588F02B-8S语音芯片以其独特的优势,成为工程师们的理想选择,尤其在样品阶段,它为工程师提供了自行更换语音内容的便利&…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
