C语言作业题第5至6章1008.docx

上传人:b****6 文档编号:8624782 上传时间:2023-02-01 格式:DOCX 页数:13 大小:19.45KB
下载 相关 举报
C语言作业题第5至6章1008.docx_第1页
第1页 / 共13页
C语言作业题第5至6章1008.docx_第2页
第2页 / 共13页
C语言作业题第5至6章1008.docx_第3页
第3页 / 共13页
C语言作业题第5至6章1008.docx_第4页
第4页 / 共13页
C语言作业题第5至6章1008.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C语言作业题第5至6章1008.docx

《C语言作业题第5至6章1008.docx》由会员分享,可在线阅读,更多相关《C语言作业题第5至6章1008.docx(13页珍藏版)》请在冰豆网上搜索。

C语言作业题第5至6章1008.docx

C语言作业题第5至6章1008

第五章循环控制

一、单项选择题

【1】下述循环的循环次数是____________。

intk=2;

while(k=0)

printf(″%d″,k);k--;

printf(″\n″);

A)无限次B)0次C)1次D)2次

【2】执行语句for(i=1;i++;i<4)后变量i的值是_____。

A)3B)4C)5D)不定

【3】下面程序的功能是将从键盘输入的一对数,由小到大排序输出。

当输入一对相等数时结束循环。

请选择。

#include

voidmain()

{inta,b,t;

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

while(________________)

{if(a>b)

{t=a;a=b;b=t;}

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

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

}

}

A)!

a=bB)a!

=bC)a==bD)a=b

【4】下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。

#include

voidmain()

{intm=0,n=0;

charc;

while(([1]!

='\n’))

{if(c>='A’&&c<='Z’)m++;

if(c>='a’&&c<='z’)n++;

}

printf("%d\n",m

[2]);

}

[1]A)c=getchar()B)putchar()C)c=getch()D)scanf("%c",c)

[2]A)n:

mB)m:

nC)m:

mD)n:

n

【3】以下程序段______________。

X=-1;

do

{x=x*x;

}while(!

x);

A)是死循环B)循环执行二次C)循环执行一次D)有语法错误

二、填空题

【1】下面程序的功能是计算1-3+5-7+…-99+101的值,请填空。

#include

voidmain()

{inti,t=1,s=0

for(i=1;i<101;i+=2)

{_____________;s=s+t;_____________;}

printf(″%d\n″,s);

}

【2】下面程序的功能是求1000以内的所有完全数。

请填空。

(说明:

一个数如果恰好等于它的因子之和(除自身外),则称该数这完全数,例如:

6=1+2+3,6为完全数)

#include

voidmain()

{inta,i,m;

for(a=1;a<=1000;a++)

{for(;i<=a/2;i++)

if(!

(a%i));

if(m==a)printf(″%4d″,a);

}

}

【3】执行下面程序段后,k值是_____________。

k=1;n=263;

do{k*=n%10;n/=10;}while(n);

}

【4】若for循环用以下形式表示:

for(表达式1;表达式2;表达式3)循环体语句;

则执行语句for(i=0;i<3;i++)printf(″*″);时,表达式1执行______________次,表达式3执行________________次。

【5】下面程序的功能是用“辗转相除法”求两个正整数的最大公约数。

请填空。

#include

voidmain()

{intr,m,n;

scanf(″%d%d″,&m,&n);

if(m

r=m%n;

while(r){m=n;n=r;r=________________;}

printf(″%d\n″,n);

}

【6】下面程序的功能是从三个红球、五个白球、六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。

请填空。

#include

voidmain()

{inti,j,k;

printf(″\nhongbaihei\n″);

for(i=1;i<=3;i++)

for(;j<=5;j++)

{k=8-i-j;

if()

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

}

}

三、程序运行结果填空题

【1】下面程序的运行结果是_________。

#include

voidmain()

{inta=1,b=10;

do{b-=a;a++;}while(b--<0);

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

}

A)a=3,b=11B)a=2,b=8C)a=1,b=-1D)a=4,b=9

【2】下面程序段的运行结果是_________。

a=1;b=2;c=2;

while(a

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

A)1,2,0B)2,1,0C)1,2,1D)2,1,1

【3】若从键盘输入6514表示回车符),则下面程序的运行结果是__________。

#include

voidmain()

{intm,n;

printf(″Enterm,n:

″);

scanf(″%d%d″,&m,&n);

while(m!

=n)

{while(m>n)m-=n;

while(n>m)n-=m;

}

printf(″m=%d\n″,m);

}

【4】下面程序的运行结果是__________。

#include

voidmain()

{inti,x,y;

i=x=y=0;

do

{++i;

if(i%2!

=0)

{x=x+i;i++;}

y=y+i++;

}while(i<=7);

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

}

【5】下面程序段的运行结果是______________。

x=y=0;

while(x<15)y++,x+=++y;

printf("%d,%d",y,x);

A)20,7B)6,12C)20,8D)8,20

【6】下面程序的运行结果是___________。

#include

voidmain()

{intnum=0;

while(num<=2)

{num++;

printf("%d,",num);

}

}

A)1,2B)1,2,3C)1,3D)1,3,4

【7】写出程序的结果运行结果___________________。

#include

voidmain(void)

{inti,a,sum,t;

a=2;

sum=0;

t=0;

for(i=1;i<6;i++)

{t=10*t+a;sum+=t;}

printf(“sum=%d,i=%d”,sum,i);

}

【8】下面程序片段的运行结果是_________。

inti,j,x=0;

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

{x++;

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

{

if(j%2)continue;

x++;

}

x++;

}

printf(“x=%d”,x);

四、编程题

1.编程输出如下格式的九九表

1

2

3

4

5

6

7

8

9

1

2

3

4

5

6

7

8

9

2

4

6

8

10

12

14

16

18

3

6

9

12

15

18

21

24

27

4

8

12

16

20

24

28

32

36

5

10

15

20

25

30

35

40

45

6

12

18

24

30

36

42

48

54

7

14

21

28

35

42

49

56

63

8

16

24

32

40

48

56

64

72

9

18

27

36

45

54

63

72

81

2.试编写程序,从键盘输入6名学生的5门成绩,分别统计出每个学生的平均成绩。

 

第六章数组

一、单项选择题

【1】判断字符串a和b是否相等,应当使用_______。

A)if(a==b)B)if(a=b)C)if(strcpy(a,b))D)if(strcmp(a,b))

【2】下面程序的功能是将字符串s中所有的字符c删除。

请选择填空。

#include

voidmain()

{chars[80];

inti,j;

gets(s);

for(i=j=0;s[i]!

=’\0’;i++)

if(s[i]!

=’c’);

s[j]=’\0’;

puts(s);

}

A)s[j++]=s[i]B)s[++j]=s[i]C)s[j]=s[i];j++D)s[j]=s[i]

【2】若有说明:

inta[10];则对a数组元素的正确引用是_________。

A)a[10]B)a[3.5]C)a[5]D)a[5.0]

【3】对两个数组a和b进行如下初始化

chara[]="ABCDEF";

charb[]={’A’,’B’,’C’,’D’,’E’,’F’};

则以下叙述正确的是__。

A)a与b数组完全相同B)a与b长度相同

C)a和b中都存放字符串D)a数组比b数组长度长

二、填空题

【1】下面程序用“顺序查找法”查找数组a中是否存在某一关键字。

请填空。

#include

voidmain()

{inta[9]={25,57,48,37,12,92,86,33},i,x;

scanf(″%d″,&x);

;i=0;

while(a[i]!

=x)i++;

if()

printf(″Found!

Theindexis;%d\n″,i);

else

printf(″Can′tfound!

\n″);

}

【2】数组是一批具有________数据类型的数据之集合。

【3】若有定义:

inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是___________,a[2][1]得到的初值是__________。

【4】以下程序可求出所有的水仙花数。

(所谓水仙花数是指一个三位正整数,其各位数字的立方之和等于该正整数。

例如;407=4×4×4+0×0×0+7×7×7,故407是一个水仙花数。

#include

voidmain()

{intx,y,z,a[8],m,i=0;

printf(″Thespecialnumbersare:

\n″);

for(;m++)

{x=m/100;

y=;

z=m%10;

if(x*100+y*10+z==x*x*x+y*y*y+z*z*z)

{;i++;}

}

for(x=0;x

printf(″%6d″,a[x]);

}

【5】有十个字符串。

下面程序的功能是在每个字符串中,找出最大字符按一一对应的顺序放入一维数组a中,即第i个字符串中的最大字符放入a[i]中,输出每个字符串的最大字符。

请填空。

#include

voidmain()

{chars[10][20];

inta[10],i,j;

for(i=0;i<10;i++)gets(s[i]);

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

{;

for(j=1;s[i][j]!

=′\0′;j++)

if(a[i]

}

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

printf(″%d%c″,i,a[i]);

}

三、程序运行结果填空题

【1】下面程序的运行结果是_____________。

#include

voidmain()

{

intnum_list[]={6,7,8,9},k,j,b,u=0,m=4,w;

w=m-1;

while(u<=w)

{

j=num_list[u];

k=2;b=1;

while(k<=j/2&&b)

b=j%++k;

if(b)

printf(″%d\n″,num_list[u++]);

else

{num_list[u]=num_list[w];num_list[w--]=j;}

}

}

【2】读下列程序

#include

#include

voidmain(void)

{

inta[10],i,j,k,m,b[10]={0,0,0,0,0,0,0,0,0,};

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

scanf(“%d”,&a[i]);

for(i=5;i>0;i--)

{

k=a[5];

for(j=4;j>5-i-1;j--)

a[j+1]=a[j];

a[5-i]=k;

}

j=0;

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

j+=a[i];

j/=6;

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

if(abs(a[i]-j<2))

{

printf(“%d”,a[i]);

b[i]=1;

}

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

if(b[i]==0)

printf(“%d”,a[i]);

}

假设运行上述程序时,输入的6个整数分别为1,2,3,4,5,6,则运行结果为__________________。

【3】读下列程序

#include

#include

#include

voidmain(void)

{

chars[41],d[41];

inti,n;

gets(s);

i=0;

n=0;

while(s[i])

{

if(i%2==0)

{

d[n]=s[i];

n++;

}

i++;

}

d[n]=0;

printf(“%s”,d);

}

假设运行上述程序时,输入的数据为EexXaAmMiInNgG.,则运行结果为:

______________________。

【4】读下列程序

#include

#include

#include

#include

voidmain(void)

{

chars1[101],s2[51];

intl1,l2,i;

printf(“请输入字符串1:

”);

gets(s1);

printf(“请输入字符串2:

”);

gets(s2);

l1=strlen(s1);

l2=strlen(s2);

for(i=0;i

printf(s1);

}

假设运行上述程序时,输入的2个字符串分别为ABCDEF,1234,则运行结果为:

______________。

【5】下面程序的运行结果是________。

#include

voidmain()

{chara[]="morning",t;

inti,j=0;

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

if(a[j]

j=i;

t=a[j];

a[j]=a[7];

a[7]=a[j];

puts(a);

}

A)mogninrB)moc)morningD)mornin

【6】下面程序的运行结果是__________。

#include

voidmain()

{charch[7]={"12ab56"};

inti,s=0;

for(i=0;ch[i]>=’0’&&ch[i]<=’9’;i+=2)

s=10*s+ch[i]-’0’;

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

}

A)1B)12C)12ab56D)1256

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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