c语言复习题(一)

  • 格式:docx
  • 大小:9.50 KB
  • 文档页数:3

1[单选题]有以下程序
#include<stdio.h>
Main()
{ int a=3;
Printf( “%d\n ”,a+=a-=a*a
程序运行后的输出结果是
A.3
B.9
C.0
D.-12
参考答案: D
参考解析:本题考查目的是运算符的结合性和优先级。

首先计算a*a ,结果为9,然后执行a=a-9 ,即3-9,结果为-6,然后执行a=(-6)+(-6) ,即8=的值为-12 。

所以选择D。

2[单选题]以下叙述中正确的是
A.两个字符串可以用关系运算符进行大小比较
B.函数调用strlen(s); 会返回字符串S 实际占用内存的大小(以字节为单位)
C. C 语言本身没有提供对字符串进行整体操作的运算符
D.当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和
参考答案: C
参考解析:本题考查字符串处理函数strien、strcat、strcmp °B选项中
strlen 返回的是字符串s 实际占用内存大小加上结尾符, A 选项中不能用关系运算符进行大小比较,可以使用strcmp。

D选项当使用连接函数strcat时,内存空间会减少一个字符位置。

3[单选题]一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。

A.一对一
B. 一对多
C.多对多
D.多对一
参考答案: C
参考解析:因为一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。

4[单选题]对于while(!E)s;,若要执行循环体s,则E的取值应为:
A.E 等于1
B.E 不等于0
C.E 不等于1
D.E 等于0
参考答案: D
参考解析:while 语句的一般形式为:while( 表达式)语句;其中表达式是循环条件,语句为循环体。

while 语句的语义是:计算表达式的值,当值为真(非0) 时,执行循环体语句。

该题中如要执行语句s,则!E应为真,因此E应等于0,
D 选项正确。

5[单选题]在软件设计中不使用的工具是( )。

A.系统结构图
B.PAD图
C.数据流图(DFD图)
D.程序流程图
参考答案: C 参考解析:系统结构图是对软件系统结构的总体设计的图形显示。

在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层
次结构,是在概要设计阶段用到的。

PAD 图是在详细设计阶段用到的。

程序流程
图是对程序流程的图形表示,在详细设计过程中用到。

数据流图是结构化分析方
法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用
到的而非软件设计时用到,所以选择C。

6[单选题]若有定义语句:char a='\82'; 则变量a( )
A.说明不合法
B.包含1个字符
C.包含2个字符
D.包含3个字符
参考答案: B
参考解析:char a='\82' ,定义字符量a,char 型变量值为 1 个字节长度,并从右侧开始运算,所以a的值应为'2'。

因此B选项正确。

7[单选题]有以下程序程序运行后的输出结果是
A.to Beijing!
B.you to Beijing!
C.Welcome you to Beijing!
D.Beijing!
参考答案: A
参考解析:while 函数判断P 指针指向地址的内容是否和 a 指针指向地址的
内容相等,如果不是,则移动指针p+1,当p指向*b字符串中的’y'时,和*a首地址元素相等,退出while语句后,P再向右移动a字符串长度+1个单位地址,此时P 指向’;输出’及剩余的字符串,答案为A选项。

8[单选题]若fp已定义为指向某文件的指针,且没有读到该文件的末尾,则 C 语言函数feof(fp) 的函数返回值是
A.EOF
B. 非0
C.-1
D.0
参考答案: D
参考解析:本题考查文件的定位,feof 函数的用法是从输入流读取数据,如
果到达文件末尾(遇文件结束符),eof 函数值为非零值,否则为0,所以选项 D 正确。

9[单选题] 有以下程序:
参考答案: C
参考解析:flm()函数作用冒泡法排序,fla9控制升序(0)或者降序⑴。

n为参与排序的元素个数。

a 为数组的起始地址。

因此,flm(a,4,1),数组的前四个降序排序,fun(a+4,6,O)对数组的第四项后六个元素进行升序排序。

故结果为10,9,8,7, 1 ,2,3,4,5,6。

答案为 C 选项。

10[单选题] 以下叙述中正确的是
A.只要适当地修改代码,就可以将do-while与while相互转换
B.对于“fo表达式1;表达式2;表达式3)循环体”首先要计算表达式2的值,以便决定是否开始循环
C.对于“fo表达式1;表达式2;表达式3)循环体”只在个别情况下才能转换成while 语句
D.如果根据算法需要使用无限循环(即通常所称的死循环”,)则只能使用while 语句
参考答案: A
参考解析: B 选项中,for 语句中需要先求解先求解表达式1;C 选项中,
for 语句使用最为灵活,它完全可以取代while语句;D选项中,对于死循环,也可以使用for 语句。

因此 A 选项正确。