模拟题3顺序结构.docx
《模拟题3顺序结构.docx》由会员分享,可在线阅读,更多相关《模拟题3顺序结构.docx(11页珍藏版)》请在冰豆网上搜索。
模拟题3顺序结构
第三部分顺序结构:
输入与输出
一、选择题
(1)有以下程序
main()
{intm,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
printf("%d%d%d\n",m,n,p);
}
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是
A)m=123n=456p=789
B)m=123n=456p=789
C)m=123,n=456,p=789
D)123456789
(2)有以下程序
main()
{intm=0256,n=256;
printf("%o%o\n",mn,n);
}
程序运行后的输出结果是
A)02560400
B)0256256
C)256400
D)400400
(3)有以下程序
main()
{inta=666,b=888;
printf("%d\n",a,b);
}
程序运行后的输出结果是
A)错误信息
B)666
C)888
D)666,888
(4)有以下程序
main()
{
intx=102,y=012;
printf(“%2d,%2d\n”,x,y);
}
执行后输出结果是
A)10,01
B)02,12
C)102,10
D)02,10
(5)有以下程序
main()
{inta;charc=10;
floatf=100.0;doublex;
a=f/=c*=(x=6.5);
printf("%d%d%3.1f%3.1f\n",a,c,f,x);
}
程序运行后的输出结果是
A)16516.5
B)1651.56.5
C)1651.06.5
D)2651.56.5
(6)有定义语句:
intx,y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是
A)1112<回车>
B)11,12<回车>
C)11,12<回车>
D)11,<回车>
12<回车>
(7)设有如下程序段:
intx=2002,y=2003;
printf("%d\n",(x,y));
则以下叙述中正确的是
A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B)运行时产生出错信息
C)输出值为2002
D)输出值为2003
(8)若有以下程序段(n所赋的是八进制数)
intm=32767,n=032767
printf("%d,%o/n",m,n);
执行后输出结果是
A)32767,32767B)32767,032767
C)32767,77777D)32767,077777
(9)若有以下程序段
intm=0xabc,n=0xabc;
m-=n;
printf("%X\n",m);
执行后输出结果是
A)0X0
B)0x0
C)0
D)0XABC
(10)已知i、j、k为int型变量,若从键盘输入:
1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是
A)scanf(“%2d%2d%2d”,&i,&j,&k);
B)scanf(“%d%d%d”,&i,&j,&k);
C)scanf(“%d,%d,%d”,&i,&j,&k);
D)scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
(11)设有定义:
longx=-123456L;,则以下能够正确输出变量x值的语句是
A)printf(“x=%d\n”,x);
B)printf(“x=%1d\n”,x);
C)printf(“x=%8dL\n”,x);
D)printf(“x=%LD\n”,x);
(12)以下程序段的输出结果是
inta=1234;
printf("%2d\n",a);
A)12
B)34
C)1234
D)提示出错、无结果
(13)x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是
A)INPUTx、y、z;
B)scanf(“%d%d%d”,&x,&y,&z);
C)scanf(“%d%d%d”,x,y,z);
D)read(“%d%d%d”,&x,&y,&z);
(14)若变量已正确说明为float类型,要通过语句scanf(“%f%f%f”,&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:
A)10<回车> B)10.0,22.0,33.0<回车>
22<回车>
33<回车>
C)10.0<回车> D)1022<回车>
22.033.0<回车>33<回车>
(15)有如下程序
main0
{inty=3,x=3,z=1;
printf(“%d%d\n”,(++x,y++),z+2);
}
运行该程序的输出结果是
A)34
B)42
C)43
D)33
(16)下列程序执行后的输出结果是(小数点后只写一位)
A)666.06.0B)666.76.7
C)666.06.7D)666.76.0
main()
{doubled;floatf;lingl;inti;
i=f=1=d=20/3;
printf("%d%ld%f%f\n",i,l,f,d);
}
(17)以下说法中正确的是
A)#define和printf都是C语句
B)#define是C语句,而printf不是
C)printf是C语句,但#define不是
D)#define和printf都不是C语句
(18)以下程序的输出结果是
A)17,021,0x11B)17,17,17
B)17,0x11,021D)17,21,11
main()
{intk=17;
printf("%d,%o,%x\n",k,k,k);
}
(19)以下叙述中正确的是
A)输入项可以是一个实型常量,如:
scakf("%f",3.5);
B)只有格式控制,没有输入项,也能正确输入数据到内存,例如:
scakf("a=%d,b=%d");
C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:
scakf("%4.2f",&f);
D)当输入数据时,必须指明变量地址,例如:
scakf("%f",&f);
(20)若有以下定义和语句:
intu=010,v=0x10,w=10;
printf("%d,%d,%d\n,u,v,w);
则输出结果是:
A)8,16,10B)10,10,10C)8,8,10D)8,10,10
(21)请读程序片段:
inti=65536;printf("%d\n",i);
上面程序片段的输出结果是
A)65536
B)0
C)有语法错误,无输出结果
D)-1
(22)若x和y都是int型变量,x=100,y=200,且有下面的程序片段:
printf("%d",(x,y));
上面程序片段的输出结果是
A)200
B)100
C)100200
D)输出格式符不够,输出不确定的值
(23)请读程序:
#include
main()
{inta;floatb,c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("\na=%d,b=%f,c=%f\n",a,b,c);
}
若运行时从键盘上输入9876543210(表示回车),则上面程序的输出结果是
A)a=98,b=765,c=4321
B)a=10,b=432,c=8765
C)a=98,b=765.000000,c=4321.000000
D)a=98,b=765.0,c=4321.0
(24)以下程序的输出结果是 【24】。
#include
#include
main()
{inta=1,b=4,c=2;
floatx=10..5,y=4.0,z;
z=(a+b)/c+sqrt((double)y)*1.2/c+x;
pritnf("%f\n",z);}
A)14.000000
B)015.400000
C)13.700000
D)14.900000
(25)以下程序的输出结果是 【25】。
#include
main()
{inta=2,c=5;
printf("a=%%d,b=%%d\n",a,c);}
A)a=%2,b=%5
B)a=2,b=5
C)a=%%d,b=%%d
D)a=%d,b=%d
(26)执行下面程序中的输出语句,a的值是
A)65
B)20
C)15
D)10
main()
{inta;
printf("%d\n",(a=3*5,a*4,a+5));}
二、填空题:
(1)以下程序运行后的输出结果是【1】。
main()
{intx=0210;printf("%X\n",x);
}
(2)以下程序运行后的输出结果是【2】。
main()
{charc;intn=100;
floatf=10;doublex;
x=f*=n/=(c=50);
printf("%d%f\n",n,x);
}
(3)以下程序运行时若从键盘输入:
102030<回车>。
输出结果是.
#include
main()
{inti=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
printf("%d%d%d\n",i,j,k);
}
(4)以下程序段的输出结果是【4】。
inti=9;
printf("%o\n",i);
(5)以下程序运行后的输出结果是【5】。
main()
{inta,b,c;
a=25;
b=025;
c=0x25;
printf("%d%d%d\n",a,b,c);
}
(6)有以下语句段
intn1=10,n2=20;
printf(“【6】”,n1.n2);
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。
n1=10
n2=20
(7)若有语句
inti=-19,j=i%4;
printf("%d\n",j);
则输出结果是 【7】 。
(8)若有程序
main()
{inti,j;
scanf("i=%d,j=%d";&i,&j);
printf("i=%d,j=%d\n",i,j);
}
要求给i赋10,给j赋20,则应该从键盘输入 【8】 。
(9)以下程序的输出结果是【9】。
main()
{inta=177;
printf("%o\n",a);
}
(10)以下程序的输出结果是【10】。
main()
{inta=0
a+=(a=8);
printf("%d\n",a);
}
(11)以下程序的输出结果是【11】
main()
{inta=1,b=2;
a=a+b;b=a-b;a=a-b;
printf(“%d,%d\n”,a,b);
}
(12)下列程序的输出结果是16.00,请填空。
。
main()
{inta=9,b=2;
floatx=【12】,y=1.1,z;
z=a/2+b*x/y+1/2;
printf(“%5.2f\n”,z);
}
(13)以下程序的输出结果是[13]。
main()
{unsignedshorta=65536;intb;
printf(“%d\n”,b=a);
}
(14)若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是【14】。
intb,c;floata;
scanf("%f,%d,c=%d",&a,&b,&c);
(15)若想通过以下输入语句给a赋于1,给b赋于2,则输入数据的形式应该是【15】。
inta,b;
scanf("a=%b,b=%d,&a,&b);
答案:
一、选择题
01)A 02)C 03)B 04)C 05)B06)A 07)D 08)A 09)C 10)C
11)B 12)C 13)B 14)B 15)D16)A 17)D 18)D 19)D 20)A
21)B 22)A 23)C 24)C 25)D26)C 二、填空题
(1)88
(2)220.000000(3)10300(4)11(5)252137(6)n1=%d\nn2=%d
(7)-3(8)i=10,j=20(9)261(10)16(11)2,1(12)6.6(13)0
(14)5.0,4,c=3(15)a=1,b=2