当前位置:文档之家› 计算机二级考试题库

计算机二级考试题库

C语言无纸化考试选择题全真模拟试卷(1)选择题((1)~(40)每小题1分,共40分)下列A)、B)、C)、D)四个选项中,只有一个选项是正确的。

(1)下列关于栈和队列的描述中,正确的是(D)。

A)栈是先进先出B)队列是先进后出C)队列允许在队头删除元素D)栈在栈顶删除元素(2)已知二叉树后序遍历序列是CDABE,中序遍历序列是CADEB,它的前序遍历序列是(C)。

A)ABCDEB)ECABDC)EACDBD)CDEAB(3)在数据流图中,带有箭头的线段表示的是(B)。

A)控制流B)数据流C)模块调用D)事件驱动(4)结构化程序设计的3种结构是(B)。

A)顺序结构,分支结构,跳转结构B)顺序结构,选择结构,循环结构C)分支结构,选择结构,循环结构D)分支结构,跳转结构,循环结构(5)下列方法中,不属于软件调试方法的是(C)。

A)回溯法B)强行排错法C)集成测试法D)原因排除法(6)下列选项中,不属于模块间耦合的是(B)。

A)内容耦合B)异构耦合C)控制耦合D)数据耦合(7)下列特征中不是面向对象方法的主要特征的是(D)。

A)多态性B)标识惟一性C)封装性D)耦合性(8)在数据库设计中,将E-R图转换成关系数据模型的过程属于(C)。

A)需求分析阶段B)概念设计阶段C)逻辑设计阶段D)物理设计阶段(9)在一棵二叉树上,第5层的结点数最多是(D)。

A)8B)9C)15D)16(10)下列有关数据库的描述,正确的是(B)。

A)数据库设计是指设计数据库管理系统B)数据库技术的根本目标是要解决数据共享的问题C)数据库是一个独立的系统,不需要操作系统的支持D)数据库系统中,数据的物理结构必须与逻辑结构一致(11)以下叙述错误的是()。

A)C语言区分大小写B)C程序中的一个变量,代表内存中一个相应的存储单元,变量的值可以根据需要随时修改C)整数和实数都能用C语言准确无误地表示出来D)在C程序中,正整数可以用十进制、八进制和十六进制的形式来表示(12)下列叙述中错误的是()。

A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到"见名知意"C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识(13)下列选项中可作为C语言合法常量的是()。

A)-80B)-080C)-8e1.0D)-80.0e(14)下列定义变量的语句中错误的是()。

A)int _int;B)double int_;C)char For;D)float US$;(15)下列关于函数的叙述中正确的是()。

A)每个函数都可以被其他函数调用(包括main函数)B)每个函数都可以被单独编译C)每个函数都可以单独运行D)在一个函数内部可以定义另一个函数(16)当a=1、b=2、c=3、d=4时,执行下面程序段后,x的值是()。

if(c<d) x=1;elseif(a<c)if(b<d) x=2;else x=3;else x=6;else x=7;A)1B)6C)3D)2(17)以下程序的输出结果是()。

#include<stdio.h>main(){ int a=4,b=3,c=2,d=1;printf("%d",a<b?a:d<c?d:b);}A)1B)3C)2D)4(18)若有语句:char *line[5];下列叙述中正确的是()。

A)定义line是一个数组,每个数组元素是一个基类型为char的指针变量B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C)定义line是一个指针数组,语句中的*号称为间址运算符D)定义line是一个指向字符型函数的指针(19)以下程序:#include<stdio.h>main(){ char str[10];scanf("%s",&str);printf("%s\n",str);}运行上面的程序,输入字符串how are you,则程序的执行结果是()。

A)howB)how are youC)hD)howareyou(20)设x和y都是int类型,且x=1,y=2,则printf("%d%d",x,y,(x,y))的输出结果是()。

A)1 2B)1 2 2C)1,2D)输出值不确定(21)以下程序的输出结果是()。

#include<stdio.h>main(){ int a=8,b=6,m=1;switch(a%4){ case 0:m++;break;case 1:m++;switch(b%3){ default: m++;case 0:m++; break;}}printf("%d\n",m); }A)1B)2C)3D)4(22)定义如下变量和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()。

for(i=0;i<3;i++) printf("%d",x[i][2-i]) ;A)159B)147C)357D)369(23)有下列程序段:typedef struct NODE{ int num;struct NODE *next;} OLD;下列叙述中正确的是()。

A)以上的说明形式非法B)NODE是一个结构体类型C)OLD是一个结构体类型D)OLD是一个结构体变量(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)变量的作用域取决于变量定义语句的位置B)全局变量可以在函数以外的任何部位进行定义C)局部变量的作用域可用于其他函数的调用D)一个变量说明为static存储类型是为了限制其他编译单元的引用(26)若定义函数int *func(),则函数func的返回值为()。

A)一个实数B)一个指向整型变量的指针C)一个指向整型函数的指针D)一个整型函数的入口地址(27)若有以下定义,则正确引用数组元素的是()。

int a[5],*p=a;A)*&a[5]B)*a+2C)*(p+5)D)*(a+2)(28)以下对C语言中联合类型数据的正确叙述是()。

A)定义了联合变量后,即可引用该变量或该变量中的任意成员B)一个联合变量中可以同时存放其所有成员C)联合中的各个成员使用共同的存储区域D)在向联合中的一个成员进行赋值时,联合中其他成员的值不会改变(29)有以下函数定义:int fun(double a,double b){return a*b;}若以下选项中所用变量都已正确定义并赋值,错误的函数调用是)。

(A)if(fu n (x,y)){……}B)z= fun (fun (x,y),fun (x,y));C)z= fun (fun (x,y)x,y);D)fun (x,y);(30)执行以下语句段后,xy的值是()。

int*pt,xy;xy=200;pt=&xy;xy=*pt+30;A)200B)170C)260D)230(31)下述程序的输出结果是()。

# include<stdio.h>void main(){ int a[20],*p[4];int i, k=0;for(i=0;i<20;i++)a[i]=i;for(i=0;i<4;i++)p[i]=&a[i*i+1];for(i=0;i<4;i++){k=k+*p[i];}printf ("%d",k);}A)10B)18C)6D)数组元素引用不合法,输出结果不定(32)下面各语句行中,能正确进行赋值字符串操作的是()。

A)char s[5]={'a','b','c','d', 'e'};B)char *s;gets(s);C)char *s;s="ABCDEF";D)char s[5];scanf("%s",&s);(33)下面程序的输出结果是()。

#include<stdio.h>main(){ char a[]={'a', 'b', 'c', 'd', 'f ', 'g'},*p;p=a;printf("%c\n",*p+4);}A)aB)bC)eD)f(34)下面函数的功能是()。

sss(s,t)char *s,*t;{ while(*s);while(*t)*(s++)=*(t++);return s;}A)将字符串s复制到字符串t中B)比较两个字符串的大小C)求字符串的长度D)将字符串t续接到字符串s中(35)下列程序的运行结果是()。

#include<stdio.h>void sub(int*s,int*y){ static int m=4;*y=s[m];m--;}void main(){ int a[]={1,2,3,4,5},k;int x;printf("\n");for(k=0;k<=4;k++){ sub(a,&x);printf("%d,",x);}}天行健,君子以自强不息:地势坤,君子以厚德载物!A)5,4,3,2,1,B)1,2,3,4,5,C)0,0,0,0,0,D)4,4,4,4,4,(36)设q1和q2是指向一个int型一维数组的指针变量,k为float型变量,下列不能正确执行的语句是(A)k=*q1*( *q2);B)q1=k;C)q1=q2;D)k=*q1+*q2;(37)下列程序的输出结果为()。

main(){ union un{char *name;int age;int pay;} s;="zhaoming";s.age=32;s.pay=3000;printf("%d\n",s.age);}A)32B)3000C)0D)不确定(38)以下有关宏替换的叙述不正确的是()。

A)使用宏定义可以嵌套B)宏定义语句不进行语法检查C)双引号中出现的宏名不替换D)宏名必须用大写字母表示(39)下列程序执行输出的结果是()。

相关主题