c语言习题12.docx
- 文档编号:4345318
- 上传时间:2022-11-30
- 格式:DOCX
- 页数:12
- 大小:19.53KB
c语言习题12.docx
《c语言习题12.docx》由会员分享,可在线阅读,更多相关《c语言习题12.docx(12页珍藏版)》请在冰豆网上搜索。
c语言习题12
第四章 最简单的C程序设计
4.1 选择题
【题4.1】putchar函数可以向终端输出一个 。
A)整型变量表达式值
B)实型变量值
C)字符串
D)字符或字符型变量值
【题4.2】以下程序的输出结果是 。
main()
{
printf(“\n*s1=%15s*”,“chinabeijing”);
printf(“\n*s2=%-5s*”,“chi”);
}
A)*s1=chinabeijing*B)*s1=chinabeijing*
*s2=**chi**s2=chi*
C)*s1=*chinabeijing*D)*s1=chinabeijing*
*s2=chi**s2=chi*
【题4.3】printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按方式【1】;如果字符串长度小于5,则输出按方式【2】。
A)从左起输出该字串,右补空格
B)按原字符长从左向右全部输出
C)右对齐输出该字串,左补空格
D)输出错误信息
【题4.4】已有定义inta=-2;和输出语句:
printf(“%8lx”,a);以下正确的叙述是 。
A)整型变量的输出格式符只有%d一种
B)%x是格式符的一种,它可以适用于任何一种类型的数据
C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度
【题4.5】以下C程序正确的运行结果是 。
main()
{
longy=-43456;
printf(“y=%-8ld\n”,y);
printf(“y=%-08ld\n”,y);
printf(“y=%08ld\n”,y);
printf(“y=%+8ld\n”,y);
}
A)y=-43456B)y=-43456
y=-43456y=-43456
y=-0043456y=-0043456
y=-43456y=+-43456
C)y=-43456D)y=-43456
y=-43456y=-0043456
y=-0043456y=00043456
y=-43456y=+43456
【题4.6】以下C程序正确的运行结果是 。
main()
{
inty=2456;
printf(“y=%3o\n”,y);
printf(“y=%8o\n”,y);
printf(“y=%#8o\n”,y);
}
A)y=2456B)y=4630
y=2456y=4630
y=########2456y=########4630
C)y=2456D)y=4630
y=2456y=4630
y=02456y=04630
【题4.7】以下C程序正确的运行结果是 。
main()
{
longy=23456;
printf(“y=%3x\n”,y);
printf(“y=%8x\n”,y);
printf(“y=%#8x\n”,y);
}
A)y=5ba0B)y=5ba0C)y=5ba0D)y=5ba0
y=5ba0y=5ba0y=5ba0y=5ba0
y=0x5ba0y=0x5ba0y=0x5ba0y=####5ba0
【题4.8】若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是 。
A)scanf(“%d%lx,%le”,&x,&y,&z);
B)scanf(“%2d*%d%lf”,&x,&y,&z);
C)scanf(“%x%*d%o”,&x,&y);
D)scanf(“%x%o%6.2f”,&x,&y,&z);
【题4.9】已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是 。
inta1,a2;charc1,c2;
scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);
A)10A20B
C)10A20B
【题4.10】已有定义intx;floaty;且执行scanf(“%3d%f”,&x,&y);语句,若从第一列开始输入数据12345678<回车>,则x的值为【1】,y的值为【2】。
【1】A)12345B)123C)45D)345
【2】A)无定值B)45.000000C)678.000000D)123.000000
【题4.11】已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是 。
inta1,a2;charc1,c2;
scanf(“%d%d”,&a1,&a2);
scanf(“%c%c”,&c1,&c2);
A)1020AB
AB
C)1020AB
【题4.12】已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为 。
main()
{
inta;floatf;
printf(“\nInputnumber:
”);
输入语句
printf(“\nf=%f,a=%d\n”,f,a);
}
Inputnumber:
4.52
A)scanf(“%d,%f”,&a,&f);
B)scanf(“%f,%d”,&f,&a);
C)scanf(“%d%f”,&a,&f);
D)scanf(“%f%d”,&f,&a);
【题4.13】根据定义和数据的输入方式,输入语句的正确形式为 。
已有定义:
floatf1,f2;
数据的输入方式:
4.52
3.5
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,&f2);
【题4.14】阅读以下程序,当输入数据的形式为 25,13,10
main()
{
intx,y,z;
scanf(“%d%d%d”,&x,&y,&z);
printf(“x+y+z=%d\n”,x+y+z);
}
A)x+y+z=48
B)x+y+z=35
C)x+z=35
D)不确定值
【题4.15】阅读以下程序,若运行结果为如下形式,输入输出语句的正确内容是 。
main()
{
intx;floaty;
printf(“enterx,y:
”);
输入语句
输出语句
}
输入形式enterx,y:
23.4
输出形式x+y=5.40
A)scanf(“%d,%f”,&x,&y);
printf(“\nx+y=%4.2f”,x+y);
B)scanf(“%d%f”,&x,&y);
printf(“\nx+y=%4.2f”,x+y);
C)scanf(“%d%f”,&x,&y);
printf(“\nx+y=%6.1f”,x+y);
D)scanf(“%d%3.1f”,&x,&y);
printf(“\nx+y=%4.2f”,x+y);
【题4.16】以下说法正确的是 。
A)输入项可以为一实型常量,如scanf(“%f”,3.5);
B)只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);
C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);
D)当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);
【题4.17】根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确的形式应该为 。
main()
{
charch1,ch2,ch3;
输入语句
printf(“%c%c%c”,ch1,ch2,ch3);
}
输入形式:
ABC
输出形式:
AB
A)scanf(“%c%c%c”,&ch1,&ch2,&ch3);
B)scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);
C)scanf(“%c%c%c”,&ch1,&ch2,&ch3);
D)scanf(“%c%c”,&ch1,&ch2,&ch3);
【题4.18】有输入语句:
scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是 。
A)132<回车>
B)1,3,2<回车>
C)a=1b=3c=2<回车>
D)a=1,b=3,c=2<回车>
【题4.19】以下能正确地定义整型变量a,b和c并为其赋初值5的语句是 。
A)inta=b=c=5;B)inta,b,c=5;
C)a=5,b=5,c=5;D)a=b=c=5;
【题4.20】已知ch是字符型变量,下面不正确的赋值语句是 。
A)ch=‘a+b’;B)ch=‘\0’;C)ch=‘7’+‘9’;D)ch=5+9;
【题4.21】已知ch是字符型变量,下面正确的赋值语句是 。
A)ch=‘123’;B)ch=‘\xff’;C)ch=‘\08’;D)ch=“\”;
【题4.22】若有以下定义,则正确的赋值语句是 。
inta,b;floatx;
A)a=1,b=2,B)b++;C)a=b=5D)b=int(x);
【题4.23】设x、y均为float型变量,则以下不合法的赋值语句是 。
A)++x;B)y=(x%2)/10;C)x*=y+8;D)x=y=0;
【题4.24】设x、y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x、y和z的值是 。
A)x=10B)x=10C)x=10D)x=10
y=15y=10y=10y=5
z=10z=10z=15z=10
【题4.25】设有说明:
doubley=0.5,z=1.5;intx=10;则能够正确使用C语言库函数的赋值语句是 。
A)z=exp(y)+fabs(x);
B)y=log10(y)+pow(y);
C)z=sqrt(y-z);
D)x=(int)(atan2((double)x,y)+exp(y-0.2));
4.2 填空题
【题4.26】以下程序的输出结果为 。
main()
{
shorti;
i=-4;
printf(“\ni:
dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,i);
}
【题4.27】以下程序的输出结果为 。
main()
{
printf(“*%f,%4.3f*\n”,3.14,3.1415);
}
【题4.28】以下程序的输出结果为 。
main()
{
charc=‘x’;
printf(“c:
dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c);
}
【题4.29】已有定义intd=-2;执行以下语句后的输出结果是 。
printf(“*d
(1)=%d*d
(2)=%3d*d(3)=%-3d*\n”,d,d,d);
printf(“*d(4)=%o*d(5)=%7o*d(6)=%-7o*\n”,d,d,d);
【题4.30】已有定义intd=-2;执行以下语句后的输出结果是 。
printf(“*d
(1)=%d*d
(2)=%3d*d(3)=%-3d*\n”,d,d,d);
printf(“*d(4)=%x*d(5)=%6x*d(6)=%-6x*\n”,d,d,d);
【题4.31】已有定义floatd1=3.5,d2=-3.5;执行以下语句后的输出结果是 。
printf(“*d
(1)=%e*d
(2)=%.4e*d(3)=%10.4e*\n”,d1,d1,d1);
printf(“*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\n”,d2,d2,d2);
【题4.32】以下程序的输出结果为 。
main()
{
intx=1,y=2;
printf(“x=%dy=%d*sum*=%d\n”,x,y,x+y);
printf(“10Squaredis:
%d\n”,10*10);
}
【题4.33】以下程序的输出结果为 。
#include
main()
{
intx=10;floatpi=3.1416;
printf(“
(1)%d\n”,x);
printf(“
(2)%6d\n”,x);
printf(“(3)%f\n”,56.1);
printf(“(4)%14f\n”,pi);
printf(“(5)%e\n”,568.1);
printf(“(6)%14e\n”,pi);
printf(“(7)%g\n”,pi);
printf(“(8)%12g\n”,pi);
}
【题4.34】以下程序的输出结果为 。
#include
main()
{
floata=123.456;doubleb=8765.4567;
printf(“
(1)%f\n”,a);
printf(“
(2)%14.3f\n”,a);
printf(“(3)%6.4f\n”,a);
printf(“(4)%lf\n”,b);
printf(“(5)%14.3lf\n”,b);
printf(“(6)%8.4lf\n”,b);
printf(“(7)%.4f\n”,b);
}
【题4.35】以下printf语句中*号的作用是【1】,输出结果是【2】。
#include
main()
{
inti;
for(i=1;i<=5;i++)printf(“##%*d\n”,i,i);
}
【题4.36】以下printf语句中-号的作用是【1】,该程序的输出结果是【2】。
#include
main()
{
intx=12;doublea=3.1415926;
printf(“%6d##\n”,x);
printf(“%-6d##\n”,x);
printf(“%14.10lf##\n”,a);
printf(“%-14.10lf##\n”,a);
}
【题4.37】以下程序的输出结果为 。
#include
main()
{
inta=325;doublex=3.1415926;
printf(“a=%+06dx=%+e\n”,a,x);
}
【题4.38】以下程序的输出结果为 。
#include
main()
{
inta=252;
printf(“a=%oa=%#o\n”,a,a);
printf(“a=%xa=%#x\n”,a,a);
}
【题4.39】以下程序段的输出结果为 。
intx=7281;
printf(“
(1)x=%3d,x=%6d,x=%6o,x=%6x,x=%6u\n”,x,x,x,x,x);
printf(“
(2)x=%-3d,x=%-6d,x=$%-06d,x=$%06d,x=%%06d\n”,x,x,x,x,x);
printf(“(3)x=%+3d,x=%+6d,x=%+08d\n”,x,x,x);
printf(“(4)x=%o,x=%#o\n”,x,x);
printf(“(5)x=%x,x=%#x\n”,x,x);
【题4.40】假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=【1】;b=a-【2】;a-=【3】;
【题4.41】假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即:
把b中的值给a,把c中的值给b,把a中的值的给c。
例如:
交换前,a=10,b=20,c=30;交换后,a=20,b=30,c=10。
请填空。
【1】;a=b;b=c;【2】;
【题4.42】设x、y和z都是int型变量,m为long型变量,则在16位微型机上执行下面赋值语句后,y值为【1】,z值为【2】,m值为【3】。
y=(x=32767,x-1);
z=m=0xFFFF;
【题4.43】若x为int型变量,则执行以下语句后x的值是【 】。
x=7;
x+=x-=x+x;
【题4.44】若a和b均为int型变量,则以下语句的功能是【 】。
a+=b;b=a-b;a-=b;
【题4.45】在scanf函数调用语句中,可以在格式字符和%号之间加一星号,它的作用是【1】;当输入以下数据:
10203040<回车>(此处每个数据之间有两个空格),下面语句的执行结果是【2】。
inta1,a2,a3;
scanf(“%d%*d%d%d”,&a1,&a2,&a3);
【题4.46】有一输入函数scanf(“%d”,k);其不能使float类型变量k得到正确数值的原因是【1】和【2】。
【题4.47】已有定义inta;floatb,x;charc1,c2;为使a=3,b=6.5,x=12.6,c1=‘a’,c2=‘A’,正确的scanf函数调用语句是【1】,输入数据的方式为【2】。
【题4.48】若有以下定义和语句,为使变量c1得到字符‘A’,变量c2得到字符‘B’,正确的格式输入形式是 。
charc1,c2;
scanf(“%4c%4c”,&c1,&c2);
【题4.49】执行以下程序时,若从第一列开始输入数据,为使变量a=3,b=7,x=8.5,y=71.82,c1=‘A’,c2=‘a’,正确的数据输入形式是 。
main()
{
inta,b;floatx,y;charc1,c2;
scanf(“a=%db=%d”,&a,&b);
scanf(“x=%fy=%f”,&x,&y);
scanf(“c1=%cc2=%c”,&c1,&c2);
printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c”,a,b,x,y,c1,c2);
}
【题4.50】已有定义inti,j;floatx;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数调用语句的数据输入形式是 。
scanf(“%o%x%e”,&i,&j,&x);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 习题 12