一起答

2018年4月自考高级语言程序设计(00342)真题及答案

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. (1)编写函数 int move(int b[],int n,int m),将整型数组b的n个元素循环右移m个位置。  例如:n=10,m=2时,移动前、后数组b中的数据如题34图所示。

    (2)编写主函数,从键盘输入数组元素及n和(0<m<n<20)的值,调用move函数,输出移动前后的全部数组元素。

  2. 从文本文件old、txt读取字符,将其中的数字字符'0'、'1'、'2'…'9'分别用英文字母字符'Z'、'Y'、'X'、'W'、'V'、'U'、'T'、'S'、'R'、'Q'替换其余字符不变,结果写入文本文件new.txt,并分别将两个文件的内容输出到屏幕。

  3. 键入一串字符,以回车换行符为结束标志,分别统计并输出其中英文字母和数字的个数。

    #include< stdio.h>

    int main(void)

    {

    ________;/*第一空*/

    int letter =0, digital =0;

    while((ch=getchar())!='________')/*第二空*/

    if( ch >='A'&&ch ='Z'I Ich >='a'&&ch<='z') letter++;

    else if(__________ ) digital++;/*第三空*/

    printf("Letter=%d, Digital =%d\n", letter, digital);

    return 0;

    }

  4. 从键盘为二维数组元素输入数据,计算并输出全部元素之和。

    #include< stdio.h>

    #define N5

    int main(void)

    {

    int i,j;

    float a[N][N],sum=__________;/*第一空*/

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

    for(j=0: j<N;j++) 

    {

    scanf("%f",&a[i][j]);

    sum= sum+__________ ;/*第二空*/

    }

    printf("sum =% 3f\n", __________);/*第三空*/

    return 0;

    }

  5. #include< stdio.h>

    int main( void)

    {

    int a[10]={10,9,8,7,6,5,4,3,2,1},i,j=9,temp;

    int *p=a;

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

    {

    temp=a[i];

    a[i]=a[j];

    a[j- -]=temp;

    }

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

    printf("%d", *p++);

    printf("\n");

    return 0;

    }

  6. 十个人参加选举,有三个候选人,每人投一票。输出每位候选人的姓名和得票数。

    #include< stdio.h>

    #include< string.h>

    typedef struct person

    {

    char name[20];

    int count;

    }PER;

    int main(void)

    {

    int i, j;char NAME[ 20]

    PER leader[ 3] ={{"Li"0},{"Liu",0} ,{"Wang",0}};

    for(i=0;i<_______ ;i++)/*第一空*/

    {

    scanf("%s", NAME);

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

    if( stremp( NAME, leader[j]. name)==0)

    _______;/*第二空*/

    }

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

    printf("%s, %d\n", ________,leader[i]. count);/第三空*/

    return 0;

    }

  7. #include

    int main(void)

    {

    char ch='-';

    int a=1,=2;

    switch(ch)

    {

    case'+':a+=b;

    case'-':a-=b;

    case'*':a* =b; break;

    case'/': a/=b;

    }

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

    return 0;

    }

  8. #include< stdio.h>

    int main( void)

    {

    int x,y =3;

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

    {

    if(y>=10) break;

    if(y%3==2)

    {

    y=y+3;

    continue;

    }

    y=y-1;

    }

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

    return 0;

    }

  9. #include< stdio.h>

    int main(void)

    {

    int i=0;

    char* Brics[ ]={" Brazil","Russia","India","China"," South Africa"} ;

    do

    {

    printf("% s\n", Brics[i]);

     i=i+2;

    }while(i<6);

    return 0;

    }

  10. 使用系统函数strcat()时,用到的文件包含命令是_______。

  11. 设char s[]="\\1234";,执行语句printf("%d,%d\n", sizeof(s), strlen(s));后输出结果是_______。

  12. 系统函数getchar()的功能是_______。

  13. 设int a=1,b=2,c=3;,表达式a‖b-a&&c+!a的值是_______。

  14. 设int x=2;,执行语句printf("%d",x++);后输出结果是_______。

  15. 设int s[5]={2,4,6,8},*p=s;,执行语句printf("%d,%d\n",s[2],*(p+4));后输出结果是_______。

  16. 设int a;float b=1.9;,执行语句a=(int)b;后变量a和b的值分别是_______。

  17. 设int n=5;,执行语句printf(%d\n",(n=3*4,n*5,n+1));后输出结果是_______。

  18. 设int x=4,y=2;,表达式(x>>y)+(x<

  19. 设int a=11;,表达式a%3+a4的值是_______。

  20. 设intm=5,*p;,下列语句正确的是()

    • A.p=&m;
    • B.p=m;
    • C.*p=&m;
    • D.*p=*m;
  21. 当文件未结束时,系统函数feof的返回值是()

    • A.-1
    • B.0
    • C.1
    • D.非0
  22. 设int x=1,y=2;,下列语句错误的是()

    • A.x++=y;
    • B.for(x =0;x<y;x++);
    • C.while(x<y);
    • D.if(x<y);else x=x+y;
  23. 不是变量存储类型关键字的是()

    • A.auto
    • B.stdout
    • C.static
    • D.register
  24. 下列二维数组定义正确的是()

    • A.char a(10,10);
    • B.char n=10,a[n][n];
    • C.#define N 10
    • char a[N][N ];
    • D.int n;
    • char a[n][n];
  25. 调用递归函数func(1),返回值为3的是()

    • A.int fune(int n)    {
    • if(n<=0)return;
    • else return func(n-1)+n;    }
    • B.int fune( int n)    {if(n<=0)return;
    • else return func(n-1)+3;    }
    • C.int fune( int n)    {
    • if(n==0)return 0;
    • else return func(n-1)*n;    }
    • D.int func( int n)    {
    • if(n==0) return0;
  26. 设int a[3][4]=1,2,3,4,5,6};,值为4的数组元素是()

    • A.a[0][1]
    • B.a[0][2]
    • C.a[0][3]
    • D.a[1][1]
  27. 关于函数不正确的说法是()

    • A.可以没有返回值
    • B.可以没有形式参数
    • C.返回值可以是指针类型
    • D.一个函数中可以定义另一函数
  28. 下列变量定义正确的是()

    • A.int a6;
    • B.double -a6;
    • C.float 6a;
    • D.char Ab*;
  29. 设int a=1,b=2,c=3;,不能将变量c的值赋给变量a和b的表达式是()

    • A.a=c,b=c
    • B.a=(b=c++)
    • C.(a=)‖(b=c)
    • D.(a=c)&&(b=c)
  30. 设int a;,循环次数为10的语句是()

    • A.for(a=0;a=10;a++);
    • B.for(a=0;a==10;a++);
    • C.for(a=0;a<10;a++);
    • D.for(a=0;a<=10;a++);
  31. 当循环语句 while(表达式);结束时,“表达式”的值是()

    • A.0
    • B.1
    • C.-1
    • D.非0
  32. 错误的表达式是()

    • A.20%5
    • B.20/5
    • C.20.8%5
    • D.20.8/5
  33. 设int x=10,y=5;,表达式x++,x+y++的值是()

    • A.10
    • B.11
    • C.15
    • D.16
  34. C语言的关键字是()

    • A.strcpy
    • B.printf
    • C.stdio
    • D.float