一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 从键盘输入10个整数,由大到小排序后输出。

  2. 将一维数组逆序存放后输出。例如int a[3]={1,2,3},逆序存放后int a[3]={3,2,1}。

    include

    void move(int *p, int n);

    void main()

    {

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

       move(a, 5);

       for(i=0; i

    }

    void move(int *p, int n)

    {

       _________;     /*第二空*/

       for(k=0; k<=n/2; k++)

       {  c=p[k]; p[k]=p[n-k]; _________;}    /*第三空*/

    }

  3. 计算1到100的平方根,并将结果保存至二进制文件root.dat。

  4. 求a、b和c的最大值并输出。

    #include

    int f(int x, _________)   /*第一空*/

    {  return(_________?y:x); }   /*第二空*/

    void main()

       int a=3, b=4, c=5, d;

       _________=f(f(a,b), f(a,c));   /*第三空*/

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

    }

  5. #define N 5

    void main()

    {

       int k, s1=0, s2=0;

       for(k=1; k

       switch(k%4)

       {   case 1:

            case 2: s1+=1; break;

             case 3:

            case 0: s2+=1; break;

        }

        printf("s1=%d,s2=%dn", s1, s2);

    }

  6. int f(int n)

    {

        if(n=2) return 0;

        else return(n+f(n-2));

    }

    void main()

    {

        int a=10;

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

    }

  7. int f(int t)

    {

       int b;

       static int c=3;

       b=c+t;

       c++;

       return b;

    }

    void main()

    {

        int i, k;

        for(i=1; i<3; i++)

        {  k=f(i);

            printf("%2d", k);

         }

         printf("\n");

    }

  8. void main()

    {

      int k, m;

      for(m=3; m<12; m++)

      {  for(k=2;k

          if(m%k==0) break;

          if(k==m) printf("%2d",m);

       }

    }

  9. 表达式(int)(3.5+1/2)的值是_________。

  10. 计算使用的系统函数是_________。

  11. 设char s[20]="Computer";,则strlen(s)的值是_________。

  12. 运算符+=、&&、<和!中,优先级最低的是_________。

  13. 设int x=12;,执行语句x>>=2;后X的值是_________。

  14. 设int m[10], *p;,使指针变量p指向数组m首元素的语句是_________。

  15. 一个源程序中允许有多个函数,但必须有且只能有一个_________。

  16. break语句除可在循环语句中使用外,还可以用于_________。

  17. 下列程序的输出结果是(  )

    int a=1;

    int f ()

    {  int a=2; return a; }

    void main()

    {  printf("%d,%d", a, f()); }

    • A.1,1
    • B.1,2
    • C.2,1
    • D.2,2
  18. 指针变量中存放的是_________。

  19. 设int a;,从键盘输入数据给变量a的输入语句是_________。

  20. 设char s1[10]="Better", s2[10]="Life";,执行语句printf("%s", strcat(s1, s2));后输出结果是(  )

    • A.LifeBetter
    • B.BetterLife
    • C.Better
    • D.Life
  21. 下列程序段的输出结果是(  )

    int n=6;

    while(n>3)

    {  n--;

       if(n%2==0) continue;

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

    }

    • A.13
    • B.35
    • C.53
    • D.654
  22. Struct t

    {  int a;

       float b;

       char c[10];

    }x[2]={{1, 6.6, "Dollar"}, {2, 9.8, "Pound"}};

    则执行语句printf("%d,%s", x[1].a, x[1].c);后输出结果是(  )

    • A.1,Dollar
    • B.2,Dollar
    • C.1,Pound
    • D.2,Pound
  23. 设int a[]={11,21,31,41,51,61}, *p=a;,表达式*p++的值是(  )

    • A.11
    • B.21
    • C.31
    • D.41
  24. 下列数组初始化后,元素值不全为0的是(  )

    • A.int a[5]={0};
    • B.int a[5]={'0'};
    • C.static int a[5];
    • D.int a[5]={0,0,0,0,0};
  25. 设int a=10, b=20, c=1, d=2;,执行语句if(ad&&(c=10)||c==100) d=200;后,c和d的值分别是(  )

    • A.1和2
    • B.1和200
    • C.10和2
    • D.100和200
  26. 设int a[2][3]={1,2,3,4,5};,数组元素a[1][1]的值是(  )

    • A.1
    • B.2
    • C.4
    • D.5
  27. 设int a, b, c;,执行语句printf("%d", (a=1, b=2, c=3));后输出结果是(  )

    • A.6
    • B.3
    • C.2
    • D.1
  28. 设int n=2;,执行语句n+=n-=n-n;后n的值是(  )

    • A.0
    • B.2
    • C.4
    • D.6
  29. 下列程序段执行后,变量n的值是(  )

    Static int n;

    do { n=n+1; } while(n<1000);

    • A.1
    • B.999
    • C.1000
    • D.1001
  30. 执行语句printf("%c", 'A'+3);后输出结果是(  )

    • A.3
    • B.A
    • C.D
    • D.68
  31. 设int m1=60, m2=80, m3=100;,表达式m3>m2>m1的值是(  )

    • A.0
    • B.1
    • C.60
    • D.100
  32. 设int a[10];,则数组a的下标正确的使用范围是(  )

    • A.0到9
    • B.0到10
    • C.-1到9
    • D.1到10
  33. 表达式9%45+15/6*2的值是(  )

    • A.4
    • B.5
    • C.10
    • D.13