一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 汇编程序的功能是将汇编语言所编写的源程序翻译成由【】组成的目标程序。

  2. 在面向对象方法中,类之间共享属性和操作的机制称为【】。

  3. 数据的逻辑结构有线性结构【】两大类

  4. 若按功能划分,软件测试的方法通常分为白盒测试方法和【】测试方法

  5. 【】是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。

  6. 若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句【】。

  7. 以下程序运行后的输出结果是【】。

    main()

    {int a,b,c;

     a=97;

     b=097;

     c=0x97;

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

    }

  8. 设有如下程序:

    main()

    {int n1,n2;

    scanf("%d",&n2);

    while(n2!=0)

    { n1=n2%10;

    n2=n2/10;

    printf("%d",n1);

    }

    }

    程序运行后,如果从键盘上输入1298,则输出结果为【】。

  9. 以下程序运行后的输出结果是【】。

    main()

    int p[7]={11,13,14,15,16,17,18};

    int    i=0,j=0;

    while(i<7&&p[i]%2! =1)  j+=p[i++];

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

    }

  10. 以下程序运行后的输出结果是【】。

    main()

    {int i=10,j=0;

    do

    {j=j+i;i--;}

    while(i>2);

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

    }

  11. 以下程序运行后输出结果是【】。

    int a=30,b=40;

    void fun(int x,int y)

    { int z;

    z=(x>y)?x:y;

    a=z+10;

    b=z+20;

    }

    main()

    {

    printf("a=%d,b=%d\n",a,b);

    fun(a,b);

    prinf("a=%d,b=%d\n",a,b);

    }

  12. 以下程序运行后的输出结果是【】。

    main()

    {int i,n[]={0,0,0,0,0};

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

     { n[i]=n[i-1]*2+1;

        printf("%d",n[i]);

     }

    }

  13. 下面程序的功能是统计用0至9之间的不同的数字组成的三位数的个数。

    main()

    { int i,j,k,count=0;

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

    for(j=0;j<=9;j++)

    if(【】)continue;

    else for(k=0;k<=9;k++)

    if(【】)count++;

    printf("%d",count);

    }

  14. 以下ispeime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。请填空。

    int isprime(int a)

    {int i;

     for(i=2;i<=a/2;【】)

      if(a%i= =0) return(0);

      【】;

    }

  15. 以下程序是从终端读入数据到数组中,统计其中正数的个数,并计算它们的和。请填空。

    main()

    {

    int i,a[20],sum,count;

    sum=count=【】;

    for(i=0; i<20;i++)scanf("%d",【】);

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

     {

        if(a[i]>0)

        { count++;

        sum+=【】;

        }

      }

    printf("sum=%d.count=%d\n",sum,count);

    }

  16. 若变量n中的值为24,则pint函数共输出【】行。

    void pint(int n,int aa[])

    { int i;

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

     { printf("%6d",aa[i]);

        if(!(i%5))printf("\n");

        }

    printf("\n");

    }

  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        B)40
    • C)60             D)80
  36. 已知:int x,y;double z;则以下语句中错误的函数调用是( )。

    • A.scanf("%d,%1x,%1e",&x,&y,&z);      
    • B.scanf("%1d*%d&1f",&x,&y,&z);
    • C.scanf("%x%*d%o",&x,&y);         
    • 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)更改注释语句书写位置          B)存放圆半径的变量r应该定义为整型
    • C)输出语句中不能加“s=”             D)给计算面积的PI变量赋值
  38. 已定义c为字符型常量,则下列语句中正确的是( )。

    • A)c=′97′        B)c="97"
    • C)c=97      D)c="a"
  39. 以下程序的输出结果是()。

    main()

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

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

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

    }

    • A)1              B)0
    • C)非0的数       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                  B)7 6
    • C)7 5                  D)6 2
  41. 有以下程序语句,正确的是( )。

    char a,b,c*d;

    • A)a=′56′;           B)b=′\xbc′;
    • C)c=′\0xab′;          D)d=′\0127′;
  42. 有以下程序:

    void main()

    {

    int i=10,j=1;

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

    }

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

    • A)20,4                      B)10,2
    • C)20,1                      D)10,4
  43. 设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是()。

    • A)*p=*q;          B)p=q;
    • C)*p=&n1;         D)p=*q;
  44. 设变量已正确定义,则以下能正确计算f=n!的程序段是( )。

    • A)f=0;           B)f=1;
    • for(i=1;i<=n;i++) f*=i;                for(i=1;i
    • C)f=1;         D)f=1;
    • for(i=n;i>1;i++) f*=i;                  for(i=n;i>=2;i--) f*=i;
  45. 已有定义:char a[]="xyz",b[]={′x′,′y′,′z′};,以下叙述中正确的是( )。

    • A)数组a和b的长度相同        B)a数组长度小于b数组长度
    • C)a数组长度大于b数组长度           D)上述说法都不对
  46. 在C语言中,要求运算数必须是整型的运算符是( )。

    • A)%              B)/
    • C)<              D)!
  47. 以下叙述中错误的是( )。

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

    • A)Double          B)short
    • C)integer        D)Char
  49. 以下不能正确定义二维数组的选项是()。

    • A)int a[2][2]={{1},{2}};           B)int a[][2]={1,2,3,4};
    • C)int a[2][2]={{1},2,3};      D)int a[2][]={{1,2},{3,4}};
  50. 以下能正确定义一维数组的选项是( )。

    • A)int num[];                 B)#define N 100
    • int num[N]
    • C)int num[0..100];           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中将无确定值
  52. 有以下程序:

    void main()

    { int k=0,n=0;

      while(k<5)

      { switch(k)

          { default: break;

           case 1:n+=k;

           case 2:

           case 3:n+=k;

          }

       k++;

    }

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

    }

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

    • A)0         B)4
    • C)6         D)7
  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                  B.6
    • C.8               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        B)16
    • C)14        D)9
  55. 下面程序的输出结果是()。

    #include

    main()

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

    int i,j,n;

    n=9;

    i=n/5;

    j=n-i*5-1;

    printf("a[%d][%d]=%d\n",i,j,a[i][j]);

    }

    执行后输出结果是( )。

    • A.a[1][3]=6       
    • B.a[1][3]=-3
    • C.a[1][3]=2    
    • D.不确定
  56. 以下程序的输出结果是( )。

    #define f(x) x*x

    main()

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

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

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

    }

    • A.9                       B.6
    • C.36                 D.18
  57. 设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则下列不能正确执行的语句是( )。

    • A.k=*p1+*p2         B.p2=k
    • C.p1=p2                 D.k=*p1*(*p2)
  58. 有以下程序段:

    main()

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

     c=&b; b=&a;

     ……

    }

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

    • A.变量a的地址        B.变量b中的值
    • C.变量a中的值        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                  B.37
    • C.39                 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               B.1717171          
    • C.7171717                      D.1711717
  61. 有如下说明:

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

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

    • A.*p+9      
    • B.*(p+8)
    • C.*p+=9         
    • 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]             B)t[3]
    • C)t[1]          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                            B)p->n++
    • C)(*p).n++                            D)++p->n
  65. 有定义如下:

    struct sk

    { int a;

    float b;

    }data,*p;

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

    • A)(*).data.a      B)(*p).a
    • C)p->data.a       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         B)6
    • C)9         D)2