一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. (1)编写函数fa,计算并输出圆的面积;

    (2)编写函数fb,计算并输出圆的周长;

    (3)编写主函数,键入圆的半径R和运算标志m。使用 switch语句,当m=1时调用fa;当m=2时调用fb;当m=3时调用fa和fb。输出结果保留两位小数

  2. 将26个大写英文字母写入新建的文本文件 ch.txt。

  3. 为二维数组输入数据,输出其中最小的元素值及对应的两个下标。

    include

    #define M 3

    #define N 4

    void main()

    {

        int a[M][N],i,j, row, col, ___①____;   /*第一空*/

        for(i=0;i

             for(j=0; j

        min=a[0][0];

        row=col=___②____;   / *第二空*/

        for(i=0; i

             for(j=0; j

                   if(a[i][j]

                 {  min=___③____;       /*第三空*/

                       row=i; col=j;

                   }

         printf("min=%d, row-=%d, col=%d\n", a[row][col], row, col);

    }

  4. 键入一串字符,以回车换行符为结束标志,统计并输出其中数字字符的个数。

    include

    void main()

    {

       char ch; int n=0;

       ch=getchar();

       while(ch!='\n')

       { 

            if(___①____) n+;    /*第一空*/

            ___②____; /    *第二空*/}

           printf("n=%d\n",___③____);   / *第三空*/

    }

  5. 将从键盘输入的某个学生的学号、姓名和成绩保存至结构型变量并输出。

    include

    typedef struct student

    {

      int no;

      char name[20];

      float score;

    }___①____;   /*第一空*/

    void main()

    {

       STU st;

       scanf("%d%s%f", &st.no,___②____,&st.score);   /*第二空*/

       printf("No:%d\nName:%s\nScore:%.1f\n",___③____);   /*第三空*/

    }

  6. void main()

    {

      int a=10,y=0;

      do {

             a+=2; y+=a;

             if(y>30)  break;

         }while(-1);

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

    }

  7. void main()

    {

       int k;

       char *s=" ABCDE";

       for(k=0;k<5;k+=2) pint("%s\n",s+k);

    }

  8. int i=1;

    int f(int j)

    {

        static int k=0;

        return(++k+j+i);

    }

    void main()

    {

       int j;

       for(j=1; j<=3; j++) printf("%5d",f(10));

       printf ("\n");

    }

  9. void main()

    {

      int n;

      char *city[]={"Beijing","Tianjin","Shanghai","Chongqing"};

      for(n=0; n<4; n+=2)  printf("%s\n",city[n]);

    }

  10. 执行语句 print("%sn","1+2+3\0=6");后输出结果是_______。

  11. 若在函数内部定义变量时省略存储类型,则默认的存储类型是_______。

  12. 设int a=3,b=2,c=1;,表达式a>b>c的值是_______。

  13. 若函数的类型为void,则函数_______返回值。

  14. 设 struct{ int a; char c;}m,*p=&m;,用指针引用成员a的形式是(*p).a或_______。

  15. 设 char a,b;,与表达式a^=b-2等价的另一表达形式是_______。

  16. 设int a[5]={1,2,3,4};,元素a['E'-A]的值是_______。

  17. 设 char s[20]= "China";,执行语句 printf( "%d\n",strlen(m));输出结果是_______。

  18. C语言的三种逻辑运算符分别是&&、‖和_______。

  19. 设int s=6;,表达式s%2+(s+1)%2的值是_______。

  20. 当文件未结束时,系统函数feof的返回值是(  )

    • A.-1
    • B.0
    • C.1
    • D.非0
  21. 设int m=5,n,*p1,*p2;,下列程序段正确的是(  )

    • A.p1=&m; p2=p1;
    • B.p1=&m; p2=*p1;
    • C.p1=&m; p2=&p1;
    • D.p1=&m; p2=&n; *p1=p2;
  22. 设 char ch;,下列语句错误的是(  )

    • A.ch="a=b";
    • B.ch='\0';
    • C.ch='7'+'9';
    • D.ch=7+9;
  23. 正确定义一维数组的是(  )

    • A.int a(10);
    • B.int n=10, a[n];
    • C.#define N 10
    • int a[N];
    • D.int n;    scanf("%d", &n);
    • int a[n];
  24. 下列为递归函数的是(  )

    • A.int func(int n)    {  if(n==0) return 0;
    • else return(n-1);    }
    • B.int func(int n)    {  if(n==0) return 0;
    • else return func(n-1);    }
    • C.int func(int n)    {  if(n==0) return 0;
    • else return sqrt(sqrt(n));    }
    • D.int func(int n)    {  if(n==0) return 0;
    • else return(--n);    }
  25. 设int x=1,y=2,z=3;下列语句错误的是(  )

    • A.if(x
    • B.for(z=0;z
    • C.for(z=0,z
    • D.if(x
  26. 函数中定义的变量,其作用域是(  )

    • A.本函数
    • B.本程序的所有文件
    • C.本文件的所有函数
    • D.本文件的第一个函数
  27. 关于函数正确的说法是(  )

    • A.必须有返回值
    • B.必须有形式参数
    • C.返回值的类型可以是指针
    • D.一个函数中可以定义另一函数
  28. 设int a[3][4]={1,2,3,4,5,6};,值为1的数组元素是(  )

    • A.a[0][0]
    • B.a[0][1]
    • C.a[1][0]
    • D.a[1][1]
  29. if(表达式)和while(表达式)中的“表达式”(  )

    • A.只能是逻辑的
    • B.只能是关系的
    • C.只能是算术的
    • D.可以是任意的
  30. 设int a=1,b=2,c=3;,能将c的值同时赋给a和b的表达式是(  )

    • A.a=b==c
    • B.a==(b=c)
    • C.(a=c)||(b=c)
    • D.(a=c)&&(b=c)
  31. 错误的实型(又称浮点型)常数是(  )

    • A.2E0
    • B.0.0
    • C.0E0
    • D.0E+0.0
  32. 设 int a, b;,表达式a=2,b=5,b++,a+b--的值是(  )

    • A.2
    • B.6
    • C.7
    • D.8
  33. 设int a;,循环次数为无限的语句是(  )

    • A.for(a=0;a;a++);
    • B.for(a=0;a==0;);
    • C.for(a=0;a=0;a++);
    • D.for(a=0;a==0;a++);
  34. C语言的保留字(又称关键字)是(  )

    • A.sum
    • B.main
    • C.double
    • D.longint