一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 从键盘为二维整型数组a输入数据,输出该二维数组的转置b。

    #include

    #define M 2

    #define N 3

    void main()

    {

      int a[M][N], b[N][M], i, j;

      printf("二维数组a:\n");

      for(i-0; i

      {   for(j=0; j

           {     scanf("%d",_______);    /*第一空*/

                  printf("%5d",a[i][j]);

                  _______=a[i][j];    /*第二空*/

           }

           printf("\n");

      }

      printf("二维数组b:\n");

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

      {    for(j=0; j

            printf("\n");

       }

    }

  2. (1)编写函数f计算的值。

    (2)编写主函数,从键盘输入x和n的值,调用函数f计算并输出结果(保留两位小数)。

  3. 从键盘输入一串字符(以#作为结束标志)显示到屏幕上并写入文本文件ch.txt。

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

    #include

    void main()

    {

      char letter;

      int sum=_______;   /*第一空*/

      while((letter=getchar())!='\n')

            if(_______) sum++;   /*第二空*/

      printf("小写英文字母个数sum=%d\n",_______);   /*第三空*/

    }

  5. 计算某学生三门课的平均成绩并输出。

    #include

    typedef struct student

    {

      char name[20];

      float math, physics, chemistry, average;

    }_______;   /*第一空*/

    void main()

    {

       STU s={"ZhangSan", 88.5, 90.0, 73.0};

       s.average=_______;   /*第二空*/

       printf("平均成绩=%.1f\n",_______);   /*第三空*/

    }

  6. #include

    void main()

    {

      int i=10, j=0;

      switch (i%3)

      {  case 0: i--; j++;

          case 1: --i; ++j; break;

          default: ++i; j--;

       }

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

    }

  7. #include

    void main()

    {

      int i;

      char *strp="****";

      for(i=0; i<4; i++) printf("%s\n", strp+i);

    }

  8. #include

    int i=1;

    int fun(int j)

    {

      return (++i+j);

    }

    void main()

    {

      int j;

      for(j=1; j<=3; j++) printf("%d\n", fun(j));

    }

  9. 使用系统函数getchar( )和putchar( )时,用到的文件包含命令县_______。

  10. #includevoid main()

    {

      int j;

      char *color[]={"red", "yellow", "blue", "black", "white"};

      for( j=0; j<5; j+=2) printf("%s\n", color[j]);

    }

  11. 设int p=1,q=2,r=3;,表达式p>q

  12. 函数调用时参数传递方式除地址传递外,还有_______。

  13. 系统函数int rewind(FILE *fp)的功能是_______。

  14. 设struct { int a; float b; } c, *p=&c;,用指针引用成员b的方式是p->b或_______。

  15. 设float m=8.8; int n=6;,执行语句printf("%d\n", (int)m+n);后输出结果是_______。

  16. 三种逻辑运算符的优先级又高到低依次是_______。

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

  18. 执行语句printf("%d\n", 8>>2);后的输出结果是_______。

  19. 设int n=11;,表达式n%5+n%7的值是_______。

  20. 当打开文件出现错误时,系统函数fopen( )的返回值是(  )

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

    • A.p=&u;
    • B.p=u;
    • C.&p=u;
    • D.u=&p;
  22. 设char ch=65;,下列语句错误的是(  )

    • A.printf("%f\n", ch);
    • B.printf("%c\n", ch);
    • C.printf("%d\n", ch);
    • D.printf("%x\n", ch);
  23. 正确定义一维数组的是(  )

    • A.char s(20);
    • B.int n=20; char s[n];
    • C.#define N 20
    • char s[N];
    • D.int n;    scanf("%d", &n);
    • int s[n];
  24. 设float w=0; int x=1, y=2; char z='3';,下列语句错误的是(  )

    • A.switch(x)    {  case 0:
    • case 1:
    • case 2:
    • default: ;    }
    • B.switch(y)    {  case 0:
    • case 1:
    • case 2:
    • default: ;    }
    • C.switch(z)    {  case 0:
    • case 1:
  25. 下列不是递归函数的是(  )

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

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

    • A.函数必须有返回值
    • B.函数可以嵌套定义
    • C.返回值可以是指针类型
    • D.函数必须有形式参数
  28. 函数中定义的变量类型可以是(  )

    • A.auto型
    • B.static型
    • C.register型
    • D.以上三种类型
  29. do{…)while(表达式)中“表达式”的类型是(  )

    • A.任意的
    • B.关系的
    • C.算术的
    • D.逻辑的
  30. 设int a=1, b=2;,能将a的值赋给b的表达式是(  )

    • A.a=b
    • B.b+=a
    • C.a||(b=a)
    • D.a&&(b=a)
  31. 设int a=0;,循环次数为无限的语句是(  )

    • A.while(a);
    • B.for(a; a; a);
    • C.for(a; a==0;);
    • D.do{a++;} while(-a);
  32. 设int a, b;,表达式a=2, b=5, --a+b的值是(  )

    • A.5
    • B.6
    • C.7
    • D.8
  33. 正确的C语言整型常数是(  )

    • A.3
    • B.3.0
    • C.1E0
    • D.false
  34. C语言的保留字(又称关键字)是(  )

    • A.add
    • B.main
    • C.real
    • D.typedef