2018年山西大学计算机与信息技术院834程序设计之C程序设计考研基础五套测试题
● 摘要
一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。
【答案】D
【解析】函数f 对结构体进行修改,并返回新的结构体;main 函数先定义了一个结构体变量a 并为它赋初值,然后调用函数f 修改结构体变量的成员值,最后输出新的结构体变量成员。
2. 关于“while (条件表达式)循环体”,以下叙述正确的是( )。
A. 循环体的执行次数总是比条件表达式的执行次数多一次
B. 条件表达式的执行次数总是比循环体的执行次数多一次
C. 条件表达式的执行次数与循环体的执行次数一样
D. 条件表达式的执行次数与循环体的执行次数无关
【答案】D
【解析】一般来说,while 循环是先判断条件,满足条件后执行循环体,执行完后接着判断条件,执行,直到最后一次判断条件后不成立,跳出循环,所以最后一次执行了条件表达式,但是没有执行循环体。
但是while 循环体中有break 时,条件表达式的执行次数与循环体的执行次数一样。比如:
应该说条件表达式的执行次数不会比循环体的执行次数多。
3. 有以下程序
程序的输出结果是( )。
A.8
B.5
C.7
D.6
【答案】D
【解析】C 语言中的标识符区分大小写,pad 只实现了一次自增操作,结果输出6。
4. 有以下程序:
程序运行后的输出结果是( )。
A.1, 2, 1, 2
B.1, 2. 2, 1
C.2, 1, 2, 1
D.2, 1. 1, 2
【答案】B
【解析】本题定义了两个整型变量,然后用两个指针分别指向这两个整型变量,接着对指针进行交换,那么原来指向第一个整数的指针将指向第二个整数,原来指向第二个整数的指针将指向第一个整数。
5. 若有以下程序
则程序的输出结果是( )。
A.11,2
B.25,2
C.11,12
D.25,26
【答案】D
【解析】S (k+j)展开后是(3+2)*(3+2)=25,T (k+j)展开后是(3+2)*(3+2)/(3+2)*(3+2)+1=26。
6. 有以下程序:
程序的运行结果是( )。
A.11, 10
B.10, 10
C.10,11
D.11, 11
【答案】A
【解析】当i=l0时循环继续执行,i 值赋值给变量a 。赋值完成后执行i=i+l, 此时i=ll, 判定是
否满足条件不满足条件,结束循环。循环结束时,printf ( )是从右到左结合的,输出i , a 的值为11,10。
7. 有如下程序: