网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文
当前位置:书香门第 > 英语 > 等级考试

全国计算机等级考试二级C语言试题二

栏目: 等级考试 / 发布于: / 人气:3.15W

考试频道小编综合整理了全国计算机等级考试二级C语言试题。
  一、选择题

全国计算机等级考试二级C语言试题二

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

(1)软件是指 A)程序 B)程序和文档 C)算法加数据结构 D)程序、数据与相关文档的完整集合

(2)检查软件产品是否符合需求定义的过程称为

A)确认测试 B)集成测试 C)验证测试 D)验收测试

(3)以下不属于对象的基本特点的是

A)分类性 B)多态性 C)继承性 D)封装性

(4)在设计程序时,应采纳的原则之一是

A)不限制goto语句的使用 B)减少或取消注解行 C)程序越短越好 D)程序结构应有助于读者理解

(5)下列叙述中正确的是

A)程序执行的效率与数据的存储结构密切相关 B)程序执行的效率只取决于程序的控制结构

C)程序执行的效率只取决于所处理的数据量 D)以上三种说法都不对 (6)数据结构中,与所使用的计算机无关的是数据的

A)存储结构 B)物理结构 C)逻辑结构 D)物理和存储结构

(7)线性表的顺序存储结构和线性表的链式存储结构分别是

A)顺序存取的存储结构、顺序存取的存储结构 B)随机存取的存储结构、顺序存取的存储结构

C)随机存取的存储结构、随机存取的存储结构 D)任意存取的存储结构、任意存取的存储结构

(8)树是结点的集合,它的根结点数目是

A)有且只有1 B)1或多于1 C)0或1 D)至少2

(9)下列有关数据库的描述,正确的是

A)数据库是一个DBF文件 B)数据库是一个关系 C)数据库是一个结构化的数据集合 D)数据库是一组文件

(10)数据库、数据库系统和数据库管理系统之间的关系是

A)数据库包括数据库系统和数据库管理系统 B)数据库系统包括数据库和数据库管理系统 C)数据库管理系统包括数据库和数据库系统 D)三者没有明显的包含关系

(11)以下4个选项中,不能看作一条语句的是

A); B)a=5,b=2.5,c=3.6; C)if(a<5); D)if(b!=5)x=2;y=6;

(12)下面四个选项中,均是不合法的用户标识符的选项是

A)A P_0 do B)float la0_A C)b-a goto int D)_123 temp int

(13)以下选项中不属于字符常量的是

A)′C′ B)′′C′′ C)′xCC′ D) ′72′

(14)设变量已正确定义并赋值,以下正确的表达式是

A)x=y*5=x+z B)int(15.8%5) C)x=y+z+5,++y D)x=25%5.0

(15)若变量已正确定义并赋值,以下符合C语言语法的表达式是

A)a:=b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b

(16)以下程序的运行结果是

int k=0;

void fun(int m)

{m+=k;k+=m;printf("m=%d k=%d ",m,k++);}

main()

{int i=4;

fun(i++); printf("i=%d k=%dn",i,k);

}

A)m=4 k=5 i=5 k=5 B)m=4 k=4 i=5 k=5 C)m=4 k=4 i=4 k=5 D)m=4 k=5 i=4 k=5

(17)已有定义:char c;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是

A)isupper(c) B)′A′<=c<=′Z′ C)′A′<=c&&c<=′Z′ D)c<=(′z′-32)&&(′a′-32)<=c

(18)设有:

int a=1,b=2,c=3,d=4,m=2,n=2;

执行 (m=a>b)&&(n=c>d)后,n的值是

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

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

int a=3,b=5,c=7;

if(a>b) a=b; c=a;

if(c!=a) c=b;

printf("%d,%d,%dn",a,b,c);

其输出结果是

A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7

(20)若有定义:float x=1.5;int a=1,b=3,c=2;,则正确的switch语句是

A)switch(x)

{case 1.0:printf("*n");

case 2.0:printf("**n");}

B)switch((int)x);

{case 1:printf("*n");

case 2:printf("**n");}

C)switch(a+b)

{case 1:printf("*n");

case 2+1:printf("**n");}

D)switch(a+b)

{case1:printf(**n);}

casec:printf(**n);}

(21)有以下程序

#include

main0

{ int y=9;

for( ; y>0;y--)

if(y%3==0) printf("%d",--y);

}

程序的运行结果是

A)741 B)963 C)852 D)875421

(22)以下描述中正确的是

A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句

B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号

C)在do-while循环体中,是先执行一次循环,再进行判断 D)do-while循环中,根据情况可以省略while

(23)有以下程序

#include

main()

{ int a[ ]={1,2,3,4},y,?*p=&a[3];

--p; y=?*p;printf("y=%dn",y);

}

程序的运行结果是

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

(24)以下数组定义中错误的是

A)int x[][3]={0}; B)int x[2][3]={{l,2},{3,4},{5,6}}; C)int x[][3]={{l,2,3},{4,5,6}}; D)int x[2][3]={l,2,3,4,5,6};

(25)下面说明不正确的是

A)char a[10]="china"; B)char a[10],*p=a;p="china" C)char *a;a="china" D)char a[10],*p;p=a="china"

(26)若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是

A)a[2][!1] B)a[2][3] C)a[0][3] D)a[1>2][!1]

(27)若要求从键盘读入含有空格字符的字符串,应使用函数

A)getc() B)gets() C)getchar() D)scanf()

(28)阅读下列程序段,则程序的输出结果为

#include "stdio.h"

#define M(X,Y)(X)*(Y)

#define N(X,Y)(X)/(Y)

main()

{ int a=5,b=6,c=8,k;

k=N(M(a,b),c);

printf("%dn",k);

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

(29)在16位IBM-PC机上使用C语言,若有如下定义

struct data

{ int i;

char ch;

double f;

} b;

则结构变量b占用内存的字节数是

A)1 B)2 C)7 D)11

(30)有以下程序 #include

main()

{FILE *fp; int i,a[6]={l,2,3,4,5,6};

fp=fopen("","w+b");

fwrite(a,sizeof(int),6,fp);

fseek(fp,sizeof(int)*3,SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/

fread(a,sizeof(int),3,fp); fclose(fp);

for(i=0;i<6;i++)printf("%d,",a[i]);

}

程序运行后的输出结果是

A)4,5,6,4,5,6, B)1,2,3,4,5,6, C)4,5,6,1,2,3, D)6,5,4,3,2,1,

(31)有以下程序

#include

main()

{ int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;

for(i=0;i<12;i++) c[s[i]]++;

for(i=1;i<5;i++) printf("%d",c[i]);

printf("n");

}

程序的运行结果是

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

(32)有以下程序

#include

void fun(int *a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/

{ int t,i,j;

for(i=0;i

for(j=i+1;j

if(a[i]

}

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[i]);

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,

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

#include

#include

main()

{ char *p1="abc",*p2="ABC",str[50]= "xyz";

strcpy(str+2,strcat(p1,p2));

printf("%sn",str);}

A)xyzabcABC B)zabcABC C)xyabcABC D)yzabcABC

(34)以下函数返回a所指数组中最小的值所在的下标值

fun(int *a, int n)

{ int i,j=0,p;

p=j;

for(i=j;i

if(a[i]

return(p);}

在横线处应填入的是

A)i=p B)a[p]=a[i] C)p=j D)p=i

(35)下列程序的运行结果为

#include

void abc(char*str)

{ int a,b;

for(a=b=0;str[a]!='';a++)

if(str[a]!='c')

str[b++]=str[a];

str[b]='';}

void main()

{ char str[]="abcdef";

abc(str);

printf("str[]=%s",str); }

A)str[]=abdef B)str[]=abcdef C)str[]=a D)str[]=ab

(36)有以下程序

#include

#include

typedef struct{ char name[9]; char sex; float score[2]; }STU;

void f(STU a)

{ STU b={"Zhao",′m′,85?0,90?0}; int i;

strcpy(,);

=;

for(i=0;i<2;i++) e[i]=e[i];

}

main()

{ STU c={"Qian",′f′,95.0,92.0};

f(c);

printf("%s,%c,%2.0f,%2.0fn",,,e[0],e[1]);

}

程序的运行结果是

A)Qian,f,95,92 B)Qian,m,85,90 C)Zhao,f,95,92 D)Zhao,m,85,90

(37)有以下程序

#include

main()

{ FILE ?*fp; int a[10]={1,2,3},i,n;

fp=fopen("","w");

for(i=0;i<3;i++) fprintf(fp,"%d",a[i]);

fprintf(fp,"n");

fclose(fp);

fp=fopen("","r");

fscanf(fp,"%d",&n);

fclose(fp);

printf("%dn",n);

}

程序的运行结果是

A)12300 B)123 C)1 D)321

(38)已知 int a=1,b=3则a^b的值为

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

(39)阅读下列程序,则运行结果为
 

考试频道小编综合整理了全国计算机等级考试二级C语言试题