一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 输入30个学生的学号和3门课程的成绩(整数),统计并输出3门课程总分最高的学生的学号和总分。

  2. 从键盘上输入一个3*5的矩阵,将其转置后形成5*3的矩阵输出。

  3. 下面程序把从终端读入的文本(用"@"作为文本结束的标志)复制到一个名为bi.dat的新文件中,请填空。

    #include<stdio.h>

    FILE*fp;

    main()

    {char ch;

    if((fp=______)==NULL)/*第一空*/

    exit(0);

    while((______)!='@')/*第二空*/

    fputc(ch,fp);

    ______;/*第三空*/

    }

  4. 以下程序能将字符串Program!反向打印出来,请填空。

    #include<stdio.h>

    void out(char *str)

    {char *s=______;/*第一空*/

    if(*s==NULL)return:

    while(______)s++;/*第二空*/

    s--;

    printf("%c\n",*s);

    ______=NULL;/*第三空*/

    out(str);

    }

    main()

    {char c[]="Program!";

    out(c);}

  5. 完善下面程序段,以使其完成以下数学函数的计算。

    #include<stdio.h>

    #include<math.h>

    main()

    {float x,y,f1,fun();

    scanf("%f%f",&x,&y);

    fl—X*x/fun(______);/*第一空*/

    printf("A=%f\n",f1);

    }

    float fun(float f)

    {float f2;

    f2=f*f+sqrt(1十______/*第二空*/+______);/*第三空*/

    return(f2);

    }

  6. #include<stdio.h>

    int d=1:

    int fun(int p)

    {d+=P++;

    printf("%d",d);

    }

    main()

    {int a=3;

    fun(a);

    d+=a++;

    print f("%d\n",d);

    }

  7. #include<stdio.h>

    main()

    {int i,j,row,col,max;

    int a[3][4]={{1,2,3,4,},{10,4,20,6,},{0,-1,-3,-5,}};

    max=a[0][0];

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

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

    if(a[i][j]>max)

    {max=a[i][j];row=i;col=j;)

    printf("max=%d,row=%d,col=%d\n",max,row,col);

    }

  8. #include<stdio.h>

    main()

    {char *p[]={"BOOL","OPK","H","ASD");

    int;

    for(i=3;i>=0;i--,i--)

    printf("%s",*(p+i));

    printf("\n");

    }

  9. #include<stdio.h>

    main()

    {int a[]={2,4,6,8,10};

    int y=1,x,*P;

    p=&a[1];

    for(x=0;x<3;X++)

    y+=*(p+x);

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

    }

  10. 以下循环体的执行次数是______。

    #include<stdio.h>

    main()

    {int j,k;

    for(j=0,k=1;j<=k+1;j+=2,k--)

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

  11. 设有如下程序段:

    intj=0,sum=1;

    do{

    sum+=j++;}

    while(j<6);

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

    上述程序段的输出结果是______。

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

    #include<stdio.h>

    int b=1:

    int func(int *a)

    {*a+=b;return(*a);)

    main()

    {int a=2,res=1;

    res+=func(&a);

    prf("%d%d\n",a,res);}

  13. 阅读下列程序:

    #include<stdio.h>

    #define MAXCOUT 4

    void fun()

    main()

    {int cout;

    for(cout=1;tout<=MAXCOUT;cout++)

    fun();

    }

    void fun()

    {int j=0;

    j+=2;printf("%d",j);

    }

  14. 设有int x=11;表达式(x++*1/3)的值是______。

  15. 现在程序的输出是______。

    #include<stdio.h>

    main()

    {int arr[10],j,k=0;

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

    arr[j]=j;

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

    k+=arr[j]+j;

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

    }

  16. 下面程序的输出是______。

    #include<stdio.h>

    main()

    {char x=0.40;

    printf("%d\n",x=x<<1);}

  17. 函数调用自身的调用是______。

  18. 函数strcmp()和函数strcat()包含在头文件______中。

  19. 从计算机的角度来讲,______是计算机程序中解决问题的方法步骤。

  20. 设有下列数据定义语句,则"printf("%d\n",d[0],y/d[0],X*d[1].x);"的输出是( )

    struct{int x;int y;}d[2]={{1,3},{2,7)};

    • A.0
    • B.1
    • C.3
    • D.6
  21. 执行以下程序段后,m的值是( )

    int a[2][3]={{1,2,3},{4,5,6)};

    int m,*ptr;

    ptr=&a[0][0];

    m=(*ptr)*(*(ptr+2))*(*(ptr+4));

    • A.15
    • B.24
    • C.45
    • D.不确定
  22. 假定所有变量均已正确说明,下列程序段运行后x的值是( )

    • a=b=c=0;x=60;
    • if(!a)x--;
    • else if(b)if(c)x=3;
    • else x+=4;
    • A.3
    • B.4
    • C.60
    • D.63
  23. 若有以下定义,则不能正确地表示数组中的元素的是( )

    char *s="1,2,3,4,5,6,7,8,9,0,";

    • A.*s
    • B.s[9]
    • C.*(s+1)
    • D.*(s+10)
  24. 现有下列程序语句,执行后的结果是( )

    #include<stdio.h>

    void main()

    {char s1[100]="123",s2[100]="qwer";

    puts(s1);puts(s2);

    printf("%s%s",s1,s2);

    }

    • A.123 qwer123 qwer
    • B.123qwer123qwer
    • C.123qwerl23qwer
    • D.123qwer123qwer
  25. char型常量在内存中存放的是( )

    • A.二进制代码值
    • B.十进制代码值
    • C.十六进制代码值
    • D.ASCⅡ代码值
  26. 设整型变量m、na、b的值均为1,执行(m=a==b)||(n=a>b)后m,n的值是( )

    • A.0,1
    • B.1,0
    • C.1,1
    • D.0,0
  27. 若x、y均是int型变量,则执行以下语句后的结果是( )

    for(x=1;x<5;x+=2)

    for(y=1;y<5;y++)

    {printf("%2d",x*y);

    if(y==4)printf("\n");

    }

    • A.1 2 3 4    3 6 9 12
    • B.2 3 4 5    3 4 5 6
    • C.1 2 3 4 5 6 9
    • D.2 3 4    3 6 9    6 9 12
  28. 若有以下定义和语句:

    char *s1="12345",*s2="1234":

    printf("%d\n",strlen(strcpy(s1,s2)));

    则输出结果是( )

    • A.4
    • B.5
    • C.6
    • D.不确定
  29. 若定义了int a;char b;float c;,

    则表达式a*b-c的类型是( )

    • A.float
    • B.char
    • C.int
    • D.double
  30. 结构体变量各成员内存分配的顺序是( )

    • A.顺序的
    • B.逆序的
    • C.随机的
    • D.只分配一个最大成员内存占用量
  31. sizeof(float)是( )

    • A.函数调用
    • B.int型表达式
    • C.float型表达式
    • D.非法表达式
  32. 以下属于C语言保留字的是( )

    • A.define
    • B.put
    • C.fclose
    • D.extern
  33. C语言中错误的int类型常数是( )

    • A.123
    • B.1F7
    • C.038
    • D.OxAF