练习题6及参考答案Word下载.docx

上传人:b****4 文档编号:17863476 上传时间:2022-12-11 格式:DOCX 页数:20 大小:20KB
下载 相关 举报
练习题6及参考答案Word下载.docx_第1页
第1页 / 共20页
练习题6及参考答案Word下载.docx_第2页
第2页 / 共20页
练习题6及参考答案Word下载.docx_第3页
第3页 / 共20页
练习题6及参考答案Word下载.docx_第4页
第4页 / 共20页
练习题6及参考答案Word下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

练习题6及参考答案Word下载.docx

《练习题6及参考答案Word下载.docx》由会员分享,可在线阅读,更多相关《练习题6及参考答案Word下载.docx(20页珍藏版)》请在冰豆网上搜索。

练习题6及参考答案Word下载.docx

A.a[g-c] 

 

B.a[4] 

C.a['

d'

-'

c'

D.a['

-c]

【答】D

(5)以下合法的数组定义是 

A.inta[]="

string"

B.inta[5]={0,1,2,3,4,5};

C.chara="

D.chara[]={0,1,2,3,4,5};

(6)以下错误的字符串赋值或赋初值方式是 

A.char*str;

str="

B.charstr[7]={'

s'

t'

r'

i'

n'

g'

C.charstr[10];

D.charstr1[]="

str2[]="

12345678"

stcpy(str2,strl);

(7)若有以下定义和语句,则输出结果是 

char*sp="

\"

D:

\\ANI.WSP\"

printf("

%s"

sp);

A.字符串中有非法字符,输出值不定 

B.\"

C."

\ANI.WSP"

D."

\\ANI.WSP"

(8)若有以下定义和语句,则输出结果是 

chars[12]="

abook!

%d"

strlen(s));

A.12 

B.8 

C.7 

D.6

(9)以下一维数组a的正确定义是 

A.inta(10);

B.intn=10,a[n];

C.intn;

D.#defineSIZE10

scanf("

&

n);

inta[SIZE];

inta[n];

(10)以下正确的定义语句是 

A.intA['

];

B.intA[3,4];

C.intA[][3];

D.intA[10];

(11)以下对一维数组a进行正确初始化的是 

A.inta[10]=(0,0,0,0);

B.inta[10]={};

C.inta[]={0};

D.inta[10]={10*2};

(12)以下对二维数组a进行正确初始化的是 

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

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

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

D.inta[2][]={{1,2},{3,4}};

【答】B

(13)以下给字符数组a定义和赋值正确的是 

A.charstr[10];

str={"

China"

B.charstr[]={"

strcpy(str,"

abcdefghijklmn"

D.charstr[10]={"

(14)在执行staticinta[][3]={{1,2},{3,4}};

语句后,a[1][3]的值是 

A.3 

B.4 

C.0 

D.2

(15)在定义inta[3][6];

后,第10个元素是 

A.a[2][4] 

B.a[1][3] 

C.a[3][1] 

D.a[4][2]

(16)在定义inta[3][4][2];

A.a[2][1][2] 

B.a[1][0][1] 

C.a[2][0][1] 

D.a[2][2][1]

(17)以下程序的运行结果是 

#include<

stdio.h>

string.h>

main()

{

chara[80]="

AB"

b[80]="

LMNP"

inti=0;

strcat(a,b);

while(a[i++]!

='

\0'

)b[i]=a[i];

puts(b);

}

A.LB 

B.ABLMNP 

C.AB 

D.LBLMNP

【答】D

(18)以下程序的运行结果是 

charstr[]="

SSSWLIA"

c;

intk;

for(k=2;

(c=str[k])!

k++)

{

switch(c)

case'

I'

:

++k;

break;

L'

continue;

default:

putchar(c);

}

putchar('

*'

A.SSW* 

B.SW* 

C.SW*A 

D.SW

(19)以下程序的运行结果是 

chara[]="

morning"

t;

inti,j=0;

for(i=1;

i<

7;

i++)

if(a[j]<

a[i])j=i;

t=a[j];

a[j]=a[7];

a[7]=a[j];

puts(a);

A.mogninr 

B.mo 

C.morning 

D.mornin

2.填空题

(1)以下程序运行时输入LanguageProgramming↙,其结果是 

charstr[30];

str);

str=%s\n"

【答】Language

(2)以下程序的运行结果是 

charstr[]={"

1a2b3c"

inti;

for(i=0;

str[i]!

if(str[i]>

0'

&

str[i]<

9'

printf("

%c"

str[i]);

\n"

【答】123

(3)以下程序的运行结果是 

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

=2;

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

s=%d\n"

s);

【答】s=15

(4)以下程序的运行结果是 

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

s=s*a[i][i];

【答】s=45

(5)以下程序的运行结果是 

inta[]={0,2,5,8,12,15,23,35,60,65};

intx=15,i,n=10,m;

i=n/2+1;

m=n/2;

while(m!

=0)

if(x<

a[i])

i=i-m/2-1;

m=m/2;

elseif(x>

i=i+m/2+1;

elsebreak;

place=%d"

i+1);

【答】place=6

(6)以下程序的运行结果是 

inti,j,row=0,col=0,m;

staticinta[3][3]={1,-2,0,4,-5,6,2,4};

m=a[0][0];

for(i=0;

3;

for(j=0;

j<

j++)

if(a[i][j]<

m)

m=a[i][j];

row=i;

col=j;

a(%d,%d)=%d\n"

row,col,m);

【答】a(1,1)=-5

(7)以下程序的运行结果是 

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

inti,j,n;

n=9;

i=n/5;

j=n-i*5-1;

第%d个元素(%d,%d)值是%d\n"

n,i,j,a[i][j]);

【答】第9个元素(1,3)值是-3

(8)以下程序的运行结果是 

inta[4][5]={1,2,4,-4,5,-9,3};

intb=0,i,j,i1,j1,n=-9;

4;

for(j=0;

5;

if(a[i][j]==n)

i1=i;

j1=j;

b=1;

break;

if(b)

%d是第%d个元素\n"

n,i1*5+j1+1);

【答】-9是第6个元素

(9)以下程序的运行结果是____。

intarr[10],i,k=0;

10;

arr[i]=i;

k+=arr[i]+i;

%d\n"

k);

【答】12

(10)以下程序的功能是将字符串s中所有的空格字符删除。

请填空。

char*s="

ourteacherteachsClanguage"

inti,j;

for(i=j=0;

s[i]!

if(s[i]!

'

) 

① 

② 

%s\n"

【答】①s[j++]=s[i]②s[j]='

3.编程题

(1)编写一个程序,将两个字符串合并成一个字符串。

【解】程序如下:

/*文件名:

exci6_1.cpp*/

VC++6.0

chars1[20],s2[20],s3[40];

inti,j;

字符串1:

gets(s1);

字符串2:

gets(s2);

s1[i]!

s3[i]=s1[i];

s2[j]!

s3[i+j]=s2[j];

s3[i+j]='

合并字符串:

s3);

(2)编写一个程序,将一个子字符串插入到主字符串中指定位置。

exci6_2.cpp*/

intn,i,j,k;

主字符串:

gets(s1);

子字符串:

gets(s2);

起始位置:

scanf("

n;

i=%d,j=%d\n"

i,j);

for(k=n;

s1[k]!

s3[j+k]=s1[k];

s3[j+k]='

结果字符串:

(3)编写一个程序,输出一个字符串的逆转串。

exci6_3.cpp*/

chars1[20],s2[20];

字符串:

s1);

i++);

/*求出字符串s1的长度i*/

s1[j]!

s2[i-j-1]=s1[j];

s2[i]='

逆转串:

s2);

(4)编写一个程序,判定一个字符串是否是另一个字符串的子串。

exci6_4.cpp*/

inti,j,k,index;

index=0;

s1[i];

for(j=i,k=0;

s1[j]==s2[k];

j++,k++)

if(!

s2[k+1])

index=i;

if(index!

位置=%d\n"

index);

(5)编写一个程序,计算一个字符串中子串出现的次数。

exci6_5.cpp*/

inti,j,k,count=0;

count++;

出现次数=%d\n"

count);

(6)编写一个程序,将用户输入的正十进制数转换成某一进制base(base≤16)的数输出。

【解】采用辗转相除法进行进制之间的相互转换,将结果存储在一维数组num中,最后显示该数组即为所得。

程序如下:

exci6_6.cpp*/

inti=0,base,n,j,num[20];

输入正十进制整数:

输入要转换的进制:

base);

do

i++;

num[i]=n%base;

n=n/base;

}while(n!

=0);

转换的结果:

for(j=i;

j>

=1;

j--)

if(num[j]<

10)

num[j]);

else

A'

+num[j]-10);

(7)编写一个程序,计算两个3×

4阶矩阵相加,并打印出结果。

【解】使用两个二维数组a和b存储两个3×

4阶矩阵的元素值,然后用两重for循环进行相加求值产生二维数组c,最后输出c的各元素值。

exci6_7.cpp*/

inta[3][4]={{3,-2,1,2},{0,1,3,-2},{3,1,0,4}};

intb[3][4]={{-2,3,0,-1},{1,0,-2,3},{-2,0,1,-3}};

inti,j,c[3][4];

c[i][j]=a[i][j]+b[i][j];

i++) 

/*输出结果*/

%d"

c[i][j]);

(8)编写一

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

当前位置:首页 > 求职职场 > 简历

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

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