一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. (1)写出求三角形面积的函数,函数头为:float area(float a,float b,float c)

    三角形面积公式:

    (2)写出主函数,根据下图提供的各边的长度,调用上述函数,计算并输出多边形的面积。

  2. 由键盘输入10个实型数到数组,求它们的平均值,输出平均值和其中大于平均值的数。

  3. 打印如下的乘法表。

    1

    2 4

    3 6 9

    4 8 12 16

    ……

    9 18 27 36……81

    void main()

    {

      int i, j;

      for(i=1; _____①____; i++)  /* 第一空 */

     {

         for(j=1; j<=_____②____; j++) printf("%5d", i*j);   /* 第二空 */

         _____③____; /* 第三空 */

     }

    }

  4. 某班30名学生,由键盘输入每个学生的姓名和两门课的成绩,输出其中两门课都通过(成绩大于等于60分)的学生姓名和成绩。

  5. 计算s=1+2+3+……+n,直到s的值大于1000为止,输出s和n的值。

  6. #include

    int x=1;    

    void fx(int p)    

    { x=p+x; p++; }    

    void main()    

    { int a=3;      

      fx(a);      

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

    }

  7. 执行下列程序,输入数据:abcd↙  

  8. int fun(int m)  

    { static int n=1;   

      ++m; n++;   

      return(m+n);  

    }  

    void main()  

    {  int a,b;    

        a=fun(0); b=fun(10);    

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

    }

  9. 执行printf("%5.2f\n", (int)10.0%2+12.34);后的输出结果县__________。

  10. #include

    void main()    

    { int y=10;      

      for(; y>0; y--)          

         if(y%3==0) { printf("%3d",--y); continue; }      

      printf("\n");    

    }

  11. 执行printf("%d\n", 2^4);后的输出结果是__________。

  12. 局部变量默认的存储类型是__________。

  13. 从键盘输入含有空格的字符串,使用的系统函数是__________。

  14. 设char *p="Superstar";,执行printf("%c%s\n", *p, p+6);后的输出结果是__________。

  15. 设int a=123;,表达式a/10%10的值是__________。

  16. 运算符“==”的优先级比运算符“=”的优先级__________。

  17. 设char str[10]="abc";,执行printf("%s\n", strcpy(str,"Spain"));后的输出结果是__________。

  18. b2-4ac≥0对应的C语言关系表达式是__________。

  19. 设int x=3;,执行printf("%d\n", x+(x-=x*x));后的输出结果是__________。

  20. 文件使用方式“wb”的含义是(  )

    • A.对文本文件只写
    • B.对二进制文件只写
    • C.对文本文件读和写
    • D.对二进制文件读和写
  21. 设typedef char *POINT;,若有引用POINT p,q[5];,则(  )

    • A.p是字符型变量,q是字符型数组
    • B.p是字符型变量,q是字符型指针数组
    • C.p是字符型指针变量,q是字符型数组
    • D.p是字符型指针变量,q是字符型指针数组
  22. 设int b,a[]={1,2,3,4}, *p=a;,与b=*p++;等价的语句是(  )

    • A.b=*(++p);
    • B.b=*(p++);
    • C.b=p++;
    • D.b=*++p;
  23. 定义二维数组并初始化正确的是(  )

    • A.int a[3][3]=[0,1];
    • B.int a[3][3]={0,1,2,3,4,5,6,7,8,9};
    • C.int a[3][]={{1,2},{3,4}};
    • D.int a[][3]={{0},{1,2},{3,4,5}};
  24. 下列叙述正确的是(  )

    • A.实参不能是表达式
    • B.函数可以没有形式参数
    • C.在一个函数中只能有一个return语句
    • D.函数定义时,若函数类型缺省则默认的类型是void
  25. 设int n=8;,执行while(n>5){n--; printf("%2d", n);}后的输出结果是(  )

    • A.8 7 6 5
    • B.8 7 6
    • C.7 6 5
    • D.7 6
  26. 设int m[]={5,4,3,2,1},i=2;,数组元素引用错误的是(  )

    • A.m[--i]
    • B.m[i*i]
    • C.m[m[0]]
    • D.m[i-2]
  27. 函数float *fun(){……}返回的是(  )

    • A.地址
    • B.实型值
    • C.整型值
    • D.字符常数
  28. 设int i=1,s=1;,下列能正确计算5!的是(  )

    • A.while(i++<=5) s*=i;
    • B.for(; i<4 ;i++) s*=i++;
    • C.do{s*=i;} while(i<=4);
    • D.for(; i<=5; i++) s*=i;
  29. 设int a,b,t;,不能实现a和b的值交换的语句是(  )

    • A.a=t;t=b;b=a;
    • B.t=a;a=b;b=t;
    • C.t=b;b=a;a=t;
    • D.a=a+b;b=a-b;a=a-b;
  30. 设int x,*p;,正确的赋值语句是(  )

    • A.*p=&x;
    • B.*p=*x;
    • C.p=x;
    • D.p=&x;
  31. 设int n=0;,执行表达式n‖(n=-1)‖(n=0)‖(n=1)‖(n=2)后n的值是(  )

    • A.-1
    • B.0
    • C.1
    • D.2
  32. 设int a=4;,表达式的值不为8的是(  )

    • A.a*=a-2
    • B.a--, 3*a-1
    • C.a>1?++a*2:3*a
    • D.a+=a
  33. 正确的实型常数是(  )

    • A.1E0
    • B.E0
    • C.1E0.0
    • D.1E
  34. C语言的保留字是(  )

    • A.FILE
    • B.define
    • C.Auto
    • D.Else