2014年9月计算机等级考试二级C语言考前全真模拟试卷(一)

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

有以下程序

#include "stdio.h"

void fun(int *a,int *b,int c)

{ c=*a+*b; }

main()

{ int a[2]={6,9},c=0;

fun(a,a+1,&c);

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

}

程序输出的结果是

  • A.6         B.9
  • C.0                D.15
17

有如下程序

#include 

main()

{

    FILE *fp1;

    fp1=fopen("f1.txt","w");

    fprintf(fp1,"abc");

    fclose(fp1);

}

若文本文件f1.txt中原有内容为good,则运行以上程序后,文件f1.txt中的内容为

  • A.goodabc          B.abcd   
  • C.abc           D.abcgood
18

28.以下叙述中错误的是

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

以下叙述不正确的是

  • A.分号是C语言的必要组成部分           B.C程序的注释可以写在语句的后面
  • C.函数是C程序的基本组成单位      D.程序中可以有一个或多个main函数
20

以下程序的输出结果为

main()

{

   char *alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"};

   char **p;

   int i;

   p=alpha;

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

       printf("%s",p[i]);

   printf("\n");

}     

  • A.ABCDEFGHIJKL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.ABCD
  • C.ABCDEFGHIJKLMNOP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.AEIM
21

若程序中有以下说明和定义。

struct abc

{

int x;char y;

}

struct abc s1,s2;

则会发生的情况是

  • A.编译时出错&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.程序将顺序编译、连接、执行
  • C.能顺序通过编译、连接,但不能执行&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.能顺序通过编译,但连接出错
23

下面程序的输出结果是

 #include 

 main(){

    int i=2;

    printf("%d",f(i,i+1) );

 }

 int f(int a,int b)

 { int c;

     c=a;

    if(a>b) c=1;

     else if(a==b) c=0; else c=-1;

     return(c);

}

  • A.-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.0&nbsp;&nbsp;&nbsp;
  • C.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.2
24

有以下程序

void fun(int a,int b,int c)

{

  • a=456,b=567,c=678;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;main()&nbsp;&nbsp;&nbsp;&nbsp;{
  • int x=10,y=20,z=30;
  • fun(x,y,z);&nbsp;&nbsp;&nbsp;&nbsp;printf("%d,%d,%d\n",x,y,z);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;输出结果是
  • A.10,20,30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.30,20,10
  • C.456,567,678&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.678,567,456
25

设以下变量均为int类型,表达式的值不为7的是

  • A.(x=y=6,x+y,x+1)&nbsp;&nbsp;&nbsp;&nbsp;
  • B.(x=6,x+1,y=6,x+y)&nbsp;&nbsp;&nbsp;
  • C.(x=y=6,x+y,y+1)&nbsp;&nbsp;&nbsp;&nbsp;
  • D.(y=6,y+1,x=y,x+1)
26

有以下程序

void sort(int a[],int n)

{

   int i,j,t;

   for(i=0;i

       for(j=i+2;j

   if(a[i]   {

       t=a[i];

  • a[i]=a[j];
  • a[j]=t;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;main()&nbsp;&nbsp;&nbsp;&nbsp;{
  • int aa[10]={1,2,3,4,5,6,7,8,9,10},i;&nbsp;&nbsp;&nbsp;&nbsp;sort(aa,10);
  • for(i=0;i<10;i++)&nbsp;&nbsp;&nbsp;&nbsp;printf("%d,",aa[i]);&nbsp;&nbsp;&nbsp;&nbsp;printf("\n");&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;执行后的输出结果是
  • A.1,2,3,4,5,6,7,8,9,10,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.10,9,8,7,6,5,4,3,2,1,
  • C.9,2,7,4,5,6,3,8,1,10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.1,10,3,8,5,6,7,4,9,2,
27

下列C语言用户标识符中,不属于合法标识符的是

  • A._1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.d3_7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C._a7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
28

有以下程序

main()

{   

   int x=3, y=2, z=1;

   printf("%d\n",x/y&~z);

}

程序运行后的输出结果是

  • A.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.2&nbsp;&nbsp;&nbsp;
  • C.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.0
29

以下程序的运行结果是

#define MIN(x,y)(x)<(y)?(x):(y)

main()

{   

   int i=10,j=15,k;

   k=10*MIN(i,j);

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

}

  • A.10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.15&nbsp;&nbsp;&nbsp;
  • C.100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.150
30

若已定义int a=25,b=14,c=19;以下三目运算符(?:)所构成的语句执行后a<=25&&b--<= 2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=%d,b=%d, c=%d\n",a,b,c);程序输出的结果是

  • A.***a=25,b=13,c=19&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.***a=26,b=14,c=19&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • C.### a=25,b=13,c=19&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.### a=26,b=14,c=19
32

设有char str[10],下列语句正确的是

  • A.scanf("%s",&str);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.printf("%c",str);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • C.printf("%s",str[0]);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.printf("%s",str);
33

当把以下四个表达式用做if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是

  • A.k%2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.k%2==1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • C.(k%2)!=0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.!k%2==1
34

以下叙述中正确的是

  • A.自定义的函数中一定要有return 语句
  • B.自定义的函数中不可以有多个return 语句
  • C.自定义的函数中可以没有return 语句,此时函数应被定义为void 类型
  • D.函数的return 语句一定要带有表达式
35

下面四个选项中,均是不正确的8进制数或16进制数的选项是

  • A.016&nbsp;0X8F&nbsp;018&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.0ABC&nbsp;017&nbsp;0XA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • C.010&nbsp;-0X11&nbsp;0X16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.0A12&nbsp;7FF&nbsp;-123
36

计算机能直接执行的程序是

  • A.源程序&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.目标程序&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • C.汇编程序&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.可执行程序
37

有如下程序段

#include "stdio.h"

main()

{ int k[10];

 int j;

 for(j=0;j<10;j++)

    scanf("%d",&k[j]);

 for(j=9;j>=0;j--)

   printf("%d",k[j]);}

则程序段实现的功能是

  • A.输入10个数据的顺序输入并输出&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • B.输入10个数据的逆序存放
  • C.输入10个数据的逆序输出
  • D.以上叙述均错误
38

有以下程序段

struct STU

{ char num[10];float score[3];};

main()

{

struct STU s[3]={

{"20021",90,95,85},

{"20022",95,80,75},

{"20023",100,95,90},

},*p=s;

int i;float sum=0;

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

  sum=sum+p->score[i];

printf("%6.2f\n",sum);

}

程序运行后的输出结果是

  • A.260.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.270.00
  • C.280.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.285.00
39

设有如下定义

char *s[2]={"abcd","ABCD"};

则下列说法错误的是

  • A.s数组元素的值分别是″abcd″和″ABCD″两个字符串的首地址
  • B.s是指针数组名,它含有两个元素,分别指向字符型一维数组
  • C.s数组的两个元素分别存放的是含有4个字符的一维字符数组中的元素
  • D.s数组的两个元素中分别存放了字符′a′和′A′的地址
40

已定义以下函数

fun(char *p2, char *p1)

{

   while((*p2=*p1)!=’\0’){p1++;p2++;}

}

函数的功能是

  • A.将p1所指字符串复制到p2所指内存空间&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.将p1所指字符串的地址赋给指针p2
  • C.对p1和p2两个指针所指字符串进行比较&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.检查p1和p2两个指针所指字符串中是否有’\0’
41

下列关于单目运算符++、--的叙述中,正确的是

  • A.它们的运算对象可以是任何变量和常量
  • B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量
  • C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量
  • D.它们的运算对象可以是char型变量、int型变量和float型变量
42

已知i,j,k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是

  • A.scanf("%2d,%2d,%2d", i, j, k);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.scanf("%d %d %d",&i,&j,&k);
  • C.scanf("%d,%d,%d",&i,&j,&k);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.scanf("i=%d,j=%d,k=%d",&i,&j,&k);
43

关于以下程序段的描述,正确的是

x=-1;

do

{x=x*x-1;}while(!x);

  • A.是死循环&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.循环执行两次
  • C.循环执行一次&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.有语法错误
44

以下叙述中正确的是

  • A.预处理命令行必须位于源文件的开头&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.在源文件的一行上可以有多条预处理命令
  • C.宏名必须用大写字母表示&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.宏替换不占用程序的运行时间
45

在数据库设计中,用E-R图来描述信息结构,但不涉及信息在计算机中的表示,它是数据库设计的阶段。

  • A.需求分析&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.概念设计&nbsp;&nbsp;&nbsp;&nbsp;C.逻辑设计&nbsp;&nbsp;&nbsp;&nbsp;D.物理设计
46

若以下选项中的变量已正确定义,则正确的赋值语句是

  • A.x1=26.8%3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.1+2=x2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C.x3=0x12;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.x4=1+2=3;
47

数据的存储结构是指

  • A.存储在外存中的数据&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.数据在计算机中的顺序存储方式&nbsp;&nbsp;
  • C.数据的逻辑结构在计算机中的表示&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.数据所占的存储空间量
48

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

  • A.数据处理是将信息转化为数据的过程&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • B.数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变
  • C.关系中的每一列称为元组,一个元组就是一个字段&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • D.如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字
49

成功的测试是指

  • A.运行测试实例后未发现错误&nbsp;&nbsp;&nbsp;&nbsp;
  • B.发现程序的错误&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • C.证明程序正确&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • D.软件产生
50

已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是

  • A.堆排序&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.直接插入排序&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C.快速排序&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.
51

下列叙述中,不属于软件需求规格说明书的作用的是

  • A.便于用户、开发人员进行理解和交流&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • B.反映出用户问题的结构,可以作为软件开发工作的基础和依据&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • C.作为确认测试和验收的依据&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  • D.便于开发人员进行需求分析
52

关系模型允许定义三类数据约束,下列不属于数据约束的是

  • A.实体完整性约束&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.参照完整性约束
  • C.域完整性约束&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.用户自定义的完整性约束
53

已知一棵二叉树前序遍历和中序遍历分别为ABDEFGCHI和DBFEGACIH,则该二叉树的后序遍历为

  • A.DFGEBHICA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.DGEBHFCAI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C.DFGEBIHCA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.DGEBFIHCA
54

下列关于结构化设计原则的描述,错误的是

  • A.在块和进程的非正常出口处往往需要调用GOTO语句,使用GOTO语句使程序执行效率提高,但是滥用GOTO语句确实有害,应该避免使用GOTO语句
  • B.程序设计时应该自顶向下,逐步求精
  • C.程序设计时,应该将复杂问题进行模块化,就是将程序设计的总目标分解为若干个分目标,再进一步分解为具体的小目标
  • D.在进行程序设计时,应该尽量在一行写一条语句,尽量做到效率第一,清晰第二
55

由两个栈共享一个存储空间的好处是

  • A.减少存取时间,降低下溢发生的概率&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B.节省存储空间,降低上溢发生的概率
  • C.减少存取时间,降低上溢发生的概率&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D.节省存储空间,降低下溢发生的概率