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个存储空间,然后取值。
相关内容
相关标签