一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 面向对象的模型中,最基本的概念是对象和

  2. 问题处理方案的正确而完整的描述称为

  3. 有以下程序

    #include 

    main

    {  int x,y;

        scanf("%2d%ld",&x,&y);

        printf("%d\n",x+y);

    }

    程序运行时输入:1234567,程序的运行结果是

  4. 若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是

    int w[10] = {23,54,10,33,47,98,72,80,61},*p = w;

  5. 以下程序的输出结果是

    main()

    {

       unsigned short a=65536; int b;

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

    }

  6. 在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、遍历和后序遍历。

  7. 以下程序的输出结果是

    #include "stdio.h"

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

    {  int m;

        m=*a;

        m+=*b-3;

        return(&m);

    }

    main()

    {  int x=21,y=35,*a=&x,*b=&y;

        int *k;

        k=fun(a,b);

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

    }

  8. 关系操作的特点是操作。

  9. 若有以下程序

    main()

    {  int a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};

    int i,j,s=0;

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

    { for(j=0;j<4;j++)

       { if(a[i][j]<0) continue;

          if(a[i][j]==0) break;

          s +=a[i][j];

       }

     }

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

    }

    程序执行后的输出结果是

  10. 下面程序的功能是输出数组s中最大元素的下标,请填空。

    main()

    {   int k, p,s[]={1, -9, 7, 2, -10, 3};

        for(p =0, k =p; p< 6; p++)

         if(s[p]>s[k])

               ;

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

    }

  11. 下面的函数是完成1~n的累加,请填空。

    a(int k)

    { if(k<=0) printf("error\n");

     if(k == 1) return 1;

     else;

    }

  12. 通常,将软件产品从提出、实现、使用维护到停止使用或退役的过程称为

  13. 设y是int型,请写出y为奇数的关系表达式

  14. 以下程序的输出结果是

    include "stdio.h"

    int *f(int *x,int *y)

    { if(*x<*y)

          return x;

        else

          return y;

    }

    main()

    { int a=7,b=8, *p,*q,*r ;

        p=&a; q=&b;

        r= f(p,q);

        printf("%d,%d,%d\n",*p,*q,*r);

    }

  15. 在下列选项中,没有构成死循环的是

     

  16. mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回,请填空。

    int mystrlen(char *str)

    { int i;

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

    return(i);

    }

  17. 有以下程序

    main()

    {  char a[7]="a0\0a0\0";

       int i,j;

       i=sizeof(a);

       j=strlen(a);

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

    }

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

    • A.2  2                B.7  6
    • C.7  2                D.6  2
  18. 有以下程序

    #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("%d\n",k);

    }

    程序的运行结果是

    • A.3                    B.5
    • C.6               D.8
  19. 有以下程序

    prt(int *m,int n)

    {

    int i;

    for(i=0;i

     m[i]++;

    }

    main()

    {

    int a[]={1,2,3,4,5},i;

    prt(a,5);

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

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

    }

    程序运行后的输出结果是 

    • A.1,2,3,4,5,          
    • B.3,4,5,6,7,
    • C.2,3,4,5,6,        
    • D.2,3,4,5,1,
  20. 若有以下程序段

    int m=0xabc,n=0xabc;

    m-=n;

    printf("%x\n", m);

    执行后的输出结果是

    • A.0X0   
    • B.0x0   
    • C.0   
    • D.0xABC
  21. 设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为

    • A.int              B.float         C.double             D.不确定
  22. 有以下说明和定义语句

    struct student

    {

       int age; char num[8];

    };

    struct student stu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}};

    struct student *p=stu;

    以下选项中引用结构体变量成员的表达式错误的是

    • A.(p++)->num         B.p->num         C.(*p).num            D.stu[3].age
  23. 有以下函数

    fun(char *a,char *b)

    {

       while((*a!=’\0’)&&(*b!=’\0’)&&(*a==*b))

       {

    • a++;b++;    }    return(*a-*b);    }    该函数的功能是
    • A.计算a和b所指字符串的长度之差
    • B.将b所指字符串连接到a所指字符串中
    • C.将b所指字符串连接到a所指字符串后面
    • D.比较a和b所指字符串的大小
  24. 若变量已正确定义并赋值,以下符合C语言语法的表达式是

    • A.a:=b+1             B.a=b=c+2        C.int 18.5%3          D.a=a+7=c+b
  25. 有以下程序

    # include 

    main()

    {  int i=5;

       do

       { if (i%3==1)

          if (i%5==2)

          { printf("*%d", i); break;}

          i++;

       } while(i!=0);

       printf("\n");

    }

    程序的运行结果是

    • A.*7           B.*3*5
    • C.*5            D.*2*6
  26. 下列不可用于C语言用户标识符的是

    • A.j2_KEY     
    • B.char    
    • C._g_     
    • D.Double
  27. 若有定义语句:int m[]={1,2,3,4,5},i=4;,则下面对m 数组元素的引用中错误的是

    • A.m[++i]        B.m[1*2]        
    • C.m[m[0]]                 D.m[m[--i]]
  28. 23.若有下面的程序段

    char s[]="china";char *p; p=s;

    则下列叙述正确的是

    • A.s和p完全相同       B.数组s中的内容和指针变量p中的内容相等
    • C.s数组长度和p所指向的字符串长度相等       D.*p与s[0]相等
  29. 以下选项中不能作为C语言合法常量的是

    • A.’Fab’           B.0.7e+9           C."\b"        D.’\01211’
  30. C源程序中不能表示的数制是

    • A.十进制       B.八进制      
    • C.二进制          D.十六进制
  31. 有以下程序

    main()

    {  int i;

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

    switch(i)

    {  case 1: printf("%d",i);

    case 2: printf("%d",i);

    default: printf("%d",i);

    }

    }

    程序执行后的输出结果是

    • A.011122       B.012
    • C.012020       D.120
  32. 有三个关系R、S和T如下:

     

    由关系R和S通过运算得到关系T,则所使用的运算为

    • A.笛卡儿积          B.交          
    • C.并      D.自然连接
  33. 在一个C程序中

    • A.main函数必须出现在所有的函数之前        B.main函数可以在任何地方出现
    • C.main函数必须出现在所有的函数之后        D.main函数必须出现在固定位置
  34. 有如下程序段

    #include "stdio.h"

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

    {  int i,j,k,m;

    for(i=0;i< *a;i++)

    for(j=0;j< *b;j++)

     for(k=0;k<*c;k++)

       for(m=0;m< *d;m++)

         ++*e;

    }

    main()

    {  int a=10,b=10,c=10,d=10,e=0;

    fun(&a,&b,&c,&d,&e);

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

    则程序段的输出结果是

    • A.10000         B.1000
    • C.100       D.0
  35. 有以下程序段

    main()

    {  char x=040;

       printf("%d\n",x<<1);}

    程序执行后输出的结果是

    • A.100    B.80  C.64  D.32
  36. 以下程序的输出结果是

    main()

    { int a=21,b=11;

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

    }

    • A.30           B.31  
    • C.32         D.33
  37. 有如下程序

    #include "stdio.h"

    void fun(int *a,int *b)

    {  int m;

    m=(*a+*b)*(*a+*b);

    m+=(*a-*b)*(*a-*b);

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

    main()

    {  int a=5,b=6,*x=&a,*y=&b;

    fun(x,y);}

    程序执行后输出的结果为

    • A.120             B.121
    • C.122           D.123
  38. 阅读以下程序及对程序功能的描述,其中正确的描述是

    #include 

    main()

    {

    FILE *in,*out;

    char ch,infile[10],outfile[10];

    printf("Enter the infile name:\n");

    scanf("%s",infile);

    printf("Enter the outfile name:\n");

    scanf("%s",outfile);

    if((in=fopen(infile,"r"))==NULL)

    {

     printf("cannot open infile\n");

     exit(0);

    }

    if((out=fopen(outfile,"w"))==NULL)

    {

     printf("cannot open outfile\n");

     exit(0);

    }

    while(! feof(in))fputc(fgetc(in),out);

    fclose(in);

    fclose(out);

    }

    • A.程序完成将磁盘文件的信息在屏幕上显示的功能
    • B.程序完成将两个磁盘文件合二为一的功能
    • C.程序完成将一个磁盘文件复制到另一个磁盘文件中
    • D.程序完成将两个磁盘文件合并后在屏幕上输出
  39. 34.有以下程序

    #include

    union pw

    {  int i;

    char ch[2];

    }a;

    main()

    {  a.ch[0]=13;a.ch[1]=0;

    printf("%d\n",a.i);

    }

    程序的输出结果是

    • A.13           B.14
    • C.0 D.20
  40. 下列程序的输出结果是

    int b=2;

    int func(int *a)

    { b+=*a; return(b);}

    main()

    { int a=2, res=2;

    res += func(&a);

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

    }

    • A.2       B.4
    • C.6        D.8
  41. 有以下程序

    main()

    {   int x,y;

     scanf("%d",&x);

     y=x>12?x+10:x-12;

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

    }

    若运行时给变量x输入12,则以下程序的运行结果是

    • A.0       B.22
    • C.12      D.10
  42. 有以下程序

    main ()

    {  int i=010,j=0X10;

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

    }

    该程序的输出结果是

    • A.10,10      B.8,10
    • C.8,16      D.10,16
  43. 以下不正确的叙述是

    • A.在C程序中,逗号运算符的优先级最低
    • B.在C程序中,APH和aph是两个不同的变量
    • C.若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变
    • D.从键盘输入数据时,对于整型变量,只能输入整型数值;对于实型变量,只能输入实型数值
  44. 有以下程序

    main()

    {  char str[]="xyz",*ps=str;

       while(*ps) ps++;

       for(ps--; ps-str>=0; ps--)

          puts(ps);

    }

    程序的运行结果是

    • A.yz         B.z         C.z         D.x    xyz        yz&nb
  45. 有如下程序

    #include "stdio.h"

    main()

    {  int j,i,k=0;

       for(j=20;j<=30;j++)

       { if(!(k%10))printf("\n");

           for(i=2;i

            if(i>=j-1)

           { printf("%d",j);

               k++;}

        }

    }

    程序的运行结果是

    • A.2329       B.2923
    • C.3292        D.9232
  46. 下列说法不正确的是

    • A.数据库减少了数据冗余           B.数据库实现了数据的共享
    • C.数据库避免了一切数据的重复      D.数据库具有较高的数据独立性
  47. 设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是

    • A.scanf("%d",pa);          B.scanf("%d",a);          
    • C.scanf("%d",&pa);          D.scanf("%d",*pa);
  48. 下面关于完全二叉树的叙述中,错误的是

    • A.除了最后一层外,每一层上的结点数均达到最大值  B.可能缺少若干个左右叶子结点
    • C.完全二叉树一般不是满二叉树        D.具有结点的完全二叉树的深度为[log2n]+1
  49. 下面不属于软件工程三个要素的是

    • A.工具                      B.过程       C.方法           &nb
  50. 结构化程序设计主要强调的是

    • A.程序的规模         B.程序的效率           C.程序设计语言的先进性  D.程序易读性
  51. 软件设计中,有利于提高模块独立性的一个准则是

    • A.低内聚低耦合         B.低内聚高耦合         C.高内聚低耦合          D.高内聚高耦合
  52. 一个栈中初始元素依次为A、B、C、D、E。现将元素1、2、3、4、5依次入栈,然后将所有的元素依次出栈,则元素出栈的顺序是

    • A.12345ABCDE          B.EDCBA54321      C.ABCDE12345          D.54321EDCBA
  53. 在数据流图(DFD)中,带有说明的箭头表示

    • A.模块之间的调用关系     B.程序的组成成分           C.控制程序的执行顺序        D.数据的流向
  54. 对于长度为n的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是

    • A.插入排序为n/2        B.插入排序为n       C.快速排序为n            D.快速排序为n(n-1)/2
  55. 算法分析最重要的目的是

    • A.找出数据结构的合理性             B.找出算法中输入和输出之间的关系
    • C.分析算法的易懂性和可靠性      D.分析算法的效率以求改进