一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. (1)编写函数负fa,计算并输出直角三角形的面积;

    (2)编写函数fb,计算并输出梯形的面积;

    (3)编写主函数,键入直角三角形的底(d)和高(h),调用函数fa计算并输出该直角三角形的面积;键入梯形的上底(a)、下底(b)和高(c),调用函数fb计算并输出该梯形的面积。(输出结果保留两位小数)

  2. 从文本文件old.txt读取字符,将其中的英文字母'a'、'b'、'c'、'd'和'e'分别替换为'+'、'-'、'*'、'/'和'%',其余字符不变,然后写入文本文件 new.txt。

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

    #include

    void main()

    {

       char a;

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

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

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

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

    }

  4. 从键盘为二维数组输入数据,分别计算并输出两条对角线元素值之和。

    #include

     #define N 4

    void main()

    {

      int [N][N], i, j, sum1=0, sum2=0;

      for(i=0; i

            for(j=0; j

      for(i=0; i

      {

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

           sum2=sum2+a[i][N-1-i];

       }

       printf("sum1=%d sum2=%d\n",_______);    /*第三空*/

    }

  5. #include

    void main()

    {

       int i;

       char *st="CHINA";

       for(i=0; i<5; i+=2) printf ("%c", *(str+i));

       printf("\n");

    }

  6. 从键盘输入某个职工的工号、姓名和工资保存至结构型变量并输出。

    #include

    typedef struct employee

    {

      int number;

      char name[20];

      float salary;

    }_______;   /*第一空*/

    void main()

    {

       EMP em;

       scanf("%d%s%f", &em.number, _______, &em.salary);   /*第二空*/

       printf("Number: %d\nName: %s\nSalary: %.1f\n", _______);   /*第三空*/

    }

  7. #include< stdio.h>

    int z=2;

    int fun(int x)

    {

       static int y=0;

       return(--y+x+z);

    }

    void main()

    {

       int i;

       for(i=1; i<3; i++) printf("%d#",fun(5);

       printf("\n");

    }

  8. #include

    void main()

    {

      int i;

      char *country[ ]={"Brazil", "Russia", "India", "China", "SouthAfrica"};

      for(i=1; i<4; i+=2) printf("%s\n", country [i]);

    }

  9. #include

    void main()

    {

      int a=10, b=0;

      while(1)

      {

          a+=2; b+=a;

          if(b>20)  break;

       };

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

    }

  10. 若函数的形式参数和实际参数均为数组类型,则函数调用时参数的传递方式是_______。

  11. 系统函数double fabs(double x)的功能是_______。

  12. 使用系统函数sin()时,用到的文件包含命令县_______。

  13. 设int x=3, y=2, z=1;,表达式!x>-y>=z的值是_______。

  14. 设struct{ float x, y; }z, *p=&z;,用指针引用成员x的方式是(*p).x或_______。

  15. 设float a;,执行表达式(double)a后,a的类型是_______。

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

  17. 设int x=10, y=20;,执行语句printf("%d\n", x>y?x:y);后输出结果是_______。

  18. 设int x=100;,表达式x%2=(x+1)%2的值是_______。

  19. 设int a=2, b-3; 表达式a<

  20. 设int s=5, t=6, *p, *q;,下列程序段正确的是(  )

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

    • A.-1
    • B.0
    • C.1
    • D.非0
  22. 设int x=1, y=2, z=3;,下列for语句正确的是(  )

    • A.for(; ; );
    • B.for(z=0; z
    • C.for(z=0; z
    • D.for(z=0, z
  23. 正确定义一维数组的是(  )

    • A.float r(6);
    • B.float n=6,r[n];
    • C.#define N 6
    • float r[N];
    • D.int n;    scanf("%d", &n);
    • float r[n];
  24. 设int x;,与x==0等价的表达式是(  )

    • A.x==1
    • B.!x
    • C.x!=0
    • D.x!=1
  25. 设int a[2][3]={1, 2, 3, 4, 5};,值为0的数组元素是(  )

    • A.a[1][2]
    • B.a[1][1]
    • C.a[0][1]
    • D.a[0][0]
  26. 下列是递归函数的是(  )

    • A.int f(int n)    {   if(n!=0) return 1;
    • else return 0;    }
    • B.int f(int n)    {   if(n%2==0) return 0;
    • else return 1;    }
    • C.int f(int n)    {    if(n==0) return 0;
    • else return n+f(n-1);    }
    • D.int f(int n)    {   if(n==0) return =;
    • else return (--n);    }
  27. 下列函数头正确的是(  )

    • A.void fun(a, b)
    • B.void fun(int a, b)
    • C.void fun(int a, int b)
    • D.void fun(var int a, var int b)
  28. 设int a=1, b=2, c=3;,能将c的值同时赋给a和b的表达式是(  )

    • A.a=b=c
    • B.a==b=c
    • C.(a=c)ll(b=c)
    • D.a==b==c
  29. 在一个文件的不同函数中不能重名的是(  )

    • A.函数名
    • B.形式参数
    • C.auto型内部变量
    • D.register型内部变量
  30. 设int a=0,循环次数为0的语句是(  )

    • A.while(1);
    • B.for(; a!=0; );
    • C.for(a; a==0; a++);
    • D.do{ a++; }while(1);
  31. if(表达式)中“表达式”的类型是(  )

    • A.逻辑的
    • B.关系的
    • C.算术的
    • D.任意的
  32. 设int x=2;,执行语句printf("%d\n", x++);后输出结果是(  )

    • A.2
    • B.3
    • C.4
    • D.5
  33. 错误的C语言常数是(  )

    • A.0
    • B.3E0
    • C."d"
    • D.'123'
  34. C语言的保留字(又称关键字)是(  )

    • A.sum1
    • B.main()
    • C.continue
    • D.integer