一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 输入一个整数n(n<10),如果n=3,则输出

    1

    222

    33333

    222

    1

    以此类推。

  2. 把文本文件x1.dat复制到文本文件x2.dat中,要求仅复制x1.dat中的非空格字符。

  3. 求f(x[0,10])的累加和,其中f(x)=2x+1。

    #include<stdio.h>

    int F(int x)

    {return______;)/*第一空*/

    int SumFun(int n)

    {

    int x,s=0:

    for(x=0;x<n;x++)______;/*第二空*/

    return s;

    }

    main()

    {

    printf("The sum=%d\n",______);/*第三空*/

    }

  4. SumColumMin()的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。

    #include<stdio.h>

    #define M 2

    #define N 4

    void SumColumMin(______)/*第一空*/

    {int i,j,k,s=0;

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

    {k=0;

    for(j=1;j<M;j++)

    if(______)k=j;/*第二空*/

    s+=a[k][i];

    }

    ______;/*第三空*/

    }

    main()

    {int x[M][N]={3,2,5,1,4,1,8,3},s;

    SumColumMin(x,&s);

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

    }

  5. #include<stdio.h>

    int f(int a[],int n)

    {if(n>1)return a[0]}+f(&a[1],n-1);

    else return a[0];

    }

    main()

    {int aa[3]={1,2,3},s;

    s=f(&aa[0],3);printf("%d\n",s);

    }

  6. 以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。

    #include<stdio.h>

    main()

    {int i,a[20],sum,count;

    sum=count=0:

    for(i=0;i<20;i++)scanf("%d",______);/*第一空*/

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

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

    {count++;

    ______;}/*第三空*/

    }

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

    }

  7. #include<stdio.h>

    Char *ss(char*s)

    {return s+strlen(s)/2;)

    main()

    {char *P,*str="abcdefgh";

    p=ss(str);printf("%s\n",p);

    }

  8. 以下程序运行时输入:12<回车>,执行后输出结果

    #include<stdio.h>

    main()

    {char ch1,ch2;int n1,n2;

    ch1=getchar();ch2=getchar();

    n1=ch1-'0';n2=n1*10+(ch2-'0');

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

    }

  9. #include<stdio.h>

    void f(int y,int*x)

    {y=y+*X; *x=*x+y;}

    main()

    {int x=2,y=4;

    f(y,&,x);

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

    }

  10. 写出n小于m的奇数的表达式______。

  11. 指针变量的使用主要有两种,一是______;二是引用所指向的变量。

  12. 若要以八进制输出整型变量,则要在输出语句中加上格式输出符______。

  13. ______是双目运算符,其运算对象是表达式,其值是右边表达式的值。

  14. 若要使用系统函数getchar(),必须在程序的开头使用预编译命令______。

  15. 语句";"是无任何操作的语句,被称为______。

  16. 若定义了 int a[9],*p;,将数组元素a[8]的地址赋给指针变量p的赋语句是______。

  17. C语言的保留字主要用于语句的构成,所有保留字均由______组成。

  18. 若有定义:double w [6];,则数组元素下标的上限为______。

  19. 若有定义语句:int a[]={10,2,20,3,30,4,40},p;p=a;,则执行"p2+=;之后p的值是______。

  20. 以下程序的执行结果是( )

    #include<stdio.h>

    main()

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

    }

    • A.-1
    • B.0
    • C.1
    • D.2
  21. 若有以下语句:

    char *language[]={"fortran","basic","C","java"};

    char *q;q=language+3;

    则语句printf("%c\n",*q;的输出是( )

    • A.q的值
    • B.字符串"C"
    • C.&language[3]的值
    • D.程序错误,无法得到输出
  22. 以下程序输出的结果是( )

    main()

    {int I,j,m=0,n=0;

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

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

    if(j>=I)m=1;n++;

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

    }

    • A.4
    • B.2
    • C.1
    • D.0
  23. 执行下面程序段后,变量k的值是( )

    • A.10
    • B.30
    • C.3
    • D.不确定
  24. 设有如下程序段

    char str[]="Hello!";

    char *ptr;

    ptr=str;

    执行完以上程序段后*(ptr+6)的值为( )

    • A.'o'
    • B.'\0'
    • C.'\o
    • D.'o'
  25. 若定义了int m,n=0,*p1=&m;,则与m=n等价的语句是( )

    • A.m=*p1
    • B.*p1=&*n
    • C.*p1=*&n
    • D.*&p1=&*n
  26. 若有宏定义:#define MOD(x,y)x%y

    则执行下面语句后的输出结果是

    int a=13,b=96;

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

    • A.1
    • B.2
    • C.5
    • D.6
  27. 若x=100;,则表达式x++>100? x+20:x+10的值是( )

    • A.110
    • B.120
    • C.130
    • D.101
  28. 对于文件打开方式"rb+"描述正确的是( )

    • A.可读写文本文件
    • B.只读文本文件
    • C.可读写二进制文件
    • D.只读二进制文件
  29. 设int a=1,b=2,c=4;

    经过表达式(c=a!=b)&&(a==b)&&(c=b)运算后,a、b和C的值分别是( )

    • A.1,2,0
    • B.1,2,1
    • C.1,2,2
    • C.1,2,3
  30. 下列运算符,优先级最低的是( )

    • A.&&
    • B.!
    • C.->
    • D.+=
  31. 若内部变量在离开了定义所在的函数或复合语句后,仍在生存期内。则该变量是 ( )

    • A.auto变量
    • B.register变量
    • C.局部变量
    • D.static变量
  32. 设int x=1;a=9,b=6,c=9,d=8;执行语句:

    if(a>b)if(c>b)if(b>d)x=2;else x=6;

    后x的值是( )

    • A.1
    • B.2
    • C.6
    • D.不确定
  33. 汇编程序的功能是( )

    • A.将汇编语言程序转换成目标程序
    • B.将汇编语言程序转换成高级语言程序
    • C.将高级语言程序转换为目标程序
    • D.将汇高级语言程序转换为编语言程序
  34. 设int a[10],*p=a;

    则对数组的正确引用是( )

    • A.a[p]
    • B.p[a]
    • C.*(p+2)
    • D.p+2