一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. (1)写一个函数计算自然数n的阶乘(函数头为long fac(int n));

    (2)由键盘输入两个自然数a和b且a≤b,调用上述函数计算并输出的值。

  2. 从键盘输入x的值,按下列公式计算并输出y的值。

  3. 利用递归法,按下列公式计算并输出函数fx的值。

  4. 利用选择排序法实现对数组元素的升序排序。

  5. #include

    struct country

    {

      int no;

      char name[20];

    }a[]={1,"China",2,"Russia",3,"America"},*p=a;

    void main()

    {

      p++;

      printf("%d,%s", (*p).no, (*p).name);

      p--;

      printf("%d\n,%s", p->no, p->name);

      printf("%d,%s\n", a[2].no, a[2].name);

    }

  6. 从键盘输入一系列正(负数作为结束),写入二进制文件data.dat。

  7. #include

    void main()

    {

      int i, j, s, a[][3]={{1,2,3},{4,5},{6}};

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

      switch(i)

      {

         case 0:

         case 1:

         case 2: for(j=0; j<3; j++) s+=a[i][j]; break;

       }

       printf("s=%d\n",s);

    }

  8. #include

    void main()

    {   int i;

        for(i=10; i>0; i--)

        {

            if(i%3!=0) continue;

            printf("%2d", i);

        }

        printf("\n");

    }

  9. 若局部变量的存储类型缺省,其默认类型是_________。

  10. #include

    int f(int a)

    {

      static int d=10;/*静态变量*/

      d+=a;

      return d;

    }

    void main()

    {

       printf("f1=%d", f(3));

       printf("f2=%d\n", f(5));

    }

  11. 设char str[]="book\n";,执行语句printf("%d",sizeof(str));后的输出结果是_________。

  12. 设char *p="abcd";,执行语句printf("%C", *(p+2));后的输出结果是_________。

  13. 设float x=3.1;,执行语句printf("%.1f", 3.2+(int)x);后的输出结果是_________。

  14. 设FILE *fp;,若fp指向文件尾部,则feof(fp)的返回值是_________。

  15. 在C语言中,运算符优先级最低的是_________。

  16. 设int a=3;,执行语句printf("%d", a<<2);后的输出结果是_________。

  17. 设int n;,“n为偶数”的C语言逻辑表达式是_________。

  18. 实(浮点)型分为单、双精度两种,其类型保留字分别是_________。

  19. 实现字符串拷贝的系统函数是_________。

  20. 结构型变量所占内存量应是(  )

    • A.第一个成员占用的内存量
    • B.最后一个成员占用的内存量
    • C.所有成员占用内存量的总和
    • D.成员中占用内存量最大者所需的容量
  21. 设int a[10], *p=a;,与数组元素a[0]等价的是(  )

    • A.*p
    • B.p
    • C.&a
    • D.a
  22. 关于函数叙述正确的是(  )

    • A.函数必须有形参
    • B.函数的形参可以是常数
    • C.函数中只能出现一个return语句
    • D.函数类型为void时,该函数无返回值
  23. 设typedef float REAL;则REAL是(  )

    • A.变量名
    • B.常量名
    • C.函数名
    • D.类型名
  24. 设char s[10];,将字符串输入至数组s的正确语句是(  )

    • A.s=gets();
    • B.getchar(s);
    • C.scanf("%s", s);
    • D.scanf("%s", &s[10]);
  25. 设int a[3][5];,该数组两个下标的取值范围分别是(  )

    • A.0~3和0~4
    • B.0~3和3~5
    • C.0~2和0~4
    • D.3~5和0~5
  26. 定义数组并初始化正确的是(  )

    • A.int a[]=(2,4,6,8);
    • B.int a[]={2,4,6,8};
    • C.int a[3]={2,4,6,8};
    • D.int *a[4]={2,4,6,8};
  27. 设int m=0;,语句while(m!=0) m++;的循环次数是(  )

    • A.0
    • B.1
    • C.2
    • D.无限
  28. 设int a=3;,值为1的表达式是(  )

    • A.a%3
    • B.3-++a
    • C.(a++)%3
    • D.a>3?2:1
  29. 设int a=0, b=5, c;,执行语句c=(a==b)||++a;后c的值是(  )

    • A.0
    • B.1
    • C.4
    • D.5
  30. 设float x; -1≤x<3正确的C语言表达式是(  )

    • A.-1<=x<3
    • B.-1<=x||x<3
    • C.x>=-1&&x<3
    • D.!(x>=-1)&&(x<3)
  31. 下列不是C语言运算符的是(  )

    • A.< >
    • B.^
    • C.!
    • D.&=
  32. 表达式5+6!=0的值是(  )

    • A.0
    • B.1
    • C.6
    • D.11
  33. 正确的C语言常数是(  )

    • A.012
    • B.'abc"
    • C.0xfp
    • D.2e1.25
  34. 正确的自定义标识符是(  )

    • A.2xy
    • B.int
    • C.root%x
    • D.total