2018年东北财经大学计算机应用技术806计算机综合之C程序设计考研仿真模拟五套题
● 摘要
一、选择题
1. 有以下程序:
程序的运行结果是( )。
A.5
B.2
C.6
D.3
【答案】A
【解析】malloc (size )函数的返回值是新分配的存储区的首地址,将该地址赋值给p 指针,然后取p 指针 的地址,调用fun 函数。fun 函数中对指向指针的指针s 指向的内存单元赋值,其中表示二维数组x 的第二行的行地址,
与等价,A 项正确。 表示二维数组X 的第二行第二列的地址,所以赋值给为p ,所以
代表fun 函数的功能是将二维数组X 的第二行第二列的值,即
2. 下面选项中的程序段,没有编译错误的是( )。
【答案】A
A 项正确,BCD 三项错误,【解析】首先定义了字符串指针sp ,然后执行字符串常量“Hello”。
数组只有在初始化是可以被赋值,不能通过赋值语句将字符串常量或其他字符数组中的字符串直接赋给字符串变量。
3. 有以下程序:
程序运行后的输出结果是( )。
【答案】D
【解析】main 函数先为赋值,然后做运算结果赋值给b , 此时b 为1,并将b 打印出 来。接着做运算结果为赋值给a , 将a 打印出来,所以最终的输出结果为
4. 以下函数不能用于向文件写入数据的是( )。
A.ftell
B.fwrite
C.fputc
D.fprintf
【答案】A
【解析】函数ftell ( )用于得到文件位置指针当前位置相对于文件首的偏移字节数。在随机方式存取文件时,由于文件位置频繁地前后移动,程序不容易确定文件的当前位置。调用函
A 项不能写入数据,BCD 三项都可以向文件中写入。 数ftell 就能非常容易地确定文件的当前位置。
5. 设有定义:
若变量均已正确赋初值,则以下语句中错误的是( )。
【答案】A
【解析】A 项错误,struct 中的mark 成员是数组,数组一旦定义,不能直接赋值。B 项正确,numl 是int 变量,可以直接赋值。C 项正确,C 语言中struct 变量可以直接赋值,实际操作是内存拷贝;D 项正确,num2是int 变量,可以直接赋值;C 语言中,数组不能直接赋值,但是把数组包装在struct 中,就可以实现直接赋值。
6. 有以下程序:
程序的运行结果是( )。
A.y=0
B.y=l
C.y=2
D.y=3
【答案】D
【解析】数组a 定义结果为,指针P 指向执行一p ; 语句
y 的值为指针p 所指向的地址的存储值为3。 后,p 指向数组元素
7. 以下选项中错误的是( )。 A. B. C. D.
【答案】D
【解析】D 项,表示a 不等于b 时,运算结果为1,或者为0; 而^是一种语法错误,是非运算,且是单目运算符,只要求有一个操作数,故两者不等价。
8. 有以下程序
程序运行后的输出结果是( )。
A.235
B.0235
C.02356
D.2356
【答案】A
【解析】第一次循环k 为5, 执行为3, 第二次循环k 为3,执行
执行
和输出n 为2, k 的值输出n 为3, k 的值为2, 第三次循环k 为2,
,输出n 为5, k 的值为1,循环条件不成立,所以输出235。