2016年山东科技大学数学与系统科学学院程序设计基础复试笔试仿真模拟题
● 摘要
一、选择题
1. 有以下程序
程序的输出结果是( )。
A.
B.
C.
D. 答:A
【解析】若满足
输出否则,输出#。
2. 以下叙述正确的是( )。
A.C 语言程序是由过程和函数组成的
B.C 语言函数可以嵌套调用,例如:fun (fun (x ) C.C 语言函数不可以单独编译
D.C 语言中除了main 函数,其他函数不可以作为单独文件形式存在 答:B
【解析】一个函数的返回值可以作为参数然后传给另一个函数,因此函数是可以嵌套调用的。A 项错误,C 语言程序只有函数构成,没有过程;C 项错误,编译系统的任务在于检查语法错误,只要符合语法规则的C 程序都可以通过编译,就算是单独的函数也可以;D 项错误,在C 语言中除main ( )函数以外的其他函数可以和main ( )函数在同一个C 文件中,也可以单独处于其他的C 文件,只要在使用到这些函数的main ( )函数的C 文件中用预编译指令“#include”包含进来即可。
3. 若有定义语句:
执行
正确的输入语句是( )。
答:A
【解析】double 类型,scanf 函数中格式应该使用%lf ,px 中存储的是x 的地址,可以直接在scanf 函数中使用。
4. 以下叙述中错误的是( )。
A. 当在程序的开头包含头文件B. 函数可以返回地址值
C. 改变函数形参的值,不会改变对应实参的值 D. 可以给指针变量赋一个整数作为地址值 答:D
【解析】D 项错误,不能将一个整数直接赋给指针变量作为地址。A 项正确,NULL 是在头文件
中定义的符号常量;B 项正确,函数的返回值可以是地址,即指针;C 项正确,函数
调用中形参值的变化不会传递给实参。
5. 若有定义则不符合C 语言规定的赋值语句是( )。
答:C
【解析】C 项错误,在C 语言的算术运算符中,取余运算符必须是整数。
A 项,赋值运算符的优先级高于“,”运算法,先进行赋值;B 项,将的计算结果赋给变量
6 设有如下定义.
答:A
右边的逻辑表达式
D 项,首先对变量a 求逻辑非操作,然后将结果赋值给变量i
则以下错误引用结构体成员n 的是( )。
的左右两侧的两个运算分量
时,可以给指针变量赋NULL
【解析】可用以下3种形式来引用结构体变量中的成员,其中结构体变量名也可以是已定义的结构体数组的数组元素:①结构体变量名. 成员名;②指针变量名->成员名;③(*指针变量名). 成员名。题目中a 为数组名是地址常量,不是指针变量,A 项引用错误。a[0]为变量名,B 项引用正确。p 为指针,且正确的指向结构体变量,C 项引用正确。D 项符合第三种引用方式,引用正确。
7 若主函数中有定义语句.则
在主函数前定义的fun 函数首部为
以下选项中错误的调用语句是( )。
A.
B.
C.
D. 答:D
【解析】D 项错误,一个数组。
8. 有以下程序:
程序运行后的输出结果是( )。 A.20045537 B.20044550 C.20042580 D.20041703 答:D
【解析】把结构体变量作为一个参数传递给函数时,传递的是实参结构体变量的值,系统给结构体类型的形参开辟相应的内存空间,并把实参中各成员的值赋给对应的形参成员。所以改变形参变量的内容对实参不会有任何影响。因此本题的函数f ( )对结构体s[0]没做改动,结果还是20041703。
9. 有以下程序段:
该程序段的功能是( )。 A. 输出a 、b 、c 中的最小值 B. 输出a 、b 、c 中的最大值
首先数组访问越界,其次是一个整数型,而函数fun 的参数是