C语言程序设计教程第三章练习题题目docx.docx

上传人:b****2 文档编号:11735881 上传时间:2023-06-02 格式:DOCX 页数:32 大小:23.21KB
下载 相关 举报
C语言程序设计教程第三章练习题题目docx.docx_第1页
第1页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第2页
第2页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第3页
第3页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第4页
第4页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第5页
第5页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第6页
第6页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第7页
第7页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第8页
第8页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第9页
第9页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第10页
第10页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第11页
第11页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第12页
第12页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第13页
第13页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第14页
第14页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第15页
第15页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第16页
第16页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第17页
第17页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第18页
第18页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第19页
第19页 / 共32页
C语言程序设计教程第三章练习题题目docx.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计教程第三章练习题题目docx.docx

《C语言程序设计教程第三章练习题题目docx.docx》由会员分享,可在线阅读,更多相关《C语言程序设计教程第三章练习题题目docx.docx(32页珍藏版)》请在冰点文库上搜索。

C语言程序设计教程第三章练习题题目docx.docx

C语言程序设计教程第三章练习题题目docx

单选题

若定义a=3zb=4,执行printf(“%d,%d”,(a,b),(b,a));的输出结果为()。

A.3,4

B.4,3

C.3,3

D.4,4

2、如果要求在if后的判断条件是a不等于0,则下列选项中能正确表达这一关系的是()。

A.aoO

B.!

a

C.a=0

D.a

3、为了避免嵌套的if・else语句的二义性,C语言规定else总是与()组成配对关系。

A.缩排位置相同的if

B.在其Z前未配对的if

C.在其Z前诡未配对的最近的if

D.同一行上的if

4、有定义intt=0;则有循环while(t"){・・・},则下列关于while循环语句的描述中正确的是()。

A.循坏控制表达式的值为0

B.循环控制表达式的值为1

C.循环控制表达式的值不合法

D.以上说法都不对

5、若冇定义:

intxj;贝lj下列for•循环语句:

for(i=0,x=0;i<=9&&x!

=876;i++)

scanf("%d;&x);

下列选项中,描述正确的是()

A.最多执行10次

B.最多执行9次

C.是无限循环

D.循环体一次也不执行

6、关于下面的for循环语句

inti,k;

for(i=0,k=-l;k=l;i++,k++)printf("*****");

下列选项中,描述正确的是()

A.判断循环结束的条件非法

B.是无限循环

C.只循环一次

D.—次也不循环

7、C语言程序的三种基本结构是()。

A.顺序结构,选择结构,循环结构

B.递归结构,循环结构,转移结构

C.嵌套结构,递归结构,顺序结构

D.循环结构,转移结构,顺序结构

8、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。

A.aoO

B.!

a

C.a=0

D.a

9、两次运行下面的程序,如果从键盘上分别输入6和4,那么输出结果是()。

voidmain()

{

intx;

scanf("%d"z&x);

if(x++>5)

printf(“%d”,x);

else

printf(H%d\n"zx-);

}

A.7和5

B.6和3

C.7禾U4

D.6和4

10、运行以下程序后,如果从键盘上输入china#,那么输出结果为()。

#include

voidmain()

{

intvl=0,v2=0;

charch;

while((ch=getchar())!

='#')

switch(ch)

{

case3:

caseh:

default:

vl++;

caseO:

v2++;

}

printf("%d,%d\n"zvl,v2);

}

A20

B.5,0

C.5,5

D.2,5

11、有如下程序:

voidmain()

intx=l,a=O,b=O;switch(x)

case0:

b++;

case1:

a++;

case2:

a++;

b++;

}printf("a=%d,b=%d\n",a,b);

}

该程序的输出结果是()。

A.a=2,b=l

B.a=l,b=l

C.a=l,b=0

D.a=2,b=2

12、下面程序的输出是()o

voidmain()

{

char*a="12134211,,;

intvl=0,v2=0,v3=0,v4=0,k;

for(k=O;s[k];k++)

switch(s[k])

{

default:

v4++;

caseT:

vl++;

case3:

v3++;

case'2':

v2++;

}

printf("vl=%d,v2=%d,v3=%d,v4=%d\n",vl,v2,v3,v4);

}

A.vl=4/v2=2/v3=l,v4=l

B.vl=4,v2=9,v3=3,v4=l

C.vl=5,v2=8,v3=6,v4=l

D.vl=8,v2=8,v3=8,v4=8

13、下列程序段的输岀结果为()。

inty=l;

while(y-);

pnntf("y=%d\n",y);

A.y=-1

B.y=O

C.死循环

D.y=9

14、当输入数据:

2763时,下面程序的运行结果是()。

#include

intgbs(inta,intb)

{

intc;

a=a>O?

a:

-a;

b=b>O?

b:

-b;

c=a*b;

if(c==0)

return0;

while(a!

=b)

if(a>b)

a-=b;

else

b-=a;

returnc/a;

}

intgys(inta,intb)

{

if(a*b==0)return0;

a=a>0?

a:

-a;

b=b>0?

b:

-b;

while(a!

=b)

if(a>b)

a-=b;

else

b-=a;

returna;

}

voidmain()

{

inta,b’c’d;

scanf(“%d%d”,&a,&b);

c=gbs(a/b);

d=gys(a,b);

printf(Ha=%db=%dgbs=%dgys=%d\nl,/a,b,c,d);

A.a=30b=63gbs=189gys=9

B.a=27b=63gbs=190gys=10

C.a=27b=63gbs=189gys=9

D.a=27b=63gbs=188gys=10

15>假设有程序段:

intk=0;while(k=l)k++;while语句的循环次数是()。

A.无限次

B.有语法错,不能执行

C.一次也不执行

D.执行1次

16、执行下面程序片段的结果是()。

intx=23;

do

{

printf("%2d,,zx-);

}while(!

x);

A.打印出321

B.打卬出23

C.不打印任何内容

D.陷入死循环

17、在C语言程序中,若希望结束循环,则do-while语句构成的循环中的条件为()。

A.0

B.1

C.true

D.非

18、以下描述中正确的是()。

A.do-while语句构成的循环不能用其它语句构成的循环来代替

B.do-while语句构成的循环只能用break语句退出

C.用do-while语句构成的循环,在while后的表达式为非冬时结朿循环

D.用do-while语句构成的循坏,在while后的表达式为零时结束循坏

19、以下循环体的执行次数是()。

voidmain()

{

inti,j;

for(i=0J=l;i<=j+l;i+=2zj-)pnntf("%d\n"zi);

}

A.3

B.2

C.l

D.O

20、冇如下程序:

voidmain()

inti,sum;

for(i=l;i<=3;sum++)

sum+=i;

printf(”%d\n”,sum);

}该程序的执行结果是()。

A.6

B.3

C.死循环

D.O

21、以下程序的输岀结果是()。

voidmain()

{

intx=10,y=10,i;

for(i=0;x>8;y=++i)

prin廿(”%d%d",x-,y);

}

A.10192

B.9876

C.10990

D.101091

22、下列说法中正确的是()。

A.在switch语句中一定要使用break语句

B.在switch语句中不一定要使用break语句

C.break语旬是switch语句的一部分

D.break只能用于switch语句屮

23、执行下面的程序后,a的值为()。

voidmain()

{

inta,b;

for(a=l,b=l;a<=100;a++)

{

if(b>=20)

break;

if(b%3==l)

{

b+=3;

continue;

}

b-=5;

}

}

A.7

B.8

C.9

D.1024、若有以下程序段,w和k都是整型变量:

w二k;

LB:

if(w==0)

gotoLE;

w-;

printfC'*");

gotoLB;

LE:

那么不能与上面程序段等价的循环语句是()。

A.for(w=k;w!

=0;w-)printf("*");

B.for(w=k;w;-w)printf("*");

C.w=k;while(w-!

=0)printf("*");w++;

D.w=k;do{w-;printf("*");}while(w!

=0);

多选题

1、C语言的程序结构语句包括()。

A.顺序结构语句

B.循环结构语句

C.选择结构语句

D.逻辑结构语句

2下列语旬哪些属于循环语句()。

A.for语句

B.do-while语句

C.while语句

D.switch语句

判断题

1、break是跳出当前循坏,接着执行循坏后而的代码。

2、continue只能用于循环语句。

3、break语句只能在循环语句中使用。

4、在C语言中,跳转语句有break语句、goto语句和continue语句。

简答题

1、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。

voidmain()

inta,b,d=241;

a=d/100%9;

b=(-l)&&(-l);

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

}

2、请阅读下面的程序,在空白处填写止确的代码,要求输出m和n的值,且每行从头开始。

voidmain()

{

intm=10,n二20;

printf(,m);

printff,n);

}

3、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。

voidmain

{

intx=l,y=1,z=10;

if(z<0)

if(y>0)x=3;

elsex=5;

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

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

elseif(y==O)x=5;

elsex=7;

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

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

}

4、请阅读下面的程序,在空口处填写正确的代码,实现分段函数:

x<0y=2x+3;

x=0y=0;

x>0y=(x+7)/3;

输入x,计算y值,输出y。

voidmain()

{

intx,y;

scanf("%d",&x);

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

y=0;

if(x>0)y=(x+7)/3;

printf("%d〃,y);

}

5、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。

voidmain()

charch='B';switch(ch)case'A':

printf("itisA\n〃);

case'B':

printf("itisB\n");

case'C':

printf(“itisC\n");

default:

printf("other\n");

}

}

6、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:

投票表决器:

•输入Y,y,打印agree

■输入N,n,打印disagree

■输入其他,打印lose

voidmain()

{

charch;

scanf("%c",&ch);

{

caseV:

case'y':

printf("agree〃);;

case'N':

case'n‘;printf("disagree");;

;printf("loser〃);

}

}

7、请阅读下面的程序,在空口处填写正确的代码,实现卜-列功能:

查询学生身高的分布状况:

H175-200cm30%

M160-175cm40%

L150-160cm30%

voidmain()

{

charch;

scanf("%d",&ch);

{

:

printffa175-200cm身高的学生占30%\n”);;

:

printf(a160-175cm身高的学生占40%\n”);;

:

printff“160-175cm身高的学生占40%\n”);;

default:

printf(“输入有误,请重新输入!

\n”);

}

8、请阅读下血的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。

voidmain()

{

intnum=0;

while(num<=2)

{

num++;

printf("%d\n",num);

}

}

9、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:

输出KL00之间的偶数数:

voidmain()

{

intnum=1,sum=0;

while(num<=100)

{

讦()

sum+=num;

}printf("sum=%d\n"zsum);

}

10、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。

voidmain()

{

intnum=0;

do

{

num++;

printf(z/%d\n"num);

}

while(num<=2);

}

11>请阅读下面的程序,在空口处填写正确的代码,实现下列功能:

输III1-100Z间的偶数数:

voidmain()

{

intnum=1,sum=0;

do

if(

sum+=num;

Jwhile(num<=100);printff'sum=%d\n,,/sum);

}

12、请阅读下而的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。

voidmain()

{

intizm=1;

for(i=3;i>=1;i-)

{

m=(m+1)*2;printff'm=%d\n",m);

}

}

13、请阅读下面的程序,在空白处填写匸确的代码,实现下列功能:

求II!

1-100Zfn|的偶数和:

voidmain()

{

int\,sum=0;

for(j=2;;i++)

}

}

14、请阅读下Mi的程序,分析程序是否能编绎通过并止确运行,如果不能,说明原因;如果能,请写出运行结果。

voidmain()

{

inti,j;

for(i=0;i<=2;i++)

{

for(j=0;j<=i;j++)

{

printf("(%d,%d)\n"zi,j);

}

}

}

15、请阅读卜面的程序,在空口处填写正确的代码,实现卜•列功能:

打卬下列图形:

♦**

*****

*******voidmain()inti,j,k;

for(i=0;;i++)

{

for(j=0;j<=2・i;j++)printf("“);

for(k=0;;k++)

printfC1*");

}

}

16、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:

XYZ

+YZZ

532

voidmain()

{

intx,y,z,result=532;

for(x=1;;x++)

{

for(y=1;;y++)

{

for(z=0;z<=1;z++)

{

i=+(100*y+10*z+z);

if(i==result)

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

}

}

}

}

17、请阅读下而的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。

voidmain()

{

inta,b;

for(a=lzb=1;a<=100;a++)

{

if(b>=10)

break;

if(b%3==1)

b+=3;

continue;

}

}

printf「a=%d\n",a);

}

18、请阅读下面的程序,在空白处填写匸确的代码,实现下列功能:

用户键盘输入一个数,判断是奇数还是偶数.

voidmain()

{

intnum;

scanf(,,%d,,/&num);

讦(num%2==0)

/

else

/

epl:

printff"输入的是一个偶数!

\nH);

ep2:

printf(-输入的是一个奇数!

\nH);

}

19、请阅读下面的程序,分析运行结果。

voidmain()

{

printf(H@\n");

pnntf("@@\nH);

printf("@@@\n");

printf("@@@@\n");

printf("@@@@@\n“);

}

20、请阅读下面的程序,在空白处填写正确的代码,输出三个整数中最大的整数。

#include

voidmain()

{

inta=10,b=40,c=20,t=a;

if(t

}

if()

{

t=c;

}

printf(n%d%d%d中的最大数是%d\n"/a,b,c,t);

21、请阅读下面的程序,在空白处填吗止确的代码,该程序的功能是:

从键盘输入一个年份数据,判断此年份是否为闰年。

(注:

满足下面两个条件中的一个即为闰年:

一、400的倍数;二、4的倍数但不是100的倍数)。

voidmain()

{

intx,i;

scanf(”%d”,&x);

if(x%400==0)

i=l;

elseif()

i=l;

else

if(i==l)

printf(“该年为闰年\n“);

if(i==0)printf(”该年为平年\n”);

}

22、请阅读下而的程序,在空门处填写正确的代码,该程序的功能是:

输入三个整数,将最人数挑选出來显示。

voidmain()

{

inta,b,c,max;

scanf(”%d,%d,%d",&a,&b,&c);

讦(a>b)

else

max=b;

if(max

printf("max=%d"/max);

}

23、诘阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,诘列出运行的结果,否则请说明编译失败的原因。

#include

voidmain()

{

intx=1,a=0,b=0;

switch(x)

{

case0:

b++;

case1:

a++;

case2:

a++;

b++;

}

printf("a=%d,b=%d\n",a,b);

}

24、请阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果,否则请说明编译失败的原因。

#include

voidmain()

{

intx=1,y=0,a=0,b=0;

switch(x)

{

case1:

switch(y)

{

case0:

a++;

break;

case1:

b++;

break;

}

case2:

a++;

b++;

break;

}

printf("a=%d/b=%d\nnza,b);

}

25、请阅读下血的程序,在空白处填写正确的代码,该程序的功能是:

通过输入成绩,为成绩评等级,90~100为A,80^89为B,70~79为C,60~69为D,60以F为E。

#inelude

voidmain()

{

intscore;

printf("Pleaseinputyourscore:

");

scanf("%d”,&score);

switch()

{

case10:

case9:

printff'YourlevelisA.\n");

break;

case&

printff'YourlevelisB.\n");

break;

case7:

printf("YourlevelisC.\n");

break;

case6:

printf("YourlevelisD.\n");

break;

printf("YourlevelisE.\n");

}

}

26、请阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果,否则请说明编译失败的原因。

#include

voidmain()

{

inty=10;

while(y-);

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

}

27、请阅读下而的程序,在空111处填写正确的代码,该程序的功能是:

计算并输出下列级数的前N项Z和SN,直到SN大于Q为止。

#include

doublefun(doubleq)

{

intn;

doubles;

n=2;

s=2.0;

while()

{

s=s+(double)(n+l)/n;

}

printf("n=%d\n"/n);

}

voidmain()

28、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:

从键盘上输入一行字符(不多于40个,以回车换行符作为输入结束标记),将其中的大写字母改为小写字母,其它字符不变,然后逆向输出。

voidmain()

{

chara[40];

intn=0;

do

{

scanf(“%c“,&a[n]);

if()

a[n]+=32;

n++;

}while(!

='\n');

n二n-2;

while(n>=0)

printf(“%c”,a[n-]);

}

29、请阅读下而的程序,在空白处填写正确的代码,该程序的功能是:

连续向数组输入成绩,并显示数组元素的值,当输入负数时停止接收数据。

voidmai

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2