一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 有一个字符串,包含n个字符。写一个函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。要求在主函数中输入字符串及m值并输出复制结果。

  2. 将10个数输入数组中,求出其中最大数和最小数并输出。

    #include<stdio.h>

    main()

    {

    int i,max,min,a[10];

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

    seanf("%d",______);/*第一空*/

    max=a[0]:

    min=a[0];

    for(i=1;______;i++)/*第二空*/

    if(a[i]>max)

    max=a[i];

    else if(a[i]<min)

    ______;/*第三空*/

    printf("max=%d,min=%d",max,min);

    }

  3. 编一个程序其功能是输入一个正整数,判断是否是素数,若为素数则输出1,否则输出0。(素数是只能被1和本身整除且大于1的自然数)

  4. 将一个文本文件ma.dat拷贝到另一个文本文件na.dat中。

    #include<stdio.h>

    main()

    {

    FILE*ma,*na;

    ma=fopen("ma.dat",______);/*第一空*/

    na=fopen("na.dat","w");

    while(!feof(ma))fputc(fgete(ma),______)/*第二空*/

    felose(na);______;/*第三空*/

    }

  5. 一个三位整数(100~999),若各位数的立方和等于该数自身,则称其为"水仙花数"(如:153=13+53+33),找出所有的这种数。

    #include<stdio.h>

    main()

    {int n,a,b,c;

    for(c=1;c<=9;c++)

    for(b=0;b<=9;b++)

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

    {

    n=______;/*第二空*/

    if(a*a*a+b*b*b+C*C*c==______)/*第三空*/

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

    }

    }

  6. #include<stdio.h>

    void swap(int *P,int *q)

    {

    int t;

    t=*P;*P=*q;*q=t;

    }

    main()

    {int a=10,b=20;swap(&a,&b);

    printff"%d%d\n",a,b);

    }

  7. #include<stdio.h>

    typedef struct abc

    {int a,b,c;

    };

    main()

    {struct abe s[2]={{1,2,3),{4,5,6}};

    int t=-s[0].a+s[1].b;

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

    }

  8. 若输入3个整数3,2,1<回车>则下面程序的输出结果是

    #include<stdio.h>

    main()

    {int i,n,aa[10]={0,0,0,0,0,0};

    scanf("%d%d%d",&n,&aa[0],&aa[1]);

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

    printf("%d",aa[i]);

    }

  9. 写出"n是小于整数m的偶数"的C语言表达式:______

  10. 输入数据:2743<回车>。

    #include<stdio.h>

    main()

    {int c;

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

    {switch(c-'2')

    {case 0:

    case 1:putchar(c+4);

    case 2:putchar(c+4);break;

    case 3:putchar(c+3);

    case 4:putchar(c+2);break;}

    }

    printf("\n");}

  11. 指针s所指字符串的长度为______。

    char*s="\"Name\Address\n";

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

    main()

    {int a=1,b;

    for(b=1;b<=10;b++)

    (if(a>=8)break;

    if(a%2==1){a+=5;continue;}

    a==3:

    }

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

    }

  13. 已知在ASCⅡ代码中,字母A的序号为65,以下程序输出的结果是______。

    #include<stdio.h>

    main()

    {char c1='A',c2='Y';

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

    }

  14. 在C语言中,如果下面的变量都是int类型,则输出的结果是______。

    sum=pad=5;

    pad=sum++,pad++,++pad;

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

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

    #include

    main()

    {int i=010,j=10;

    printf("%d,%d\n",++i,j--);}

  16. 表示空类型的保留字是______。

  17. 设for(k=0;k>0;k--)++k;,则该循环共执行______次。

  18. 设char a,b;,则表达式a/'c'*b的值的类型为______。

  19. 设char strl[7]="ABCDEF",str2[5]="xyz";;则执行语句:

    printf("%d",strlen(strcpy(str1,str2)));

    后的输出是______。

  20. 下列关于if和else的配对规则描述正确的是( )

    • A.else总是和前面最远的if配对
    • B.else总是和前面最近的if配对
    • C.if和else的配对按程序缩进格式进行
    • D.else可以和前面所有的if配对
  21. 在C语言中,被视为程序模块的是( )

    • A.语句
    • B.行语句
    • C.程序语句块
    • D.函数
  22. 下列关于continue和break的描述正确的是( )

    • A.continue只能用于循环体中
    • B.break只能用于循环体中
    • C.continue只是一个语句标记
    • D.break只能用于switch语句块中
  23. 下列语句中把P定义为一个文件指针的是( )

    • A.FILE *P
    • B.FILE p
    • C.file P
    • D.file *P
  24. fgetc函数是作为一个从指定文件读入一个字符的函数,下列有关描述正确的是( )

    • A.只能读二进制文件
    • B.只能读文本文件
    • C.其参数是一个指针变量
    • D.其参数是一个字符串
  25. 若x为int型变量,则执行以下语句后,x的值为( )

    x=6;

    x=+x-=x*x

    • A.6
    • B.-24
    • C.36
    • D.-60
  26. 设char *s="china";则printf("%s,%c,%c\n",s,*s,s[3]);的输出是( )

    • A.china,c,n
    • B.china,china,i
    • C.c,c,n
    • D.china,china,n
  27. 下面程序段执行后输出的结果是( )

    #include<stdio.h>

    main()

    {int a[2][2]={{1,2),{5,7)),*P,i;

    p=&a[0][0];

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

    "P++=i+1:

    printf("%d",*(p-2));

    }

    • A.1
    • B.2
    • C.5
    • D.7
  28. 下面程序段执行后输出的结果是( )

    #include<stdio.h>

    main()

    {int i;

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

    {{if(i%3){printf("*");continue;}}

    printf("#");

    }

    printf("\n");

    }

    • A.*#**#**#
    • B.**#**#*
    • C.*#**#**
    • D.**#**
  29. 以下程序输出的结果是

    #include<stdio.h>

    int fun(int k)

    {if(k>0)fun(k-1);

    printf("%d",k);

    }

    main()

    {int w=3;fun(w);

    printf("\n");

    }

    • A.3 2 1 0
    • B.0 1 2 3
    • C.2 1 0
    • D.0 1 2
  30. 在定义了数组int a[6][10]之后,对数组元素的引用不正确的是

    • A.*(a[6]+2)
    • B.a[6][8]
    • C.*(&a[6][1]+4)
    • D.&a[6]+5
  31. 若当前文件目录为C:\tc,在C语句中下列能表示文件tc.c的是

    • A.tc.c
    • B.C:tc\tc.c
    • C.C:\tc\tc.c
    • D.C\tc\tc.c
  32. 下列说法中正确的是

    • A.字符'\0'是字符串的结束标记
    • B.字符'0'是字符串的结束标记
    • C.字符'\o'是字符串的结束标记
    • D.字符'o'是字符串的结束标记
  33. 以下运算符中,优先级最低的是

    • A.&&
    • B.&
    • C.&=
    • D.=
  34. 在函数内定义变量时,存储类型符可省略的是

    • A.static
    • B.extern
    • C.auto
    • D.register