2017年青海大学C语言程序设计基础(同等学力加试)复试仿真模拟三套题
● 摘要
一、选择题
1. 有以下程序
程序执行后的输出结果是( )。
A.50
B.60
C.45
D.55
【答案】B
【解析】函数fun 的功能是求数组的n 个元素之和,
量,所以保持15不变,
2. 有以下程序
程序的运行结果是( )。
A.345678
B.876543
C.1098765
D.321678
【答案】D
第 2 页,共 13 页
由于sum 是静态局部变 所以
【解析】函数fun 的作用是交换对其修改,在函数外部也会发生作用。与的值,数组是以指针的形式传递的,在函数内部的作用是把数组k 中的
到和,互换,和输出,得到321678。 ,把互换,执行完成后,数组k 变成
3. 以下能正确输出字符a 的语句是( )。
【答案】A
【解析】“格式控制串”用来指定每个输出项的输出格式,对应字符串,对应字符,对应整型。双引号里面的内容为字符串“a ”,单引号里面的内容为字符’a ’,A 选项正确。B 、C 、D 选项语句本身就有问题。
4. 以下程序段中的变量已定义为int 类型,则
程序段的输出结果是( )。
A.6
B.4
C.5
D.7
【答案】D
【解析】整型常量有3种表示方法,分别是十进制数表示法、八进制数表示法和十六进制数表示法,八进制整常量以0作为前缀。自增和自减运算符的两种用法:前置运算,运算符放在变量之前,规则是先使变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其 他运算,然后再使变量的值增(或减)1
。
先自加后取值,输出9,
5. 程序运行后的输出结果是( )。
A.14.0
B.31.5
C.7.5
D. 程序有错无输出结果
【答案】D
【解析】宏定义有两种:无参数的宏定义,即#definePT3.5; 带参数的宏定义,不能用宏来计算,宏只能做简单的代替而不能做计算,故程序会报错。
6. 若有定义语句:
以下叙述中错误的是( )。
A. 定义语句中的p 只能存放double 类型变量的地址
B. 定义语句中的*号是一个说明符
第 3 页,共 13 页 先取值输出10, 再自减故D 选项正确。
C. 定义语句中的*号是一个间址运算符
D. 定义语句中*p=&a把变量a 的地址作为初值赋给指针变量p
【答案】C
【解析】C 项错误,只有取指针变量的值时,星号*才是间址运算符,引用指针指向的存储单元。A 项正确, p 是double 类型的指针,只能存放double 类型的地址;B 项正确,定义指针变量时,星号是一个说明符,用来说明该变量是指针变量;D 项正确,
用来求出double 变量a 的地址赋给指针变量p ,而使p 指向a 。
7. 下列关于C 语言文件的叙述中,正确的是( )。
A. 文件由一系列数据依次排列组成,只能构成二进制文件
B. 文件由结构序列组成,可以构成二进制文件或文本文件
C. 文件由数据序列组成,可以构成二进制文件或文本文件
D. 文件由字符序列组成,其类型只能是文本文件
【答案】C
【解析】C 语言将文件看作一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。根据数据的组成形式,可分为ASCII 文件和二迸制文件。ASCII 文件又称文本(text )文件,它的每一个字节可放一个Ascn 码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式按原样输出到磁盘上存放。故一个C 文件就是一个字节流或二进制流。
8. 以下叙述错误的是( )。
A. 未经赋值的全局变量值不确定
B. 未经赋值的auto 变量值不确定
C. 未经赋值的register 变量值不确定
D. 未经赋值的静态局部变量值为0
【答案】A
【解析】C 语言中,系统将未经赋初值的全局变量默认为0, 答案为A 选项。
是求地址运算符,
二、设计题
9. 学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组s 中,请编写函数fun , 它 的功能是:按分数的高低排列学生的记录,高分在前。
注意:部分源程序存在文件
语句。
给定源程序:
第 4 页,共 13 页 中。 请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干