一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 从键盘输入一个正整数n,若能同时被3、5和7整除,则输出“Yes”,否则输出“No”。

  2. 利用循环结构输出以下图形。

  3. 从键盘输入5个字符串,将其写到文本文件fs.txt中。

    #include

    #include

    void main()

    {

       FILE *fp;

       char str[5][10];

        int i;

        for(i=0; i<5; i++) gets(str[i]);   /* 输入字符串 */

        if((fp=fopen("fs.txt",_____①____)==NULL)   /* 第一空 */

        { printf("Can’t open file!\n"); exit(0); }

        for(i=0; i<5; i++)   /* 写入文件 */

        {

             fputs(_____②____, fp);   /* 第二空 */

             fputs("\n", fp);

        }fclose(_____③____);   /* 第三空 */

    }

  4. 计算1!+2!+3!+4!+5!的值并输出。

    #include

    int f(int a)

    {

      static int c=1;

      c=c*a;

      return(_____①____);   /* 第一空 */

    }

    void main()

    {

      int i, k;

      k=-1;

      for(i=2; i<=5; i++) k+=_____②____;   /* 第二空 */

      printf("_____③____\n", k); /* 第三空 */

    }

  5. 设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。

  6. #include

     int power(int n)  /* 递归函数 */

     {

          if(n==0) return 1;

          else return 2*power(n-1);

      }

      void main( )

      { printf("%d\n", power(5)); }

  7. #include

    int x=1;   /* 全局变量 */

    void fx(int p)

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

    void main( )

    {

      int a=3;

      fx(a); x++;

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

    }

  8. #include

     void sub (int x, int y, int *z)

     {  *z=x+y;  }

     void main( )

     {   int a=2, b=5, c;

          sub(a, b, &c);

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

    }

  9. 在C语言中,将圆周率(PI=3.1415926)定义为常量的宏定义命令是__________。

  10. #include

    void main()

    {  char op;

       int a=10, b=20;

       for(op='a'; op<='d'; op+=2)

       switch(op)

       {  

            case 'a': printf("a+b=%d\n", a+b); break;

            case 'b': printf("a-b=%d\n", a-b); break;

            case 'c': printf("a*b=%d\n", a*b); break;

            case 'd': printf("a/b=%d\n", a/b); break;

        }

    }

  11. 在C语言中,表示逻辑“假”的值是__________。

  12. 设int n=123;,执行语句printf("%d", n/10%10);后的输出结果是__________。

  13. 设char ch='A';,执行语句printf("%c,%d",ch+32,ch);后的输出结果是__________。

  14. 设int a,b;,与a*=5-b;等价的赋值语句是__________。

  15. 系统函数sqrt()应使用的文件包含命令是__________。

  16. 运算符+=、!和&&中优先级最高的是__________。

  17. 设float x, y, z;,的C语言算术表达式是__________。

  18. 执行语句printf ("%d",3^5);后的输出结果是__________。

  19. 在C语言的文件使用中,EOF的值是__________。

  20. 表示“回车”的转义字符是(  )

    • A.'\r'
    • B.'\t'
    • C.'\0'
    • D.'\n'
  21. 下列二维数组定义并初始化正确的是(  )

    • A.int a[3][3]=[0,3];
    • B.int a[2][]={{3,4},{5,6}};
    • C.int a[2,3]={2,3,4,5,6,7,8,9};
    • D.int a[][4]={{1,2,4,5},{2,3},{3,4,9}};
  22. 设char s1[20]="China",s2[10]="Beijing";,执行下列语句后的输出结果是(  )strcat(s1, s2); printf("%s,%d\n",s1,strlen(s1));

    • A.China,5
    • B.Beijing,7
    • C.ChinaBeijing,12
    • D.BeijingChina,12
  23. 设typedef int ARRAY[10];,与语句ARRAY a, b;等价的是(  )

    • A.int a,b;
    • B.int a,b[10];
    • C.int a[10],b;
    • D.int a[10],b[10];
  24. 下列叙述正确的是(  )

    • A.while语句中的循环体至少被执行一次
    • B.do-while语句中的循环体至少被执行一次
    • C.switch语句中每个case后必须有break语句
    • D.continue和break在循环语句中的作用是相同的
  25. 设char s[2*5]="1234567";,数组s的长度是(  )

    • A.10
    • B.9
    • C.8
    • D.7
  26. 设int m[]={5,4,3,2,1} ,i=2;,其值为1的数组元素是(  )

    • A.m[i+2]
    • B.m[i+3]
    • C.m[i-1]
    • D.m[m[i]]
  27. 设float a,b,c;,函数调用语句f(((a,b),a+c),5);中参数的个数是(  )

    • A.1
    • B.2
    • C.3
    • D.4
  28. 设int x=10,*p;,指针p指向x的正确语句是(  )

    • A.p=x;
    • B.*p=*x;
    • C.*p=&x;
    • D.p=&x;
  29. 设int a=-1, b=3;,执行表达式++a&&(b=5)后,a和b的值分别是(  )

    • A.-1,3
    • B.0,3
    • C.0,5
    • D.-1,5
  30. 正确的实型常数是(  )

    • A.0
    • B.e2
    • C.0.871
    • D.3e-1.5
  31. 设int a=2, b=3, c;,正确的赋值语句是(  )

    • A.(a+b)++;
    • B.b=a%2.5;
    • C.a+=b+=5;
    • D.c=a+b=5;
  32. 设int a=1, b=3, c;,执行语句c=(a!=b)?++a:b++;后,c的值是(  )

    • A.1
    • B.2
    • C.3
    • D.4
  33. 表达式3.6-1/2+5%2的值是(  )

    • A.2.6
    • B.3.6
    • C.4.1
    • D.4.6
  34. 正确的自定义标识符是(  )

    • A.2c
    • B.x#y
    • C.case
    • D.Word_2