第七章数组答案C语言,c语言复习题及答案第七章数组.docx

第七章数组(8学时)

学习目的与要求:

1、重点掌握一维数组的定义和引用;

2、基本掌握二维数组的定义和引用;

3、重点掌握字符型数组的定义与引用;

4、能正确使用字符串处理函数;

5、学会使用数组解决实际问题。

重点:

1、一维数组的定义与引用;

2、二维数组的定义与引用;

3、字符数组的定义与引用;

第1讲

知识归纳:

1、一维数组的定义:类型说明符数组名[常量表达式];

(1)数组名后必须用方括弧[],用其他括弧均错误 ;

方括弧中的常量表达式表示数组的元素个数;

方括弧中的常量表达式,必须是能计算出具体数值,且不改变的常量,不能是变量;

2、一维数组的引用:数组名[

2、一维数组的引用:

数组名[下标r ■」

\ for ( i =0 ; i<7 ; i printf(

(2)将整个字符串一次输入输出,用格式符 如^ chaLG1f10];

scanf (“ %s” , c1);

int num[N];

(2003 年 9 月)

25、有以下程序

main ()

{ char a[ ]={‘a' , ‘b' , ‘c' , ‘d',

i=sizeof(a); j=strle n( a); printf( “%d,%d b” i,j);

}

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

A) 9,9B)8,9

(2002 年 9 月)

21、C 22、C 23、D 24、B 25、D

“ %c , c1[ i ]);

%s ;

100]; D) int N=100;

e' ,‘f' , ‘g' , ‘h' , ‘0' }; int i,j;

C) 1, 8D) 9, 8

二、填空题

1、下面fun函数的功能是将形参 x的值转换成二进制数,所得二进制数的每一位数放在一

维数组中返回,二进制数的最低位放在下标为0的元素中,其它依此类推。请填空。

fun(int x,int b[])

{ int k=0,r;

do

{ r=x% 2;

b[k++]=r;

x/= 2j } while(x); }( 1996 年 4 月)

2 2

2、以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相

同字符的ASCII码之差。例如:输入的两个字符串分别为abcdef和abceef,则输出为-1。

请填空。

#in clude< >

main ()

{ char str[100],str2[100],c;

int i,s;

prin tf("\n in put stri ng 1:\n"); gest(str1);

prin tf("\n in put stri ng 2:\n"); gest(str2);

i=0;

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

i++;一

s=丄

prin tf("%d\n",s);

}( 1998 年 9 月)

'\0'或 0 strl[i]-str2[i]

3、 若想通过以下输入语句使a中存放字符串1234,b中存放字符5,则输入数据的形式应该 是 a=1234 b=5 A 或 a=1234b=5。

char a[10],b;

scanf("a=%s b=%c",a,&b);( 1999 年 4 月)

4、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低

于平均分的学生成绩,用输入负数结束输入。请填空。

mai n()

{ float x[1000], sum=, ave, a ;

int n=0 ,i ;

printf("Enter mark : \n") ; scanf("%f",&a);

while(a>=&& * 1000)

{ sum+_; x[n]= _;

n++; scanf("%f",&a);

}

ave=_;

printf("Output : \n");

printf("ave=%f\n" , ave);

for (i=0;i

if printf (“%f n” ,x[i]);

}( 1999 年 9 月)

=a a sum/n x[i]

5、 下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列 ,其它元素不变。

请填空。

#in clude< >

#in clude< >

main ()

{ char a[]="cla nguage",t;

int i, j, k;

k=strle n( a);

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

for(j=i+2; j<=k ; j+=2 )

if( a[i]>a[j])

{ t=a[i]; a[i]=a[j]; a[j]=t; }

puts(a);

prin tf("\

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值