c语言笔试题大全及答案

c语言笔试中,一般来说,概念题是最容易准备的,只需要将C语言的概念全部熟悉,即可以不变应万变。今天小编整理了c语言笔试题及答案供大家参考,一起来看看吧!c语言笔试题及答案(1)算法的时间复杂度是指__

c语言试题大全及答案

c语言笔试中,一般来说,概念题是最容易准备的,只需要将C语言的概念全部熟悉,即可以不变应万变。今天小编整理了c语言笔试题及答案供大家参考,一起来看看吧!

c语言笔试题及答案

c语言笔试题及答案

(1)算法的时间复杂度是指_______。

A)执行算法程序所需要的时间

B)算法程序的长度

C)算法执行过程中所需要的基本运算次数

D)算法程序中的指令条数

答案:C

评析:所谓算法的时间复杂度,是指执行算法所需要的计算工作量。

(2)下列叙述中正确的是________。

A)线性表是线性结构B)栈与队列是非线性结构

C)线性链表是非线性结构D)二叉树是线性结构

答案:A

评析:一般将数据结构分为两大类型:线性结构与非线性结构。线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。

(3)下面关于完全二叉树的叙述中,错误的是_________。

A)除了最后一层外,每一层上的结点数均达到最大值

B)可能缺少若干个左右叶子结点

C)完全二叉树一般不是满二叉树

D)具有结点的完全二叉树的深度为[log2n]+1

答案:B

评析:满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干子结点(叶子结点)的二叉树。

(4)结构化程序设计主要强调的是_________。

A)程序的规模B)程序的易读性

C)程序的执行效率D)程序的可移植性

答案:B

评析:结构化程序设计主要强调的是结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。

(5)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是________。

A)概要设计B)详细设计C)可行性分析D)需求分析

答案:D

评析:需求分析是对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。

(3)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是_________。

A)控制流B)加工C)数据存储D)源和潭

答案:A

评析:数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据源)、源和潭。

(6)软件需求分析一般应确定的是用户对软件的__________。

A)功能需求B)非功能需求C)性能需求D)功能需求和非功能需求

答案:D

评析:软件需求分析中需要构造一个完全的系统逻辑模型,理解用户提出的每一功能与性能要求,是用户明确自己的任务。因此,需求分析应确定用户对软件的功能需求和非功能需求。

(7)下述关于数据库系统的叙述中正确的是________。

A)数据库系统减少了数据冗余

B)数据库系统避免了一切冗余

C)数据库系统中数据的一致性是指数据类型的一致

D)数据库系统比文件系统能管理更多的数据

答案:A

评析:由数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值。

(8)关系表中的每一横行称为一个________。

A)元组B)字段C)属性D)码

答案:A

评析:在关系数据库中,关系模型采用二维表来表示,简称“表”。二维表是由表框架及表元组组成。在表框架中,按行可以存放数据,每行数据称为元组。

(9)数据库设计包括两个方面的设计内容,它们是________。

A)概念设计和逻辑设计B)模式设计和内模式设计

C)内模式设计和物理设计D)结构特性设计和行为特性设计

答案: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,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、顺序结构;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语言中允许使用一种特殊形式的字符常量,、就是以一个“”开头的字符序列,这样的字符称为“转义字符”。常用的转义字符有: ,换行;,水平制表;,退格;,回车。

(13)若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是_______。

A)pb=&x; B)pb=x; C)星符号pb=星符号、/)还包括自增自减运算符(++、–),在c语言解析表达式时,它总是进行贪婪咀嚼,这样,该表达式就被解析为i++ ++ +i,显然该表达式不合c语言语法。

(10)若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元

int星符号int) D)(int星符号)

答案:D

评析:不论p是指向什么类型的指针变量,都可以通过强制类型转换的方法使之类型一致,强制类型转换的格式为(数据类型+)。

(11)下面程序输出的结果是__________。

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语言笔试常考的关键字

double :声明双精度变量或函数

int: 声明整型变量或函数

struct:声明结构体变量或函数

break:跳出当前循环

else :条件语句否定分支(与 if 连用)

long :声明长整型变量或函数

switch :用于开关语句

case:开关语句分支

enum :声明枚举类型

typedef:用以给数据类型取别名(当然还有其他作用)

char :声明字符型变量或函数

extern:声明变量是在其他文件正声明(也可以看做是引用变量)

return :子程序返回语句(可以带参数,也看不带参数)

union:声明联合数据类型

const :声明只读变量

float:声明浮点型变量或函数

short :声明短整型变量或函数

C语言程序员笔试面试经验

C语言基础:没办法,题海战术,网上各种面试题都看一遍,什么static、const等等关键字都要熟悉,推导在一起的小程序(for、wile、if少不了)的printf输出结果也是常考,注意了必有陷阱,凡题三思,不用急着交卷…看似不难,但是到处埋坑!判断题也是常考,我曾经有一次面试,叫找出程序中错误,结果掉坑了,错误居然是char写成了Char!狂晕,我相信大部分人在编译器里面写0xfffffffffffffffffff次都不会出现这个错误!

数据结构:冒泡排序死也要记住了,女票生日可以忘,这个说啥也不能忘,笔试经常就是对一个数组排序,如果面试的话可能会问你如何优化这个算法!还有其他的一些排序算法比如快速排序也很重要,不一定要去学数据结构,但是排序算法可以网上查查,敲敲。反而树、链表啥的考的比较少,但是堆栈出现的频率也很高,我有一次就被问到堆是系统管理还是栈是系统管理。吐血,一紧张居然搞反了!

Linux shell:如果面试的是嵌入式方面的岗位,还会问一些和C语言无关的问题,一个就是Linux比较偏但是很实用的命令,比如用shell运行一个程序,并且让他后台。像ls、cd…这些你敲到烂的命令基本不会考的。

Linux编程:还是嵌入式/Linux有个的岗位,会问C语言的多线程、线程通信、多进程通信。

项目经验:简历上一定要有项目经验,学校的lualu党、闲人看到了请努力准备你的项目经验了啊!!几乎所有的面试官都会针对你的项目询问你如何实现已经做项目中解决了什么最深刻的问题?并会问你除了上面的项目还做了什么系觉得比较满意的项目?所以简历准备2个以上项目,还要最少留一个没写在简历上面的!

闲聊:当面试官问和非技术无关的话题时,有时候确实是闲聊,但是一定要提高警惕,可能十分危险,比如问爱逛什么网站,就应该回答一些技术论坛,别想着面试官是否和me有一样有某个生理癖好,好好和他分享一下珍藏,那你就是上当了!又比如问你是否有什么新数码产品发布或者新技术涌现,kao,你说laozi没钱买,关注个啥子咧,那就又上当了,说一下和所面试公司相同的其他公司的新产品,会获得大好印象!实在不懂,啥云计算、大数据聊一下也可以啊!如果你都不关注这个行业,面试官有理由相信你是为工作而找工作(事实我们都如此)!

(0)

相关推荐