计算机二级考试习题练习

2007年9月二级C语言笔试真题及答案
1题:软件是指()
A.程序 
B.程序和文档
C.算法加数据结构 
D.程序、数据和相关文档的集合

【单选题】:      

2题:软件调试的目的是()
A.发现错误 
B.改正错误
C.改善软件的性能 
D.验证软件的正确性

【单选题】:      

3题:一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为()
A.219 
B.221 
C.229 
D.231

【单选题】:      

4题:C语言源程序名的后缀是()
A..exe 
B..C 
C..obj 
D..cp
【单选题】:      

5题:可在C程序中用做用户标识符的一组标识符是()
A.and 
B.Date 
C.Hi 
D.case

【单选题】:      

6题:若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是()
A.scanf("%d",a,b,c); 
B.scanf("%d%d%d",a,b,c);
C.scanf("%d",p); 
D.scanf("%d",&p);

【单选题】:      

7题:以下关于long、int和short类型数据占用内存大小的叙述中正确的是()
A.均占4个字节 
B.根据数据的大小来决定所占内存的字节数
C.由用户自己定义 
D.由C语言编译系统决定

【单选题】:      

8题:若变量均已正确定义并赋值,以下合法的C语言赋值语句是()
A.x=y==5; 
B.x=n%2.5; 
C.x+n=I; 
D.x=5=4+1;

【单选题】:      

9题:有以下程序段()
int j; float y; char name[50];
scanf("%2d%f%s",&j,&y,name);
当执行上述程序段,从键盘上输入55566 7777abc后,y的值为
A.55566.0 
B.566.0 
C.7777.0 
D.566777.0

【单选题】:      

10题:有以下计算公式 若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是()
A)if(x>=0) y=sqrt(x); 
B)y=sqrt(x)else y=sqrt(-x); if(x<0) y=sqrt(-x);
C)if(x>=0)y=sqrt(x); 
D)y=sqrt(x>=0?x:-x);

【单选题】:      

11题:设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是()
A.(EXP= =0) 
B.(EXP!=0) 
C.(EXP= =1) 
D.(EXP!=1)

【单选题】:      

12题:已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是()
A.isupper(c) 
B.’A’<=c<=’Z’
C.’A’<=c&&c<=’Z’ 
D.c<=(‘2’-32)&&(‘a’-32)<=c

【单选题】:      

13题:若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是()
A.函数的实参和其对应的形参共占同一存储单元
B.形参只是形式上的存在,不占用具体存储单元
C.同名的实参和形参占同一存储单元
D.函数的形参和实参分别占用不同的存储单元

【单选题】:      

14题:已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。执行语句printf("%d,%d",c1,c2-2);后,输出结果是()
A.A,B 
B.A,68 
C.65,66 
D.65,68

【单选题】:      

15题:以下正确的字符串常量是()
A."\\\" 
B.’abc’ 
C.OlympicGames 
D.""

【单选题】:      

16题:设有定义:char p[]={’1’,’2’,’3’},*q=p; ,以下不能计算出一个char型数据所占字节数的表达式是()
A.sizeof(p) 
B.sizeof(char) 
C.sizeof(*q) 
D.sizeof(p[0])

【单选题】:      

17题:)有以下函数
int aaa(char *s)
{char *t=s;
while(*t++);
t--;
return(t-s);
}
以下关于aaa函数的功能叙述正确的是()
A.求字符串s的长度 
B.比较两个串的大小
C.将串s复制到串t 
D.求字符串s所占字节数

【单选题】:      

18题:若有定义语句:int a[3][6]; ,按在内存中的存放顺序,a数组的第10个元素是()
A.a[0][4] 
B.a[1][3] 
C.a[0][3] 
D.a[1][4]

【单选题】:      

19题:若有定义语句:int a[2][3],*p[3]; ,则以下语句中正确的是()
A.p=a; 
B.p[0]=a; 
C.p[0]=&a[1][2]; 
D.p[1]=&a;

【单选题】:      

20题:有以下程序
#include
void fun(int *a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/
{int t,i,j;
for(i=0;ifor(j=i+1;jif (a}
main()
{int c[10]={1,2,3,4,5,6,7,8,9,0},i;
fun(c+4,6);
for (i=0;i<10;i++) printf("%d,",c);
printf("\n");
}
程序运行的结果是()
A.1,2,3,4,5,6,7,8,9,0, 
B.0,9,8,7,6,5,1,2,3,4,
C. 0,9,8,7,6,5,4,3,2,1, 
D.1,2,3,4,9,8,7,6,5,0,

【单选题】:      

21题:当用户要求输入的字符串中含有空格时,应使用的输入函数是()
A.scanf() 
B.getchar() 
C.gets() 
D.getc()

【单选题】:      

22题:以下关于字符串的叙述中正确的是()
A.C语言中有字符串类型的常量和变量
B.两个字符串中的字符个数相同时才能进行字符串大小的比较
C.可以用关系运算符对字符串的大小进行比较
D.空串一定比空格打头的字符串小

【单选题】:      

23题:有以下程序:
#include 
void fun(char *t,char *s)
{
while(*t!=0)t++;
while((*t++=*s++)!=0);
}
main()
{
char ss[10]=”acc”,aa[10]=”bbxxyy”;
fun(ss,aa);
printf(“%s,%s\n”,ss,aa);
}
程序运行结果是()
A. accxyy , bbxxyy 
B. acc, bbxxyy
C. accxxyy,bbxxyy 
D. accbbxxyy,bbxxyy

【单选题】:      

24题:在一个C语言源程序文件中所定义的全局变量,其作用域为:()
A.所在文件的全部范围 
B.所在程序的全部范围
C.所在函数的全部范围 
D.由具体定义位置和extern 说明来决定范围

【单选题】:      

25题:若程序中有宏定义行:#define N 100 则以下叙述中正确的是()
A.宏定义行中定义了标识符N的值为整数100
B.在编译程序对C源程序进行预处理时用100替换标识符N
C.对C源程序进行编译时用100替换标识符N
D.在运行时用100替换标识符N

【单选题】:      

26题:以下关于typedef的叙述错误的是()
A.用typedef可以增加新类型
B.typedef只是将已存在的类型用一个新的名字来代表
C.用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名
D.用typedef为类型说明一个新名,通常可以增加程序的可读性

【单选题】:      

27题:设有以下定义
union data
{ int d1; float d2; }demo;
则下面叙述中错误的是()
A.变量demo与成员d2所占的内存字节数相同
B.变量demo中各成员的地址相同
C.变量demo和各成员的地址相同
D.若给demo.d1赋99后, demo.d2中的值是99.0

【单选题】:      

28题:读取二进制文件的函数调用形式为:fread(buffer,size,count,fp); ,其中buffer代表的是()
A.一个文件指针,指向待读取的文件
B.一个整型变量,代表待读取的数据的字节数
C.一个内存块的首地址,代表读入数据存放的地址
D.一个内存块的字节数

【单选题】:      

29题:软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的____.
【填空题】:

30题:在两种基本测试方法中,_______测试的原则之一是保证所测模块中每一个独立路径至少要执行一次.
【填空题】:

31题:线性表的存储结构主要分为顺序存储结构和链式存储结构.队列是一种特殊的线性表,循环队列是队列的_______存储结构.
【填空题】:

32题: 对下列二叉树进行中序遍历的结果为________
F
/ \
C E
/ \ \
A D g
/ / \
B h p
【填空题】:

33题:在E-R图中距形表示_______.
【填空题】:

34题:执行以下程序时输入1234567,则输出结果是________.
#include
main()
{inta=1,b;
scanf("%2d%2d",&a&b);printf("%d%d\n",a,b);
}
【填空题】:

35题:以下程序的功能是:输出a、b、c三个变量中的最小值.请填空。
#include
main()
{inta,b,c,t1,t2;
scanf("%d%d%d",&a,&b,&c);
t1=a
t2=c
printf("%d\n",t2);
}
【填空题】:

36题:以下程序的输出结果是________.
#include
main()
{intn=12345,d;
while(n!=0){d=n%10;printf("%d",d);n/=10;}
}
【填空题】:

 

您正在结束答题

请确认是否提交试卷?

继续做题 确认提交