一起答

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

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

    main()

    {

         int arr[10],i,k=0;

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

             arr[i]=i;

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

             k+=arr[i]+i;

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

    }

  2. fun函数的功能是首先对a所指的N行N列的矩阵找出各行中最大的数,再求这N个最大值中最小的那个数作为函数值返回,请填空。

    #include 

    #define N 100

    int fun(int(*a)[N])

    {

         int row,col,max,min;

         for(row=0;row

         {

             for(max=a[row][0],col=1;col

                if() max=a[row][col];

             if(row==0)

                min=max;

             else

             if()

                min=max;

         }

         return min;

    }

  3. 语句X++;、++X;、X=X+1;和X=1+X;执行后都使变量X中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)

  4. 设有如下程序

    main()

    {

        int n1,n2;

        scanf("%d",&n2);

        while(n2!=0)

        {

             n1=n2%10;

             n2=n2/10;

             printf("%d",n1);

        }

    }

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

  5. 函数mycmp(char *s,char *t)的功能是比较字符串s和t的大小,当s等于t时返回0,当s>t时返回正值,当s

    mycmp( char *s,char *t)

    {  while (*s==*t)

       { if (*s==’\0’)return 0;

         ++s;++t;

       }

       return();

    }

  6. 关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、和自定义完整性。

  7. 软件维护活动包括以下几类:改正性维护、适应性维护、维护和预防性维护。

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

    #include 

    main()

         int i,j,sum;

         for(i=5;i>=1;i--)

         {  sum=0;

            for(j=i;j<=i;j++) sum+=i*j;

         }

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

    }

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

    #include 

    int fun(int x)

        static int m=0;

        return(m *=x);

    }

    main()

        int s,i;

        for(i=l;i<=3;i++) s=fun(i);

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

    }

  10. 数据结构包括数据的结构和数据的存储结构。

  11. 有以下程序

    int sub(int n)

    { return(n%10+n/10); }

    main()

    { int x,y;

      scanf("%d",&x);

      y=sub(sub(x));

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

    }

    若运行时输入:248<回车>,程序的输出结果是

  12. 下列程序的功能是输入一个整数,判断是否是素数,若为素数,则输出1,否则输出0,请填空。

    main()

    {  int i, x, y=1;

    scanf("%d", &x);

    for(i=2; i<=x/2; i++)

     if{ y=0; break;}

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

    }

  13. 面向对象程序设计的三大主要特点分别是封装性、继承性和

  14. 有以下程序

    int f(int n)

    { if(n==1)return 1;

      else return f(n-1)+1;

    }

    main()

    { int i,j=0;

      for(i=1;i<3;i++)j+=f(i);

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

     }

    程序的运行结果是

    • A.4                    B.3
    • C.2               D.1
  15. 对下列二叉树进行前序遍历的结果是

            

  16. 有以下程序

    main()

     {  int m=14,n=24;

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

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

     }

    程序运行后的输出结果是

    • A.15252616                B.14252515     
    • C.14252516               D.14252615
  17. 若已建立如下图所示的单向链表结构:

     

    在该链表结构中,指针p、s分别指向图中所示结点,则不能将s所指的结点插入到链表末尾仍构成单向链表的语句组是

    • A.p = p->next; s->next = p; p->next = s;
    • B.p = p->next; s->next = p->next; p->next = s;
    • C.s->next = NULL; p = p->next; p->next = s;
    • D.p = (*p).next; (*s).next = (*p).next; (*p).next = s;
  18. 有以下程序

    main()

    {

    int a[3][2]={0},(*ptr)[2],i,j;

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

    {

    ptr=a+i;

    scanf("%d",ptr);

    ptr++;

    }

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

     {

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

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

         printf("\n");

    }

    }

    若运行时输入:1 2 3<回车>,则输出结果是

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

    #include 

    main()

    {

       int a,b,d=241;

    • a=d/100%9;
    • b=(-1)&&(-1);    printf("%d,%d\n",a,b);    }
    • A.6,1           B.6,0   
    • C.2,1            D.2,0
  20. 设有程序段

    int k=10;

    while(k=0)k=k-1;

    则下面描述中正确的是

    • A.while循环执行10次        B.循环是无限循环
    • C.循环体语句一次也不执行        D.循环体语句执行一次
  21. 下面说明不正确的是

    • A.char a[10]="china";               B.char a[10],*p=a;p="china";
    • C.char *a;a="china";               D.char a[10],*p;p=a="china"
  22. 请选出以下语句的输出结果

    printf("%d\n",strlen("\t\"\065\xff\n"));

    • A.5        B.14
    • C.8        D.输出项不合法,无正常输出
  23. 有以下程序

    #include 

    int fun(int (*s)[4],int n, int k)

    {  int m, i;

        m=s[0][k];

        for(i=l; i

           if(s[i][k]>m) m=s[i][k];

        return m;

    }

    main()

    { int a[4][4]={{1,2,3,4},{11,12,13,14},{2l,22,23,24},{31,32,33,34}};

      printf("%d\n", fun(a,4,0));

    }

    程序的运行结果是

    • A.4      B.34
    • C.31           D.32
  24. 有以下程序

    void func(int *a,int b[])

    { b[0]=*a+6; }

    main()

    {  int a,b[5]={0};

    • a=0; b[0]=3;
    • func(&a,b);    rintf("%d\n",b[0]);    }    程序的运行结果是
    • A.6            B.7
    • C.8                    D.9
  25. 有如下程序

    main()  

    {

       int x=1,a=0,b=0;

       switch(x)

        {

           case 0: b++;

           case 1: a++;

           case 2: a++;b++;

        }

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

    }

    该程序的输出结果是

    • A.a=2,b=1        B.a=1,b=1
    • C.a=1,b=0        D.a=2,b=2
  26. 有如下程序段

    struct abc

    {  int a, b, c, s;};

    main()

    {  struct abc s[2]={{1,2,3},{4,5,6}}; int t;

    t=s[0].a+s[1].b;

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

    }

    程序运行后输出的结果是

    • A.5              B.6
    • C.7         D.8
  27. 有以下程序

    main()

    {  char a[]={ ’a’, ’b’, ’c’, ’d’, ’e’, ’f’, ’g’, ’h’, ’\0’};

    int i,j;

    i=sizeof(a);

    j=strlen(a);

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

    }

    程序运行后的输出结果是

    • A.9,9                B.8,9          C.1,8              
  28. 有如下说明

    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
  29. 阅读下面程序,则执行后的结果为

    #include "stdio.h"

    fun1()

    {  int k=20;

    return k;

     }

    fun2()

    {  int a=15;

    return a; }

    fun3(int a,int b)

    {  int k;

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

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

    main()

    {  un3(fun1(),fun2());}

    • A.0          B.184         
    • C.175       D.编译不通过
  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       B.* * *a=26,b=14,c=19     C.### a=25,b=13,c=19           D.### a=26,b=14,c=19
  31. 设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是

    • A.n=(n*100+0.5)/100.0              B.m=n*100+0.5,n=m/100.0
    • C.n=n*100+0.5/100.0             D.n=(n/100+0.5)*100.0
  32. 有如下程序

    #include "stdio.h"

    main()

    {  int a,b,m;

    for(a=5;a>=1;a--)

    { m=0;

     for(b=a;b<=5;b++)

        m=m+a*b;

    }

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

    }

    上述程序的运行结果是

    • A.30             B.15
    • C.20         D.10
  33. 下面叙述中,正确的是

    • A.C语言编译时不检查语法        B.C语言的子程序有过程和函数两种
    • C.C语言的函数可以嵌套定义           D.C语言的函数可以嵌套调用
  34. 有以下程序

    #include

    main()

    { FILE *fp;       

       int i,k,n;

      fp=fopen("data.dat", "w+");

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

      {  fprintf(fp,"%d",i);

           if(i%3==0) fprintf(fp,"\n");

      }

      rewind(fp);

      fscanf(fp,"%d%d",&k,&n);

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

      fclose(fp);

    }

    程序的运行结果是

    • A.0 0          B.4 5
    • C.45 78       D.456 78
  35. 有以下程序

    main()

    {

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

    for(p=a;p    printf("%d,",*p);

    }

    程序运行后的输出结果是

    • A.1,2,3,4,5,6,7,8,9,0,      B.2,3,4,5,6,7,8,9,10,1,
    • C.0,1,2,3,4,5,6,7,8,9,      D.1,1,1,1,1,1,1,1,1,1,
  36. 有以下程序

    #include  

    struct STU

    {  int num;

        float TotalScore; };

    void f(struct STU p)

    {  struct STU s[2]={{1047,530},{1048,531}};

        p.num = s[1].num;  p.TotalScore = s[1].TotalScore;

    }

    main()

    {  struct STU s[2]={{2041,730},{2042,731}};

        f(s[0]);

        printf("%d,%3.0f\n",s[0].num,s[0].TotalScore);

    }

    程序的运行结果是

    • A.1047,530
    • B.1048,531
    • C.2041,730
    • D.2042,731
  37. 有以下程序

    #include

    main()

    { unsigned char a;

    • a=4^6;    printf("%d,\n", a);    }    程序的运行结果是
    • A.4,      B.2,
    • C.2         D.4
  38. 若有以下程序

    #include

    void f(int n);

    main()

    {

       void f(int n);

       f(5);

    }

    void f(int n)

    {

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

    }

    则以下叙述中不正确的是

    • A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f
    • B.若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数f
    • C.对于以上程序,编译时系统会提示出错信息:对f函数重复说明
    • D.函数f无返回值,所以,可用void将其类型定义为无返回值型
  39. 若int k=8;,则执行下列程序后,变量k的正确结果是

    main()

    {  int k=8;

       switch(k)

       {  case 8:k+=1;

           case 10:k+=1;

           case 11:k+=1;break;

           default:k+=1;

       }

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

    }

    • A.12           B.11           
    • C.10      D.9
  40. .C语言运算对象必须是整型的运算符是

    • A.%        B./           C.=      D.<
  41. 设有数组定义:char array[]="Chinese";则数组array所占的空间为

    • A.6个字节      B.7个字节          C.8个字节          D.9个字节
  42. 按照C语言规定的用户标识符命名规则,不能出现在标识符中的字符是

    • A.大写字母           B.连接符         C.小写字母        D.下画线
  43. 以下不合法的字符常量是

    • A.’x\018’              B.’\"’            C.’\\’            D.’\xc
  44. 在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是

    • A.地址传递      B.单向值传递
    • C.由实参传形参,再由形参传实参         D.传递方式由用户指定
  45. 已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为

    • A.GEDHFBCA         B.DGEBHFCA           C.ABCDEFGH          D.ACBFEDHG
  46. 软件工程出现的原因是

    • A.程序设计方法学的影响 B.软件产业化的需要       C.软件危机的出现  D.计算机的发展
  47. 应用数据库的主要目的是

    • A.解决数据保密问题        B.解决数据完整性问题   C.解决数据共享问题     D.解决数据量大的问题
  48. 非空的循环单链表head的尾结点(由p所指向)应该满足

    • A.p->next==NULL         B.p==NULL         C.p->next=head          D.p=head
  49. 结构化程序设计的三种结构是

    • A.顺序结构、选择结构、转移结构          B.分支结构、等价结构、循环结构
    • C.多分支结构、赋值结构、等价结构      D.顺序结构、选择结构、循环结构
  50. 下列SQL语句中,用于修改表结构的命令式是

    • A.Alter      
    • B.Create     
    • C.Update      
    • D.Insert
  51. 下列说法中,不属于数据模型所描述的内容的是

    • A.数据结构          B.数据操作            C.数据查询           D.数据约束
  52. 软件生命周期中花费时间最多的阶段是

    • A.详细设计         B.软件维护           C.软件编码          D.软件测试
  53. 数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算以及

    • A.数据的存储结构       B.计算方法           C.数据映像              D.逻辑存储
  54. 在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是

    • A.连接         B.选择       C.投影      D.笛卡儿乘积