【笔试常见易错选择题01】else、表达式、二维数组、%m.ns、%m.nf、常量指针和指针常量、宏定义、传参、数组越界、位段

在这里插入图片描述

1. 下列main()函数执行后的结果为()

int func(){
int i, j, k = 0;
for(i = 0, j = -1;j = 0;i++, j++){
k++;
}
return k;
}
int main(){cout << (func());return 0;
}

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

判断为赋值语句,j等于0
0为假不进循环
选B.

2. 下面程序输出是什么?

#include <stdio.h>
int main()
{
int a=1,b=2,c=3,d=0;if(a == 1 && b++==2)if(b!=2||c--!=3)printf("%d,%d,%d\n" ,a,b,c);elseprintf("%d,%d,%d\n" ,a,b,c);elseprintf("%d,%d,%d\n" ,a,b,c);return 0;
}

A. 1,2,3
B. 1,3,2
C. 3,2,1
D. 1,3,3

else会和离自己最近的if匹配
逻辑或,左边为真就不会执行右边的判断
选D.

3. 若有定义语句: int a=10 ; double b=3.14 ; 则表达式 ‘A’+a+b 值的类型是()

A. char
B. int
C. double
D. float

不同类型的表达式进行计算的时候
表示范围小的类型会自动提升到
表示范围大的数据类型
char的表示范围为-128-127
int表示范围为-21亿到21亿
double表示范围为2.3 * 10^-308
到1.7 * 10^308
选C.

4. 在int p[][4] = {{1}, {3, 2}, {4, 5, 6}, {0}};中,p[1][2]的值是()

A. 1
B. 0
C. 6
D. 2

每列未初始化的地方默认为0
在这里插入图片描述
选B.

5. 以下程序的运行结果是()

#include <stdio.h>
int main(void) {
printf("%s , %5.3s\n", "computer", "computer");
return 0;
}

A. computer , puter
B. computer , com
C. computer , computer
D. computer , compu.ter

%m.ns
m:输出字符串的宽度
n:左起截取目标字符串的n个字符,右对齐,补充空格
如果字符串长度>n>m 此时m的作用失效,只有n起作用
如果n>字符串长度,遇到\n自动停止打印
如果%-m.ns代表左对齐
如图:
5表示宽度为5
3表示从左开始截取3个字符右对齐
不够补两个空格
在这里插入图片描述
宽度为10,只需要3个字符
需要补7个空格
在这里插入图片描述
选B.

6. 使用printf函数打印一个double类型的数据,要求:输出为10进制,输出左对齐30个字符,4位精度。以下哪个选项是正确的?

A. %-30.4e
B. %4.30e
C. %-30.4f
D. %-4.30f

%e 或 %E:用于输出科学计数法表示的浮点数
格式%m.nf:默认右对齐,m表示宽度
如果需要左对齐需要在m前面加-
n表示精度
选C.

7. 请找出下面程序中有哪些错误()

int main(){int i = 10;int j = 1;const int *p1;//(1)int const *p2 = &i; //(2)p2 = &j;//(3)int *const p3 = &i;//(4)*p3 = 20;//(5)*p2 = 30;//(6)p3 = &j;//(7)return 0;
}

A. 1,2,3,4,5,6,7
B. 1,3,5,6
C. 6,7
D. 3,5

常量指针:指针所指空间的值不能发生改变,不能通过指针解引用修改指针所指空间的值,但是指针的指向可以发生改变
指针常量:指针本身是一个常量,指针的指向不能发生改变,但是指针所指空间的值是可以发生改变的,可以通过指针解引用改变指针所指空间的值
区分:const *的相对位置::
const 在 *的左边: 常量指针
const 在 *的右边: 指针常量
选C.

8. 下面叙述错误的是()

char acX[]="abc";
char acY[]={'a','b','c'};
char *szX="abc";
char *szY="abc";

A. acX与acY的内容可以修改
B. szX与szY指向同一个地址
C. acX占用的内存空间比acY占用的大
D. szX的内容修改后,szY的内容也会被更改

szX与szY都是指针,指向同一个常量字符串,所以也是指向同一个地址
字符串有一个\0,也占用一个空间,所以 szX占用空间比acY大
选D.

9. 下列关于C/C++的宏定义,不正确的是()

A. 宏定义不检查参数正确性,会有安全隐患
B. 宏定义的常量更容易理解,如果可以使用宏定义常量的话,要避免使用const常量
C. 宏的嵌套定义过多会影响程序的可读性,而且很容易出错
D. 相对于函数调用,宏定义可以提高程序的运行效率

B说反了,宏定义没有类型安全检测,在预处理进行了宏替换而无法进行调试。
所以说要尽量使用const常量,避免使用宏定义常量
选B.

10. 有以下定义:

int a[10];
char b[80];

函数声明为:

void sss(char[],int[]);

则正确的函数调用形式是()
A. sss(a,b);
B. sss(char b[],int a[]);
C. sss(b[],a[]);
D. sss(b,a);

函数调用的时候,如果参数是数组,传参时,只要传数组名即可
选D.

11. 以下 C++ 函数的功能是统计给定输入中每个大写字母的出现次数(不需要检查输入合法性,所有字母都为大写),则应在横线处填入的代码为()

void AlphabetCounting(char a[], int n) {int count[26] = {}, i, kind = 10;for (i = 0; i < n; ++i)_________________;for (i = 0; i < 26; ++i) {printf("%c=%d", _____, _____);}
}

A.
++count[a[i]-‘Z’]
‘Z’-i
count[‘Z’-i]
B.
++count[‘A’-a[i]]
‘A’+i
count[i]
C.
++count[i]
i
count[i]
D.
++count[‘Z’-a[i]]
‘Z’-i
count[i]

A和B减出来都是小于0的,而下标是大于等于0的
C用i作下标,而i的下标取决于n(字符串长度),字符串长度是可能大于数组的
D:‘Z’-a[i]如果a[i]是’Z’结果是0,如果是’Y’结果就是1

选D

12. 在32位cpu上选择缺省对齐的情况下,有如下结构体定义:

struct A{
unsigned a : 19;
unsigned b : 11;unsigned c : 4;
unsigned d : 29;char index;
};

则sizeof(struct A)的值为()
A. 9
B. 12
C. 16
D. 20

32位下32bit(4字节)对齐,a占19bit剩13bit,还可以放一个b,对齐占4字节
c占4bit,剩28bit放不下d,对齐占4字节
d占29bit,对齐占4字节
char占1字节,结构体总大小等于最大宽度整数倍,所以是16字节
选C.

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

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

相关文章

虹科方案|释放总线潜力:汽车总线离线模拟解决方案

导读&#xff1a;传统的ECU模拟工具通常需要依赖上位机软件来发起通信&#xff0c;这在离线场景和自动化产线中带来不便。为了应对这一挑战&#xff0c;虹科推出了创新的汽车总线离线模拟解决方案&#xff0c;基于PCAN-Router系列网关&#xff0c;通过内部可编程固件&#xff0…

数据结构:图文详解 搜索二叉树(搜索二叉树的概念与性质,查找,插入,删除)

目录 搜索二叉树的相关概念和性质 搜索二叉树的查找 搜索二叉树的插入 搜索二叉树的删除 1.删除节点只有右子树&#xff0c;左子树为空 2.删除节点只有左子树&#xff0c;右子树为空 3.删除节点左右子树都不为空 搜索二叉树的完整代码实现 搜索二叉树的相关概念和性质 …

一、冯诺依曼计算机

图灵与冯诺依曼两位计算机发展重要人物。冯诺依曼简介&#xff1a;被誉为现代计算机之父。 世界上第一台通用计算机Eniac&#xff0c;就有冯诺依曼的参与。他提出的思想&#xff0c;将数据和程序分离开了&#xff0c;程序是程序&#xff0c;数据是数据&#xff0c;数据可以由程…

大数据时代效率革新:数字化管理助力企业迈向全新高度-亿发

在大数据时代的浪潮中&#xff0c;数字化管理成为企业不可或缺的发展趋势。以信息技术为支撑&#xff0c;数字化管理为企业带来了前所未有的机遇和挑战。让我们一起探讨&#xff0c;在这个数字时代&#xff0c;数字化管理如何引领企业走向更加高效、智能的未来。 1. 数据驱动决…

更新!3D开发工具HOOPS发布2024版本:增强Navisworks、Revit等新版本支持,性能进一步提高!

3D工程软件开发工具包的领先提供商Tech Soft 3D今天宣布推出HOOPS Exchange 2024&#xff08;支持30多种文件格式的领先CAD数据转换SDK&#xff09;和HOOPS Publish 2024&#xff0c;用于发布交互式3D PDF、3D HTML和3D CAD数据的领先工具包。 HOOPS Exchange现在支持Naviswor…

微信公众号在线客服源码系统,开发组合PHP+MySQL 带完整的安装代码包以及搭建教程

移动互联网的快速发展&#xff0c;微信公众号成为了企业与用户之间的重要沟通桥梁。为了满足企业对微信公众号在线客服的需求&#xff0c;小编给大家分享一款基于PHP和MySQL的微信公众号在线客服源码系统。这套系统能够帮助企业快速搭建自己的微信公众号在线客服平台&#xff0…

FPGA高端项目:Xilinx Artix7系列FPGA 多路视频缩放拼接 工程解决方案 提供4套工程源码+技术支持

目录 1、前言版本更新说明给读者的一封信FPGA就业高端项目培训计划免责声明 2、相关方案推荐我这里已有的FPGA图像缩放方案我已有的FPGA视频拼接叠加融合方案本方案的Xilinx Kintex7系列FPGA上的ov5640版本本方案的Xilinx Kintex7系列FPGA上的HDMI版本 3、设计思路框架设计框图…

实际项目中的SpringAOP实现日志打印

目录 一、AOP实现日志 1.1 需求分析&#xff1a; 1.2 定义切面类和切点&#xff1a; 扩展&#xff1a;finally中的代码块一定会执行吗&#xff1f; 扩展 总结 1.3 定义环绕通知 1.4 handleBefore 的具体实现 1.4.1 获取url 1.4.2 获取接口描述信息 1.4.3 后续获取 1.5…

全球网络加速的5种方法,云桥通力推SDWAN企业组网

全球网络加速旨在通过采用多种技术和服务&#xff0c;提高全球范围内的网络连接速度和性能。在全球化发展的趋势下&#xff0c;跨国企业、云服务提供商和全球用户之间的网络通信变得日益关键。其目标是克服跨国网络连接中的延迟、带宽限制和数据包丢失等问题&#xff0c;以提供…

【C++】 C++入门—内联函数

C入门 1 内联函数1.1 定义1.2 查看方式1.3 注意 Thanks♪(&#xff65;ω&#xff65;)&#xff89;谢谢阅读下一篇文章见&#xff01;&#xff01;&#xff01; 1 内联函数 1.1 定义 程序在执行一个函数前需要做准备工作&#xff1a;要将实参、局部变量、返回地址以及若干寄存…

小米商城服务治理之客户端熔断器(Google SRE客户端熔断器)

目录 前言 一、什么是Google SRE熔断器 二、Google SRE 熔断器的工作流程&#xff1a; 三、客户端熔断器 (google SRE 熔断器) golang GRPC 实现 四、客户端熔断器 (google SRE 熔断器) golang GRPC单元测试 大家可以关注个人博客&#xff1a;xingxing – Web Developer …

【C++干货基地】C++引用与指针的区别:深入理解两者特性及选择正确应用场景

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引入 哈喽各位铁汁们好啊&#xff0c;我是博主鸽芷咕《C干货基地》是由我的襄阳家乡零食基地有感而发&#xff0c;不知道各位的…

Log4j2-11-log4j2 Layout 布局入门介绍

Layout 布局 Appender使用Layout将LogEvent格式化为一种表单&#xff0c;以满足将要消费日志事件的任何需求。 在Log4j中。x和Logback布局被期望将事件转换为字符串。 在Log4j 2布局返回一个字节数组。这使得Layout的结果可以在更多类型的appender中使用。然而&#xff0c;这…

[机器学习]简单线性回归——最小二乘法

一.线性回归及最小二乘法概念 2.代码实现 # 0.引入依赖 import numpy as np import matplotlib.pyplot as plt# 1.导入数据 points np.genfromtxt(data.csv, delimiter,) # points[0,0]# 提取points中的两列数据&#xff0c;分别作为x&#xff0c;y x points[:, 0] y poi…

Netty源码三:NioEventLoop创建与run方法

1.入口 会调用到父类SingleThreadEventLoop的构造方法 2.SingleThreadEventLoop 继续调用父类SingleThreadEventExecutor的构造方法 3.SingleThreadEventExecutor 到这里完整的总结一下&#xff1a; 将线程执行器保存到每一个SingleThreadEventExcutor里面去创建了MpscQu…

安卓滚动视图ScrollView

<?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:orientatio…

docker镜像命令

docker images 列表本机上的镜像 - REPOSITORY&#xff1a;表示镜像的仓库源 - TAG&#xff1a;镜像的标签 - IMAGE ID&#xff1a;镜像 - ID CREATED&#xff1a;镜像创建时间 - SIZE&#xff1a;镜像大小 同一仓库源可以有多个 TAG&#xff0c;代表这个仓库源的不同个版本&am…

大洋钻探系列之七中国大洋钻探船梦想号

中国大洋钻探梦想号2021年11月30日开工建造&#xff0c;2023年12月27日在珠江口海域完成首航&#xff0c;预计2024年正式交付使用&#xff0c;从而实现了2011年中国IODP专家咨询委员会提出的我国大洋钻探发展“三步走”战略的第三步建造中国的大洋钻探船。 恰逢IODP新旧计划交替…

vue3 + vite:打包部署后,动态组件渲染404问题解决

问题描述: 当需要渲染动态组件,动态的组件路径配置在数据库中时,如下图,本地运行能正常访问,用vite打包部署后,生产上改路径为404. 起初认为是,vite打包后的文件都是.js, 当页面加载后从数据库拿来的路径是.vue, 并且是src/xxx/xxx.vue 这种绝对路径形式的,所以就找不…

【每日一题】 2024年1月汇编

&#x1f525;博客主页&#xff1a; A_SHOWY&#x1f3a5;系列专栏&#xff1a;力扣刷题总结录 数据结构 云计算 数字图像处理 力扣每日一题_ 【1.4】2397.被列覆盖的最多行数 2397. 被列覆盖的最多行数https://leetcode.cn/problems/maximum-rows-covered-by-columns/ 这…