当前位置:问答库>考研试题

2017年西北工业大学软件与微电子学院C语言程序设计(加试)复试实战预测五套卷

  摘要

一、选择题

1. 以下选项中叙述正确的是( )。

A. 使用三种基本结构就可以实现任何复杂算法

B. 只要程序包含了三种基本结构中的任意一种,就是结构化程序 C. 程序语法错误要在运行时才能发现

D.C 语言程序不需要包含main ( )函数 【答案】A

【解析】结构化程序主要由循环结构、选择结构、顺序结构三种基本控制结构组成,它们组成的算法结构可 以解决任何复杂的问题,A 项正确。结构化程序设计是以模块化设计为中心,将待开发的软件系统划分为若干个 相互独立的模块,而不是说包含了三种基本结构就是结构化程序,B 项错误。程序语法错误是在编译过程中发现的,一般来说编译器只能检查语法和最简单的语义错误,而不检查程序的逻辑错误,C 项错误。C 程序总是从 main 函数开始执行,其他函数由main 函数直接或间接调用执行,所以C 语言程序必须包含main 函数,D 项错误。

2. 以下叙述中错误的是( )。

A. 基类型不同的指针可以直接相互赋值 B. 函数可以通过指针形参向所指单元传回数据 C. 字符型指针可以指向一个字符串

D. —般情况下,指针的运用可使程序代码效率更高 【答案】A

【解析】把一个指针变量的值赋给另一个指针变量,但一定要确保这两个指针变量的基类型是相同的。

3. 在C 语言中,只有在使用时才占用内存单元的变量,其存储类型是( )。

A.auto 和 register B.extern 和 register C.auto 和 static D.static 和 register 【答案】A

【解析】C 语言中,动态存储区域中存放的变量在使用时才分配内存空间,函数调用时返回auto 变量的储存处单元是分配在内存的动态的地址和自动类 局部变量等存放在动态存储区域中。

存储区中,每当进入函数体时自 动分配存储单元。register 变量也是自动类变量, 。static 说明的变extern 量为静态变量,静态变量在内存的静态存储中 占据着永久的存储单元,直至程序运行结束。说明的变量为外部变量,属于全局变量,全局变量在整个程 序运行期间都占用内存空间。

4. 若在程序中变量均已定义成int 类型,且已赋大于1的值,则下列选项中能正确表示代数式的表达式是( )。

【答案】A

【解析】abc 均大于1,所以表达式B 项错误。C 项表示表达 式

小于1,需要用浮点类型表示。若要计算表达式值,

结果

需要使其自动转化成浮点类型,A 项正确。B 项变量与常量均为整型,不会自动转换为浮点类型,

错误。D 项,算数运算法结合性自左向右,先计算

为0, 之后的计算无论是否转换数据类型结果均为0, D项错误。

5. 有以下程序:

程序运行的结果是( )。

【答案】D

【解析】在C 语言中,相同类型变量可以通过等号直接赋值,它会按照每个成员在结构体中的顺序一一对 应赋初值,可知,

6. 以下程序段中的变量已定义为int 类型,则

程序段的输出结果是( )。 A.6 B.4 C.5 D.7

【答案】D

【解析】整型常量有3种表示方法,分别是十进制数表示法、八进制数表示法和十六进制数表示法,八进制整常量以0作为前缀。自増和自减运算符的两种用法:前置运算,运算符放在变量之前,规则是先使变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其他运算,然后再使变量的值增(或减)1。x=010=8,y=10,++x先自加后取值,输出9,y--先取值输出10,再自减y=9,故D 选项正确。

7. 有以下程序:

程序运行后的输出结果是( )。

A. B. C. D. 【答案】D

while 函数判断p 指针指向地址的内容是否和a 指针指向地址的内容相等,【解析】如果不是,则移动指针p+1, 当p 指向*b字符串中的

时,和首地址元素相等,退出while 语句后,p 再向

输出

及剩余的字符串,D 项正确。

右移动a 字符串长度+1个单位地址,此时p 指向

8. 以下选项中正确的定义语句是( )。

A.doublea ;b ; B.double3,-b-l ; C.doublea=7,b-1; D.double ,a ,b ;

【答案】c

【解析】定义同一类型的变量时,不同变量之间需要用“,”分隔。A 项错误,a 和b 之间缺少逗号而用分号,是不正确的,分号是语句结束标志;B 项错误,定义变量的同时为变量初始化