【笔试强训】Day1
创始人
2024-04-11 14:04:19
0

🌈欢迎来到笔试强训专栏


  • (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是Scort
  • 目前状态:大三非科班啃C++中
  • 🌍博客主页:张小姐的猫~江湖背景
  • 快上车🚘,握好方向盘跟我有一起打天下嘞!
  • 送给自己的一句鸡汤🤔:
  • 🔥真正的大师永远怀着一颗学徒的心
  • 作者水平很有限,如果发现错误,可在评论区指正,感谢🙏
  • 🎉🎉欢迎持续关注!
    在这里插入图片描述

请添加图片描述

笔试强训解析

  • 🌈欢迎来到笔试强训专栏
    • 🌈选择题
    • 🌈编程题
      • 1️⃣组队竞赛
      • 2️⃣删除公共字符
  • 📢写在最后

请添加图片描述

🌈选择题

1.以下for循环的执行次数是()

for(int x = 0, y = 0; (y = 123) && (x < 4); x++);

A.是无限循环

B.循环次数不定

C.4次

D.3次

复习一下for循环(初始化部分;条件判断部分;调整部分){}
注意注意!! y=123是赋值 为真的(看清楚)后面就是剩下x = 0、1、2、3 总共四次进入循环
所以答案选C

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

#include 
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

说实话做题才能查漏补缺,我们知道%s遇到\0就停止打印。是这个%5.3s 我没见过,下面来科普一下

% m.ns:
m : 输出字符串的宽度
n :左起截止目标字符串的n个字符,而且是右对齐,左边不够补空格
当字符串 > n > m :此时m的作用失效了,直接截取n
当n > 字符串 :作用和%s一样,遇到\0就停止

所以%5.3s 输出的是 com(com前面两个空格),答案选C

下列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

本题考察的本质还是for循环执行了多少次?
有了上面一题的基础再判断,应该不难

这里的条件判断部分j = 0恒为假,不会进入循环所以K不会++,K等于0,答案选B

下面程序输出是什么?

#include 
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);else printf("%d,%d,%d\n" ,a,b,c);else printf("%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
|| 逻辑或:任意一方为真,挡路原则: 左边表达式为真,右边表达式就不会执行

在这里插入图片描述

第一个if就判断为假,直接到最后一个printf 打印,答案是 : D

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

A.char

B.int

C.double

D.float

知识复习:
'A’是char类型,占一个字节,范围是-128 ~ 127
a是int 类型, 占4个字节,范围是 -21亿 ~ 21亿
c是double类型,占8个字节,范围是2.310的308次方 ~ 1.710的308次方

不同类型运算会自动提升,小范围-> 大范围 最后转换为double类型,答案选C

下面,p[1][2]的值是()

int p[][4] = {{1}, {3, 2}, {4, 5, 6}, {0}};

A.1

B.0

C.6

D.2
每个大括号是一行,都没有进行完全初始化,没初始化的默认为0

在这里插入图片描述

数组坐标从0开始,看图 所以答案是B

选择表达式 11|10 的结果(本题数值均为十进制)()

A.11

B.10

C.8

D.2

简单的逻辑运算
在这里插入图片描述

所以答案选A

int fun(int a){a^=(1<<5)-1;return a;
}

fun(21)运行结果是()

A.10

B.5

C.3

D.8

此处要注意:1<<5 后等于32 ,再-1 等于31, 最后是a^31 也就是21^31
^ : 相等为0 ,相异为1
在这里插入图片描述

答案是A

若有定义语句:int year=1009,*p=&year;以下不能使变量 year 中的值增至 1010 的语句是()

A.*p+=1;

B.(*p)++;

C.++(*p)

D.*p++

考察的是运算符优先级的问题,忘了要多复习复习
在这里插入图片描述
得知 *的优先级大于 +=()的优先级比++高,唯独++的优先级比*要高,没有对1009进行++,而是对指针++.

毫无疑问 ,答案选D

下面关于"指针"的描述不正确的是()

A.当使用free释放掉一个指针内容后,指针变量的值被置为NULL

B.32位系统下任何类型指针的长度都是4个字节

C.指针的数据类型声明的是指针实际指向内容的数据类型

D.野指针是指向未分配或者已经释放的内存地址

解析:
A:free指针只是把指向的空间销毁了 ,指针的值置空是要我们手动置空

ps:造成野指针的三大原因

  1. 定义时,没有初始化
  2. free掉后,没有置空
  3. 越界访问使用指针

答案选A

🌈编程题

1️⃣组队竞赛

题目链接:组队竞赛

在这里插入图片描述在这里插入图片描述

思路讲解:

在这里插入图片描述

  • 首先对数据进行排序
  • 推导出下标满足的公式 arr.len - 2*(i+1),满足最大水平和
  • 算法的头文件记不住 algorithm algorithm algorithm

代码如下

#include
#include
#includeusing namespace std;
int main()
{long long sum = 0;int n;cin>>n;vector a;a.resize(3*n);for(int i=0; i< 3*n; ++i){cin >> a[i];}std::sort(a.begin(), a.end());for(int i = 0; i < n ;i++){sum += a[a.size()- 2*(i+1)];}cout << sum << endl;return 0;
}

2️⃣删除公共字符

题目地址:添加链接描述

在这里插入图片描述

讲解两种思路:哈希 & 暴力

首先是哈希

  1. 遍历这个str2字符串,把对应的字符放到hash[ ]中
  2. 遍历str1,找到hash中等于 0 的(也就是没有重复的 )

在这里插入图片描述

暴力法:

  • 去str1里面找str2的值,find找到相同的就erase
//哈希
#include 
#include 
using namespace std;int main()
{string str1, str2;//cin>>str1;//cin遇到空格就停止getline(cin, str1);getline(cin, str2);int hash[256] = {0};for(int i = 0; i < str2.size(); i++){hash[str2[i]]++;}string end ="";for(int i = 0; i < str1.size(); i++){if(hash[str1[i]] == 0)//==0的就是不相同的{end += str1[i];}}cout<
#include 
#include 
using namespace std;//暴力
int main()
{string s1,s2;getline(cin,s1);getline(cin,s2);for(int i = 0;i < s2.size(); i++){while(s1.find(s2[i]) != -1)//find找不到就返回npos(-1) !=也就是找到了{s1.erase(s1.find(s2[i]),1);}}cout<

📢写在最后

最近刷屏的卡塔尔励志小哥

在这里插入图片描述

相关内容

热门资讯

直播踩踏烈士陵墓,法律严惩绝不... 近日,一则令人发指的新闻在社交媒体上引发广泛关注:为博取眼球、增加直播流量,吴某平在直播中故意脚踩烈...
增值税重磅法规出台,涉及6万亿... 明年起增值税法正式实施,而与其配套的重要法规——《增值税法实施条例》终于出台。 12月30日,国务院...
原创 吉... 《中国科技投资》李璟 2025年12月下旬,新能源汽车行业突发重大诉讼事项:吉利汽车旗下威睿电动汽车...
顾地科技:因梦想汽车相关诉讼案... 12月30日,顾地科技(002694.SZ)披露关于公司涉及诉讼事项的进展公告(建设工程施工合同纠纷...
三部门负责人就《中华人民共和国... 司法部、财政部、税务总局负责人就《中华人民共和国增值税法实施条例》答记者问。 关于增值税征税范围,《...
招商港口高管变更,刘利兵辞任总... 雷达财经 文|冯秀语 编|李亦辉 12月30日,招商局港口集团股份有限公司(证券简称:招商港口,证券...
原创 吉... 吉利把欣旺达给告了,索赔超23亿元! 12月26日晚间,欣旺达发布公告称,公司子公司欣旺达动力在2...
特朗普称明年1月公布美联储主席... 据新华社消息,美国总统特朗普29日说,他预计明年1月宣布美国联邦储备委员会主席鲍威尔的继任人选。 鲍...
吉利起诉欣旺达——大厂自己造电... 导语 从合资建厂到对簿公堂,昔日伙伴反目,背后是中国新能源汽车行业权力游戏的根本性转变。 近日,一则...
2026年“两新”政策部署来了 优化支持范围!2026年“两新”政策部署来了 新华社北京12月30日电(记者魏玉坤、魏弘毅)国家发展...