2017年山西大学计算机与信息技术学院863高级语言程序设计基础[专业硕士]考研导师圈点必考题汇编
● 摘要
一、选择题
1. 下列函数的功能是
A. 将a 所指字符串赋给b 所指空间 B. 使指针b 指向a 所指字符串
C. 将a 所指字符串和b 所指字符串进行比较 D. 检查a 和b 所指字符串中是否有【答案】A
【解析】本题中a 和b 是两个字符型指针,在while 语句的表达式中将指针a 所指向的字符赋给指针b 所指 向的内存单元,再判断指针b 所指向的字符是不是字符串中的空字符,如果不是,则字符指针a 和b 的值分别加1,再执行循环语句,直至b 所指向的字符为字符串中的空字符时跳出循环。
2. 有以下程序
程序运行后的输出结果是( )。 A.1,2,6, 8,10,12,7,8,9,10, B.1,2,3,4,5,6, 7,8,9, 10,
C.1,2,3,4,10,12,14,16,9, 10, D.1,2,6, 8,10,12,14,16, 9, 10,
第 2 页,共 51 页
。
【答案】A
【解析】数组名用作函数参数的情况类似于指针,属于传地址,故对形参数组元素的修改会同时修改实参。f ( )函数通过一个for 循环语句,将传入数组的元素从下标2到下标5每个各自乘以2。因此,调用结束时,数组a 中的内容为{1, 2,6,8,10,12,7, 8, 9,10}。
3. 若有以下定义和语句:
则输出结果是( )。 A.5 5 B.10 5 C.10 7 D.5 8 【答案】A
【解析】strlen 函数是测试字符串长度的函数,求字符串的实际字符个数,不包括字符内,
在字符义字符
,
之后的所有字符均不计入长度中。所以的含义是一个字符【程序有错,
4. 有以下程序段
若要求使p 指向一个int 型的动态存储单元,在横线处应填入的是( )。 A.int
B. (int*) C.int*
D. (*int) 【答案】B
C 语言标准规定malloc 函数返回值的类型为void*,malloc ,【解析】函数的调用形式为:(size )size 的类型为unsignedint 。p 是指向int 型的指针,要把void*强制转换成int*。
5. 程序段: 的输出结果是( )。
A.123.141593 B.123.141493 C.12, 3.141593 D.123.1415930 【答案】A
【解析】输出的x 与y 之间没有空格,保留6位。
第 3 页,共 51 页
在所以
而以】
开头的字符序列是转
所以s2
所指向的内容实际上是
应为
代表输出字符型数据,y 的格式应为小数点后
6. 有以下程序:
程序运行后的输出结果是。 A.ABCDEF B.AbCdEf C.aBcDeF D.abcdef 【答案】B
【解析】本题中,当i 为偶数时,即0、2、4, 执行
会依次输出ACE ; 当i 为奇数
时,即1、3、5,执行putchar (i+b)会依次输出bdf ,所以最终输出AbCdEf 。
7. 以下选项中,当x 为大于1的奇数时,值为0的表达式是( )。
A. B. C. D. 【答案】D 【解析】x 为大于1的奇数,的值为1,
8. 以下选项中正确的定义语句是( )。
A.doublea ;b ; B.double3,-b-l ; C.doublea=7,b-1; D.double ,a ,b ;
【答案】c
【解析】定义同一类型的变量时,不同变量之间需要用“,”分隔。A 项错误,a 和b 之间缺少逗号而用分号,是不正确的,分号是语句结束标志;B 项错误,定义变量的同时为变量初始化赋值不能用连等;D 项错误,在double 和a 之间多了一个逗号,变量类型说明后面不应用逗号,应用空格分离。
9. 有以下程序:
第 4 页,共 51 页
为假。