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

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

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

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

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

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

东华理工大学:

C语言第三章作业题

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

考试/考查

题号

总分

分数

评卷人

第三章顺序结构程序设计

一、选择题

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

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

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

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

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

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

A)不予接收

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

C)能接受正确输入

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

3.下列说法正确的是D。

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

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

C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%5.3f",&f);

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

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

main()

{inta;floatx;

printf("inputa,x:

");

输入语句

输出语句

}

输入形式inputa,x:

32.1

输出形式a+x=5.10

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

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

B)scanf("%d%f",&a.&x);

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

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

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

D)scanf("%d%3.1f",&a,&x);

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

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

main()

{

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

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

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

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,11D)11,11,16

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

#include

main()

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

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

C)-1D)1

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

main()

{

charc1='6',c2='0';

printf("%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;

则语句

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

的输出结果是A。

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

10.设有如下定义

intx=10,y=5,z;

则语句

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

的输出结果是D。

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

11.以下程序的输出结果是D。

main()

{intx=10,y=10;

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

}

A)1010B)99C)910D)109

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-321C)12-321D)11121

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

main()

{

intx,y,z;

x=y=1;

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的正确程序段是C。

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,则输出方式为C。

A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出

C)右对齐输出该字符,左补空格D)输出错误信息

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

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=-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.根据定义和数据的输入方式,输入语句的正确形式为:

A。

(往届试题)

已有定义:

floata1,a2;

数据的输入方式:

4.523

3.52

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

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

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

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

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

A。

(往届试题)

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。

(往届试题)

main()

{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.分析下面程序:

#include

main()

{

intx=2,y,z;

10

40

4

4

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

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

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

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)

{floata=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。

#include

main()

{chara;

a='A';

printf("%d%c",a,a);

}

17.分析下面程序

main

{

intx=2,y,z;

10

40

2,0

3,0

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()

{

32

16,15

40

13,13

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.以下程序的输出结果为:

__3.140000,3.142__________。

(03试题)

main()

{floata=3.14,b=3.14159;

printf(“%f,%5.3f\n”,a,b);}

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

___a回车_________。

(04~05第二学期试题)

#include

main()

{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)&&(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;

y=1;

c=0;

c=x++||y++;

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

}

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

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)’A’<=ch<=’Z’B)(ch>=’A’)&(ch<=’Z’)

C)(ch>=’A’)&&(ch<=’Z’)D)(ch>=’A’)AND(ch<=’Z’)

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

()

A)’a’<=ch<=’z’B)(ch>=a)&&(ch<=z)

C)(ch>=’a’)||(ch<=’z’)D)(ch>=’a’)&&(ch<=’z’)

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

()

A)if(x=0;)B)if(x>0)

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

elseprintf(”%f”,-x);elseprintf(”%f”,-x);

C)if(x>0);D)if(x>0)

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

elseprintf(”%f”,-x);elseprintf(”%f”,-x);

10.分析以下程序:

main()

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

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

elseprintf(“####\n”);

以上程序D。

()

A)有语法错,不能通过编译B)通过编译,但不能连接

C)输出****D)输出####

11.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是A。

()

main()

{intx;

scanf(“%d”,&x);

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

elseprintf(“%d\n”,x--);

}

A)7和5B)6和3C)7和4D)6和4

12.写出下面程序的执行结果D。

()

main()

{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。

()

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)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.写出下面程序的运行结果是。

()

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=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

x=3z=1x=3z=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;

C)if(x>=0)(D)y=x+1;

if(x>0)y=x;if(x<=0)

elsey=x+1;if(x<0)y=2*x;

elsey=2*x;elsey=x;

17.若有以下变量定义:

floatx;inta,b;

则正确的switch语句是D。

()

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");

}

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

(02~03第一学期试题)

A)关系运算符<算术运算符<赋值运算符<逻辑运算符

B)逻辑运算符<关系运算符<算术运算符<赋值运算符

C)赋值运算符<逻辑运算符<关系运算符<算术运算符

D)算术运算符<关系运算符<赋值运算符<逻辑运算符

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

(02~03第一学期试题)

A)a>=10ora<=0B)a>=10|a<=0

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

20.以下不正确的if语句形式是C。

(02~03第一学期试题)

A)if(x>y&&x!

=y);

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(“%f”,b);elseprintf(“%f”,a);

23.能表示整数x符合下面两个条件的语句是A。

(01~02第二学期试题)

(1)“能被4整除,但不能被100整除”.

(2)能被4整除,又能被400整除.

A)(x%4==0&&x%100!

=0)||x%400==0

B)(x%4==0||x%100!

=0)&&x%400==0

C)(x%4==0&&

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

当前位置:首页 > 高中教育 > 语文

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

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