c语言练习题3Word文档格式.docx

上传人:b****5 文档编号:19673475 上传时间:2023-01-08 格式:DOCX 页数:18 大小:23.30KB
下载 相关 举报
c语言练习题3Word文档格式.docx_第1页
第1页 / 共18页
c语言练习题3Word文档格式.docx_第2页
第2页 / 共18页
c语言练习题3Word文档格式.docx_第3页
第3页 / 共18页
c语言练习题3Word文档格式.docx_第4页
第4页 / 共18页
c语言练习题3Word文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

c语言练习题3Word文档格式.docx

《c语言练习题3Word文档格式.docx》由会员分享,可在线阅读,更多相关《c语言练习题3Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

c语言练习题3Word文档格式.docx

A、10000B、10010C、00110D、10100

{

inty=18,i=0,j,a[8];

do

{

a[i]=y%2;

i++;

y=y/2;

}

while(y>

=1);

for(j=i-1;

j>

=0;

j--)

printf("

%d"

a[j]);

\n"

);

7、一下程序的输出结果是()

A、ABCDB、ABCDC、EFGD、EFGH

FGHEFGJKIJKL

KLIJO

M

charw[][10]={"

ABCD"

"

EFGH"

IJKL"

MNOP"

},k;

for(k=1;

k<

k++)

%s\n"

w[k]);

8、当执行下面的程序时,如果输入ABC,则输出结果是()

A、ABC6789B、ABC67

C、12345ABC6D、ABC456789

#include"

stdio.h"

string.h"

charss[10]="

12345"

;

gets(ss);

strcat(ss,"

6789"

ss);

9、不能把字符串“Hello!

”赋给数组b的语句是()

A、charb[10]={‘H’,’e’,’l’,’l’,’o’,’!

’};

B、charb[10];

b=”Hello!

”;

C、charb[10];

strcpy(b,”Hello!

”);

D、charb[10]=”Hello!

10、若有定义和语句:

chars[10];

s=”abcd”;

printf(“%s\n”,s);

则运行结果是()

A、输出abcdB、输出a

C、输出abcdD、编译不通过

11、若有一下程序段:

charstr[]=”ab\n\012\\\””;

printf(“%d”,strlen(str));

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

A、3B、4C、6D、12

12、下列程序的输出结果是()

A、12ba56B、6521C、6D、62

charch[7]={"

65ab21"

};

inti,s=0;

ch[i]>

='

0'

&

ch[i]<

9'

i+=2)

s=10*s+ch[i]-'

s);

13、下面程序的输出是()

chars[]="

12134211"

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

for(k=0;

s[k];

switch(s[k])

default:

v4++;

case'

1'

:

v1++;

3'

v3++;

2'

v2++;

v1=%d,v2=%d,v3=%d,v4=%d\n"

v1,v2,v3,v4);

A、v1=4,v2=2,v3=1,v4=1B、v1=4,v2=9,v3=3,v4=1

C、v1=5,v2=8,v3=6,v4=1D、v1=8,v2=8,v3=8,v4=8

14、有以下程序

#include<

string.h>

charstr[][20]={"

Hello"

Beijing"

},*p=str;

strlen(p+20));

程序运行后的输出结果是()

A、0B、5C、7D、20

15、以下程序运行后的输出是()

intx[]={1,3,5,7,2,4,6,0},i,j,k;

for(j=2;

=i;

if(x[j+1]>

x[j])

{

k=x[j];

x[j]=x[j+1];

x[j+1]=k;

}

for(j=4;

7-i;

if(x[j]>

x[j+1])

8;

x[i]);

A、75310246B、01234567

C、76310462D、13570246

16、以下程序的输出结果是()

intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;

for(j=i;

t=t+b[i][b[j][j]];

t);

A、3B、4C、1D、9

 

二、填空题

1、若想通过以下输入语句使a中存放字符串“1234”,b中存放字符“5”,则输入数据的形式应该是________

......

chara[10],b;

scanf("

a=%s\nb=%c"

a,&

b);

2、以下程序的功能是:

从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。

请填空。

floatx[1000],sum=0.0,ave,a;

intn=0,i;

Entermark:

scanf("

%f"

&

a);

while(a>

=0.0&

n<

1000)

sum+=___

(1)___;

x[n]=___

(2)___;

n++;

scanf("

ave=____(3)_____;

Output:

n;

if(____(4)_____)

{

printf("

%f\n"

}

3、以下程序用来对从键盘输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。

例如,输入的两个字符串分别为abcdefg和abcdef,则输出为-1.请填空。

stdio.h>

charstr1[100],str2[100],c;

inti,s;

\nInputstring1:

gets(str1);

\nInputstring2:

gets(str2);

i=0;

while((str1[i]==str2[i])&

str1[i]!

=_____

(1)____)

s=___

(2)___;

4、下面程序的功能是:

将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变。

chara[]="

clanguage"

t;

inti,j,k;

k=strlen(a);

=k-2;

for(j=i+2;

__

(1)__)

if(___

(2)____)

t=a[i];

a[i]=a[j];

a[j]=t;

puts(a);

5、若有定义语句:

chars[100],d[100];

intj=0,i=0;

且s中已赋字符串,请填空以实现字符串的拷贝。

(注意:

不得适用逗号表达式。

while(s[i])

d[j]=______;

j++;

d[j]=0;

6、下列程序段的输出结果是_______。

charb[]="

Hello,you"

b[5]=0;

b);

7、若有以下程序

inta[4][4]={{1,2,-3,-4},{0,-12,-13,-14},{-21,23,0,-24},{-31,32,-33,0}};

inti.j.s=0;

4;

if(a[i][j]<

0)continue;

if(a[i][j]==0)break;

s+=a{i][j];

8、以下程序的功能是计算下列级数之和:

请给程序中的各变量正确赋值。

inti,n;

doublea,b,s,x;

____________;

%d%lf"

n,&

x);

for(i=1;

=n;

a=a*x;

b=b*i;

s=s+a/b;

%lf\n"

9、以下程序的功能是把杨辉三角形的数据赋给二维数组的下半三角,输出形式如下:

1

11

121

1331

14641

……

其构成规律是:

(1)第0列元素和对主对角线元素均为1;

(2)其余元素为其左上方和正上方元素之和;

(3)数据的个数每行递增1。

请将程序填完整。

#defineN6

inti,j,x[M][N]={0};

x[0][0]=1;

%4d\n"

x[0][0]);

N;

x[i][0]=_____;

%4d"

x[i][0]);

for(j=1;

x[i][j]=______;

printf(x[i][j]!

=0?

"

"

x[i][j]);

10、以下程序的功能是删除字符串s中的所有数字字符,例如输入字符串为abcd1234fg56h7,则输出为abcdefgh。

chars[80];

gets(s);

s[i];

if(_____)

s[n++]=s[i];

s[n]=____;

puts(s);

11、以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和,请将程序填完整。

inti,a[20],sum,count;

sum=count=0;

20;

____);

if(a[i]>

0)

count++;

sum+=_____;

sum=%d,count=%d\n"

sum,count);

练习题

选择题

1.下面程序的运行结果是()

{inta[10]={1,2,3,4,5,6,7,8,9,10};

Printf(“%d\n”,a[3]);

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

2.下面程序的运行结果是_______。

{intn[3],i,j,k;

n[i]=0;

for(j=0;

n[j]=n[i]+1;

printf(“%d\n”,n[1]);

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

3.一下程序的输出结果是_____。

{inti,a[10];

for(i=9;

i>

i--)

a[i]=10-i;

printf(“%d%d%d”,a[2],a[5],a[8]);

A)258B)741C)852D)369

4.以下数组定义中不正确的是______。

A)inta[2][3];

B)intb[][3]={0,1,2,3};

C)intc[100][100]={0};

D)intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

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

{inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};

printf{“%d%d%d%d\n”,a[0][3],a[1][2],a[2][1],a[3][0]};

A)0650B)1470C)5430D)输出值不确定

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

#include<

main()

{charst[20]=”hello\0\t\’\\”;

printf(“%d%d\n”,strlen(st),sizeof(st));

A)99B)520C)1320D)2020

7.下面程序的运行结果是_____。

{inta[]={2,4,6,8,10};

inty=1,x;

for(x=0;

x<

x++)

y+=a[x+1];

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

A)17B)18C)19D)20

8.定义如下变量和数组:

inti;

intx[3][3]={1,2,3,4,5,6,7,8,9};

下面语句的输出结果是_____。

for(i=0;

i++)printf(“%d”,x[i][2-i]);

A)159B)147C)357D)369

9.又如下程序

{intn[5]={0,0,0},i,k=2;

printf(“%d\n”;

n[k]);

该程序的输出结果是_____。

A)不确定的值B)2C)1D)0

10.有如下程序

main()

{inta[3][3]={{1,2}{3,4}{5,6}},i,j,s=0;

for(j=o;

j++)s+=a[i][j];

printf(“%d\n”,s);

该程序的输出结果是_____。

A)18B)19C)20D)21

11.设已定义chars[]=”\”Name\\Address\”\n”;

则字符串S所占的字节数是______。

A)19B)18C)15D)14

12.设已定义charc[8]=”Tianjin”和inti,则下面的输出函数调用中错误的是_____。

A)printf(“%s”,c);

B)for(i=0;

i++)printf(“%c”,c[i]);

C)puts(c);

D)for(i=0;

i++)puts(c[i]);

13.设已定义charc[10]和inti,则下面的输入函数调用中错误的是_____。

A)scanf(“%s”,a);

9;

i++)scanf(“%c”,a[i]);

C)gets(a);

D)for(i=0;

i++)scanf(“%c”,&

a[i]);

14.设已定义charx[8]和inti,为了给该数组赋值,下面的语句中正确的是_____。

A)8]=”TurboC”;

B)”TurboC”;

C)x[]=”TurboC”;

7;

i++)x[i]=getchar();

15.下面程序的运行结果是__________。

Main()

{charstr[12]={‘s’,’t’,’r’,’i’,’n’,’g’,’\0’};

printf(“%d”,strlen(str))

A)6B)7C)12D)11

16.下面程序的输出结果是__________。

sting.h>

{charpl[7]=”abc”,p2[]=”ABC”,str[50]=”xyz”

Strcpy(str.strcat(p1,p2));

Printf(“%s”,str);

A)xyzabcABCB)abcABCC)xyzabcD)xyzABC

17执行下列程序时输入123<

空格>

456<

789<

回车>

,输出结果是____________。

A)123,456,789B)1,456,789

C)1,23,456,789D)1,23,456

{chars[100];

intc,i;

scanf(“%c”,&

c);

scanf(“%d”,&

i);

scanf(“%s”,s);

printf(“%c,%d,%s\n”,c,i,s);

填空题

1、下面程序的运行结果是_______。

#defineN10

inti,j,m[N];

m[i]=0;

i++

m[j]=m[i]+1;

m[N-1]);

2、下面程序

charc[N];

inti=0;

for(;

c[i]=getchar();

putchar(c[i]),i++)

运行时,从键盘上输入三行,每行都从第一列开始输入,并以回车键结束:

a

b

cdef

程序的输出结果是________。

3、有一个已排好序的数组,现输入一个数,要求按原来的顺序规律将它插入到数组中。

算法是:

假设排列顺序数从小到大,对输入的数,检查它在数组中哪一个数之后,然后将比这个数大的数顺序后移一个位置,在空出的位置上将该数插入。

请在程序中的空白处填上一条语句或一个表达式。

#defineN100

floata[N+1],x;

inti,p;

for(i=0,p=N;

if(x<

a[i])

______

(1)____;

break;

for(i=N-1;

___

(2)_____;

a[i+1]=a[i];

a[p]=x;

for(i=0;

___(3)____;

%8.2f"

a[i]);

if(i%5==0)

printf("

4、下面的程序是用选择排序的方法将一整数序列按升序排列并输出排序后的结果。

请将程序填完全。

#defineMAX100

inti,j,index,n,a[MAX],min;

n);

___

(1)____;

___

(2)___=a[i];

index=i;

for(j=i+1;

if(___(3)___<

min)

___(4)___=a[j];

index=___(5)____;

____(6)____=a[i];

a[i]=min;

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

当前位置:首页 > 医药卫生 > 基础医学

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

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