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

2018年贵州大学机械工程院846C程序设计考研基础五套测试题

  摘要

一、选择题

1. 设有定义:

则以下赋值语句中错误的是( )。 A.data2=datal;

B.data2=(2,6); C.data2.real=datal.real; D.data2.real=datal.unreal; 【答案】B

【解析】B 项错误,对结构体进行初始化时,应该用花括号括起来的一组值,而不是用小括号。

2. 一下四个程序中,完全正确的是( )

【答案】B

【解析】A 项中,“main ( ) ”函数后面不能加分号;C 语言中注释语句的注释方法是:

或注释一行,且前缺少“#”号。

3. 有以下程序段:

则A.5 B.10 C.12

D. 无法确定

的值为( )。

不能嵌套使用,C 项错误; D

选项中预编译命令

【答案】A

【解析】当直接用数组名给指针赋初始化值时,表示把数组首地址的值赋给指针,把

地址赋给

表示将数组第5个元素地址赋给

4. 有以下程序

表示

故答案为A 选项。

程序运行后,若从键盘输入(从第1列开始) 123<回车> 45678<回车>

则输出结果是( )。 A.1245 B.1256 C.1278 D.1267 【答案】A

【解析】scanf ( )是格式化输入函数;getehar ( )函数从键盘缓冲区读入下一个字符;putehar ( )输出一个字符;printf ( )函数是格式化输出函数。在题目中,程序执行到scanf ( )函数时,会暂停等待用户输入4个字符,按题意输入123〈回车〉后,字符1〜3被分别赋值到cl 〜c3中,而c4会得到一个换行符

然后执行第1个getchar ( )函

数,由于前面的scanf ( )函数读完了缓冲区中的所有字符,所以此时程序又会暂停等待用户输入,按题意输入45678〈回车〉后,缓冲区第一个字符4赋值c5, 第二个字符5赋值给c6。

5. 有如下程序:

程序运行后的输出结果是( )。 A.X B.XYZ

C.YZ D.Y

【答案】A 【解析】字符

的ASCII 码值分别为0、48、97、98。putchar 函数是

向标准输出设备上输出一个字符。程序执行过程为:判断‘\0’==0成立,输出X ; 判断‘0’==0不成立,不输出;判断不成立,不输出。故A 项正确。

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

A. 在对指针进行加、减算术运算时,数字1表示1个存储单元的长度 B. 如果p 是指针变量,则*p表示变量p 的地址值 C. 如果p 是指针变量,则&p是不合法的表达式

D. 如果p 是指针变量,则*p+1和*(p+1)的效果是一样的 【答案】A

【解析】A 项正确,在对指针进行加、减运算时,数字“1”不再代表十进制整数“1”,而是指1个存储单元长度。B 项错误,表示p 的值;C 项错误,

是先取p 的值,然后执行+1操作,

7. 以下针对全局变量的叙述错误的是( )。

A. 全局变量的作用域是从定义位置开始至源文件结束 B. 全局变量是在函数外部任意位置上定义的变量 C. 用extern 说明符可以限制全局变量的作用域 D. 全局变量的生存期贯穿于整个程序的运行期间 【答案】C

【解析】在不同编译单位内用extern 说明符来扩展全局变量的作用域,extern 可以将全局变量作用域扩展到 其他文件,而不是限制全局变量的作用域,答案为C 选项。

8. 以下关于指针的叙述,错误的是( )。

A. 两个基类型相同的指针变量不能指向同一个对象 B. 可以通过对指针变量自增、自减来移动指针 C. 只有两个类型相同的指针才能进行减运算

D. —个指针变量可以通过不同的方式获得一个确定的地址值 【答案】A

【解析】只要两个指针变量基类型相同,可以指向同一个对象,A 项正确。

9. 若有定义语句:

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

表示变量p 的地址;D 项错误

是先对指针移动1个存储空间,然后取值。