第七章单元测试
- 若有以下定义和语句: char s[10]:s="abcd";printf("%s\n",s);则结果是(以下u代表空格) 。( )
- 若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是。( )
- '若有定义:int x,y;char a,b,c;并有以下输入数据(此处< CR> 代表换行符,/u代表空格): 1u2<CR>AuBuC 则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是。( )
- 若有以下定义和语句char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+"A"); 则输出结果是。( )
- 下面程序的输出结果是。( )
main()
{ int a=1,b=2;
printf("%d\n",a=a+1,a+6,b+2);} - 下列程序执行后的输出结果是。( )
main()
{ int x='f'; printf("%c \n",'A'+(x-'a'+1)); } - 下列程序执行后的输出结果是(小数点后只写-位)。( )
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); } - printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式.( )
- printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度小于5,则输出按方式。( )
- 已有定义 int a=-2;和输出语句:printf("%8lx",a);以下正确的叙述是。( )
- 若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是。( )
- 已有如下定义和输入语句 ,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第1列开始输入数据时,正确的数据输入方式是。( )
int a1,a2; char c1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2); - 已有定义 int x; f1oat y;且执行scanf("%3d%f",&x,&y);语句,若从第1列开始输入数据12345 678(回车),则x的值为。( )
- 已有定义int x; f1oat y;且执行scanf("%3d%f",&x,&y);语句,若从第1列开始输入数据12345 678(回车),则y的值。( )
- 已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为。( )
main()
{ int a;float f;
printf("\nInput number:");
(输入语句)
printf("\nf=%f,a= %d\n ,f,a); }
Input number: 4.5 2<CR> - 根据定义和数据的输入方式,输入语句的正确形式为:
已有定义: float fl,f2;
数据的输入方式:4.52<CR>3. 5( ) - 阅读下程序,若运行结果为如下形式 ,输入输出语句的正确内容是。( )
main()
{int x; float y;printf("enter x,y :")
(输入语句) (输出语句) }
输入形式 enter x,y: 2 3.4
输出形式 x+y=5.40 - 下面程序的输出是。( )
#include<stdio.h>
void main()
{ int k=11;
printf("k=%d,k=%o,k=%x\n",k,k,k);
} - 执行下面程序中的输出语句后,输出结果是。( )
#include<stdio.h>
void main()
{int a;
printf("%d\n",(a=3*5,a*4,a+5));
} - 下面程序的输出是。( )
#include<stdio.h>
void main()
{int x=023;
printf("%d\n",--x);
} - 下面程序的输出的是。( )
#include<stdio.h>
void main()
{int x=10,y=3;
printf("%d\n",y=x/y);
} - 以下程序的输出结果是。( )
#include<stdio.h>
void main()
{ int x=10,y=10;
printf("%d %d\n",x--,--y);
} - 设有如下定义: int x=10,y=3,z;
则语句printf("%d\n",z=(x%y,x/y));
的输出结果是。( ) - 若x和y都是int型变量,x=100,y=200,且有下面的程序片段:
printf("%d",(x,y));
上面程序片段的输出结果是。( ) - 阅读下面的程序
#include<stdio.h>
void main()
{
char ch;
scanf("%3c3c",&ch);
printf("%c",ch);
}
如果从键盘上输入
abc<回车>
则程序的运行结果是。( ) - 阅读下面的程序
#include<stdio.h>
void main()
{
int i,j;
i=010;
j=9;
printf("%d,%d",i-j,i+j);
}
则程序的运行结果是。( ) - 阅读下面的程序
#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);
}
程序的运行结果是。( ) - 阅读下面的程序
#include<stdio.h>
void main()
{
int i,j;
scanf("%3d%2d",&i,&j);
printf("i=%d,j=%d\n",i,j);
}
如果从键盘上输入1234567<回车>,则程序的运行结果是。( ) - 下面程序的输出结果是。( )
#include<stdio.h>
void main()
{
int a=-1, b=4, k;
k=(++a<=0)&&(b--<=0);
printf("%d,%d,%d\n",k,a,b);
} - 下面程序的输出结果是。( )
#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));
} - 执行下面程序段后,输出结果是。( )
int a;
int b=65536;
a=b;
printf("%d\n",a); - 若有以下定义和语句:
int a=010, b=0x10, c=10;
printf("%d,%d,%d\n",a,b,c);
则输出结果是。( ) - 以下程序的输出结果是。( )
#include<stdio.h>
void main()
{
int a=12, b=12;
printf("%d,%d\n",--a,++b);
} - 运行下面程序时,若从键盘输入"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");
} - 运行下面程序时,从键盘输入"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);
} - 执行下列程序段后的输出结果是。( )
int x=1,y=1,z=1;
x+=y+=z;
printf("%d\n",x<y?y:x); - 运行下面程序时,若从键盘输入"5 <CR>",则程序的输出结果是。( )
#include <stdio.h>
void main( )
{ int a ;
scanf("%d",&a);
if (a++>5)printf("%d\n",a);
else printf("%d\n",a--) ;
} - 运行下面程序时,若从键盘输入"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) ;
} - 以下程序的输出结果是。( )
main( )
{ int a=100;
if (a>100) printf("%d\n",a>100);
else printf("%d\n",a<=100);
} - 若执行下面的程序从键盘上输入9,则输出结果是。( )
#include <stdio.h>
void main( )
{int n;
scanf("%d",&n);
if (n++<10) printf("%d\n",n);
else printf("%d\n",n--);} - 以下程序输出结果是。( )
#include <stdio.h>
void main( )
{ int m=4;
if (++m>5) printf("%d\n",m--);
else printf("%d\n",--m);
} - 执行下列程序后的输出结果是。( )
#include <stdio.h>
void main( )
{ int k=4,a=3,b=2,c=1;
printf("%d\n",k<a?k:c<b?c:a);
} - 下面程序段的运行结果是。( )
for(i=1;i<=5;)
printf("%d",i);
i++; - 若有以下说明:
char s1[ ]={"tree"},s2[]={"flower"}; ,
则以下对数组元素或数组的输出语句中,正确的是。( ) - 定义如下变量和数组:
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]);
A:编译不通过 B:输出abcd C:输出abcduuuuu D:输出a
答案:编译不通过
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<回车>
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);
A:2,E B:输出项与对应的格式控制不-致,输出结果不确定 C:3,E D:2,M
答案:3,E
A:1 B:4 C:3 D:2
答案:2
A:H B:I C:J D:G
答案:G
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
A:输出错误信息 B:右对齐输出该字串,左补空格 C:按原字符长从左向右全部输出 D:从左起输出该字串,右补空格
答案:按原字符长从左向右全部输出
A:从左起输出该字串,右补空格 B:按原字符长从左向右全部输出 C:输出错误信息 D:右对齐输出该字串,左补空格
答案:输出错误信息
A:%8lx 不是错误的格式符,其中数字8规定了输出字段的宽度 B:%x 是格式符的-种,其变量的值按+六进制输出,但%8lx 是错误的 C:整型变量的输出格式符只有%d-种 D:%x 是格式符的-种,它可以适用于任何-种类型的数据
答案:%8lx 不是错误的格式符,其中数字8规定了输出字段的宽度
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);
A:10A 20B< CR> B:10A20<CR> C:10A20 B<cR> D:10 A 20 B<CR>
答案:10A 20B< CR>
A:12345 B:345 C:45 D:123
答案:123
A:无定值 B:678.000000 C:123.00000 D:45.0000
答案:45.0000
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);
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 );
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);
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
A:20 B:65 C:10 D:15
答案:20
A:24 B:18 C:17 D:23
答案:18
A:0 B:1 C:3 D:不确定的值
答案:3
A:10 9 B:9 9 C:10 10 D:9 10
答案:10 9
A:1 B:3 C:4 D:0
答案:3
A:输出格式符不够,输出不确定的值 B:200 C:100 D:100 200
答案:200
A:b B:c C:a D:程序语法出错
答案:a
A:-1,17 B:-1,19 C:1,19 D:1,17
答案:-1,17
A:9,11,8,10 B:9,11,9,10 C:8,10,8,10 D:9,10,9,11
答案:9,11,9,10
A:i=123,j=45 B:i=1234,j=567 C:i=123,j=4567 D:i=1,j=2
答案:i=123,j=45
A:0,0,3 B:1,1,2 C:1,0,3 D:0,1,2
答案:0,0,3
A:1,0 B:1,1 C:0,0 D:0,1
答案:1,0
A:-1 B:0 C:65536 D:1
答案:65536
A:8,8,10 B:8,10,10 C:8,16,10 D:10,10,10
答案:8,16,10
A:11,10 B:12,12 C:11,13 D:10,10
答案:11,13
A:3<5 B:5>3 C:x<y D:x>y
答案:x<y
A:不确定的值 B:34 C:12 D:9
答案:34
A:1 B:4 C:2 D:3
答案:3
A:5 B:6 C:7 D:4
答案:6
A:14 B:16 C:20 D:18
答案:16
A:1 B:0 C:a<=100 D:100 100
答案:1
A:10 B:11 C:8 D:9
答案:10
A:4 B:7 C:6 D:5
答案:4
A:3 B:4 C:2 D:1
答案:1
A:无限循环 B:15 C:1234 D:12345
答案:无限循环
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);
A:1 6 11 16 B:4 8 12 16 C:1 5 9 13 D:4 7 10 13
答案:4 7 10 13