一起答

2017年计算机二级考试C语言模拟试题3

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. fun1函数的功能是将3个整数按由大到小的顺序调整后依次放入a、b、c3个变量中,a中放最大数,fun2函数的功能是交换两个变量中的值。补足所缺语句。

     fun2(int*x,int*y)

     { int t;

       t=*x;*x=*y;*y=t;

     }

     fun1(int*p1,int*p2,int*p3)

     {if(*p3>*p2)  fun2(*P2,*p3);

      if(*p1<*p3)  fun2(______);

      if(*p1<*p2)  fun2(______);

     }

     main()

     {  int a,b,c;

        scanf("%d%d%d",&a,&b,&c) ;

        fun1(&a,&b,&c) ;

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

     }

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

     main()

     { char a[]="Language",b[]="Pragrame";

       char *p1,*p2;  int k;

       p1=a; p2=b;

       for(k=0;k<=7;k++)

       if(*(p1+k)==*(p2+k))

       printf("%c",*(p1+k));

       }

  3. 以下程序中select函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。

      #define  N  3

      #define  M  3

     select{int a[N][M],int *n;

      { int i,j,row=l,eolum=l;

        for(i=0;i<N;i++

          for j=0;j<M;j++)

             if(a[i][j]>a[row][colum]){row=i;colum=j:}

        *n=______;

        return______;

      }

     main()

      { int a[N][M]={9,11,23.6,1,15,9,17,20}, max,nj

        max=select(a,&n);

        printf("max=%d, line=%d\n",max.n ;

     }

  4. 以下程序的输出结果是______。

    main()

    {char c='z';

    printf("%c",c-25);}

  5. 有以下程序main ( ) { int a[3] [3],*p, i;  p=&a[0] [0];  for (i=0;i<9; i++) p[i] =i;  for(i=0;i<3;i++) printf ("%d" ,a[1] [i] );}  程序运行后的输出结果是

    • A.12
    • B.123
    • C.234
    • D.345
  6. 标准库函数fgets(s,n,file)的功能是(  )。

    • A.从文件file中读取长度为n的字符串存入字符数组s中
    • B.从文件file中读取长度不超过n-1个字符的字符串放到字符数组s中
    • C.从文件file中读取n个字符串存入字符数组s中
    • D.从文件file中读取长度为n-1个字符的字符串存入字符数组s中
  7. 有以下程序

    #include <stdio.h>

    main( )

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

    *q=*(p+5);

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

    }

    程序运行后的输出结果是

    • A.运行后报错
    • B.6 6
    • C.6 11
    • D.5 10
  8. C语言中运算对象必须是整型的运算符是(  )。

    • A.%=
    • B./
    • C.=
    • D.<=
  9. 需求分析最终结果是产生

    • A.项目开发计划
    • B.需求规格说明书
    • C.设计说明书
    • D.可行性分析报告
  10. 下列程序的输出结果是(  )。

    #include<stdio.h>

    main()

    {iut a=2,b=3,p;

    p=f(a,B)

    printf("%d",p);

    }

    intf(a,b)

    {int c;

    if(a>B) c=1;

    e1Seif(a==B) c=0;

    else(3=-1;

    return(C) ;

    }

    • A.-1
    • B.0
    • C.1
    • D.2
  11. 在位运算中,操作数左移一位,其结果相当于(  )。

    • A.操作数乘以2
    • B.操作数除以2
    • C.操作数除以4
    • D.操作数乘以4
  12. 下面程序段的输出结果是______。  char *s="abcde";  s+=2;printf("%d",s);

    • A.cde
    • B.字符'c'
    • C.字符'c'的地址
    • D.无确定的输出结果
  13. 下列叙述中,不属于软件需求规格说明书的作用的是()

    • A. 便于用户、开发人员进行理解和交流
    • B. 反映出用户问题的结构,可以作为软件开发工作的基础和依据
    • C. 作为确认测试和验收的依据
    • D. 便于开发人员进行需求分析
  14. 以下程序输出的结果为______。  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]);  }

    • A.ABCDEFGHIJKL
    • B.ABCD
    • C.ABCDEFGHIJKLMNOP
    • D.AEIM
  15. 下列4个关于C语言的结论中错误的是(  )。

    • A.可以用do…while语句实现的循环一定可以用while语句实现
    • B.可以用for语句实现的循环一定可以用while语句实现
    • C.可以用while语句实现的循环一定可以用for语句实现
    • D.do…while语句与while语句的区别仅是关键字“while”出现的位置不同
  16. 下列程序的输出结果是  #include"stdio.h”"  main()  { int i,a=0,b=0;   for(i=1;i<10;i++)   { if(i%2==0)     {a ++;      continue;}     b++;}   printf("a=%d,b=%d",a,b);}

    • A.a=4,b=4
    • B.a=4,b=5
    • C.a=5,b=4
    • D.a=5,b=5
  17. 软盘上第( )磁道最重要,一旦损坏,该盘就不能使用了。

    • A.0
    • B.40
    • C.1
    • D.80
  18. 有以下程序:  void sum(int * a)  {a[0]=a[1];}  main()  {  int aa[10]={1,2,3,4,5,6,7,8,9,10},i;  for(i=1;i>0;i--)sum(&aa[i]);  print("%d\n",aa[0]);  }  程序运行后的输出结果是 ______。

    • A.4
    • B.3
    • C.2
    • D.1
  19. 以下选项中非法的字符常量是

    • A.'\101'  
    • B.'\65'
    • C.” \xff'  
    • D.'\019'
  20. 有以下程序:

    #include

    void fun(char *t,char *s)

    { while(*t!=0) t++;

    while((*t++=*s++)!=0);

    }

    main()

    { char ss[10]= " acc " ,aa[10]= " bbxxyy " ;

    fun(ss,aa);

    printf( " %s,%s\n " ,ss,aa);

    }

    程序运行结果是

    • A.accxyy,bbxxyy
    • B.acc, bbxxyy
    • C.accxxyy,bbxxyy
    • D.accbbxxyy,bbxxyy
  21. 若有定义int(*pt)[3];,则下列说法正确的是

    • A.定义了基类型为int的三个指针变量
    • B.定义了基类型为int的具有三个元素的指针数组pt
    • C.定义了一个名为*pt、具有三个元素的整型数组
    • D.定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组
  22. 串的长度是(  )

    • A.串中不同字符的个数
    • B.串中不同字母的个数
    • C.串中所含字符的个数且字符个数大于零
    • D.串中所含字符的个数
  23. 下列关于线性表的叙述中,不正确的是(  )。

    • A.线性表可以是空表
    • B.线性表是一种线性结构
    • C.线性表的所有结点有且仅有一个前件和后件
    • D.线性表是由n个元素组成的一个有限序列
  24. 下列关于栈的描述中错误的是(  )。

    • A.栈是先进先出的线性表
    • B.栈只能顺序存储
    • C.栈具有记忆作用
    • D.对栈的插入与删除操作中,不需要改变栈底指针
  25. 命令“DIR A:*.*/W”的功能是 ( )

    • A.宽行显示A盘当前目录的所有文件
    • B.宽行显示A盘所有目录的所有文件
    • C.宽行显示A盘的所有目录
    • D.显示A盘中的文件名,每满一屏后停顿一下
  26. 以下能正确定义一维数组的选项是

    • A.inta[5]={0,1,2,3,4,5};
    • B.char a[]={'0','1','2','3','4','5','\0'};
    • C.char a={'A','b','C'};
    • D.inta[5]="0123";
  27. 下述程序的输出结果是(  )。  #include<stdio.h>  void main()  {char a=1,b=2;  char c=a^b<<2;  printf("\n%d",C);  }

    • A.9
    • B.10
    • C.12
    • D.2
  28. 下列叙述中正确的是

    • A.数据的逻辑结构与存储结构必定是一一对应的
    • B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构
    • C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构
    • D.以上三种说法都不对
  29. 下列数据结构中,按先进后出原则组织数据的是( )。

    • A.循环队列
    • B.栈
    • C.顺序表
    • D.循环链表
  30. 下列程序的输出结果是 

    #include "stdio.h" 

    #define N 3 

    #define M 3 

    void fun(int a[M][N]) 

    {printf("%d\n",*(a[1]+2));} 

    main() 

    {int a[M][N]; 

    int i,j; 

    for(i=0;i

    for(j=0;j

    • a[i][j]=i+j-(i-j); 
    • fun(a);}
    • A.3 
    • B.4 
    • C.5 
    • D.6
  31. 以下不能将s所指字符串正确复制到t所指存储空间的是(  )。

    • A.while(*t=*s){t++;s++;}
    • B.for(i=0;t[i]=s[i];i++);
    • C.do{*t++:*s++;}while(*s);
    • D.for(i=0,j=0;t[i++]=s[j++];);