一起答

2012年全国高等教育自学考试高级语言程序设计标准预测试卷(2)

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 下面程序用来输出两个字符串中较短的长度。

    main()

    {char pl[20],p2[20];

    int i1,i2,num;

    gets(p1);

    gets(p2);

    i1=______;/*第一空*/

    i2=______;/*第二空*/

    num=(______)?i1:i2;/*第三空*/

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

    }

  2. 编写一个程序,用循环结构输出以下图形。

  3. 从a盘根目录下名为"string.txt"的文本文件读取前20个字符组成字符串在屏幕上显示输出。

  4. 下面程序通过函数average()计算数组中各元素的平均值。

    float average(______,int n)/*第一空*/

    {int i;

    float avg=0.0;

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

    avg=avg+______;/*第二空*/

    avg=______;/*第三空*/

    return avg;

    }

    main()

    {int i,a[5]={2,4,6,8,10);

    float mean;

    mean=average(a,5);

    printf("%f\n",mean);

    }

  5. 以下程序的功能是:从键盘输入若干个学生的成绩,统计出最高成绩和最低成绩,当输入负数时结束输入。

    #include<stdio.h>

    main()

    {float x,amax,amin;

    scanf("%f",&x);

    amax=x:

    amin=x;

    while( )/*第一空*/

    {if(______)amax=x;/*第二空*/

    if(x<amin)______;/*第三空*/

    scanf("%f",&x);

    }

    printf("amax=%3.2f,amin=%3.2f\n",amax,amin);

    }

  6. #inelude<stdio.h>

    sub(x,y,z)

    int x,y,*z;

    {*z=y-X;}

    main()

    {int a,b,C;

    sub(10,5,&a);

    sub(7,a,&b);

    sub(a,b,&c);

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

    }

  7. #include<stdio.h>

    main()

    {int i,j,row,colum,m;

    static int arry[3][3]={{100,200,300},{28,27,29},{850,26,5)};

    m=arry[0][0];

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

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

    if(arry[i][j]<m)

    {m=arry[i][j];row=i;colum=j;}

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

    }

  8. #include<stdio.h>

    main()

    {char b[]={"CDEFGH"};

    char *chp=&b[3];

    while(--chp<&b[0]);

    putchar (*chp):

    printf("n"):

    }

  9. #include<stdio.h>

    main()

    {int a[4][3]={1,5,9,12,8,17,13,6,10,24,22,23},i,s=1;

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

    s=s+a[i][3-i];

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

    }

  10. C语言中fputc()函数对文本文件的存取是以______为单位的。

  11. 若有数组char a[5]={97,99,107,'\0',108),(a~z的ASCⅡ值是97~122)则执行语句puts(a)的结果是______。

  12. 设char string[]="this_is_a_book!";,则数组的长度应是______。

  13. 移位运算被执行后,原对象中的数据______。

  14. 设i,j,k均为整型变量,则执行完"for(i=0,j=10;i<=j;i++,j--)k=i+j;"之后,k的值是______。

  15. C语言中,输入和输出操作是由头函数______完成的。

  16. 若有语句:int i=-19,j=i%4;printf("%d\n",j);则输出结果是______。

  17. 以下程序运行后的输出结果是______。

    main()

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

    switch(x)

    {case 1:switch(y)

    {case 0:a++;break;

    case 1:b++;break;

    }

    case 2:a++;b++;break;

    }

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

    }

  18. 定义存储在内存堆栈区的变量的存储类型符是( )

    • A.extern
    • B.static
    • C.register
    • D.auto
  19. 设int a=2,b=4,c=1,d;执行d=!(a-b+c);后d的值是______。

  20. 若有定义int a[3][4]={1,2,3,4,5,6,7,8};,则a[l][3]=______。

  21. 在C语言程序中,下列磁盘文件名错误的是( )

    • A.abc.dat
    • B.c:abc.dat
    • C.\tc\abc.dat
    • D.a:\abc.dat
  22. 包含用户类型符"FILE"的定义的头文件是( )

    • A.string.h
    • B.file.h
    • C.stdio.h
    • D.stdlib.h
  23. 有以下程序( )

    main()

    {char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"};

    printf("%d\n",strlen(p[4]));

    }

    执行后输出结果是

    • A.2
    • B.3
    • C.4
    • D.5
  24. 有以下程序( )

    #include<stdio.h>

    main()

    {unsigned char a,b;

    • a=4|3;
    • b=4&3;    printf("%d%d\n",a,b);    }    执行后输出结果是
    • A.7 0
    • B.0 7
    • C.1 1
    • D.43 0
  25. 下面程序的功能是输出以下形式的金字塔图案:

    #include<stdio.h>

    main()

    {int i,j;

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

    {for(j=1;j<=4-i;j++)printf("");

    for(j=1;j<=______;j++)printf("*");

    printf("\n");

    }

    }

    在下划线处应填入的是( )

    • A.i
    • B.2*i-1
    • C.2*i+1
    • D.i+2
  26. 有以下定义( )

    #include<stdio.h>

    char a[10],*b=a;

    不能给数组a输入字符串的语句是

    • A.gets(a)
    • B.gets(a[0])
    • C.gets(&a[0]);
    • D.gets(b);
  27. 有以下程序( )

    main()

    {

    Int x=102,y=012;

    printf("/0/02d,%2d\n",X,y);

    }

    执行后输出结果是

    • A.10,01
    • B.02,12
    • C.102,10
    • D.02,10
  28. 要调用字符串长度测试函数strlen()时,在#include命令行中应包含( )

    • A."stdio.h"
    • B."string.h"
    • C."math.h"
    • D."ctype.h"
  29. 有以下程序,程序运行后的输出结果是( )

    main()

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

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

    }

    • A.16
    • B.10
    • C.8
    • D.6
  30. 有以下程序( )

    main()

    {char p[]={'a','b','C'},q[]="abc";

    printf("%d%d",sizeof(p),sizeof(q));

    }

    程序运行后输出的结果是

    • A.4 4
    • B.3 3
    • C.3 4
    • D.4 3
  31. 假定有以下变量定义:

    int k=6,x=12;

    则能使x、k值为5、6的表达式是( )

    • A.x%=++k%10
    • B.x%=k+k%5
    • C.x-=++k%5
    • D.x-=k++%5
  32. 表达式if(!x)中的"!x"等效于( )

    • A.x==0
    • B.x==1
    • C.x!=0
    • D.x!=1
  33. 下列符号中是正确的C标识符的是( )

    • A.a-2
    • B.x12
    • C.2.78
    • D.π
  34. C语言程序的三种基本结构是顺序结构、循环结构和( )

    • A.选择结构
    • B.递归结构
    • C.嵌套结构
    • D.转移结构