一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. (1)编写一个函数change( )实现两个实型变量的值交换;

    (2)写出主函数,从键盘上输入两个数,然后调用函数change()交换两个实型数的值并输出。

  2. 从键盘输入三条边a、b和c,若能构成三角形则输出其面积,否则输出不能构成三角形的提示信息“No triangle”。

    三角形面积计算公式其中:s=(a+b+c)/2。

  3. 键入数据至二维数组,求出其中的最大值、最小值及所有元素之和。

  4. 根据迭代公式,求a的平方根(精度要求|x1-x0|<10-6)。

  5. 将26个小写英文字母中的元音字母(a,e,i,o,u)写入到文件vo.txt中。

    #include "stdio.h"

    void main( )

    {

       char _______;    /*第一空*/

       FILE *fp;

       fp=fopen("vo.txt", "w");

       for(ch=′a′; ch<=′z′; ch++)

       if(_______)fputc(ch,fp);     /*第二空*/

        _______;     /*第三空*/

    }

  6. #define M 2<3? 5:6

    void main( )

    {

       int i=3, j, k;

       j=i+M;

       k=i+(M);

       printf ("%d,%d\n", j, k);

    }

  7. void main( )

    {

        int a=0, b=0, d=0;

        char *s="xcbc3abcd";

        for(; *s!= ′\0′; s++)

            switch(*s)

            {

                  case ′a′: a++; break;

                  case ′b′: b++; break;

                  default: d++;

            }

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

    }

  8. void main( )

    {

        int i=0, j =0, k=0;

        while (i< 10) i++;

        while (j++<10);

        while (++k<10);

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

    }

  9. int a;

    fun(int i)

    {

      a+=2*i;

      return a;

    }

    void main( )

    {

       int a=10;

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

    }

  10. 设char s[3]="AB", *p=s;,则*(p+2)的值是_______。

  11. 设int x=3;,执行语句printf((x%2)?("**%d\n"):("##%d\n"),x);后,输出结果是_______。

  12. 若函数内定义变量的存储类别是static,该变量被称为_______静态变量。

  13. 设int x,y;,循环语句for(x=0,y=0; (y!=10)&&(x<5); x++);执行的次数是_______。

  14. 执行下列程序段后,输出结果是_______。

    int x=3;

    do{ ptintf("%5d",x-=2); }while(!(--x));

  15. 执行语句for(i=10; i>0; i--,);后,变量i的值是_______。

  16. 设int x=4,y=2;,表达式x

  17. 设int a=1,b=2,m=2,n=2;,执行表达式(m=a

  18. 设int a,b,c;,表达式a=2,b=5,b++,a+b的值是_______。

  19. 执行语句printf("%d\n", strlen("a\n\x41"));后,输出结果是_______。

  20. 设int a[10];,对数组元素引用正确的是(  )

    • A.a[10]
    • B.a[′0′]
    • C.a(6)
    • D.a[10-10]
  21. 使用递归函数计算n!(n=0,1,2,3,....)的是(  )

    • A.fac(int n)    {   int i,f=-1;
    • if(n==0) return 1;
    • else  for(i=1 ; i<=n; i++) f*=i;    return f;    }
    • B.fac(int n)    {
    • if(n==0‖n==1) return 1;
    • else return n*fac(n-1);    }
    • C.fac(int n)    {   int i=1,f=1;
    • if(n==0) return 1;
    • else  while(i<=n) f*=i++;    return f;    }
    • D.fac(int n)    {   int i=1,f=1;
  22. 设int a[2]={1,2},*p=a;,则*p是(  )

    • A.元素a[0]的值
    • B.元素a[0]的地址
    • C.元素a[1]的值
    • D.元素a[1]的地址
  23. 设struct{ int age; int num; }stu *p=&stu;对结构型变量stu的成员age引用错误的是(  )

    • A.stu.age
    • B.p->age
    • C.*p.age
    • D.(*p).age
  24. 设int a=2,b=6,c=8;,表达式(a,b),(c,10)的值是(  )

    • A.2
    • B.6
    • C.8
    • D.10
  25. 变量定义并初始化正确的是(  )

    • A.int a=1,*p=a;
    • B.int a=2,p=*a;
    • C.int a=3,p=&a;
    • D.int a=4,*p=&a;
  26. 下列为C语言保留字的是(  )

    • A.real
    • B.long
    • C.pointer
    • D.integer
  27. 设int i=3,j=3;,表达式i+++j的值是(  )

    • A.6
    • B.7
    • C.8
    • D.9
  28. 设int x=6;,执行语句x+=x-=x*x;后,x的值是(  )

    • A.-60
    • B.0
    • C.6
    • D.36
  29. 设char c=′A′; int i=1,j;,执行语句j=!c&&i++;后,i和j的值分别是(  )

    • A.0和1
    • B.1和0
    • C.1和65
    • D.2和66
  30. 设typedef char STRING[255]; STRING *s;,则s是(  )

    • A.字符数组
    • B.字符变量
    • C.字符指针数组
    • D.字符指针变量
  31. 设int a[][2]={1,2,3,4,5,6,7};,其中缺省的行长度的最小值是(  )

    • A.2
    • B.3
    • C.4
    • D.5
  32. 设int i=8,a,b; double x=1.42,y=5.2;,正确的表达式是(  )

    • A.a+=(b=4)*(a=3)
    • B.a=a*3=2
    • C.x%(-3)+y* *3
    • D.y=float(i)
  33. 关于C语言程序描述正确的是(  )

    • A.函数必须要有return语句
    • B.主函数必须位于程序的开头
    • C.程序中每行只能写一条语句
    • D.一个程序中只能有一个主函数
  34. 用户自定义标识符正确的是(  )

    • A.3ab
    • B.int
    • C.fa2_a
    • D.sin(x)