C语言第三四章作业题答案讲解.docx

上传人:b****9 文档编号:24974752 上传时间:2023-06-03 格式:DOCX 页数:34 大小:52.17KB
下载 相关 举报
C语言第三四章作业题答案讲解.docx_第1页
第1页 / 共34页
C语言第三四章作业题答案讲解.docx_第2页
第2页 / 共34页
C语言第三四章作业题答案讲解.docx_第3页
第3页 / 共34页
C语言第三四章作业题答案讲解.docx_第4页
第4页 / 共34页
C语言第三四章作业题答案讲解.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

C语言第三四章作业题答案讲解.docx

《C语言第三四章作业题答案讲解.docx》由会员分享,可在线阅读,更多相关《C语言第三四章作业题答案讲解.docx(34页珍藏版)》请在冰豆网上搜索。

C语言第三四章作业题答案讲解.docx

C语言第三四章作业题答案讲解

 

东华理工大学:

C语言第三章作业题

C稈序设计第三章闭/开卷课程类别:

考试/考

题号

——一

总分

分数

评卷

第三章顺序结构程序设计

一、选择题

1.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。

如果格式说明的个数小于输出项的个数,多余的输出项将A;

如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。

A)不予输出B)输出空格

C)照样输出D)输出不定值或0

2•在seanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。

如果类型不匹配,系统B。

A)不予接收

B)并不给出出错信息,但不可能得出正确信息数据

C)能接受正确输入

D)给出出错信息,不予接收输入

3•下列说法正确的是D—。

A)输入项可以是一个实型常量,如seanf("%f",4.8);

B)只有格式控制,没有输入项也能进行正确输入,如scanf("a=%d,b=%d");

C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如

scanf("%5.3f",&f);

D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);

4•根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是一B

{inta;floatx;

printf("inputa,x:

");

输入语句

输出语句

}

输入形式inputa,x:

32.1

输出形式a+x=5.10

A)seanf("%d,%f",&a,&x);

printf("\na+x=%4.2f',a+x);

B)seanf("%d%f",&a.&x);printf("\na+x=%4.2f',a+x);

C)seanf("%d%f",&a,&x);

printf("\na+x=%6.1f',a+x);

D)seanf("%d%3.1f",&a,&x);printf("\na+x=%4.2f',a+x);

5.以下程序的输出结果是T一。

main()

{

inti=010,j=10,k=0x10;

printf("%d,%d,%d\n",i,j,k);

A)8,10,16B)8,10,10C)10,10,10

6.以下程序的输出结果是A—。

main()

{

inti=011,j=11,k=0x11;

printf("%d,%d,%d\n",i,j,k);

}

A)9,11,17B)9,11,11C)11,11,11

7.以下程序的输出结果是B—。

#include

main()

{printf("%d\n",NULL);}

A)不确定的值(因变量无定义)B)0

C)-1D)1

8.以下程序的输出结果是—B一。

main()

{

D)10,10,16

D)11,11,16

main()

 

 

charc1='6',c2='O:

printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);

}

A)因输出格式不合法,输出出错信息

C)6,0,7,6

9•设有如下定义

intx=10,y=3,z;

则语句

B)6,0,6,102

D)6,0,5,7

printf("%d\n",z=(x%y,x/y));的输出结果是A。

A)3B)0

10.设有如下定义

intx=10,y=5,z;

则语句

C)4D)1

printf("%d\n",z=(x+=y,x/y));

的输出结果是Do

A)1B)0C)4D)3

11.以下程序的输出结果是一D_o

main()

{intx=10,y=10;

printf("%d%d\n",x--,--y);

}

A)1010B)99C)910

12.写出下面程序的输出结果A

main()

{intx;

x=-3+4*5-6;printf("%d",x);x=3+4%5-6;printf("%d",x);x=-3*4%6/5;printf("%d",x);

x=(7+6)%5/2;printf("%d",x);

}

A)11101B)11-321

13.写出下面程序的输出结果一A

main()

intx,y,z;

x=y=1;

D)109

C)12-321D)11121

z=x++-1;printf("%d,%d\t",x,z);

z+=-x+++(++y);printf("%d,%d",x,z);

}

A)2,03,0B)2,13,0C)2,02,1D)2,10,1

14.写出下面程序的输出结果C

main()

{

inti,j;

i=20;j=(++i)+i;printf("%d",j);

i=13;printf("%d%d),i++,i);

}

A)4214,13B)4114,14C)421313D)421314

15.若有定义:

intx,y;chara,b,c;并有以下输入数据(此处,代表换行符)

12

ABC

则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是Co

A)scanf("x=%dy=%d",&x,&y);a=getchar();b=getchar();c=getchar();

B)scanf("%dy%d",&x,&y);a=getchar();b=getchar();c=getchar();

C)scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);

D)scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);

16.若已知a=10,b=20,则表达式!

a

A)10B)20C)1D)0

17.printf函数中用到格式符"%4s",其中数字4表示输出的字符串站用4列。

如果字

符串长度大于4,则按原字符长从左向右全部输出;如果字符串长度小于4,则输出方

式为Co

A)从左起输出该字符串,右补空格

C)右对齐输出该字符,左补空格

18.以下C程序,正确的运行结果是-

B)按原字符长从左向右全部输出

D)输出错误信息

C—o

main()

{

longy=-34567;printf("y=%-8ld\n",y);

printf("y=%-08ld\n",y);

printf("y=%08ld\n",y);

printf("y=%+8ld\n",y);}

 

A)y=-34567

y=-34567

y=-0034567y=-34567

C)y=-34567

y=-34567y=-0034567

y=-34567

19.C程序的基本编译单位是

A)函数B)文件

B)y=-34567

y=-34567y=-0034567y=+-34567

D)y=-34567y=-0034567y=00034567y=+34567

B—。

(01~02第二学期试题)

C)源文件D)子程序

20.设有如下定义和执行语句,其输出结果为:

-A—。

(03试题)

inta=3,b=3;

a=--b+1;printf(“%d%d',a,b);

A)32B)42C)22D)2321.

根据定义和数据的输入方式,输入语句的正确形式为:

A。

(往届试题)

已有定义:

floata1,a2;

数据的输入方式:

4.523

3.52

A)scanf(“%f"&a1,&a2);

B)scanf(“%f%f",a1,a2);

C)scanf(“%4.3f%3.2f”&a1,&a2);

D)scanf(“%4.3%3.2f”a1,a2);

22.以下程序的输出结果是:

A。

(往届试题)

main()

{int1=012,j=12,k=0x12;

printf(“%d,%d,%\d”,lj”k);

A)10,12,18B)12,12,12

C)10,12,12D)12,12,18

23.以下程序的输出结果是:

(注:

■表示空格)D。

(往届试题)

main()

{printf(\h*s1=%8s*”,“china);

printf(\'n*s2=%-5s*”,“chi”)

A)

*s1=china...*

*s2=chi*

*s1=...china*

*s2=..chi*

二.填空题

1.C语言中的语句可分为5类,即控制语句空语句复合语句函数调用语句

表达式语句。

2.由一次函数调用加一个分号构成一个函数调用语句语句。

3.putchar函数的作用_

4.printf是C语言提供的标准输出函数,它的作用是在终端设备上(或系统隐含的输出设备上)按照指定的格式进行输出。

5.printf函数的“格式控制”包括两部分,他们是格式和普通字符。

6•对不同类型的语句有不同的格式字符。

例如:

d格式字符是用来输出十进制整数,

一匚格式字符是用来输出一个字符,_s_格式字符是用来输出一个字符串。

7.%-ms表示如果串长小于m,则在m列I范围内,字符串向左靠,右

补空格。

8•如果要输出字符“&”,贝!

应该在“格式控制”字符串中用—%c表示。

9.getchar函数的作用是。

10.符号“&”是——运算符,&a是指。

11.scanf函数中的“格式控制"后面应当是—变量地址,而不是。

12.C语言中的空语句就是一个分号空操作。

13.复合语句是由一对一括起来的若干语句组成。

14.分析下面程序:

#include

main()

{

intx=2,y,z;

x*=3+2;printf("%d\n",x);协

x*=y=z=4;printf("%d\n",x);

_40

x=y=z;printf("%d\n",x);

_4

x=(y=z);printf("%d\n",x);}

程序的输出结果为。

«

15.编制程序对实数a与b进行加,减,乘,除计算,要求显示如下结果。

jia=70.000000

jian=30.000000

cheng=1000.000000

chu=2.5000000

程序:

#include

voidmain(void)

{a=50.0;b=20.0;

 

printf("jia=%f\n",a+b);

printf("jian=%f\n"a-b);

printf("cheng=%f\n",a*b);

printf("chu=%f\n",a/b);

}

将缺少的部分填在空白处。

16.下列程序的输出结果是65A

#includemain(){chara;a='A';printf("%d%c",a,a);

}

17.分析下面程序

main{intx=2,y,z;x*=3+2;printf("%d\n",x);x*=y=z=4;printf("%d\n",x);x=y=1;

z=x++-1;printf("%d,%d\n",x,z);z+=-x+++(++y);printf("%d,%d",x,z);}

程序的输出结果是。

18.分析下面程序

main()

{

intx,y;x=16,y=(x++)+x;printf("%d\n",y);x=15;printf("%d,%d\n",++x,x);x=20,y=x--+x;printf("%d\n",y);x=13;printf("%d,%d",x++,x);

}

程序的输出结果是。

19.以下程序的输出结果为:

.

main()

{floata=3.14,b=3.14159;

10

40

2,0

3,0

3.140000,3.142。

(03试题)

printf(“%5,.3f\n”,a,b);}

20.以下程序的输出结果为:

—a回车。

(04~05第二学期试题)

#include

main()

{charc1,c2;

c1=‘a';

c2=n';

printf(“%c%c,c1,c2);}

 

东华理工大学:

C语言第四章作业题

c稈序设计第四章闭/开卷课程类别:

考试/考

y=1;

c=0;

c=x++||y++;

printf(\h%d%d%d\n”,x,y,c);

}

A)110B)211

 

()

B)if(x>0)

{x=x+1;printf(”%”,x);}elseprintf("”%);

D)if(x>0)

{x=x+1;printf(”%f],x)elseprintf("”%);

B)通过编译,但不能连接

题号

——一

总分

分数

评卷

第四章选择结构程序设计

、选择题

1.下列运算符中优先级最高的是B。

()

A)>B)+C)&D)!

=

2•以下关于运算符优先级的描述中,正确的是A。

()

A)!

(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算

B)&&(逻辑与)>算术运算>关系运算>赋值运算

C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算

D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)

3•逻辑运算符的运算对象的数据类型D。

()

A)只能是0或1B)只能是.「或.F.

C)只能是整型或字符型D)任何类型的

4.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是B。

()

A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)

B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)

C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)

D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)

5•以下程序的运行结果是B。

()

main()

{

intc,x,y;

x=1;

6•以下程序的运行结果是—A。

()main()

{

intc,x,y;

x=0;

y=0;

c=0;

c=x++&&y++;

printf(\n%d%d%d\n”,x,y,c);

}

A)100B)211C)011D)001

7•判断字符型变量ch为大写字母的表达式是C。

()

A)''<=ch<=Z'B)(ch>='A&(ch<='Z'C)

(ch>='A&&(ch<='Z)D)(ch>='A)AND(ch<='Z)

&判断字符型变量ch为小写字母的表达式是D。

()

A)'a'<=ch<='z'B)(ch>=a)&&(ch<=z)C)

(ch>=)扩II(ch<='Z'D)(ch>='a'&&(ch<=')

9•以下if语句书写正确的是B

A)if(x=0;)printf(””%f);

elseprintf(”%f”,

C)if(x>0);

{x=x+1;printf(”%”,x);}elseprintf(”%f”,

10.分析以下程序:

main()

{intx=5,a=0,b=0;

if(x=a+b)printf(**\n”);elserintf(###”);

以上程序D。

()

A)有语法错,不能通过编译

请勿浪费试

用纸

C语言第一章作业题

第5页共12页

 

C)输出****

11.两次运行下面的程序,如果从键盘是。

()

main()

{intx;

scanf(“%d',&x);

if(x++>5)printf(“'%d);

elseprintf(“r%>d,-x);

}

A)7和5B)6和3

12•写出下面程序的执行结果

main()

{intx,y=1;

if(y!

=0)x=5;

printf(“%\d”,x);if(y==0)x=3;

elsex=5;printf(“%\t\n”,x);

}

A)13

13•写出下面程序的执行结果

main()

{intx=1,y=1,z=0;

if(z<0)

if(y>0)x=3;

elsex=5;

printf("%d\t",x);

if(z=y<0)x=3;

elseif(y==0)x=5;elsex=7;

printf("%d\t",x);

printf("%d\t",z);

}

A)170

D)输出####上分别输入6和

C)7和4

一。

()

C)5

()

B)370C)550

14•假定所有变量均已正确说明,下列程序段运行后x

a=b=c=0;x=35;

if(!

a)x=-1;

则输出结果

D)

D)55

elseif(b);

if(c)x=3;

elsex=4;

A)34B)4C)35D)3

15•写出下面程序的运行结果是。

()

main()

{intx,y=1,z;

if(y!

=0)x=5;

printf("x=%d\t",x);

if(y==0)x=3;

elsex=5;

printf("x=%d\t\n",x);

x=1;

if(z<0)

if(y>0)x=3;

elsex=5;

printf("x=%d\t\n",x);

if(z=y<0)x=5;

elsex=7;

printf("x=%d\t",x);

printf("%d\t\n",z);

if(x=y=z)x=3;

printf("x=%d\t",x);

printf("z=%d\t\n",z);

}

A)x=5

x=5

B)

x=5

x=5

x=1

x=1

x=7

z=0

x=5

z=0

x=3

z=1

x=3

z=0

C)x=5

x=5

D)

x=5

x=5

x=5

x=1

x=7

z=0

x=7

z=0

x=3

z=1

x=3

z=0

的值是

D)151-B。

()

16•若有以下函数关系

x<0ty=2x

x>0ty=x

x=0ty=x+1

 

 

下面程序段能正确表示以上关系的是

y=2*x;

if(x!

=0)if(x>0)y=x;elsey=x+1;

C)if(x>=0)

if(x>0)y=x;

elsey=x+1;

elsey=2*x;

17•若有以下变量定义:

floatx;inta,b;

则正确的switch语句是

A)switch(x)

{case1.0:

printf("*\n");

case2.0:

printf("**\n");

}

B)switch(x)

{case1,2:

printf("*\n”);

case3:

printf("**\n");

}

C)switch(a+b)

{case1:

printf("*\n");

case2*a:

printf("**\n");

}

D)switch(a+b)

{case1:

printf("*\n");case1+2:

printf("**\n");

}

以下关于运算符优先顺序的描述正确的是

A)

B)

C)

D)

18.

19.

20.

改正后CA)。

()

B)y=2*x;

if(x<=0)

if(x==0)y=x+1;elsey=x;

y=x+1;

if(x<=0)

if(x<0)y=2*x;

elsey=x;

(D)

()

关系运算符逻辑运算符赋值运算符算术运算符

<算术运算符<关系运算符<逻辑运算符<关系运算符

<赋值运算符<算术运算符<关系运算符<赋值运算符

能正确表示a>=10或a<=0的关系表达式是

A)a>=10ora<=0

C)a>=10&&a<=0

以下不正确的if语句形式是—

A)if(x>y&&x!

=y);

_C—。

(02~03第一学期试题)

<逻辑运算符

<赋值运算符

<算术运算符

<逻辑运算符

D_。

(02~03第一学期试题)

B)a>=10|a<=0

D)a>=10||a<=0

_。

(02~03第一学期试题)

B)if(x==y)x+=y;

C)if(x!

=y)scanf(“%d'&x)elsescanf(“%d'&y);

D)if(x

21.当a=1,b=3,c=5,d=4时,执行完下面程序段后x的值为B。

(02~03

第一学期试题)

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7;

A)1B)2C)3D)6

22.以下if语句中语法错误的是C_。

(01~02第二学期试题)

A)if(a>b)printf(“%f”,a);B)if(a>b)printf(“%f”,a);

elseprintf(“%f”,b);

C)if(a>b)printf(“%f”,a)D)if(a>b)printf(“%'f,b);

elseprintf(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1