2014年3月计算机等级考试二级C考前内部押题卷

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
17

对于算法的每一步,指令必须是可执行的。算法的( )要求算法在有限步骤之后能够达到预期的目的。

  • A)可行性                    B)有穷性
  • C)正确性                    D)确定性
18

下列叙述中错误的是( )。

  • A)一种数据的逻辑结构可以有多种存储结构
  • B)数据的存储结构与数据处理的效率无关
  • C)数据的存储结构与数据处理的效率密切相关
  • D)数据的存储结构在计算机中所占的空间不一定是连续的
19

最简单的交换排序方法是( )。

  • A)快速排序        B)选择排序
  • C)堆排序          D)冒泡排序
20

在结构化程序设计方法中,下面内聚性最弱的是( )。

  • A)逻辑内聚                   B)时间内聚
  • C)偶然内聚             D)过程内聚
21

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

  • A)32                  B)31
  • C)64                        D)63
22

在结构化方法中,软件功能分解属于下列软件开发中的阶段是()。

  • A.详细设计    
  • B.需求分析
  • C.总体设计    
  • D.编程调试
23

结构化程序设计的主要特征是( )。

  • A)封装和数据隐藏           B)集成和重用
  • C)数据和处理数据的过程分离       D)把数据和处理数据的过程看成一个整体
24

概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()

  • A)把软件划分成模块                   B)确定模块之间的调用关系
  • C)确定各个模块的功能                 D)设计每个模块的伪代码
25

在数据库管理系统的层次结构中,处于最上层的是( )。

  • A)应用层         B)语言翻译处理层
  • C)数据存取层      D)数据存储层
26

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

  • A)C语言是高级语言
  • B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令
  • C)C语言产生的目标程序后缀名为OBJ
  • D)C语言中的函数不可以单独进行编译
27

数据库关系模型中可以有三类完整性约束,下列选项中不属于三类完整性约束的是()。

  • A)实体完整性规则      B)参照完整性规则
  • C)对象完整性规则           D)用户自定义完整性规则
28

以下符号C语言语法的实型常量是( )。

  • A)1.2E0.5                   B)3.14159E
  • C)5E-3          D)E15
29

下列定义变量的语句中正确的是( )。

  • A)int _int;       B)double 3int_;
  • C)char for;       D)float US&;
30

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

  • A)++x,y=x--                  B)x+1=y
  • C)x=x+10=x+y                 D)double(x)/10
31

以下不能定义为用户标识符的是()。

  • A)Main           B)_0
  • C)_int           D)sizeof
32

下列关于C语言的叙述错误的是( )。

  • A)大写字母和小写字母的意义相同
  • B)不同类型的变量可以在一个表达式中
  • C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
  • D)同一个运算符号在不同的场合可以有不同的含义
33

有以下程序:

main()

{

 int m=12,n=34;

 printf("%d%d",m++,++n);

 printf("%d%d\n",n++,++m);

}

程序运行后的输出结果是()。

  • A)12353514        B)12353513
  • C)12343514                  D)12343513
34

如果int

  • a=1,
  • b=2,
  • c=3,
  • d=4;则条件表达式“aA)1         B)2
  • C)3                    D)4
35

已知int a=15,执行语句a=a<<2以后,变量a的值是( )。

  • A)20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)40
  • C)60&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)80
36

已知:int x,y;double z;则以下语句中错误的函数调用是( )。

  • A.scanf("%d,%1x,%1e",&x,&y,&z);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • B.scanf("%1d*%d&1f",&x,&y,&z);
  • C.scanf("%x%*d%o",&x,&y);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • D.scanf("%x%o%6.2f",&x,&y,&z);
37

以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。

main()

/* Beginning */

{ int r;  float s;

   scanf("%d",&r);

   s=*PI*r*r; printf("s=%f\n",s);

}

若想纠正错误,应该( )。

  • A)更改注释语句书写位置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)存放圆半径的变量r应该定义为整型
  • C)输出语句中不能加“s=”&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)给计算面积的PI变量赋值
38

已定义c为字符型常量,则下列语句中正确的是( )。

  • A)c=′97′&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)c="97"
  • C)c=97&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)c="a"
39

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

main()

{ int a=4,b=5,c=0,d;

d=!a&&!b║!c;

printf("%d\n",d);

}

  • A)1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)0
  • C)非0的数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)-1
40

有以下程序:

main()

{

char a[7]= "a0\OaO\0";int i,j;

i=sizeof(a);j=strlen(a);

printf("%d%d\n",i,j);

}

程序运行后的输出结果是()。

  • A)2 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)7 6
  • C)7 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)6 2
41

有以下程序语句,正确的是( )。

char a,b,c*d;

  • A)a=′56′;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)b=′\xbc′;
  • C)c=′\0xab′;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)d=′\0127′;
42

有以下程序:

void main()

{

int i=10,j=1;

printf("%d,%d\n",2*i--,++j*2);

}

执行后输出的结果是()。

  • A)20,4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)10,2
  • C)20,1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)10,4
43

设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是()。

  • A)*p=*q;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)p=q;
  • C)*p=&n1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)p=*q;
44

设变量已正确定义,则以下能正确计算f=n!的程序段是( )。

  • A)f=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)f=1;
  • for(i=1;i<=n;i++) f*=i;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=1;i<n;i++) f*=i;
  • C)f=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)f=1;
  • for(i=n;i>1;i++) f*=i;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=n;i>=2;i--) f*=i;
45

已有定义:char a[]="xyz",b[]={′x′,′y′,′z′};,以下叙述中正确的是( )。

  • A)数组a和b的长度相同&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)a数组长度小于b数组长度
  • C)a数组长度大于b数组长度&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)上述说法都不对
46

在C语言中,要求运算数必须是整型的运算符是( )。

  • A)%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)/
  • C)<&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)!
47

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

  • A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
  • B)数组名代表的是数组所占存储区的首地址,其值不可改变
  • C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界的出错信息”
  • D)可以通过赋初值的方式确定数组元素的个数
48

C语言提供的合法的数据类型关键字是( )。

  • A)Double&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)short
  • C)integer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)Char
49

以下不能正确定义二维数组的选项是()。

  • A)int a[2][2]={{1},{2}};&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)int a[][2]={1,2,3,4};
  • C)int a[2][2]={{1},2,3};&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)int a[2][]={{1,2},{3,4}};
50

以下能正确定义一维数组的选项是( )。

  • A)int num[];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)#define N 100
  • int num[N]
  • C)int num[0..100];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)int N=100
  • int num[N]
51

有以下程序:

#include

main()

{ char c1=′1′,c2=′2′;

c1=getchar();c2=getchar();putchar(c1);putchar(c2);

}

当运行时输入:a<回车>后,以下叙述正确的是( )。

  • A)变量c1被赋予字符a,c2被赋予回车符
  • B)程序将等待用户输入第2个字符
  • C)变量c1被赋予字符a,c2中仍是原有字符2
  • D)变量c1被赋予字符a,c2中将无确定值
53

有以下程序:

fun(int a,int b)

{ a++;b++;

if(a>b) return(a);

else return(b);

}

void

main()

{ int x=3,y=8,z=6,r;

  r=fun(fun(x,y++),2*z);

  printf("%d\n",r);

}

程序运行后的输出结果是( )。

  • A.13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.6
  • C.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.12
54

若有下面说明和定义:

struct test

{ int m1;char m2;float m3;

union uu(char u1[5];int u2[2];)ua;

}myaa;

则sizeof(struct test)的值是( )。

  • A)20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)16
  • C)14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)9
56

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

#define f(x) x*x

main()

{ int a=6,b=2,c;

c=f(a)/f(b);

printf("%d\n",c);

}

  • A.9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.6
  • C.36&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.18
57

设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则下列不能正确执行的语句是( )。

  • A.k=*p1+*p2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.p2=k
  • C.p1=p2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.k=*p1*(*p2)
58

有以下程序段:

main()

{ int a=5,*b,**c;

 c=&b; b=&a;

 ……

}

程序在执行了“c=&b; b=&a;”语句后,表达式“**c”的值是( )。

  • A.变量a的地址&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.变量b中的值
  • C.变量a中的值&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.变量b的地址
59

有以下程序:

main()

{ char *p[]={"3697","2584"};

 int i,j; long num=0;

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

 {j=0;

while(p[i][j]!=’\0’)

{ if((p[i][j]-’0’)%2= =0)num=10*num+p[i][j]-’0’;

  j+=2;

}

  }

  printf("%d\n",num);

}

程序执行后的输出结果是( )。

  • A.35&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.37
  • C.39&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.28
60

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

#include "string.h"

fun(char*w,int n)

{ char t,*s1,*s2;

s1=w; s2=w+n-1;

while(s1

{ t=*s1++;

*s1=*s2--;

*s2=t;

}

}

main()

{ static char p[]="1234567";

fun(p,strlen(p));

printf("%s",p);

}

  • A.7654321&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.1717171&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • C.7171717&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.1711717
61

有如下说明:

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

则数值为9的表达式是( )。

  • A.*p+9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • B.*(p+8)
  • C.*p+=9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • D.p+8
62

以下叙述中正确的是()。

  • A)C程序中的#include和#define行均是C语句,只是语法不同
  • B)除赋值运算符外,逗号运算符的优先级最低
  • C)C程序中,j++;是赋值语句
  • D)C程序中,+、-、*、/、%号是算数运算符,可用于整型和实型数的运算
63

若有以下定义:int t[3][2];能正确表示t数组元素地址的表达式是( )。

  • A)&t[3][2]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)t[3]
  • C)t[1]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)*t[2]
64

若有以下说明和语句:

sturct st

   { int n;char *ch;};

   struct st a[3]={5, "abc",7, "def",9, "ghk"},*p=a;

则值为6的表达式是( )。

  • A)p++->n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)p->n++
  • C)(*p).n++&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)++p->n
65

有定义如下:

struct sk

{ int a;

float b;

}data,*p;

如果p=&data;则对于结构变量data的成员a的正确引用时( )

  • A)(*).data.a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)(*p).a
  • C)p->data.a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)p.data.a
66

有以下程序:

main()

{ int a[3][3],*p,i;

 p=&a[1][1];

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

printf("%d\n",a[1][2]);

}

程序运行后的输出结果是()

  • A)3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B)6
  • C)9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D)2