第七章单元测试
  1. 若有以下定义和语句: char s[10]:s="abcd";printf("%s\n",s);则结果是(以下u代表空格) 。( )

  2. A:编译不通过 B:输出abcd C:输出abcduuuuu D:输出a
    答案:编译不通过
  3. 若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是。( )

  4. A:10 22<回车> 33<回车> B:10<回车> 22<回车> 33<回车> C:10.0,22.0,33.0<回车> D:10.0<回车> 22.0 33.0<回车>
    答案:10.0,22.0,33.0<回车>
  5. '若有定义:int x,y;char a,b,c;并有以下输入数据(此处< CR> 代表换行符,/u代表空格): 1u2<CR>AuBuC 则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是。( )

  6. A:scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c); B:scanf("%d%d%c%c%c",&x,&y,&a,&b,&c); C:scanf("%d %d",&x,&y);a=getchar();b=getchar();c=getchar(); D:scanf("x=%d y+%d",&x,&y);a=getchar();b=getchar();c=getchar();
    答案:scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);
  7. 若有以下定义和语句char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+"A"); 则输出结果是。( )

  8. A:2,E B:输出项与对应的格式控制不-致,输出结果不确定 C:3,E D:2,M
    答案:3,E
  9. 下面程序的输出结果是。( )
    main()
    { int a=1,b=2;
    printf("%d\n",a=a+1,a+6,b+2);}

  10. A:1 B:4 C:3 D:2
    答案:2
  11. 下列程序执行后的输出结果是。( )
    main()
    { int x='f'; printf("%c \n",'A'+(x-'a'+1)); }

  12. A:H B:I C:J D:G
    答案:G
  13. 下列程序执行后的输出结果是(小数点后只写-位)。( )
    main()
    { double d; float f; long l; int i;
    i=f=l=d=20/3;
    printf("%d %ld %f %f \n", i,l,f,d); }

  14. A:6 6 6.7 6.7 B:6 6 6.0 6.0 C:6 6 6.0 6.7 D:6 6 6.7 6.0
    答案:6 6 6.0 6.0
  15. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式.( )

  16. A:输出错误信息 B:右对齐输出该字串,左补空格 C:按原字符长从左向右全部输出 D:从左起输出该字串,右补空格
    答案:按原字符长从左向右全部输出
  17. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度小于5,则输出按方式。( )

  18. A:从左起输出该字串,右补空格 B:按原字符长从左向右全部输出 C:输出错误信息 D:右对齐输出该字串,左补空格
    答案:输出错误信息
  19. 已有定义 int a=-2;和输出语句:printf("%8lx",a);以下正确的叙述是。( )

  20. A:%8lx 不是错误的格式符,其中数字8规定了输出字段的宽度 B:%x 是格式符的-种,其变量的值按+六进制输出,但%8lx 是错误的 C:整型变量的输出格式符只有%d-种 D:%x 是格式符的-种,它可以适用于任何-种类型的数据
    答案:%8lx 不是错误的格式符,其中数字8规定了输出字段的宽度
  21. 若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是。( )

  22. A:scanf("%x%o%6.2f",&x,&y,&z); B:scanf("%2d * %d%lf",&x,&y,&z); C:scanf(" %d%lx,%le",&x,&y,&z); D:scanf("%x %* d%o",&x,&y);
    答案:scanf("%x%o%6.2f",&x,&y,&z);
  23. 已有如下定义和输入语句 ,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第1列开始输入数据时,正确的数据输入方式是。( )
    int a1,a2; char c1,c2;
    scanf("%d%c%d%c",&a1,&c1,&a2,&c2);

  24. A:10A 20B< CR> B:10A20<CR> C:10A20 B<cR> D:10 A 20 B<CR>
    答案:10A 20B< CR>
  25. 已有定义 int x; f1oat y;且执行scanf("%3d%f",&x,&y);语句,若从第1列开始输入数据12345 678(回车),则x的值为。( )

  26. A:12345 B:345 C:45 D:123
    答案:123
  27. 已有定义int x; f1oat y;且执行scanf("%3d%f",&x,&y);语句,若从第1列开始输入数据12345 678(回车),则y的值。( )

  28. A:无定值 B:678.000000 C:123.00000 D:45.0000
    答案:45.0000
  29. 已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为。( )
    main()
    { int a;float f;
    printf("\nInput number:");
    (输入语句)
    printf("\nf=%f,a= %d\n ,f,a); }
    Input number: 4.5 2<CR>

  30. A:scanf("%d,%f",&a,&f); B:scanf("%f,%d",&f,&a) C:scanf("%d%f",&a,&f); D:scanf("%f%d",&f,&a);
    答案:scanf("%f%d",&f,&a);
  31. 根据定义和数据的输入方式,输入语句的正确形式为:
    已有定义: float fl,f2;
    数据的输入方式:4.52<CR>3. 5( )

  32. A:scanf("%f,%f",&f1,&f2); B:scanf("%f%f",&f1,&f2 ); C:scanf("%3.2f%2.1f",&f1,&f2); D:scanf("%3.2f%2.1f",&f1,&f);
    答案:scanf("%f%f",&f1,&f2 );
  33. 阅读下程序,若运行结果为如下形式 ,输入输出语句的正确内容是。( )
    main()
    {int x; float y;printf("enter x,y :")
    (输入语句) (输出语句) }
    输入形式 enter x,y: 2 3.4
    输出形式 x+y=5.40

  34. A:scanf("%d%f",&x,&y); printf("\nx+y=%6.lf",x+y); B:scanf("%d%f",&x,&y );printf("\nx+y=%4.2f",x+y); C:scanf("%d%3.1f",&x,&y );printf("\nx+y=%4.2f",x+y); D:scanf("%d,%f",&x,&y);printf("\nx+y= %4.2f",x+y);
    答案:scanf("%d%f",&x,&y );printf("\nx+y=%4.2f",x+y);
  35. 下面程序的输出是。( )
    #include<stdio.h>
    void main()
    { int k=11;
    printf("k=%d,k=%o,k=%x\n",k,k,k);
    }

  36. A:k=11,k=13,k=b B:k=11,k=013,k=0xb C:k=11,k=13,k=13 D:k=11,k=12,k=11
    答案:k=11,k=13,k=b
  37. 执行下面程序中的输出语句后,输出结果是。( )
    #include<stdio.h>
    void main()
    {int a;
    printf("%d\n",(a=3*5,a*4,a+5));
    }

  38. A:20 B:65 C:10 D:15
    答案:20
  39. 下面程序的输出是。( )
    #include<stdio.h>
    void main()
    {int x=023;
    printf("%d\n",--x);
    }

  40. A:24 B:18 C:17 D:23
    答案:18
  41. 下面程序的输出的是。( )
    #include<stdio.h>
    void main()
    {int x=10,y=3;
    printf("%d\n",y=x/y);
    }

  42. A:0 B:1 C:3 D:不确定的值
    答案:3
  43. 以下程序的输出结果是。( )
    #include<stdio.h>
    void main()
    { int x=10,y=10;
    printf("%d %d\n",x--,--y);
    }

  44. A:10 9 B:9 9 C:10 10 D:9 10
    答案:10 9
  45. 设有如下定义: int x=10,y=3,z;
    则语句printf("%d\n",z=(x%y,x/y));
    的输出结果是。( )

  46. A:1 B:3 C:4 D:0
    答案:3
  47. 若x和y都是int型变量,x=100,y=200,且有下面的程序片段:
    printf("%d",(x,y));
    上面程序片段的输出结果是。( )

  48. A:输出格式符不够,输出不确定的值 B:200 C:100 D:100 200
    答案:200
  49. 阅读下面的程序
    #include<stdio.h>
    void main()
    {
    char ch;
    scanf("%3c3c",&ch);
    printf("%c",ch);
    }
    如果从键盘上输入
    abc<回车>
    则程序的运行结果是。( )

  50. A:b B:c C:a D:程序语法出错
    答案:a
  51. 阅读下面的程序
    #include<stdio.h>
    void main()
    {
    int i,j;
    i=010;
    j=9;
    printf("%d,%d",i-j,i+j);
    }
    则程序的运行结果是。( )

  52. A:-1,17 B:-1,19 C:1,19 D:1,17
    答案:-1,17
  53. 阅读下面的程序
    #include<stdio.h>
    void main()
    {
    int i,j,m,n;
    i=8;j=10;
    m=++i;
    n=j++;
    printf("%d,%d,%d,%d",i,j,m,n);
    }
    程序的运行结果是。( )

  54. A:9,11,8,10 B:9,11,9,10 C:8,10,8,10 D:9,10,9,11
    答案:9,11,9,10
  55. 阅读下面的程序
    #include<stdio.h>
    void main()
    {
    int i,j;
    scanf("%3d%2d",&i,&j);
    printf("i=%d,j=%d\n",i,j);
    }
    如果从键盘上输入1234567<回车>,则程序的运行结果是。( )

  56. A:i=123,j=45 B:i=1234,j=567 C:i=123,j=4567 D:i=1,j=2
    答案:i=123,j=45
  57. 下面程序的输出结果是。( )
    #include<stdio.h>
    void main()
    {
    int a=-1, b=4, k;
    k=(++a<=0)&&(b--<=0);
    printf("%d,%d,%d\n",k,a,b);
    }

  58. A:0,0,3 B:1,1,2 C:1,0,3 D:0,1,2
    答案:0,0,3
  59. 下面程序的输出结果是。( )
    #include<stdio.h>
    void main()
    {
    int a=5,b=3;
    float x=3.14, y=6.5;
    printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));
    }

  60. A:1,0 B:1,1 C:0,0 D:0,1
    答案:1,0
  61. 执行下面程序段后,输出结果是。( )
    int a;
    int b=65536;
    a=b;
    printf("%d\n",a);

  62. A:-1 B:0 C:65536 D:1
    答案:65536
  63. 若有以下定义和语句:
    int a=010, b=0x10, c=10;
    printf("%d,%d,%d\n",a,b,c);
    则输出结果是。( )

  64. A:8,8,10 B:8,10,10 C:8,16,10 D:10,10,10
    答案:8,16,10
  65. 以下程序的输出结果是。( )
    #include<stdio.h>
    void main()
    {
    int a=12, b=12;
    printf("%d,%d\n",--a,++b);
    }

  66. A:11,10 B:12,12 C:11,13 D:10,10
    答案:11,13
  67. 运行下面程序时,若从键盘输入"3,5<CR>",则程序的输出结果是。( )
    #include <stdio.h>
    void main( )
    {
    int x,y;
    scanf("%d,%d",&x,&y);
    if (x==y)
    printf("x==y");
    else if (x>y)
    printf("x>y");
    else
    printf("x<y");
    }

  68. A:3<5 B:5>3 C:x<y D:x>y
    答案:x<y
  69. 运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是。( )
    #include <stdio.h>
    void main( )
    { int x,y,z;
    scanf("%d,%d,%d",&x,&y,&z);
    if (x<y)
    if (y<z)printf("%d\n",z);
    else printf("%d\n",y);
    else if (x<z)printf("%d\n",z);
    else printf("%d\n",x);
    }

  70. A:不确定的值 B:34 C:12 D:9
    答案:34
  71. 执行下列程序段后的输出结果是。( )
    int x=1,y=1,z=1;
    x+=y+=z;
    printf("%d\n",x<y?y:x);

  72. A:1 B:4 C:2 D:3
    答案:3
  73. 运行下面程序时,若从键盘输入"5 <CR>",则程序的输出结果是。( )
    #include <stdio.h>
    void main( )
    { int a ;
    scanf("%d",&a);
    if (a++>5)printf("%d\n",a);
    else printf("%d\n",a--) ;
    }

  74. A:5 B:6 C:7 D:4
    答案:6
  75. 运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是。( )
    #include <stdio.h>
    void main( )
    { int a,b,s;
    scanf("%d,%d",&a,&b);
    s=a;
    if (s<b) s=b;
    s=s*s;
    printf("%d\n",s) ;
    }

  76. A:14 B:16 C:20 D:18
    答案:16
  77. 以下程序的输出结果是。( )
    main( )
    { int a=100;
    if (a>100) printf("%d\n",a>100);
    else printf("%d\n",a<=100);
    }

  78. A:1 B:0 C:a<=100 D:100 100
    答案:1
  79. 若执行下面的程序从键盘上输入9,则输出结果是。( )
    #include <stdio.h>
    void main( )
    {int n;
    scanf("%d",&n);
    if (n++<10) printf("%d\n",n);
    else printf("%d\n",n--);}

  80. A:10 B:11 C:8 D:9
    答案:10
  81. 以下程序输出结果是。( )
    #include <stdio.h>
    void main( )
    { int m=4;
    if (++m>5) printf("%d\n",m--);
    else printf("%d\n",--m);
    }

  82. A:4 B:7 C:6 D:5
    答案:4
  83. 执行下列程序后的输出结果是。( )
    #include <stdio.h>
    void main( )
    { int k=4,a=3,b=2,c=1;
    printf("%d\n",k<a?k:c<b?c:a);
    }

  84. A:3 B:4 C:2 D:1
    答案:1
  85. 下面程序段的运行结果是。( )
    for(i=1;i<=5;)
    printf("%d",i);
    i++;

  86. A:无限循环 B:15 C:1234 D:12345
    答案:无限循环
  87. 若有以下说明:
    char s1[ ]={"tree"},s2[]={"flower"}; ,
    则以下对数组元素或数组的输出语句中,正确的是。( )

  88. A:printf("%s%s",s1[5],s2[7]); B:puts(s1,s2); C:puts(s1);puts(s2); D:printf("%c%c",s1,s2);
    答案:puts(s1);puts(s2);
  89. 定义如下变量和数组:
    int i;
    int x[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
    则下面语句的输出结果是。( )
    for(i=0;i<4;i++) printf("%3d",x[i][3-i]);

  90. A:1 6 11 16 B:4 8 12 16 C:1 5 9 13 D:4 7 10 13
    答案:4 7 10 13

点赞(2) dxwkbang
返回
顶部