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

2017年南昌大学高级语言程序设计复试仿真模拟三套题

  摘要

一、选择题

1. 下面的函数调用语句中fimc 函数的实参个数是( )。

A.3 B.4 C.5 D.8

【答案】A

【解析】函数调用中实参有多个时,实参之间用逗号分隔。本题中的实参有3个,

是逗号表达式作为参数,

是函数的返回值作为参数

是逗号与函数相结合作为参数。

2. 为了避免在嵌套的if-else 语句中产生二义性,C 语言规定与else 子句配对是( )。

A. 与其在同一行上的if 子句 B. 在其之后最近的不带else 的if 子句 C. 与其缩排位置相同的if 子句

D. 在其之前最近的不带else 的同层if 子句 【答案】D

【解析】if 总是与它上面最近的、未配对的else 配对。

3. 有以下程序:

程序运行后的输出结果是( )。 A.6 1 B.7 0 C.6 3 D.7 1 【答案】B 【解析】

这时分配的内存就是7个字节,包括结束字符

第一个遇到结束字符

第 2 页,共 15 页

无论之后如

为空,

何赋值,都不会改变,sizeof 是计算字符串所占存储空间的大小,因

结束赋值,这时

求的是字符串的个数,为0。

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

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

【答案】D

【解析】整型常量有3种表示方法,分别是十进制数表示法、八进制数表示法和十六进制数表示法,八进制整常量以0作为前缀。自增和自减运算符的两种用法:前置运算,运算符放在变量之前,规则是先使变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其 他运算,然后再使变量的值增(或减)1

先自加后取值,输出9,

5. 有如下程序:

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

【答案】D

【解析】程序执行过程为:

定义结构体变量

ABC , 故D 项正确。

6. 有以下函数:

第 3 页,共 15 页

先取值输出10, 再自减故D 选项正确。

调用strcpy

函数为结构体成员赋值

最后输出结果为

赋值给

该函数的功能是( )。 A. 计算字符串的长度 B. 实现字符串的赋值 C. 将字符串逆序存放 D. 计算字符串所占字节数 【答案】A

【解析】在fim ( )函数中定义了字符指针P , 首先把形参字符ps (相当于字符串的首地址)赋值给指针P , 再通过while 循环移动p 指针,当p 指针指向单元为0时,退出while 循环,返回此时p 地址和ps 地址差值,即 字符串的长度。

7. 以下叙述中正确的是( )。

A. 不能用字符串常量对字符数组名进行整体赋值操作

B. 字符串常量“Hello”会被隐含处理成一个无名字符型数组,它有5个元素 C. D. 【答案】A

【解析】A 项正确,不可以用赋值语句给字符数组整体赋一串字符,但是可以直接用字符串B 项错误,常量给一维字符 数组赋初始值。编译器会在字符串常量最后添加最近的’\0’作为其结束标志,运行时不安全;D 项错误,不能给数组str 赋值。

8. 以下选项中不能作为C 语言合法常量的是( )。

【答案】A

【解析】常量包括整型常量、实型常量、字符常量和字符串常量等。B 项,O.le+6是指数形式的常量,是合法的;C 项,是字符串常量;D 项,\011是表示八进制数整型常量。A 项错误,单引号表示字符常量,不能包含字符串,若要包含字符串,需用双引号。

它共有6个元素;

C 项错误,在语法上是合法的,但是没有字符串尾标识符,系统将要在其后的内存中找一个距它

在语法上是合法的,运行也是安全的

效果是一样的

二、设计题

第 4 页,共 15 页