C语言第三四章作业题答案讲解Word文档格式.docx
《C语言第三四章作业题答案讲解Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言第三四章作业题答案讲解Word文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
![C语言第三四章作业题答案讲解Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/25/3d79c857-bbd1-4a27-a7c6-1e1af932ca10/3d79c857-bbd1-4a27-a7c6-1e1af932ca101.gif)
输出形式a+x=5.10
A)scanf("
%d,%f"
a,&
x);
printf("
\na+x=%4.2f"
a+x);
B)scanf("
%d%f"
a.&
C)scanf("
\na+x=%6.1f"
D)scanf("
%d%3.1f"
5.以下程序的输出结果是A。
{
inti=010,j=10,k=0x10;
%d,%d,%d\n"
i,j,k);
A)8,10,16B)8,10,10C)10,10,10D)10,10,16
6.以下程序的输出结果是A。
inti=011,j=11,k=0x11;
A)9,11,17B)9,11,11C)11,11,11D)11,11,16
7.以下程序的输出结果是B。
#include<
stdio.h>
{printf("
%d\n"
NULL);
A)不确定的值(因变量无定义)B)0
C)-1D)1
8.以下程序的输出结果是B。
charc1='
6'
c2='
0'
;
%c,%c,%d,%d\n"
c1,c2,c1-c2,c1+c2);
A)因输出格式不合法,输出出错信息B)6,0,6,102
C)6,0,7,6D)6,0,5,7
9.设有如下定义
intx=10,y=3,z;
则语句
z=(x%y,x/y));
的输出结果是A。
A)3B)0C)4D)1
10.设有如下定义
intx=10,y=5,z;
z=(x+=y,x/y));
的输出结果是D。
A)1B)0C)4D)3
11.以下程序的输出结果是D。
{intx=10,y=10;
%d%d\n"
x--,--y);
A)1010B)99C)910D)109
12.写出下面程序的输出结果A。
{intx;
x=-3+4*5-6;
%d"
x);
x=3+4%5-6;
x=-3*4%6/5;
x=(7+6)%5/2;
A)11101B)11-321C)12-321D)11121
13.写出下面程序的输出结果A。
intx,y,z;
x=y=1;
z=x++-1;
%d,%d\t"
x,z);
z+=-x+++(++y);
%d,%d"
A)2,03,0B)2,13,0C)2,02,1D)2,10,1
14.写出下面程序的输出结果C。
inti,j;
i=20;
j=(++i)+i;
j);
i=13;
%d%d),i++,i);
A)4214,13B)4114,14C)421313D)421314
15.若有定义:
intx,y;
chara,b,c;
并有以下输入数据(此处,<
cr>
代表换行符)
12<
ABC<
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是C。
x=%dy=%d"
x,&
y);
a=getchar();
b=getchar();
c=getchar();
%dy%d"
%d%d%c%c%c%c%c%c"
y,&
b,&
c,&
c);
%d%d%c%c%c"
16.若已知a=10,b=20,则表达式!
a<
b的值为C。
A)10B)20C)1D)0
17.printf函数中用到格式符"
%4s"
,其中数字4表示输出的字符串站用4列。
如果字符串长度大于4,则按原字符长从左向右全部输出;
如果字符串长度小于4,则输出方式为C。
A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出
C)右对齐输出该字符,左补空格D)输出错误信息
18.以下C程序,正确的运行结果是C。
longy=-34567;
y=%-8ld\n"
y);
y=%-08ld\n"
y=%08ld\n"
y=%+8ld\n"
A)y=-34567B)y=-34567
y=-34567y=-34567
y=-0034567y=-0034567
y=-34567y=+-34567
C)y=-34567D)y=-34567
y=-34567y=-0034567
y=-0034567y=00034567
y=-34567y=+34567
19.C程序的基本编译单位是B。
(01~02第二学期试题)
A)函数B)文件C)源文件D)子程序
20.设有如下定义和执行语句,其输出结果为:
A。
(03试题)
inta=3,b=3;
a=--b+1;
printf(“%d%d”,a,b);
A)32B)42C)22D)23
21.根据定义和数据的输入方式,输入语句的正确形式为:
(往届试题)
已有定义:
floata1,a2;
数据的输入方式:
4.523
3.52
A)scanf(“%f%f”,&
a1,&
a2);
B)scanf(“%f,%f”,a1,a2);
C)scanf(“%4.3f,%3.2f”,&
D)scanf(“%4.3f%3.2f”,a1,a2);
22.以下程序的输出结果是:
(往届试题)
main()
{intI=012,j=12,k=0x12;
printf(“%d,%d,%d\n”,I,j,k);
A)10,12,18B)12,12,12
C)10,12,12D)12,12,18
23.以下程序的输出结果是:
(注:
▂表示空格)D。
{printf(“\n*s1=%8s*”,“china”);
printf(“\n*s2=%-5s*”,“chi”);
}
A)*s1=china▂▂▂*B)*s1=china▂▂▂*
*s2=chi**s2=chi▂▂*
C)*s1=▂▂▂china*D)*s1=▂▂▂china*
*s2=▂▂chi**s2=chi▂▂*
二.填空题
1.C语言中的语句可分为5类,即控制语句空语句复合语句函数调用语句表达式语句。
2.由一次函数调用加一个分号构成一个函数调用语句语句。
3.putchar函数的作用是向终端输出一个字符。
4.printf是C语言提供的标准输出函数,它的作用是在终端设备上(或系统隐含的输出设备上)按照指定的格式进行输出。
5.printf函数的“格式控制”包括两部分,他们是格式说明和普通字符。
6.对不同类型的语句有不同的格式字符。
例如:
d格式字符是用来输出十进制整数,c格式字符是用来输出一个字符,s格式字符是用来输出一个字符串。
7.%-ms表示如果串长小于m,则在m列范围内,字符串向左靠,右补空格。
8.如果要输出字符“&
”,则应该在“格式控制”字符串中用%c表示。
9.getchar函数的作用是从终端输入一个字符。
10.符号“&
”是地址运算符,&
a是指a内存中的地址。
11.scanf函数中的“格式控制”后面应当是变量地址,而不是变量名。
12.C语言中的空语句就是一个分号空操作。
13.复合语句是由一对大括号括起来的若干语句组成。
14.分析下面程序:
intx=2,y,z;
10
40
4
x*=3+2;
x*=y=z=4;
x=y=z;
x=(y=z);
程序的输出结果为。
15.编制程序对实数a与b进行加,减,乘,除计算,要求显示如下结果。
jia=70.000000
jian=30.000000
cheng=1000.000000
chu=2.5000000
程序:
voidmain(void)
{floata=50.0;
b=20.0;
jia=%f\n"
a+b);
jian=%f\n"
a-b);
cheng=%f\n"
a*b);
chu=%f\n"
a/b);
将缺少的部分填在空白处。
16.下列程序的输出结果是65A。
{chara;
a='
A'
%d%c"
a,a);
17.分析下面程序
main
2,0
3,0
%d,%d\n"
程序的输出结果是。
18.分析下面程序
32
16,15
13,13
x=16,y=(x++)+x;
x=15;
++x,x);
x=20,y=x--+x;
x=13;
x++,x);
19.以下程序的输出结果为:
__3.140000,3.142__________。
main()
{floata=3.14,b=3.14159;
printf(“%f,%5.3f\n”,a,b);
20.以下程序的输出结果为:
___a回车_________。
(04~05第二学期试题)
#include<
{charc1,c2;
c1=‘a’;
c2=‘\n’;
printf(“%c%c”,c1,c2);
东华理工大学:
C语言第四章作业题
C程序设计第四章闭/开卷课程类别:
第四章选择结构程序设计
1.下列运算符中优先级最高的是B。
()
A)>
B)+C)&
&
D)!
=
2.以下关于运算符优先级的描述中,正确的是A。
A)!
(逻辑非)>
算术运算>
关系运算>
(逻辑与)>
||(逻辑或)>
赋值运算
B)&
C)关系运算>
D)赋值运算>
||(逻辑或)
3.逻辑运算符的运算对象的数据类型D。
()
A)只能是0或1B)只能是.T.或.F.
C)只能是整型或字符型D)任何类型的数据
4.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是B。
A)(x<
=-10)||(x>
=-5)&
(x<
=0)||(x>
=100)
B)(x>
=-10)&
=-5)||(x>
=0)&
C)(x>
(x>
D)(x<
5.以下程序的运行结果是B。
intc,x,y;
x=1;
y=1;
c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
A)110B)211C)011D)001
6.以下程序的运行结果是A。
x=0;
y=0;
c=x++&
y++;
A)100B)211C)011D)001
7.判断字符型变量ch为大写字母的表达式是C。
A)’A’<
=ch<
=’Z’B)(ch>
=’A’)&
(ch<
=’Z’)
C)(ch>
=’Z’)D)(ch>
=’A’)AND(ch<
8.判断字符型变量ch为小写字母的表达式是D。
A)’a’<
=’z’B)(ch>
=a)&
=z)
=’a’)||(ch<
=’z’)D)(ch>
=’a’)&
=’z’)
9.以下if语句书写正确的是B。
A)if(x=0;
)B)if(x>
0)
printf(”%f”,x);
{x=x+1;
elseprintf(”%f”,-x);
C)if(x>
0);
D)if(x>
}{x=x+1;
printf(”%f”,x)}
10.分析以下程序:
{intx=5,a=0,b=0;
if(x=a+b)printf(“****\n”);
elseprintf(“####\n”);
以上程序D。
A)有语法错,不能通过编译B)通过编译,但不能连接
C)输出****D)输出####
11.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是A。
{intx;
scanf(“%d”,&
if(x++>
5)printf(“%d”,x);
elseprintf(“%d\n”,x--);
A)7和5B)6和3C)7和4D)6和4
12.写出下面程序的执行结果D。
{intx,y=1;
if(y!
=0)x=5;
printf(“%d\t”,x);
if(y==0)x=3;
elsex=5;
printf(“%d\t\n”,x);
A)13B)15C)53D)55
13.写出下面程序的执行结果A。
{intx=1,y=1,z=0;
if(z<
if(y>
0)x=3;
%d\t"
if(z=y<
elseif(y==0)x=5;
elsex=7;
z);
A)170B)370C)550D)151
14.假定所有变量均已正确说明,下列程序段运行后x的值是B。
a=b=c=0;
x=35;
if(!
a)x=-1;
elseif(b);
if(c)x=3;
elsex=4;
A)34B)4C)35D)3
15.写出下面程序的运行结果是。
{intx,y=1,z;
if(y!
x=%d\t"
if(y==0)x=3;
x=%d\t\n"
x=1;
0)x=3;
0)x=5;
%d\t\n"
if(x=y=z)x=3;
z=%d\t\n"
A)x=5x=5B)x=5x=5
x=1x=1
x=7z=0x=5z=0
x=3z=1x=3z=0
C)x=5x=5D)x=5x=5
x=5x=1
x=7z=0x=7z=0
16.若有以下函数关系
x<
0→y=2x
x>
0→y=x
x=0→y=x+1
下面程序段能正确表示以上关系的是改正后C。
A)y=2*x;
B)y=2*x;
if(x!
=0)if(x<
=0)
if(x>
0)y=x;
if(x==0)y=x+1;
elsey=x+1;
elsey=x;
=0)(D)y=x+1;
0)y=x;
if(x<
0)y=2*x;
elsey=2*x;
17.若有以下变量定义:
inta,b;
则正确的switch语句是D。
A)switch(x)
{case1.0:
*\n"
case2.0:
**\n"
B)switch(x)
{case1,2:
case3:
C)switch(a+b)
{case1:
case2*a:
D)switch(a+b)
case1+2:
18.以下关于运算符优先顺序的描述正确的是C。
(02~03第一学期试题)
A)关系运算符<
算术运算符<
赋值运算符<
逻辑运算符
B)逻辑运算符<
关系运算符<
赋值运算符
C)赋值运算符<
逻辑运算符<
算术运算符
D)算术运算符<
19.能正确表示a>
=10或a<
=0的关系表达式是D。
A)a>
=10ora<
=0B)a>
=10|a<
=0
C)a>
=10&
a<
=0D)a>
=10||a<
20.以下不正确的if语句形式是C。
A)if(x>
y&
x!
=y);
B)if(x==y)x+=y;
C)if(x!
=y)scanf(“%d”,&
x)elsescanf(“%d”,&
D)if(x<
y){x++;
y++;
21.当a=1,b=3,c=5,d=4时,执行完下面程序段后x的值为B。
if(a<
b)
if(c<
d)x=1;
else
if(a<
c)
if(b<
d)x=2;
elsex=3;
elsex=6;
elsex=7;
A)1B)2C)3D)6
22.以下if语句中语法错误的是C。
A)if(a>
b)printf(“%f”,a);
B)if(a>
elseprintf(“%f”,b);
C)if(a>
b)printf(“%f”,a)D)if(a>
b)printf(“%f”,b);
elseprintf(“%f”,a);
23.能表示整数x符合下面两个条件的语句是A。
(1)“能被4整除,但不能被100整除”.
(2)能被4整除,又能被400整除.
A)(x%4==0&
x%100!
=0)||x%400==0
B)(x%4==0||x%100!
x%400==0
C)(x%4==0&