2016年上海理工大学光电信息与计算机工程学院C程序设计及操作系统原理之C程序设计考研复试题库
● 摘要
一、选择题
1. 若有以下程序
则程序的输出结果是( )。 A.4,3,4 B.4,3,3 C.6,3,6 D.6,6,6 答:B
【解析】函数sp (p )调用前,p 指向k ; 调用后,指针p 被复制到a ,a 也指向存单元,k 和*p仍然是3。
2. 以下选项中叙述正确的是( )。
A. 结构化程序的三种基本结构是循环结构、选择结构、顺序结构 B.C 语言源程序不编译也能直接运行 C. 使用N —S 流程图不能描述复杂算法
D. 计算机能够直接运行C 语言源程序,不必进行任何转换 答:A
【解析】编译就是把高级语言变成计算机可以识别的二进制语言,不经过编译的源程序是不能运行的,B 项错误。算法可以用各种描述方法进行描述,能用
流程图把算法的每一步都用一个
矩形框来表示,把一个个矩形框按执行的次序连接起来就是一个算法描述,无论算法复杂与否都
流程图描述,C 项错误。C 语言源程序需要经过编译和连接生成目标文件和可执行文件
后才能运行,D 项错误
3. 有以下程序:
第 2 页,共 35 页
语句
使得a 指向变量b (但是p 仍然指向k ); 在sp 函数内部输出4,sp 函数没有改变指针p 指向的内
程序运行后的输出结果是( )。 A.7, 4 B.4, 10 C.8, 8 D.10, 10 答:B
【解析】在C 语言中,strlen ( )用来统计字符串中字符的个数,sizeof ( )是求分配给数组的存储空间大小。题目中字符串a 中字符个数为4, 但由于数组a 定义含有10个字符,所以所占空间大小为10。
4. 若想给已定义为int 型的变量a 、b 、c 、d 赋整数1,以下选项中错误的语句是( )。
A.d=c,c=b,b=a,a=l; B.d=c=b=a=l;
C.d=(b=c=(a=l); )D.d=l,c=d>b=c,a=b; 答:A
【解析】赋值是将一个常量的值赋给一个变量,A 项中,变量c 初始值未定义,相当于一个未知数给变量d 赋值,不满足赋值为1的条件。
5. 以下叙述中正确的是( )。
A. 语句
B. 对于字符串常量D. 在语句答:B
【解析】B 项正确,C 编译程序将自动在字符串常量最后添加串的存储单元,因此数组str 的长度大于字符串的长度。
6. 有以下程序
第 3 页,共 35 页
和
系统已自动在最后加入了
并不等价 字符,表示串结尾
C. 对于一维字符数组,不能使用字符串常量来赋初值
中,数组str 的大小等于字符串的长度
AC 两项错误,可以直接用
字符串常量给一维字符数组赋初值,习惯上均省略花括号;D 项错误,’\0’会占用一个不属于字符
程序运行后的输出结果是( )。 A.2,3,1 B.2, 3, 2 C.2, 3, 3 D.2, 2, 1 答:A
【解析】对于表达式改成
计算第三个表达式
7. 若有以下程序
,赋值运算符的优先级高于逗号运算符的优先级,可
然后从左向右先计算表达式
y 的值为3。
因为
先使用后自增,所以
的值为2。最后
此时y 的值为1,
z 的值为1,x 的值为2。再计算逗号表达式第二个表达式
则程序的输出结果是( )。 A.2, 3 B.0, 2 C.1, 2 D.1, 3 答:D 【解析】
8. 有以下程序
1. 是先判定a 是否为0, 不管判定结果如何,都执行a++。
程序的运行结果是( )。 A.Afternoon B.flemoon C.Morning D.oming 答:A
第 4 页,共 35 页
相关内容
相关标签