备战求战 | 笔试强训6

news2024/11/27 12:39:32

目录

一、选择题

二、编程题

三、选择题题解

四、编程题题解


一、选择题

1、十进制变量i的值为100,那么八进制的变量i的值为()

A. 146

B. 148

C. 144

D. 142

2、执行下面语句后的输出为

int I=1;
if(I<=0)
    printf("****\n") ;
else
    printf("%%%%\n");

A. %%

B. ****

C. 有语法错,不能正确执行

D. %%%%

3、对于下面的C语言声明描述正确的一项是()

char (*p)[16]

A. p是长度为16的字符指针数组

B. p是包含16个字符的字符串

C. p是指向长度为16的字符数组的指针

D. p是长度为16的字符数组

4、数组a的定义语句为“float a[3][4];”,下列()是对数组元素不正确的引用方法

A. a[i][j]

B. *(a[i]+j)

C. *(*(a+i)+j)

D. *(a+i*4+j)

5、下面程序的输出结果是__________。

#include < iostream.h>
#define SQR(A) A*A
void main() 
{
    int x=6,y=3,z=2;
    x/=SQR(y+z)/SQR(y+z);
    cout< < x< < endl;
    return 0;
}

A. 5

B. 6

C. 1

D. 0

6、当n=5时,下列函数的返回值是()

int foo(int n)
{
    if(n<2)
    {
        return n;
    }
    else
        return 2*foo(n-1)+foo(n-2);
}

A. 5

B. 11

C. 29

D. 10

7、以下对C语言的”指针“描述不正确的是()

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

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

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

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

8、数组定义为”int a[4][5];”, 引用”*(a+1)+2″表示()(从第0行开始)

A. a[1][0]+2

B. a数组第1行第2列元素的地址

C. a[0][1]+2

D. a数组第1行第2列元素的值

9、有一个如下的结构体:请问在64位编译器下用sizeof(struct A)计算出的大小是多少

struct A
{
    long a1;
    short a2;
    int a3;
    int *a4;
};

A. 24

B. 28

C. 16

D. 18

二、编程题

1、不要二  题目链接

 2、把字符串转换成整数  题目链接

三、选择题题解

1、十进制变量i的值为100,那么八进制的变量i的值为()

A. 146

B. 148

C. 144

D. 142

正确答案:C

题解:

        进制转换,此处略 

2、执行下面语句后的输出为

int I=1;
if(I<=0)
    printf("****\n") ;
else
    printf("%%%%\n");

A. %%

B. ****

C. 有语法错,不能正确执行

D. %%%%

正确答案:A

题解:        

         此处有一个特殊的语法,当%%时,前面那个%充当转义作用,转义后面那个%,/也是转义符号,作用相同;只不过这里是一种特殊的转义符号,故选A;

3、对于下面的C语言声明描述正确的一项是()

char (*p)[16]

A. p是长度为16的字符指针数组

B. p是包含16个字符的字符串

C. p是指向长度为16的字符数组的指针

D. p是长度为16的字符数组

正确答案:C

题解:

         标识符p被小括号括起来了,因此先于*结合,表示p为给指针,指向的对象就是括号外的;指向一个有16个字符的数组;故选C;

4、数组a的定义语句为“float a[3][4];”,下列()是对数组元素不正确的引用方法

A. a[i][j]

B. *(a[i]+j)

C. *(*(a+i)+j)

D. *(a+i*4+j)

正确答案:D

题解:        

         首先,我们要明确,a是一个二级数组,其类型是float (*a)[4],我们对其必须两次解引用才可以访问到对应的数组元素,故错误;

5、下面程序的输出结果是__________。

#include < iostream.h>
#define SQR(A) A*A
void main() 
{
    int x=6,y=3,z=2;
    x/=SQR(y+z)/SQR(y+z);
    cout< < x< < endl;
    return 0;
}

A. 5

B. 6

C. 1

D. 0

正确答案:D

题解:

        此处主要涉及宏的相关知识,宏函数中的参数不做计算,也不做类型检测,仅仅知识进行替换;我们将宏替换后,表达式为 x /= y + z * y + z / y + z * y + z;计算结果为0,故选D;

6、当n=5时,下列函数的返回值是()

int foo(int n)
{
    if(n<2)
    {
        return n;
    }
    else
        return 2*foo(n-1)+foo(n-2);
}

A. 5

B. 11

C. 29

D. 10

正确答案:C

题解:

         这里考察递归函数的计算;我们将函数展开,结果如下;

 展开时记住外面会有一个乘号;计算最后结果为29;故选C;

7、以下对C语言的”指针“描述不正确的是()

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

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

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

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

正确答案:D

题解:

         当free释放一个指针内容以后,指针变量的值不做处理;

8、数组定义为”int a[4][5];”, 引用”*(a+1)+2″表示()(从第0行开始)

A. a[1][0]+2

B. a数组第1行第2列元素的地址

C. a[0][1]+2

D. a数组第1行第2列元素的值

正确答案:B

题解:

         之前我们讲过,一个二位数组第 i 行第 j 列的元素除了可以a[ i ][ j ]这样访问,还可以*(*(a + i) + j),这样访问,题目中,少了一次解引用,因此,代表第一行第二列元素的地址;故选B

9、有一个如下的结构体:请问在64位编译器下用sizeof(struct A)计算出的大小是多少

struct A
{
    long a1;
    short a2;
    int a3;
    int *a4;
};

A. 24

B. 28

C. 16

D. 18

正确答案:A

题解:

        64位机器下,long int的大小为8字节,指针的大小也为8字节,因此按照前面学的结构体对齐规则,计算结果24,故选A

四、编程题题解

1、不要二

本题主要难点在于理解欧几里得距离,通过欧几里得公式,我们不难推算出如下;

        我们创建一个w行h列的二维数组,然后将其所有值初始化为1,代表这个格子放了蛋糕,然后我们每一次放蛋糕后,都计算出不能放蛋糕的格子;代码如下所示;

#include <iostream>
#include <vector>
using namespace std;

int main() 
{
    int w, h;
    // count计数
    int count = 0;
    cin >> w >> h;
    vector<vector<int>> v(w, vector(h, 1));
    for(int i = 0; i < w; i++)
    {
        for(int j = 0; j < h; j++)
        {
            if(v[i][j] == 1)
            {
                count++;
                // 判断是否越界
                if(i + 2 < w)
                    v[i + 2][j] = 0;
                if(j + 2 < h) 
                    v[i][j + 2] = 0;
            }
        }
    }
    cout << count << endl;
}

 2、把字符串转换成整数

此题依次循环遍历字符串,按照题目要求写代码即可,并无什么算法;

class Solution 
{
public:
    int StrToInt(string str) 
    {
        int ret = 0;
        // 记录正负
        int flag = 1;
        for(int i = 0; i < str.size(); i++)
        {
            if(i == 0 && (str[i] == '+' || str[i] == '-'))
            {
                // 对首字符是-进行处理
                if(str[i] == '-')
                    flag *= -1;
            }
            else if(str[i] >= '0' && str[i] <= '9')
            {
                int num = str[i] - '0';
                ret = ret * 10 + num;
            }
            else
            {
                // 对于其他非法情况直接return 0
                return 0;
            }
        }
        return ret * flag;
    }
};

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

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

相关文章

全志F1C200S嵌入式驱动开发(串口驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于uboot、kernel和rootfs来说,他们的串口输出一般都是uart0。一般这么做,是没有问题的。只不过我们自己买的这块f1c200s电路板,设计者把uart转ttl的接口,改接到了uart1上面。…

自定义注解+AOP完成公共字段填充

在开发中&#xff0c;我们的实体类经常会有几个公共的字段&#xff0c;如下图的创建时间&#xff0c;修改时间就为各个类共有的字段&#xff1a; 目前项目中处理这些字段都是在每一个业务方法中进行赋值操作,如下: 如果都按照上述的操作方式来处理这些公共字段, 需要在每一个业…

中级课程——信息收集(完结)

文章目录 概要whois备案号警告CDN历史解析查询子域名查询后台目录指纹C段&#xff0c;旁站真实IP与CDN端口证书其他资产社工漏洞情报实操案例 概要 whois 备案号 警告 CDN历史解析查询 子域名查询 工具推荐 或者找在线工具 后台目录 指纹 C段&#xff0c;旁站 真实IP与CDN 端…

无符号数和数据类型转换

无符号数 字符类型的无符号值&#xff1a; 所有的数据底层都是采用二进制来保存&#xff0c;而第一位用于保存符号位&#xff0c;当不考虑符号位时&#xff0c;所有的数都按照数值进行保存 #include <stdio.h>int main() {unsigned char a -65;printf("%u"…

JVM结构-堆

堆不是一种数据结构&#xff08;什么结构都可以存放在堆中&#xff09;堆内存的大小是可以调节的。类加载器读取了类文件后&#xff0c;需要把类、方法、常变量放到堆内存中&#xff0c;保存所有引用类型的真实信息JVM堆被同一个JVM实例中的所有Java线程共享JVM堆通常由某种自动…

Redis的过期策略以及内存淘汰机制

目录 一、过期策略1.1、定时删除1.1.1、过期1.1.2、过期的 key 集合1.1.3、定时扫描策略1.1.4、 Redis 中所有的 key 在同一时间过期了&#xff0c;会出现怎样的结果1.1.5、从库的过期策略 1.2、惰性删除1.3、定时删除和惰性删除的总结 二、缓存淘汰算法2.1、缓存淘汰算法概述2…

mysql 备份

mysql 备份 1. 备份的类型2.备份的类容3. 备份工具1&#xff1a;MySQL自带的备份工具2&#xff1a;文件系统备份工具3&#xff1a;其他工具 4:备份的策略1. 直接拷贝数据库文件2. mysqldump备份数据库3. mydumper备份数据库4.lvm快照从物理角度实现几乎热备的完全备份&#xff…

【Dart】006-类的定义和使用

【Dart】006-类的定义和使用 文章目录 【Dart】006-类的定义和使用一、类的定义1、概述2、简单定义与实例化代码示例运行结果 3、成员方法代码示例运行结果箭头函数写法 4、get 与 set 关键字概述代码示例运行结果 二、类的构造方法1、特点2、完整版的构造方法简化版完整版 3、…

关于K8s的Pod的详解(一)

关于K8s的Pod的详解&#xff08;一&#xff09; Pod和API server的通信加快Pod启动更改Pod的资源Pod 的持久卷的单个访问模式Pod 拓扑分布约束Pod 拓扑分布中的最小域数 Pod 作为k8s创建&#xff0c;调度&#xff0c;管理的基本单位。由上级的Controller对Node上安装的Kubelet发…

最全整理,Pytest自动化测试框架-用例参数/忽略用例/失败重试(实战)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 测试用例参数化 …

一零六四、世界杯数据可视化分析(阿里云天池赛)

目录 赛制官方链接 活动背景 活动时间&#xff1a;即日起-12月31日17点 数据说明 世界杯成绩信息表&#xff1a;WorldCupsSummary 世界杯比赛比分汇总表&#xff1a;WorldCupMatches.csv 世界杯球员信息表&#xff1a;WorldCupPlayers.csv 代码实现 赛制官方链接 世界杯…

LitePal数据库的可视化

依赖 implementation com.amitshekhar.android:debug-db:1.0.0 输入adb forward tcp:8080 tcp:8080 run项目然后浏览器输入 localhost:8080 (保证手机和电脑出于相同wifi下) 效果 点击表格中的数据还可以进行数据的编辑和删除操作

x86架构ubuntu22下运行NDS模拟器DeSmuME

0. 环境 i7 ubuntu22 1. 获取源码 浏览器打开https://github.com/TASEmulators/desmume/releases&#xff0c;下载源码压缩包。 解压 tar -zvxf desmume-release_0_9_13.tar.gz cd desmume-release_0_9_13 2. 源码编译 2.1 build GTK2 or SDL2 frontend with autotools 配置…

【缺陷报告】缺陷报告怎样写会好一些?

目录 标题 描述或总结 影响 前置条件 重现步骤 结果 优先级 重现频率   附件 变通方案&#xff08;Workaround&#xff09; 发生原因分析&#xff08;Root Cause Analysis&#xff09; 环境配置 &#x1f381;更多干货 标题 1. 首先要做一个“标题党”&#xff…

NB!漏洞精准检测与深度利用框架

关注【Hack分享吧】公众号&#xff0c;回复关键字【230526】获取下载链接 工具介绍 这是一款高危漏洞精准检测与深度利用框架&#xff0c;采用框架与插件分离的模式&#xff0c;只做一件事情&#xff1a;精准狙击高危漏洞&#xff0c;适合专业打点人士。 目标探测 精密检测 深…

浏览器中Cookie的全面介绍

简介 在Web前端开发时&#xff0c;我们经常会遇到一些浏览器存储相关的工具&#xff0c;例如Cookie。Cookie的英文本意是曲奇&#xff0c;但是在Web中&#xff0c;它被用作浏览器中存储的数据。Cookie都是namevalue的结构&#xff0c;name和value都为字符串。 使用流程 在首…

2023.7.16-求平方

功能&#xff1a;输入一个整数&#xff0c;显示出不大于这个整数的所有整数的平方。 程序&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() {int a0, b;printf("请输入一个整数&#xff1a;");scanf("%d",&a);pr…

Go语言之重要数组类型数组

我们之前学习过变量&#xff0c;当存储一个学生名字时可以name“jack”,但是如果班级有三十人&#xff0c;每个人的名字都想存储到内存中怎么办呢&#xff1f;总不能用三十个变量分别存储吧&#xff0c;这时数组就可以发挥作用了。 数组其实是和字符串一样的序列类型&#xff0…

深入了解加快网站加载时间的 JavaScript 优化技术

目录 01、最小化文件大小 01&#xff09;、JavaScript 代码示例&#xff1a;缩小前后 02、文件压缩 01&#xff09;、Gzip 和 Brotli 压缩方法 02&#xff09;、压缩的服务器端配置 03、捆绑以减少网络请求 01&#xff09;、捆绑说明 02&#xff09;、捆绑工具 03&…

OWASP常见Web安全漏洞

OWASP&常见Web安全漏洞 一、OWASP介绍二、OWASPTOP10与常见漏洞讲解2.1、OWASP Top10 2013 VS 20172.2、OWASP Top10 20212.3、A1&#xff1a;2017 注入2.3.1、SQL注入攻击2.3.2、命令注入攻击 2.4、A2&#xff1a;2017失效的身份认证&#xff08;业务逻辑漏洞&#xff09;…