2017年西藏大学程序设计基础复试仿真模拟三套题
● 摘要
一、选择题
1. 有以下程序
程序运行后的输出结果是( )。
A.2,3,1
B.2,3,2
C.2,3,3
D.2,2,1
【答案】A
【解析】对于表达式“z=x++,y++,++y; ”,赋值运算符的优先级高于逗号运算符的优先级,可改成“(z=x++),(y++),(++y)”。然后从左向右先计算表达式z=x++,因为x++先使用后自増,所以z 的值为1,x 的值为2。再计算逗号表达式第二个表达式y++,此时y 的值为1,y++的值为2。最后计算第三个表达式++y,y 的值为3。
2. 以下选项中错误的是( )。
A.
B.
C.
D.
【答案】D
【解析】D 项,
误,表示a 不等于b 时,运算结果为1,或者为0; 而^是一种语法错是非运算,且是单目运算符,只要求有一个操作数,故两者不等价。
3. 以下选项中叙述正确的是( )。
A.C 语言的标识符可分为关键字、预定义标识符和用户标识符三类
B.C 语言的标识符可分为语句、变量和关键字三类
C.C 语言的标识符可分为函数名、变量和预定义标识符三类
D.C 语言的标识符可分为运算符、用户标识符和关键字三类
【答案】A
【解析】C 语言的标识符可分为关键字、预定义标识符和用户标识符三类,A 项正确,B 、C 、
D 项错误。
4. 设有定义:
A.p=a;
B.p=b;
C.p=c; D.
【答案】A 则以下语句错误的是( )。
【解析】p 为指针变量,存放变量的地址。对指针变量赋值,值必须是地址值。a 为整型变量不是地址值, 不能赋值给p , A项错误。数组名为数组首地址,b 为地址可以赋值给p , B项正确。c 为指针变量,初始化为 NULL , 与p 均为整型指针,可以将其赋值给p , C项正确。&为取地址运算符,为数组元素b[0]的地址,可以赋值给p ,D 项正确。
5. 有以下程序:
编译时编译器提示错误信息,你认为出错的语句是( )。
C.k=l,m=8;
【答案】A
【解析】A 项,是不正确的表达式;
6. 以下选项中,能用作数据常量的是( )。
A.o115
B.0118
C.1.5el.5
D.115L
【答案】D
【解析】A 项错误,十六进制数用数学0和字符x (或大写字母X )开头;B 项错误,八进制整数常量以数字0开始,有效数字为0〜7;C 项错误,C 语言中实型常量有两种表示:小数形式
和指数形式。指数形式中,字母e (或E )之前必须要有数字,且e 或E 后面的指数必须为整数。
7. 以下关于函数的叙述正确的是( )。
A. 当程序中对文件的所有写操作完成之后,必须调用
函数关闭文件
B. 当程序中对文件的所有写操作完成之后,不一定要调用
C. 只有对文件进行输入操作之后,才需要调用
D. 只有对文件进行输出操作之后,才能调用
【答案】A _函数关闭文件 函数关闭文件 函数关闭文件
【解析】程序编写者应该在程序终止之前关闭所有文件,如果不关闭,文件将会丢失数据。用fdose 函数关闭文件,它先把缓冲区中的数据输出到磁盘文件,然后才释放文件指针变量。所以对文件的所有写操作完成之后必须要关闭文件,A 项正确,B 项错误。只要对文件进行操作后,都要调用fclose 文件关闭文件,C 、D 项错误。
8. 有以下程序:
程序运行后的输出结果是( )。
A.12
B.11
C.10
D.9
【答案】C
【解析】x=011表示按照八进制赋值,则十进制数为9,所以输出++x的结果为10。
二、设计题
9. 请编写一个函数,用来删除字符串中的所有空格。例如,输入asdafaaz67, 则输出为asdafaaz67。注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。
试题程序: