当前位置:学者斋 >

英语 >等级考试 >

全国计算机等级考试二级C语言-笔试第一套

全国计算机等级考试二级C语言-笔试第一套

考试频道小编收集整理计算机等级考试资料,免费提供给大家交流参考。 
 一、选择题

全国计算机等级考试二级C语言-笔试第一套

在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)软件生命周期中花费费用最多的阶段是

A)详细设计 B)软件编码 C)软件测试 D)软件维护

(2)为了提高测试的效率,应该

A)随机选取测试数据 B)取一切可能的输入数据作为测试数据 C)在完成编码以后制定软件的测试计划 D)集中对付那些错误群集的程序

(3)以下不是面向对象思想中的主要特征的是

A)多态 B)继承 C)封装 D)垃圾回收

(4)下列叙述中,不符合良好程序设计风格要求的是

A)程序的效率第一,清晰第二 B)程序的可读性好 C)程序中要有必要的注释 D)输入数据前要有提示信息

(5)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指

A)模块间的关系 B)系统结构部件转换成软件的过程描述 C)软件层次结构 D)软件开发过程

(6)数据处理的最小单位是

A)数据 B)数据元素 C)数据项 D)数据结构

(7)假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为

A)log2n B)n2 C)O(n1..5) D)n(n-1)/2

(8)在深度为5的满二叉树中,叶子结点的个数为

A)32 B)31 C)16 D)15

(9)数据库系统的核心是

A)数据库 B)数据库管理系统 C)模拟模型 D)软件工程

(10)一个关系中属性个数为1时,称此关系为

A)对应关系 B)单一关系 C)一元关系 D)二元关系

(11)下面各选项中,均是C语言合法标识符的选项组是

A)33 we auto B)_23 me _3ew C)_43 3e_ else D)ER -DF 32

(12)可在C程序中用作用户标识符的一组标识符是

A)and B)Date C)Hi D)case

_2007 y-m-d Bigl

(13)以下对C语言函数的有关描述中,正确的是

A)在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参

B)C函数既可以嵌套定义又可以递归调用

C)函数必须有返回值,否则不能使用函数

D)函数必须有返回值,返回值类型不定

(14)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是

A)函数的实参和其对应的形参共占同一存储单元 B)形参只是形式上的存在,不占用具体存储单元

C)同名的实参和形参占同一存储单元 D)函数的形参和实参分别占用不同的存储单元

(15)现有定义int a;double b;float c;char k;,则表达式a/b+c-k值的类型为:

A)int B)double C)float D)char

(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是

A)均占4个字节 B)根据数据的大小来决定所占内存的字节数

C)由用户自己定义 D)由C语言编译系统决定

(17)有以下程序段

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

(18)若变量已正确定义,有以下程序段

i=0;

do printf("%d,",i);while(i++);

printf("%dn",i);

其输出结果是

A)0,0 B)0,1 C)1,1 D)程序进入无限循环

(19)下列程序的运行结果是

#include "stdio.h"

main()

{ int x=-9,y=5,z=8;

if(x

if(y<0)z=0;

else z+=1;

printf("%dn",z);}

A)6 B)7 C)8 D)9

(20)若程序执行时的输入数据是"2473",则下述程序的输出结果是

#include

void main()

{ int cs;

while((cs=getchar())!=; 'n')

{switch(cs-'2')

{ case 0

case 1: putchar(cs+4);

case 2: putchar(cs+4);

break;

case 3: putchar(cs+3); default: putchar(cs+2); } } }

A)668977

B)668966

C)6677877

D)6688766

(21)以下程序的输出结果是

main()

{ int a,i;a=0;

for(i=1;i<5;i++)

{ switch(i)

{ case 0:

case 3:a+=2;

case 1:

case 2:a+=3;

default:a+=5; }

}printf("%dn",a);}

A)31 B)13 C)10 D)20

(22)现有如下程序段

#include "stdio.h"

main()

{ int k[30]={12,324,45,6,768,98,21,34,453,456};

int count=0,i=0;

while(k[i])

{ if(k[i]%2==0||k[i]%5==0)count++;

i++; }

printf("%d,%dn",count,i);}

则程序段的输出结果为

A)7,8 B)8,8 C)7,10 D)8,10

(23)若有以下程序

#include

int a[]={2,4,6,8};

main()

{ int i;

int *p=a;

for(i=0;i<4;i++)a[i]=*p;

printf("%dn",a[2]);}

上面程序的输出结果是

A)6 B)8 C)4 D)2

(24)有以下程序

#include

main()

{ int i,j,m=55;

for(i=1;i<=3;i++)

for(j=3;j<=i;j++)m=m%j;

printf("%dn",m);

}

程序的运行结果是

A)0 B)1 C)2 D)3

(25)已知字符′A′的ASCII码值是65,字符变量cl的值是′A′,c2 的值是′D′。执行语句printf("%d,%d",c1,c2-2);后,输出结果是

A)A,B B)A,68 C)65,66 D)65,68

(26)下列程序是用来判断数组中特定元素的位置所在的。

#include

#include

int fun(int *s, int t, int *k)

{ int i;

*k=0;

for(i=0;i

if(s[*k]

return s[*k]; }

main()

{ int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;

fun(a, 10, &k);

printf("%d, %dn",k,a[k]);}

如果输入如下整数:876 675 896 101 301 401 980 431 451 777

则输出结果为

A)7,431 B)6 C)980 D)6,980

(27)下面程序的文件名为,在DOS下输入的命令行参数为:t to meet me<回车>

则程序输出的结果是

#include "stdio.h"

main(argc,argv)

int argc;char *argv[];

{ int i;

printf("%dn",argc);}

A)3 B)4 C)2 D)以上答案都不正确

(28)有如下程序

int a[10]={1,2,3,4,5,6,7,8,9,10};

int *p=&a[3],b;b=p[5];

则b的值是

A)5 B)6 C)9 D)8

(29)以下叙述中错误的是

A)改变函数形参的值,不会改变对应实参的值 B)函数可以返回地址值

C)可以给指针变量赋一个整数作为地址值 D)当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL

(30)下面程序的输出结果是

#include

main()

{ int a[]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

printf("%dn",*p+9);}

A)0 B)1 C)10 D)9

(31)有下面程序段

#include "stdio.h"

#include "string.h"

main()

{ char a[3][20]={{"china"},{"isa"},{"bigcountry!"}};

char k[100]={0},*p=k;

int i;

for(i=0;i<3;i++)

{ p=strcat(p,a[i]);}

i=strlen(p);

printf("%dn",i);}

则程序段的输出结果是

A)18 B)19 C)20 D)21

(32)若有定义: char *st= "how are you "; ,下列程序段中正确的是

A)char a[11], *p; strcpy(p=a+1,&st[4]); B)char a[11]; strcpy(++a, st);

C)char a[11]; strcpy(a, st); D)char a[], *p; strcpy(p=&a[1],st+2);

(33)有以下程序

#include

int fun(char s[])

{ int n=0;

while(*s<=′9′&&*s>=′0′) {n=10*n+*s-′0′;s++;}

return(n);

}

main()

{ char s[10]={′6′,′1′,′*′,′4′,′*′,′9′,′*′,′0′,′*′};

printf("%dn",fun(s));

}

程序的运行结果是

A)9 B)61490 C)61 D)5

(34)设有定义:char p[]={′1′,′2′,′3′},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是

A)sizeof(p) B)sizeof(char) C)sizeof(*q) D)sizeof(p[0])

(35)有以下函数

int aaa(char *s)

{ char *t=s;

while(*t++);

t--;

return(t-s);

}

  • 文章版权属于文章作者所有,转载请注明 https://xuezhezhai.com/yy/dengji/mwpm5o.html