一起答

高级语言程序设计(一)2018年4月真题及答案解析

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 从文本文件old.txt读取字符,将其中的数字字符'0'、'1'、'2'、……'9'分别用英文字母字符'Z'、'Y'、'X'、'W'、'V','U'、'T'、'S'、'R'、'Q'替换,其余字符不变,结果写入文本文件new.txt,并分别将两个文件的内容输出到屏幕。

  2. (1)编写函数 int move(int b[],int n, int m),将整型数组b的n个元素循环右移m个位置。例如:n=10,m=2时,移动前、后数组b中的数据如下图所示。

    (2)编写主函数,从键盘输入数组元素及n和m(0

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

    #include

    #define N 5

    int main(void)

    {

      int i,j;

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

      fox(i=0;i

          for (j=0;j

          {

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

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

          }

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

       return 0;

    }

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

    #include

    int main(void)

    {

      _______;   /*第一空*/

      int letter=0,digital=0;

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

               if(ch>='A'&&ch<='z'|| ch="">='a'&&ch<='z') letter++;

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

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

       return 0;

    }

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

    #include 

    #include t

    ypedef 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(strcmp(NAME,leader[j]-name)==0)

                    _______;   /*第二空*/

        }

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

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

       return 0;

    }

  6. #include

    int main(void)

    {

        char ch='-';

        int a=1,b=2;

        switch(ch)

        {

           case '+': a+=b;

            case '-': a-=b;

           case '*': a*=b;

           case '/': a/=b;

        }

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

       return 0;

    }

  7. #include

    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=0i<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;

    }

  8. #include

    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

    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. 系统函数 getchar()的功能是_______。

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

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

  14. 设int a=1,b=2,c3;,表达式a||b-a&&c+!a的值是_______。

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

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

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

  18. 设int a=11;,表达式a%3+a/4的值是_______。

  19. 设int x=4,y=2;,表达式(x>>y)+(x<<9)的值是_______。

  20. 当文件未结束时,系统函数feof的返回值是(  )

    • A.-1
    • B.0
    • C.1
    • D.非0
  21. 设int m=5,*p;,下列语句正确的是(  )

    • A.p=&m;
    • B.p=m;
    • C.*p=&m;
    • D.*p=*m;
  22. 下列二维数组定义正确的是(  )

    • A.char a(10,10);
    • B.chr n=10,a[n][n];
    • C.#define N 10
    • char a[N][N];
    • D.int n;
    • char a[n][n];
  23. 不是变量存储类型关键字的是(  )

    • A.auto
    • B.stdio
    • C.static
    • D.register
  24. 设int x=1,y=2;,下列语句错误的是(  )

    • A.x++=y;
    • B.for(x=0;x
    • C.while(x
    • D.if(x
  25. 关于函数不正确的说法是(  )

    • A.可以没有返回值
    • B.可以没有形式参数
    • C.返回值可以是指针类型
    • D.一个函数中可以定义另一函数
  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. 调用递归函数func(1),返回值为3的是(  )

    • A.int func(int n)    {
    • if(n<=0) return 0;
    • else return func(n-1)+n;    }
    • B.int func(int n)    {
    • if(n<=0) return 0;
    • else return func(n-1)+3;    }
    • C.int func(int n)    {
    • if(n==0) return 0;
    • else return func(n-1)*n;    }
    • D.int func(int n)    {
  28. 下列变量定义正确的是(  )

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

    • A.a=c,b=c
    • B.a=(b=c++)
    • C.(a=c)||(b=c)
    • D.(a=c)&&(b=c)
  30. 当循环语句while(表达式);结束时,“表达式”的值是(  )

    • A.0
    • B.1
    • C.-1
    • D.非0
  31. 设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++);
  32. 设int x=10,y=5;,表达式x++,x+y++的值是(  )

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

    • A.strcpy
    • B.printf
    • C.stdio
    • D.float
  34. 错误的表达式是(  )

    • A.20%5
    • B.20/5
    • C.20.8%5
    • D.20.8/5