一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 从键盘输入一个4行5列的二维整型数组,输出其每一行的最小值。

  2. 将文本文件fin.dat中的数字字符找出并写入文本文件fnum.dat中。

    #include

    void main ()

    {

       char ch;

       FILE *fin, *fnum;

       fin=fopen ("fin.dat", __________);   /*第一空*/

       fnum=fopen ("fnum.dat", "w");

       while(!feof(__________))   /*第二空*/

       {

             ch=fgetc(fin);

             if(__________)fputc (ch, fnum);   /*第三空*/

       }

       fclose (fin);

       fclose(fnum);

    }

  3. 从键盘输入代表平面上某点的横坐标x和纵坐标y,输出x和y的值并按下列要求输出相应的标志。

    当x>0且y>0,属于第一象限,输出标志“A”

    当x<0且y>0,属于第二象限,输出标志“B”

    当x<0且y<0,属于第三象限,输出标志“C”

    当x>0且y<0,属于第四象限,输出标志“D”

    当x=0或y=0,不属于任何象限,输出标志“E”

  4. 将数组a中元素按下图循环左移一位并输出。

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

    #include

    int f (int a)

    {   static int c=1;

        c=c*a;

        return__________;   /*第一空*/

    }

    void main ()

    {   int i, k;

        k=__________;   /*第二空*/

        for (i=2; i<=5; i++) k+=f(__________);   /*第三空*/

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

    }

  6. #include

    int a=10;

    void f()

    {   int a=30;

        printf ("%d,", a);

    }

    void main()

    {    f ();

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

    }

  7. #include

    void fun(int *a, int *b, int x, int y)

    {  *a=x+y; *b=x-y;}

    void main ()

    {  int c=8,d=4;

          fun (&c, &d, 5, 10);

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

    }

  8. #include

    int fun(int x)

    {   int p;

        if(x==1) return 2;

        else p=x-fun (x-2);

        return p;

    }

    void main ()

    {   printf("%d\n",fun (9));   }

  9. 在C语言中,文件分为二进制文件和_______。

  10. 使用系统函数pow( )时,在程序开始应包含的预处理命令是_______。

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

  12. 在C语言中,形参和实参的传递方式分为地址传递和_______。

  13. 设int year=2010,days;,执行days=year%4==0&&year%100!=0|| year%400==0?29:28;后days的值是________。

  14. 执行下面程序段,输出“FIFA”的行数是_______。

    int i,j;

    for(i=0; i<5; i++)

    for(j=1; j

  15. 的C语言表达式是_______。

  16. 设char *str="People";,执行printf("%s\n", str+4);后的输出结果是_______。

  17. 设int a=15;,执行printf("%d\n", a>>2);后的输出结果是_______。

  18. 设struct{ int x;int y; }m[2]={7,3,2,1};,执行printf("%d\n",m[0].x/m[1].x*m[0].y);后的输出结果是(  )

    • A.10.5
    • B.9
    • C.8.0
    • D.7
  19. 设int a=1,b=2,c=3;,执行表达式(a>b)&&(c=1)后c的值是(  )

    • A.0
    • B.1
    • C.2
    • D.3
  20. 表达式3!=6的值是_______。

  21. 下列叙述正确的是(  )

    • A.continue语句的作用是跳出循环体
    • B.while循环语句的循环体至少执行一次
    • C.do-while循环语句的循环体至少执行一次
    • D.switch语句中的每个case语句组必须含有break语句
  22. 设char ch='a';,执行printf("%d,%c\n", ch,ch+2);后的输出结果是(  )

    • A.97,c
    • B.97,99
    • C.a,c
    • D.a,a+2
  23. 关于函数,下列叙述正确的是(  )

    • A.一个函数中可以定义其它的函数
    • B.C程序总是从main()函数开始执行
    • C.main()函数也可以被其它函数调用
    • D.一个C程序可以有多个main()函数
  24. 对二维数组正确定义并初始化的是(  )

    • A.int a[ ][3]={1,2,3,4,5,6};
    • B.int a[3][3]=(1,2,3,4,5,6);
    • C.int a[3][ ]={{1,2,3},{4,5,6}};
    • D.int a[3][3]={a,b,c,d,e,f,g};
  25. 设double x=5.168;,执行printf("%5.3f\n", (int)(x*10+0.5)/10.0); 后的输出结果是(  )

    • A.5.218
    • B.5.210
    • C.5.200
    • D.5.168
  26. 正确的C语言字符常量是(  )

    • A.'\\'
    • B.'65'
    • C."A"
    • D.'/n'
  27. 设int a[ ]={12,34,56,78}, *p=a;,下列表达式的值为56的是(  )

    • A.p[1+2]
    • B.*(a+2)
    • C.a[3]
    • D.*(p+3)
  28. 设char s[ ]="1234567";,执行printf("%d,%d\n", strlen(s),sizeof(s));后的输出结果是(  )

    • A.7,7
    • B.7,8
    • C.8,7
    • D.8,8
  29. 设int a=0,b=1;,下列语句错误的是(  )

    • A.a=b=10;
    • B.a++;
    • C.b+=a;
    • D.(a+b)++;
  30. 能正确表达数学关系式0≤x<20的C语言表达式是(  )

    • A.0<=x<20
    • B.x>=0||x<20
    • C.x>=0&&x<20
    • D.!(x<=0)&&x<20
  31. 下列运算符的操作数必须是整型的是(  )

    • A./
    • B.!
    • C.%
    • D.=
  32. 可用于C语言用户标识符的是(  )

    • A.void,define
    • B.2c,DO
    • C.For,-abc
    • D.as_b3,_123
  33. 函数调用语句fun(fun(a,a+b,a+c),(a,b,c),5);中函数fun的参数个数是(  )

    • A.3
    • B.4
    • C.5
    • D.6