一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 利用循环结构输出下列乘法表。

    1

    2 4

    3 6 9

    ……

    9 18 27 36 …… 81

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

  3. 从键盘任意输入三个正实数,若能构成三角形,计算并输出三角形的周长;否则输出“No Triangle!”。

  4. 利用冒泡排序法实现数组元素的降序排序。

    #include

    #define N 10

    void main()

    {

       int i,j,t,aN];

       for( i=0; i for(i=0; i

        for(i=0; i

       {    

            for(j=0;j

                   if(_______)   /*第一空*/

                   {    t=a[];

                         _______;   /*第二空*/

                        a[j+1]=t;

                   }

        }

        for(i=0; i

        printf("\n");

    }

  5. 从键盘输入一串字符(以回车换行符作为结束标志)并写入文本文件note.txt

    #include< stdio.h>

    void main()

    {

       FILE *fp;

       char ch;

       fp= fopen("note.txt",_______);   /*第一空*/

       do

       {

            ch=getchar();

            _______;   /*第二空*/

       } while(ch!= _______);   /*第三空*/

       fclose(fp);

    }

  6. #include

    struct city

    {

       int num;

       char name[20];

       float temp;

    }a[]={{1,"Beijing",15.5},{2,"Tianjin",16.2},{3,"Jinan",17.3}},*p=a;

    void main()

    {

        int i;

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

             printf("%d,%s,%.1fn",(*p).num, p->name, a[i].temp);

    }

  7. #include< stdio.h>

    void main()

    {   int i;

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

        {  if(i%7==0) break;

             printf(" %5d",i);

        }

        printf("\n");

    }

  8. #include

    void main()

    {

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

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

              switch (i)

             {

                   case 1: break;

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

             }

          printf("s=%dn"s);

    }

  9. #include

    int f(int a)

    {  static int s=1;  /*静态变量*/

       s+=a*2;

       retum s;

    }

    void main()

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

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

    }

  10. 设 char s[ ]="Nobel_Prize\n";,执行语句 printf("%d\n",sizeof(s));,后的输出结果是_______。

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

  12. 设int a=2;,表达式a,a+1,a+2的值是_______。

  13. 设char *q="facebook";,执行语句printf ("%s\n",q+4)后的输出结果是_______。

  14. 设 float m=1.9,n=0.8;,执行语句 printf("%1.f\n" ,(int)m+n);后输出结果是_______。

  15. 设int a=12;,表达式a>>2的值是_______。

  16. 条件运算符(?:)的结合性是_______。

  17. 设 float a,b,c,x;,将的值赋予c的赋值语句是_______。

  18. 连接两个字符串的系统函数名是_______。

  19. 静态型和寄存器型的存储类型符分别是_______。

  20. 关于结构型说法正确的是(  )

    • A.成员不能为数组
    • B.结构型不允许嵌套
    • C.所有成员的类型必须是整型
    • D.结构型变量占用的内存量是所有成员占用内存量总和
  21. 设int b[10],*p=b;,与数组元素b[0]等价的是(  )

    • A.*p
    • B.p
    • C.&b
    • D.b
  22. 下列叙述正确的是(  )

    • A.全局变量和局部变量不能同名
    • B.程序的执行必须从主函数开始
    • C.break只能出现在 switch语句中
    • D.一个函数中只能出现一个 return语句
  23. 设 char strl[10]="World",*p=str;,能正确输出字符串的语句是(  )

    • A.str=puts();
    • B.putchar(str);
    • C.printf("%s\n",p);
    • D.printf("%c\n",*p);
  24. 定义数组并初始化正确的是(  )

    • A.int a[]=(2,4,6,8);
    • B.int *a[3]={2,4,6,8};
    • C.int b[][3]={2,4,6,8};
    • D.int b[4][]={2,4,6,8};
  25. 设int p[5][6];,该数组两个下标的取值范围分别是(  )

    • A.0~4和0~5
    • B.0~5和0~6
    • C.1~5和1~6
    • D.1~4和1~5
  26. 设 typedef double Q[10];,与语句Q q;等价的是(  )

    • A.double q;
    • B.double *q;
    • C.double *q[10];
    • D.double q[10];
  27. 设int s=3;,表达式值为0的是(  )

    • A.s/2
    • B.3-++s
    • C.(s++)%3
    • D.s>3?2:5
  28. 设int m=0;,语句do{m++;}while(!m);执行的循环次数是(  )

    • A.0
    • B.1
    • C.2
    • D.无限
  29. 设int a=4,b=5,c;,执行语句c=(a==b)||++a;后,a和c的值分别是(  )

    • A.1,4
    • B.0,5
    • C.4,1
    • D.5,1
  30. 表达式1+5==0的值是(  )

    • A.0
    • B.1
    • C.5
    • D.6
  31. 设 float x;,能正确表达x属于区间(-5,10]的表达式是(  )

    • A.-5
    • B.-5
    • C.x>-5&&x<=10
    • D.!(x>-5)&&(x<=10)
  32. 正确的用户自定义标识符是(  )

    • A.3ab
    • B.float
    • C.root-x
    • D.s_1
  33. 错误的C语言常数是(  )

    • A.012
    • B.'abc '
    • C.0x2f
    • D.1.2e3
  34. 下列属于C语言运算符的是(  )

    • A.?:
    • B.#
    • C.?=
    • D.<>