2017年扬州大学信息工程学院835程序设计考研题库
● 摘要
一、选择题
1. 若有定义:
A.ps[0]是字符串”aa” B.
C.
D. 是字符串”aa”的首地址 是字符串”aa”的首地址 是字符串”aa” 则以下叙述正确的是( )。
【答案】C
ps 是指针变量,ps[0]指向的是数组首个元素的地址,【解析】定义一个字符串数组指针ps 后,
即字符串“aa” 的首地址,C 项正确。
2. 有以下程序(注:字符a 的ASCII 码值为97):
程序运行后的输出结果是( )。
A.abc
B.789
C.7890
D.979800
【答案】B
【解析】a 、b 、c 的ASCII 值分别为97、98、99。程序中执行输出S 中的内容与10进行模运算后的值,s 是一个指针,首先指向字符a ,先执行97%10, 结果为7; 然后++s,指针指向下一个字符b ,执行98%10, 结果为8, 直到s 所指为空,故最后输出的结果为789。
3. 有以下程序:
程序的运行结果是( )。
A.6,5,4,3,2,1,
B.1, 1
C.1, 1, 1, 1, 1, 1,
D.1,2,3,4,5,6,
【答案】A
【解析】本题中递归函数调用执行过程为
:
输
出也即返回执行之后的输出x[0]语句,即5, 同理再返回上一个f 函数,依次输出4, 3,2,1。
4. 以下选项中与语句功能不同的switch 语句是( )。
【答案】B
【解析】在switch 语句的执行过程中,执行完case 后面的语句后,如果遇到break 语句就停止,否则将继续执行下一个case 中的语句,直到遇到break 语句。B 项,当a==1是时a=b, 刚好和题干要求相反。
5. 若在程序中变量均已定义成int 类型,且已赋大于1的值,贝!J 下列选项中能正确表示代数
式的表达式是( )。
A.1.0/a/b/c
B.1/(a*b*c)
C.1.0/a*b*c
D.1/a/b/(double )c
【答案】A
【解析】abc 均大于1, 所以表达式1/abc小于1,需要用浮点类型表示。若要计算表达式值,需要使其自动转化成浮点类型,A 项正确。B 项变量与常量均为整型,不会自动转换为浮点类型,B 项错误。C 项表示表达式be/a,错误。D 项,算数运算法结合性自左向右,先计算1/a,结果为0, 之后的计算无论是否转换数据类型结果均为0, D 项错误。
6. 若有定义语句
接着执行以下选项中的语句,则能正确执行的语句是( )。 A. B. C. D.
【答案】B
【解析】scanf 中参数列表,需为地址,只有B 项符合题意。
7. 下列关于C 语言文件的叙述中正确的是( )。
A. 文件由一系列数据依次排列组成,只能构成二进制文件
B. 文件由结构序列组成,可以构成二进制文件或文本文件
C. 文件由数据序列组成,可以构成二进制文件或文本文件
D. 文件由字符序列组成,其类型只能是文本文件
【答案】C
【解析】C 语言将文件看作是一个字符(字节)的序列,即由一个一个字符(字节)数据顺序组成。根据数据的组成形式,可将文件分为两种:①ASCII 文件,又称文本
存储形式原样输出到磁盘上存放。所以C 文 件就是一个字节流或一个二进制流。
8. 以下程序的主函数中调用了在其前面定义的函数fun :
则以下选项中错误的fun 函数首部是( )。 A. B. C. D.
【答案】D
【解析】由题目可知,fun 函数中定义的应该是一个double 型的指针变量。
9. 以下选项中不能作为C 语言合法常量的是( )。
文件,它的每一个字节可放一个ASCII 码,代表一个字符;②二进制文件,是把内存中的数据按其在内存中的