【C语言】42道大厂笔试题目(选择题)

本篇博客给大家带来的是一些大厂笔试题目,题目难度:简单,适合小白快速入手C语言部分的大厂笔试难度。

🐟🐟文章专栏:C语言

🚀🚀若有问题评论区下讨论,我会及时回答

❤❤欢迎大家点赞、收藏、分享 你们的支持就是我创造的动力

今日思想:山不向我走来,我便向它走去!!

试题1:

用在switch语言中的关键字不包含哪个?( )

A. continue

B. break

C. default

D. case

答案:A

试题2:

下面哪个不是关键字:( )

A. int

B. struct

C. define

D. continue

答案:C

试题3:

关于main函数错误的是?

A. main函数是程序的入口

B. 一个C语言程序中可以写多个main函数

C. main函数的名字是可以随便改的,比如:mian

D. main函数的名字是固定的,一个工程中,有且仅有一个main函数

答案:BC

试题4:

C语言规定,在一个源程序中,main函数的位置( )

A. 必须在最开始

B. 必须在库函数的后面

C. 可以任意

D. 必须在最后

答案:C

试题5:

关于C语言中源文件和头文件说法正确的是?

A. C语言的源文件的后缀是.cpp

B. 头文件没什么用,只要有源文件就行了

C. C语言中源文件的后缀是.c,头文件的后缀是.h

D. C语言的源文件可以没有后缀

答案:C

试题6:

下面程序输出的结果是啥:

#include <stdio.h>int main()
{printf("%5d\n", 123456);return 0;
}

A. 12345

B. 123456

C. 23456

D. 0

答案:A

试题7:

下面代码的结果是:( )

#include <stdio.h>
int main()
{int a, b, c;a = 5;c = ++a;b = ++c, c++, ++a, a++;b += a++ + c;printf("a = %d b = %d c = %d\n:", a, b, c);return 0;
}

A. a = 8 b = 23 c = 8

B. a = 9 b= 23 c = 8

C. a = 9 b = 25 c = 8

D. a = 9 b = 24 c = 8

答案:B

试题8:

下面代码的执行结果是什么( )

#include <stdio.h>
int main() {int x = 3;int y = 3;switch (x % 2) {case 1:switch (y){case 0:printf("first");case 1:printf("second");break;default: printf("hello");}case 2:printf("third");}return 0;
}

A. secondthird

B. hello

C. firstsecond

D. hellothird

答案:B

试题10:

下面代码执行的结果是:( )

#include <stdio.h>int main()
{int i = 0;for (i = 0; i<10; i++){if (i = 5)printf("%d ", i);}return 0;
}

A. 1 2 3 4 5 6 7 8 9 10

B. 5 5 5 5 5 5 5 5 5 5

C. 死循环的打印5

D. 0 1 2 3 4 5 6 7 8 9

答案:C

试题11:

关于if语句说法正确是:( )

A. if语句后面只能跟一条语句

B. if语句中0表示假,1表示真

C. if语句是一种分支语句,可以实现单分支,也可以实现多分支

D. else语句总是和它的对齐的if语句匹配

答案:C

试题12:

int func(int a)
{int b;switch (a){case 1: b = 30;case 2: b = 20;case 3: b = 16;default: b = 0;}return b;
}

则func(1) = (      )

A. 30

B. 20

C. 16

D. 0

答案:D

试题13:

关于while(条件表达式) 循环体,以下叙述正确的是( )? (假设循环体里面没有break,continue,return,goto等等语句)  

A. 循环体的执行次数总是比条件表达式的执行次数多一次

B. 条件表达式的执行次数总是比循环体的执行次数多一次

C. 条件表达式的执行次数与循环体的执行次数一样

D. 条件表达式的执行次数与循环体的执行次数无关

答案:B

试题14:

在C语言中,以下哪个选项描述了变长数组(Variable Length Array,VLA)的特点?

A. 变长数组的大小在编译时确定,不能改变。

B. 变长数组的大小可能在运行时确定,比如使用变量来指定数组大小,一旦确定大小后,它的大小是固定的,无法改变。

C. 一旦确定大小后,它的大小是固定的,无法改变

D. 变长数组只能用于存储字符类型的数据。

答案:C

试题15:

给出以下定义:

char acX[] = "abcdefg";
char acY[] = { 'a','b','c','d','e','f','g'};

以下说法正确的是( )

A. 数组acX和数组acY等价

B. 数组acX和数组acY的长度相同

C. sizeof(acX)>sizeof (acY)

D. strlen (acX)>strlen (acY)

答案:C

试题16:

定义了一维 int 型数组 a[10] 后,下面错误的引用是:( )

A. a[0] = 1;

B. a[0] = 5*2;

C. a[10] = 2;

D. a[1] = a[2] * a[0];

答案:C

试题17:

关于一维数组描述不正确的是:( )

A. 数组的下标是从0开始的

B. 数组在内存中是连续存放的

C. 数组名表示首元素的地址

D. 随着数组下标的由小到大,地址由高到低

答案:D

试题18:

函数调用exec((vl,v2),(v3,v4),v5,v6);中,实参的个数是:( )

A. 3

B. 4

C. 5

D. 6

答案:B

试题19:

以下叙述中不正确的是:( )

A. 在不同的函数中可以使用相同名字的变量

B. 函数中的形式参数是在栈中保存

C. 在一个函数内定义的变量只在本函数范围内有效

D. 在一个函数内复合语句中定义的变量在本函数范围内有效(复合语句指函数中的成对括号构成的代码)

答案:D

试题20:

关于Debug和Release的区别说法错误的是:( )

A. Debug被称为调试版本,程序调试找bug的版本

B. Release被称为发布版本,测试人员测试的就是Release版本

C. Debug版本包含调试信息,不做优化。

D. Release版本也可以调试,只是往往会优化,程序大小和运行速度上效果最优

答案:D

试题21:

下面代码的结果是:( )

#include <stdio.h>
int main()
{int arr[] = {1,2,3,4,5};short *p = (short*)arr;int i = 0;for(i=0; i<4; i++){*(p+i) = 0;}for(i=0; i<5; i++){printf("%d ", arr[i]);}return 0;
}

A. 1 2 3 4 5

B. 0 0 3 4 5

C. 0 0 0 0 5

D. 1 0 0 0 0

答案:B

试题22:

以下系统中,int类型占几个字节,指针占几个字节,操作系统可以使用的最大内存空间是多大:( )

A. 32位下:4,4,2^32 64位下:8,8,2^64

B. 32位下:4,4,不限制 64位下:4,8,不限制

C. 32位下:4,4,2^32 64位下:4,8,2^64

D. 32位下:4,4,2^32 64位下:4,4,2^64

答案:C

试题23:

下面哪些描述是正确的?

A. 内存中每个bit位都有唯一的地址

B. 内存中每个字节都有地址,地址可以唯一标识一个内存单元的

C. C语言中地址就是指针,指针就是地址

D. C语言中只要有了地址就可以随意读写内存空间。

答案:BC

试题24:

下面代码的结果是:

#include <stdio.h>
int i;
int main()
{i--;if (i > sizeof(i)){printf(">\n");}else{printf("<\n");}return 0; 
}

A. >

B. <

C. 不输出

D. 程序有问题

答案:A

试题25:

能把函数处理结果的2个数据返回给主调函数,在下面的方法中不正确的是:( )

A. return 这2个数

B. 形参用数组

C. 形参用2个指针

D. 用2个全局变量

答案:A

试题26:

以下哪个操作可以避免野指针的出现?

A. 使用空指针(NULL)初始化指针变量

B. 在指针释放后将其设置为NULL

C. 确保指针始终指向有效的内存地址

D. 检查指针的有效性后再进行访问

答案:ABCD

试题27:

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

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

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

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

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

答案:A

试题28:

下面哪个是指针数组:( )

A. int* arr[10];

B. int * arr[];

C. int **arr;

D. int (*arr)[10];

答案:A

试题29:

如何定义一个int类型的指针数组,数组元素个数为10个:( )

A. int a[10]

B. int (*a)[10]

C. int *a[10];

D. int (*a[10])(int);

答案:C

试题30:

关于回调函数描述错误的是( )

A. 回调函数就是一个通过函数指针调用的函数

B. 回调函数一般通过函数指针实现

C. 回调函数一般不是函数的实现方调用,而是在特定的场景下,由另外一方调用。

D. 回调函数是调用函数指针指向函数的函数。

答案:D

试题31:

下面代码中print_arr函数参数设计哪个是正确的?( )

int arr[3][5] = {1,2,3,4,5,6,7,8,9,10};print_arr(arr, 3, 5);

A. void print_arr(int arr[][],int row, int col);

B. void print_arr(int* arr, int row, int col);

C. void print_arr(int (*arr)[5], int row, int col);

D. void print_arr(int (*arr)[3], int row, int col);

答案:C

试题32:

unsigned int a= 0x1234;
unsigned char b = *(unsigned char *)&a;

在32位大端模式处理器上变量b等于( )

A. 0x00

B. 0x12

C. 0x34

D. 0x1234

答案:A

试题33:

关于大小端字节序的描述正确的是( )

A. 大小端字节序指的是数据在电脑上存储的二进制位顺序

B. 大小端字节序指的是数据在电脑上存储的字节顺序

C. 大端字节序是把数据的高字节内容存放到高地址,低字节内容存放在低地址处

D. 小端字节序是把数据的高字节内容存放到低地址,低字节内容存放在高地址处

答案:B

试题34:

在小端机器中,下面代码输出的结果是:( )

#include <stdio.h>
int main()
{int a = 0x11223344;char *pc = (char*)&a;*pc = 0;printf("%x\n", a);return 0;
}

A. 00223344

B. 0

C. 11223300

D. 112233

答案:C

试题35:

在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是( )

struct A
{int a;short b;int c;char d;
};struct B
{int a;short b;char c;int d;
};

A. 16,16

B. 13,12

C. 16,12

D. 11,16

答案:C

试题36:

由多个源文件组成的C程序,经过编辑、预处理、编译、链接等阶段会生成最终的可执行程序。下面哪个阶段可以发现被调用的函数未定义?( )

A. 预处理

B. 编译

C. 链接

D. 执行

答案:C

试题37:

下面哪个不是预处理指令:( )

A. #define

B. #if

C. #undef

D. #end

答案:D

试题38:

( ) 的作用是将源程序文件进行处理,生成一个中间文件,编译系统将对此中间文件进行编译并生成目标代码。

A. 预处理

B. 汇编

C. 生成安装文件

D. 编译

答案:A

试题39:

在X86下,小端字节序存储,有下列程序

#include<stdio.h>
int main()
{union{short k;char i[2];}*s, a;s = &a;s->i[0] = 0x39;s->i[1] = 0x38;printf("%x\n", a.k);return 0;
}

输出结果是( )

A. 3839

B. 3938

C. 380039

D. 不确定

答案:A

试题40:

关于枚举常量和#define 定义常量,下面哪个表述是不严谨的?

A. 可读性更好:枚举符号提供了有意义的标识符,可以更清晰地表达代码的意图。相比之下,#define定义的符号只是简单的文本替换,不具备语义上的含义。

B. 和#define定义的标识符比较枚举有类型检查,更加严谨。

C. 枚举常量是遵循作用域规则的,枚举声明在函数内,只能在函数内使用,#define定义的符号没有作用域概念,会在整个代码中进行文本替换

D. #define没有类型检查,使用更加方便,更加推荐使用

答案:D

试题41:

以下关于枚举的说法,哪个是正确的?

A. 枚举类型可以具有浮点数作为枚举值。

B. 枚举类型在内存中存储为整数。

C. 枚举类型可以包含字符串作为枚举值。

D. 枚举类型不能作为函数的参数传递。

答案:B

试题42:

以下哪个不是动态内存的错误( )

A. free参数为NULL

B. 对非动态内存的free释放

C. 对动态内存的多次释放

D. 对动态内存的越界访问

答案:A

完!!!! 

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

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

相关文章

设置笔记本同时连接内外网

原理&#xff1a;通过笔记本和手机相连&#xff0c;实现双网卡功能能。笔记本连接内网wifi、同时手机端开启usb网络共享&#xff0c;笔记本就有了两个网&#xff0c;然配置那个访问外网&#xff0c;那个访问内网。 1.笔记本wifi连接内网wifi 2.手机端共享网络。 手机打开 -【…

JVM类加载三步解读: 双亲委派模型如何维护Java生态

欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持! &#x1f649;Java是面向对象编程&#xff0c;一切皆对象。这些对象是如何从一堆代码变成程序中的一部分&#xff1f;Java虚拟机&#xff08;JVM&#xff09;在这个过程中扮演了至关重要的角色。当你的代码通…

青海摇摇了3天,技术退步明显.......

最近快手上的青海摇招聘活动非常火热&#xff0c;我已经在思考是否备战张诗尧的秋招活动。开个玩笑正片开始&#xff1a; 先说一下自己的情况&#xff0c;大专生&#xff0c;20年通过校招进入杭州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c…

SpringBean生命周期之PostConstruct、PreDestroy详解

在Spring框架中&#xff0c;Bean的生命周期是一个复杂的过程&#xff0c;涉及多个阶段&#xff0c;其中PostConstruct和PreDestroy注解在Bean的初始化和销毁阶段发挥着重要作用。以下是对这两个注解的深入理解&#xff1a; 一、PostConstruct注解 定义与来源 PostConstruct源自…

基于阿里云Ubuntu22.04 64位服务器Java及MySql环境配置命令记录

基于阿里云Ubuntu22.04 64位服务器Java及MySql环境配置命令记录 Java 23 离线环境配置MySql 环境配置MySQL常用命令 Java 23 离线环境配置 下载 Ubuntu环境下 Java 23 离线包 链接: java Downloads. 在Linux环境下创建一个安装目录 mkdir -p /usr/local/java将下载好的jdk压缩…

逆向分析:利用标志位进行爆破破解

信息收集 查程序编写信息 所用工具Detect It Easy Delphi编写&#xff0c;根据此信息选择DeDeDark进行反编译进一步收集可用信息 反编译程序进行信息收集 所用工具DeDeDark 载入要分析的主程序点击[开始处理]进行分析 注&#xff1a;主程序即软件主题程序(长见软件安装完毕…

【工具变量】上市公司企业研发不确定性数据(2013-2023年)

一、测算方式&#xff1a;参考顶刊《中国工业经济》孙薇&#xff08;2023&#xff09;老师的做法&#xff0c;本文从专利的申请与授权的视角出发&#xff0c;以企业当年申请的发明专利中最终未被授权的比例度量研发不确定性 &#xff08;uc&#xff09;。这是因为&#xff0c;相…

centos部署SkyWalking并在springcloud项目中用法举例

文章目录 场景SkyWalking介绍部署部署Storage [单机版Elasticsearch]部署SkyWalking OAP [下载地址](https://skywalking.apache.org/downloads/#SkyWalkingAPM)部署SkyWalking Java AgentspringCloud 使用举例 场景 SkyWalking是应用性能监控平台&#xff0c;可用于分布式系统…

[ACL 2024] ReFT: Reasoning with REinforced Fine-Tuning

Contents IntroductionMethodExperimentsReferences Introduction 作者提出 Reinforced Fine-Tuning (ReFT) 进行在线强化学习&#xff0c;帮助模型输出正确的推理步骤&#xff0c;总体感觉在线学习的思路和 STaR 非常相似&#xff0c;就是把 SFT 换成了 PPO… Method Warm-…

深度优先的艺术:探索二叉树的深搜算法精髓

文章目录 前言☀️一、计算布尔二叉树的值&#x1f319;解法⭐代码 ☀️二、求根节点到叶节点数字之和&#x1f319;解法⭐代码 ☀️三、二叉树剪枝&#x1f319;解法⭐代码 ☀️四、验证二叉搜索树&#x1f319;解法☁️步骤⭐代码 ☀️五、二叉搜索树中第k小的元素&#x1f3…

python学opencv|读取图像(五)读取灰度图像像素

【1】引言 前序学习了图像的基本读取&#xff0c;掌握了imread()、imshow()和imwrite()函数的基本功能和使用技巧&#xff0c;参考文章链接为&#xff1a; python学opencv|读取图像-CSDN博客 然后陆续掌握了彩色图像保存、图像放大和缩小以及对imshow()函数的大胆尝试技巧&a…

基于yolov8的SAR影像目标检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】

更多目标检测、图像分类识别、目标追踪等项目可看我主页其他文章 功能演示&#xff1a; 基于yolov8的SAR影像目标检测系统&#xff0c;支持图像、视频和摄像实时检测【pytorch框架、python源码】_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于yolov8的SAR影像目标…

ESP32开发 云调试

https://blog.csdn.net/weixin_43794311/article/details/128722001 VScode支持的仿真平台 https://docs.wokwi.com/zh-CN/vscode/getting-started 编译&#xff1a;Ctrl Alt B上传并重启模拟器&#xff1a;CtrlShifB Wokwi:Start Simulator调试&#xff1a;CtrlShifB Wokwi…

模版方法模式的理解和实践

在软件开发中&#xff0c;设计模式为我们提供了一套经过验证的解决方案&#xff0c;用于解决常见的设计问题。其中&#xff0c;模版方法模式&#xff08;Template Method Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了一个算法的框架&#xff0c;并允许子类在不改…

MySQL--》如何在SQL中巧妙运用函数与约束,优化数据处理与验证?

目录 函数使用 字符串函数 数值函数 日期函数 流程函数 约束 函数使用 函数是指一段可以直接被另一段程序调用的程序或代码&#xff0c;在mysql当中有许多常见的内置函数&#xff0c;接下来开始对这些内置函数及其作用进行简单的讲解和使用&#xff1a; 字符串函数 my…

归有光,情感与真实的独行者

归有光&#xff0c;字熙甫&#xff0c;号震川&#xff0c;生于明孝宗弘治十年&#xff08;公元1507年&#xff09;&#xff0c;卒于明穆宗隆庆五年&#xff08;公元1571年&#xff09;&#xff0c;享年64岁。他是中国明代著名的散文家、文学家和史学家&#xff0c;其散文风格清…

计算机网络-Wireshark探索ARP

使用工具 Wiresharkarp: To inspect and clear the cache used by the ARP protocol on your computer.curl(MacOS)ifconfig(MacOS or Linux): to inspect the state of your computer’s network interface.route/netstat: To inspect the routes used by your computer.Brows…

Vue3小兔鲜电商项目

创建项目 npm install 装包

美畅物联丨视频接入网关如何配置 HTTPS 证书

在安防领域&#xff0c;视频接入网关&#xff08;Video Access Gateway&#xff0c;VAG&#xff09;是视频监控系统的重要组成部分&#xff0c;其职责是把视频数据从前端设备传输至后端服务器。配置HTTPS证书后&#xff0c;可对视频流进行加密传输&#xff0c;避免数据在网络传…

fastcam编程套料软件

Fastcam是一款功能强大的专业软件&#xff0c;以下是对它的具体介绍&#xff1a; 基本信息 • Fastcam自1982年推出首个交互式CNC编程和套料系统后&#xff0c;一直不断更新发展. • 它是为数控火焰、等离子、激光和水射流切割机等数控切割机开发的编程套料软件. 主要功能模…