2024年c语言笔试选择题和答案.docx

上传人:1319****208 文档编号:96620500 上传时间:2024-01-19 格式:DOCX 页数:14 大小:17.78KB
返回 下载 相关 举报
2024年c语言笔试选择题和答案.docx_第1页
第1页 / 共14页
2024年c语言笔试选择题和答案.docx_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《2024年c语言笔试选择题和答案.docx》由会员分享,可在线阅读,更多相关《2024年c语言笔试选择题和答案.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2024年c语言笔试选择题和答案 c语言笔试选择题和答案解析 c语言作为计算机程序设计语言,是考察软件工程师应聘者技术实力的关键。今日我整理了c语言笔试选择题和答案解析供大家参考,一起来看看吧! c语言笔试题及答案 (1)算法的时间困难度是指_。 A)执行算法程序所须要的时间 B)算法程序的长度 C)算法执行过程中所须要的基本运算次数 D)算法程序中的指令条数 答案:C 评析:所谓算法的时间困难度,是指执行算法所须要的计算工作量。 (2)下列叙述中正确的是_。 A)线性表是线性结构B)栈与队列是非线性结构 C)线性链表是非线性结构D)二叉树是线性结构 答案:A 评析:一般将数据结构分为两大类型

2、:线性结构与非线性结构。线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。 (3)下面关于完全二叉树的叙述中,错误的是_。 A)除了最终一层外,每一层上的结点数均达到最大值 B)可能缺少若干个左右叶子结点 C)完全二叉树一般不是满二叉树 D)具有结点的完全二叉树的深度为log2n+1 答案:B 评析:满二叉树指除最终一层外每一层上全部结点都有两个子结点的二叉树。完全二叉树指除最终一层外,每一层上的结点数均达到最大值,在最终一层上只缺少右边的若干子结点(叶子结点)的二叉树。 (4)结构化程序设计主要强调的是_。 A)程序的规模B)程序的易读性 C)程序的执行效率D)程序的可移植性 答

3、案:B 评析:结构化程序设计主要强调的是结构化程序清楚易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。 (5)在软件生命周期中,能精确地确定软件系统必需做什么和必需具备哪些功能的阶段是_。 A)概要设计B)具体设计C)可行性分析D)需求分析 答案:D 评析:需求分析是对待开发软件提出的需求进行分析并给出具体定义,即精确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。 (3)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是_。 A)限制流B)加工C)数据存储D)源和潭 答案:A

4、评析:数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据源)、源和潭。 (6)软件需求分析一般应确定的是用户对软件的_。 A)功能需求B)非功能需求C)性能需求D)功能需求和非功能需求 答案:D 评析:软件需求分析中须要构造一个完全的系统逻辑模型,理解用户提出的每一功能与性能要求,是用户明确自己的任务。因此,需求分析应确定用户对软件的功能需求和非功能需求。 (7)下述关于数据库系统的叙述中正确的是_。 A)数据库系统削减了数据冗余 B)数据库系统避开了一切冗余 C)数据库系统中数据的一样性是指数据类型的一样

5、D)数据库系统比文件系统能管理更多的数据 答案:A 评析:由数据的共享自身又可极大地削减数据冗余性,不仅削减了不必要的存储空间,更为重要的是可以避开数据的不一样性。所谓数据的一样性是指在系统中同一数据的不同出现应保持相同的值。 (8)关系表中的每一横行称为一个_。 A)元组B)字段C)属性D)码 答案:A 评析:在关系数据库中,关系模型采纳二维表来表示,简称“表”。二维表是由表框架及表元组组成。在表框架中,按行可以存放数据,每行数据称为元组。 (9)数据库设计包括两个方面的设计内容,它们是_。 A)概念设计和逻辑设计B)模式设计和内模式设计 C)内模式设计和物理设计D)结构特性设计和行为特性设

6、计 答案:A 评析:数据库设计可分为概念设计与逻辑设计。概念设计的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。逻辑设计的主要工作是将ER图转换为指定的'RDBMS中的关系模型。 (10)请读程序: #include main int a;float b,c; scanf(“%2d%3P%4f,a,b,C); printf(” a=%d,b=%ec。%f ”,a,b,C); 若运行时从键盘上输入9876543210l,则上面程序的输出结果是_。 A)a=98,b=765,c=432 1 B)a=1 0,b=432,c=8765 C)a=98,b=765.000000,

7、c=432 1.000000 D)a=98,b=765.0,c=432 1.0 答案:C 评析:scanf把用户从键盘录入的数字的第1、2位存入整型变量a;把第3、4、5位存入单精度实型变量b,把第6、7、8、9位存入单精度实型变量c,用户录入的第10位被scanf遗弃。这时变量a、b、c的值分别为:98、765.000000、4321.000000。 (11)一个良好的算法由下面的基本结构组成,但不包括_。 A)依次结构B)选择结构C)循环结构D)跳转结构 答案:D 评析:1966年,Bohra和Jacopini提出了以下三种基本结构,用这三种基本结构作为表示一个良好算法的基本单元:1、依次

8、结构;2、选择结构;3、循环结构。 (12)请选出以下程序的输出结果_。 #include sub(x,y,z) int x,y,星符号z: 星符号z改变,所以此次函数被调用后,a的值为y-x=-5,同理可知,在sub(7,a,b)后,b的值发生改变,其值为-5-7=-12,在sub(a,b,C)后,c的值发生改变,其值为-12-(-5)=-7。 (7)下面程序在屏幕上的输出是_。 main printf(”ab c”); A)ab c B)a c C)abc D)ab c 答案:B 评析:c语言中允许运用一种特别形式的字符常量,、就是以一个“”开头的字符序列,这样的字符称为“转义字符”。常用

9、的转义字符有: ,换行;,水平制表;,退格;,回车。 (13)若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是_。 A)pb=x; B)pb=x; C)星符号pb=星符号、/)还包括自增自减运算符(+、),在c语言解析表达式时,它总是进行贪欲咀嚼,这样,该表达式就被解析为i+ + +i,明显该表达式不合c语言语法。 (10)若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元 int星符号int) D)(int星符号) 答案:D 评析:不论p是指向什么类型的指针变量,都可以通过强制类型转换的方法使之类型一样,强制类型转换的格式为(数据类型+)。 (11)下面程序

10、输出的结果是_。 main int i=5,J=9,x; x=(I=j?i:(j=7); printf(” %d,%d”,I,J); A)5,7 B)5,5 C)语法错误D)7,5 答案:A 评析:条件表达式的一般形式为:表达式I?表达式2:表达式3;先求解表达式1,若为真则求解表达式2;若表达式l的值为假,则求解表达式3。本题中先推断i=j,不等,执行j=7;然后执行x=7。故本题为A。 c语言指针面试常见问题 分析下面的程序,指出程序中的错误: 本题解析 没有正确为str安排内存空间,将会发生异样。问题出在将一个字符串复制进一个字符变量指针所指地址。虽然编译的时候没有报错,但是在运行过程中

11、,因为越界访问了未被安排的内存,而导致段错误。 相关学问点 在处理与指针相关的问题时,首先须要搞明白的就是内存,因为指针操作的就是内存。 第一个,就是内存的分区。这也是常常会被考察的一个考点。 写出内存分为几大区域 对于这个问题,有几种不同的说法,有的说内存分为五大分区,有的说分为四大分区,我们先来看五大分区的说法: 认为内存分为五大分区的人,通常会这样划分: 1、BSS段( bss segment ) 通常是指用来存放程序中未初始化的'全局变量和静态变量 (这里留意一个问题:一般的书上都会说全局变量和静态变量是会自动初始化的,那么哪来的未初始化的变量呢?变量的初始化可以分为显示初始化

12、和隐式初始化,全局变量和静态变量假如程序员自己不初始化的话的确也会被初始化,那就是不管什么类型都初始化为0,这种没有显示初始化的就 是我们这里所说的未初始化。既然都是0那么就没必要把每个0都存储起来,从而节约磁盘空间,这是BSS的主要作用)的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存安排。 BSS节不包含任何数据,只是简洁的维护起先和结束的地址,即总大小。以便内存区能在运行时安排并被有效地清零。BSS节在应用程序的二进制映象文件中并不存在,即不占用 磁盘空间 而只在运行的时候占用内存空间 ,所以假如全局变量和静态变量未初始化那么其可执行

13、文件要小许多。 2、数据段(data segment) 通常是指用来存放程序中已经初始化的全局变量和静态变量的一块内存区域。数据段属于静态内存安排,可以分为只读数据段和读写数据段。字符串常量等,但一般都是放在只读数据段中。 3、代码段(code segment/text segment) 通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读, 某些架构也允许代码段为可写,即允许修改程序。在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等,但一般都是放在只读数据段中 。 4、堆(heap) 堆是用于存放进程运行中被动态安排的内存段

14、,它的大小并不固定,可动态扩张或 缩减。当进程调用malloc等函数安排内存时,新安排的内存就被动态添加到堆上(堆被扩张); 当利用free等函数释放内存时,被释放的内存从堆中被剔除(堆被缩减) 5、栈 (stack) 栈又称堆栈, 是用户存放程序临时创建的局部变量,也就是说我们函数括弧“” 中定义的变量(但不包括static声明的变量,static意味着在数据段中存放变 量)。除此以外, 在函数被调用时,其参数也会被压入发起调用的进程栈中,并且待到调用结束后,函数的返回值 也会被存放回栈中。由于栈的先进先出特点,所以 栈特殊便利用来保存/复原调用现场。从这个意义上讲,我们可以把堆栈看成一个寄

15、存、交换临时数据的内存区。 而四大分区的说法,则这么认为: 1、堆区: 由程序员手动申请,手动释放,若不手动释放,程序结束后由系统回收,生命周期是整个程序运行期间。运用malloc或者new进行堆的申请,堆的总大小为机器的虚拟内存的大小。 说明:new操作符本质上是运用了malloc进行内存的申请,new和malloc的区分如下: (1)malloc是C语言中的函数,而new是C+中的操作符。 (2)malloc申请之后返回的类型是void_,而new返回的指针带有类型。 (3)malloc只负责内存的安排而不会调用类的构造函数,而new不仅会安排内存,而且会自动调用类的构造函数。 2、栈区:

16、 由系统进行内存的管理。主要存放函数的参数以及局部变量。在函数完成执行,系统自行释放栈区内存,不须要用户管理。整个程序的栈区的大小可以在编译器中由用户自行设定,VS中默认的栈区大小为1M,可通过VS手动更改栈的大小。64bits的Linux默认栈大小为10MB,可通过ulimit -s临时修改。 3、静态存储区: 静态存储区内的变量在程序编译阶段已经安排好内存空间并初始化。这块内存在程序的整个运行期间都存在,它主要存放静态变量、全局变量和常量。 留意: (1)这里不区分初始化和未初始化的数据区,是因为静态存储区内的变量若不显示初始化,则编译器会自动以默认的方式进行初始化,即静态存储区内不存在未

17、初始化的变量。 (2)静态存储区内的常量分为常变量和字符串常量,一经初始化,不行修改。静态存储内的常变量是全局变量,与局部常变量不同,区分在于局部常变量存放于栈,实际可间接通过指针或者引用进行修改,而全局常变量存放于静态常量区则不行以间接修改。 (3)字符串常量存储在静态存储区的常量区,字符串常量的名称即为它本身,属于常变量。 (4)数据区的详细划分,有利于我们对于变量类型的理解。不同类型的变量存放的区域不同。后面将以实例代码说明这四种数据区中详细对应的变量。 4、代码区: 存放程序体的二进制代码。比如我们写的函数,都是在代码区的。 通过上面的不同说法,我们也可以看出,这两种说法本身没有优劣之

18、分,详细的内存划分也跟编译器有很大的关系,因此这两种说法都是可以接受的,搞明白内存的分区之后,指针的运用才能够更加的敏捷。 c语言笔试常考的关键字 double :声明双精度变量或函数 int: 声明整型变量或函数 struct:声明结构体变量或函数 break:跳出当前循环 else :条件语句否定分支(与 if 连用) long :声明长整型变量或函数 switch :用于开关语句 case:开关语句分支 enum :声明枚举类型 typedef:用以给数据类型取别名(当然还有其他作用) char :声明字符型变量或函数 extern:声明变量是在其他文件正声明(也可以看做是引用变量) return :子程序返回语句(可以带参数,也看不带参数) union:声明联合数据类型 const :声明只读变量 float:声明浮点型变量或函数 short :声明短整型变量或函数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁