一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 从键盘上输入若干个正整数,求其中最大数和最小数,输入的数以0为终止标记。

  2. 在C盘根目录下创建一个名为”c.txt”的文本文件,文本文件的内容从键盘读取,直到遇到"\n"(回车键)为止。程序清单如下:

    #include<stdio.h>

    #included<______>/*第一空*/

    void main()

    {FILE*fp;

    char c;

    if((fp=fopen("C:\c.txt","______"))==NULL)/*第二空*/

    {printf("can not open file!\n");exit(0);)

    while((______)!=='\n')/*第三空*/

    fput(c,fp);

    fclose(fp);

    }

  3. 输入一个字符串,(换行为结束标志)统计数字(0~9不单独统计)、空白和其他字符出现的次数。

    #include<stdio. h>

    main()

    {char c;

    int______;/*第一空*/

    while((c=getchar())!='\n')

    {if(______)/*第二空*/

    digit++:

    elseif(c=="||c=='\t')++blank;

    else______;/*第三空*/

    }

    printf("digit=%d,blank=%d,other=%d",digit,blank,other);

    }

  4. 下面程序的作用是求以下算式中X、Y、Z的值,请在"______"处填入正确的内容。

    main()

    {int X,Y,Z,j,result=768;

    for(x=0;______;x++) /*第一空*/

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

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

    {j=( )+(100*y+10*z+z); /*第二空*/

    if(______) /*第三空*/

    printf(”X=%d,Y=%d,Z=%d\n”,x,y,z);

    }

  5. 请在该程序段右侧写出其输出结果。

    fun3(int x)

    {static int a=3;

    a+=x;

    return(a);}

    main()

    {int k=2,m=1,n;

    n=fun3(k);

    n=fun3(m);

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

  6. 请在该程序段右侧写出其输出结果。

    main()

    {int n[3],j,k,l;

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

    n[j]=0;

    l=3:

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

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

    n[k]=n[j]+1:

    print(("%d\n",n[1]);

    }

  7. 请在该程序段右侧写出其输出结果。

    main()

    {char *s="121";

    int k=0,a=0,b=0;

    do{

    k++:

    if(k%2==0)

    {a=a+s[k]-'0';continue;)

    b=b+s[k]-'0';

    a=a+s[k]-'0';}while(s[k+1]);

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

    }

  8. 如果形参是数组名,则传递方式称为"______"。

  9. 请在该程序段右侧写出其输出结果。

    int aa[3][3]={{2},{4},{6}};

    main()

    {int j,*p=&aa[0][0];

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

    {if(j==0)

    aa[j][j+1]=*p+1;

    else ++P;

    print(("%d",*p);}

    }

  10. 下列语句执行后输出的结果是______。

    main()

    {double d=3.2;int x,y;

    x=1.2;y=(x+3.8)/5.0;

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

    }

  11. 没int b=2;表达式(b>>2)/(b>>1)的值是______。

  12. 下列程序语句执行后的结果是______。

    main()

    {int x='f';printf("%c\n",'A'+(x-'a'+1));}

  13. 表示条件"10<x<100或x<0"的c语言表达式是______。

  14. 若已知a=10、b=20,则表达式!a<b的值为______。

  15. 下面程序的输出结果是______。

    #include<stdio. h>

    main()

    {static char b[]="Hello! world! ";

    char *chp=&b[6];

    while(--chp>=&b[0])putchar (*chp);

    putchar('\n');

    }

  16. 请写出以下数学表达式的C语言表达式:______。

  17. 关于函数fseek(a,b,c)的说法错误的是( )

    • A.参数a是文件型指针,指向所需要的文件
    • B.参数b是int型,表示从开始位置的偏移字节数
    • C.参数c是int型,表示定位的起始位置
    • D.函数返回值是int型,定位正确返回0;定位错误返回非0
  18. 位运算的对象只能是______。

  19. 高级语言编写的程序被称为______,它是不能在计算机上直接运行的,必须将其翻译成二进制程序后才能执行。

  20. 若a、b为int型变量,则执行以下语句后a的值为( )

    • a=1;b=10;
    • do{b-=a;
    • a++; )while(b-->0);
    • A.1
    • B.3
    • C.4
    • D.5
  21. 若x、y、z、m、n均为int型变量,则执行下面语句后z的值为( )

    m=10;n=5;

    x=(--m=n++)?--m: ++n;

    y=m++;

    z=n;

    • A.5
    • B.6
    • C.7
    • D.10
  22. 定义函数时,下列选项中可以作为函数存储类型的是( )

    • A.register
    • B.auto
    • C.extern
    • D.void
  23. 执行语句“char a[10]={"abcd"),* p=a;”后,*(p+2)的值是( )

    • A."abcd"
    • B.'b'
    • C.'C'
    • D.'\0'
  24. 函数调用“strcpy(str3,strcat(str1,str2))”的功能是( )

    • A.将字符串str1复制到字符串str2中,再连接到字符串str3后
    • B.将字符串str1连接到字符串str2后,再复制到str3中
    • C.将字符串str2连接到str1后,再复制到str3中
    • D.将字符串str2复制到str1中,再连接到str3后
  25. 若有以下语句:

    int x[]={1,3,5,10,12};

    int * ptr=X;

    则数据组元素“10”的地址是( )

    • A.x+3
    • B.&(x+3)
    • C.ptr
    • D.ptr+10
  26. 若有以下宏定义:

    #define N 2

    #define Y(n) ((n+1)*N)

    则执行语句z=8*N+Y(1);后z的值为( )

    • A.20
    • B.16
    • C.14
    • D.不确定
  27. 在位移位运算中,操作数左移一位,其结果相当于操作数( )

    • A.乘以2
    • B.除以2
    • C.乘以4
    • D.除以4
  28. 调用函数时,若实参是一个数组名,则向函数对应的形参传送的是( )

    • A.数据的长度
    • B.数组的首地址
    • C.数组的第一个元素的值
    • D.整个数据元素的值
  29. 下列关于do-while语句的描述错误的是( )

    • A.可构成多重循环结构
    • B.循环次数不可能为0
    • C.循环次数可能为0
    • D.先执行后判断
  30. 在C语言中,'c'和"c"存储所占用的字节数分别是( )

    • A.1,1
    • B.1,2
    • C.2,1
    • D.2,2
  31. 下列程序段运行后,x的值是( )

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

    if(!(--a))x--;

    if(b)x=7;else ++x;

    • A.0
    • B.1
    • C.7
    • D.8
  32. 下列选项中不是转义字符的是( )

    • A.\'
    • B.\0
    • C.\t
    • D.O74
  33. 下列语言中不属于面向过程的语言是( )

    • A.B语言
    • B.C语言
    • C.汇编语言
    • D.ALGOL语言