c语言面试题笔试

时间:2024-09-27 11:28:20 敏冰 职场 我要投稿

  c语言作为计算机程序设计语言,是考察软件工程师应聘者技术能力的关键,所以招聘方会发出一个c语言面试邀请,通过笔试来选筛首批面试合格人员,然后进行二轮面试。下面是小编为大家收集的c语言面试题笔试,欢迎大家分享。

c语言面试题笔试

  c语言面试题笔试 1

  单选题部分

  1、C语言程序的基本单位是____

  A.语句

  B.函数

  C.程序行

  D.字符

  答案:B

  2、C语言程序由()组成

  A.子程序

  B.过程

  C.函数

  D.主程序段程序

  答案:C

  3、算法的表示方法有______

  A.自然语言,传统流程图,N-S流程图,伪代码,计算机语言

  B.高级语言,汇编语言,机器语言

  C.C语言,QBASIC语言,InterDev

  D.图形图像法,描述法,编程法

  E.计算机语言

  答案:A

  4、下列变量定义中合法的是

  A.short_a=1-.le-1;

  B.doubleb=1+5e2.5;

  C.longdo=0xfdaL;

  D.float2_and=1-e-3;

  答案:A

  5、下面说法中正确的是()

  A.int型和long型运算先将int型转换成unsigned型,再转换

  B.两个float型运算结果为double型

  C.只要表达式中存在double型,所有其他类型数据都必须转

  D.表达式中的类型转换与运算顺序有关

  答案:C

  6、以下不正确的叙述是

  A.在C程序中,逗号运算符的优先级最低

  B.在C程序中,APH和aph是两个不同的变量

  C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变

  D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

  答案:D

  7、以下说法中正确的是

  A.#define和printf都是C语句

  B.#define是C语句,而printf不是

  C.printf是C语句,但#define不是

  D.#define和printf都不是C语句

  答案:D

  8、若有条件表达式(exp)?a++:b–,则以下表达式中能完全等价于表达式(exp)的是

  A.(exp==0

  B.(exp!=0)

  C.(exp==1)

  D.(exp!=1)

  答案:B

  9、若有说明:inta[3][4]={0};则下面正确的叙述是

  A.只有元素a[0][0]可得到初值0

  B.此说明语句不正确

  C.数组a中各元素都可得到初值,但其值不一定为0

  D.数组a中每个元素均可得到初值0

  答案:D

  c语言面试问答题

  1、局部变量能否和全局变量重名?

  答:能,局部会屏蔽全局。要用全局变量,需要使用"::"

  局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的'局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。

  2、如何引用一个已经定义过的全局变量?

  答:extern

  可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错

  3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?

  答:可以,在不同的C文件中以static形式来声明同名全局变量。

  可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错。

  c语言面试题笔试 2

  1. 以下程序执行后sum 的值是

  main()

  { int i , sum;

  for(i=1;i<6;i++) sum+=i;

  printf("%d ",sum);

  }

  A)15

  B)14

  C) 不确定

  D)0

  你所选择的答案是:C,正确答案是:C √

  2. 当调用函数时,实参是一个数组名,则向函数传送的是

  A) 数组的.长度

  B) 数组的首地址

  C) 数组每一个元素的地址

  D) 数组每个元素中的值

  你所选择的答案是:B,正确答案是:B √

  3. 以下只有在使用时才为该类型变量分配√

  4. 以下程序的输出结果是

  main()

  { int i, x[3][3]={1,2,3,4,5,6,7,8,9};

  for(i=0;i<3;i++) printf("%d,",x[i][2-i]);

  }

  A) 1,5,9

  B) 1,4,7

  C) 3,5,7

  D)3,6,9

  你所选择的答 案是:C,正确答案是:C √

  5. 以下程序的输出结果是

  #define SQR(X) X*X

  main()

  { int a=16, k=2, m=1;

  a/=SQR(k+m)/SQR(k+m);

  printf("d ",a);

  }

  A) 16

  B) 2

  C) 9

  c语言面试题笔试 3

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

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

  B)算法程序的长度

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

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

  答案:C

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

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

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

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

  答案:A

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

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

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

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

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

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

  答案:B

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

  c语言面试题笔试 4

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

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

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

  答案:B

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

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

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

  答案:D

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

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

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

  答案:A

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

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

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

  答案:D

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

  c语言面试题笔试 5

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

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

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

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

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

  答案:A

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

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

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

  答案:A

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

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

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

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

  答案:A

  评析:数据库设计可分为概念设计与逻辑设计。概念设计的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。逻辑设计的主要工作是将ER图转换为指定的RDBMS中的关系模型。

  (4)请读程序:

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

  (5)一个良好的算法由下面的基本结构组成,但不包括__________。

  A)顺序结构B)选择结构C)循环结构D)跳转结构

  答案:D

  评析:1966年,Bohra和Jacopini提出了以下三种基本结构,用这三种基本结构作为表示一个良好算法的基本单元:1、顺序结构;2、选择结构;3、循环结构。

  (6)请选出以下程序的输出结果________。

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

  (8)若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语言面试题笔试】相关文章:

c语言编程软件06-14

c语言如何入门自学06-14

c语言保留两位小数怎么保留09-07

大c杯和小c杯的区别04-24

梦到自己被C了03-21

胸大c和小c的区别是什么04-24

女性高c的症状07-02

什么是翡翠c货09-15

c盘怎么清理06-04