c语言数组习题Word文件下载.docx
- 文档编号:14833415
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:9
- 大小:21.91KB
c语言数组习题Word文件下载.docx
《c语言数组习题Word文件下载.docx》由会员分享,可在线阅读,更多相关《c语言数组习题Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
【分析】显然答案①中给字符型数组赋初值的格式不对(不能直接赋予字符常量,必须用花括号括住),所以备选答案①是符合题意的答案。
【答案】①
3用"
冒泡排序法"
对n个数据排序,需要进行n一1步。
其中第k步的任务是:
自下而上,相邻两数比较,小者调上;
该操作反复执行n-k次。
现在假设有4个数据:
4、l、3、2要排序,假定4为上、2为下,则利用"
执行第2步后的结果是_________________。
【分析】开始排序前的排列执行第1步后的排列执行第2步后的排列
4
1
1
2
3
2
4
3
【答案】l、2、4、3
4用"
选择排序法"
对n个数据排序,需要进行n-1步。
在第k个数据到第n个数据中寻找最小数,和第k个数据交换。
4、1、3、2要排序,则利用"
执行第2步后的结果是______________________。
【分析】
开始排序前的排列为:
执行第1步后的排列为:
执行第2步后的排列为:
【答案】1、2、3、4
5下列数组定义语句中,正确的是()
①inta[][]={1,2,3,4,5,6};
②chara[2]「3]='
,'
b'
③inta[][3]={1,2,3,4,5,6};
④staticinta[][]={{1,2,3},{4,5,6}};
【分析】C语言规定,二维数组定义时不允许省略第二维的长度,所以备选答案①④是错误的。
C语言还规定,定义字符型数组时不允许直接使用"
字符常量"
的方式赋初值,所以备选答案②也是错误的。
显然备选答案③符合题意。
【答案】③
6定义一个名为"
s"
的字符型数组,并且赋初值为字符串"
123"
的错误语句是()
①chars[]={‘1'
2'
3'
\0'
};
②chars「」={"
③chars[]={"
123\n"
};
④chars[4]={'
1'
【分析】备选答案①中省略了数组长度,所以每个元素都赋了初值,共计4个元素,初值依次为'
l'
、'
\0'
,最后一个元素的值为字符串结束标记,所以数组S中存放的是字符串"
,该答案不符合题意(即正确的);
备选答案③中直接赋予字符串作为初值所以数组s的长度为4,其中的初值是字符串"
,不符合题意(即正确的);
备选答案
③中也是给数组s赋予字符串的初值,但是字符串不是"
,而是"
123\n"
,所以该答案符合题意(即错误的);
显然答案④也不符合题意(即正确的)。
下面来分析答案④为什么是正确的,该答案给出了数组长度为4,赋初值时仅给前3个元素赋予字符'
1'
、'
,第4个元素没有赋初值,按照C语言的规定,也有初值,且初值为空值,对字符型数组来说,空值就是'
,即字符率结束标记,所以数组S中存放的也是字符串"
123"
。
7设有下列数据定义语句,则数组元素x[i]的值是__________________。
inti=3,x[4]={1,2,3};
【分析】由于i的初值为3,所以x[i]就是x[3]。
由于数组的下标是从0开始的,所以x[3]实际上是数组x的第4个元素。
从定义语句中可以看出数组x的前3个元素的初值依次为1、2、3,第4个元素没有赋初值,其初值自动设为空值,对整型数组来说,空值是0,显然x[3」的值是0.【答案】0
8设有下列数据定义语句,则puts(&s[0][0])的输出结果是__________;
puts(s[0]〕
输出结果是_____________。
chars[4][5]={{'
},{"
23"
},"
345"
,"
4\0"
【分析】首先分析字符型数组s的初值,s的第1行中存放的字符串是"
1"
、第2行中存放的符串是"
、第3行中存放的字符串是"
、第4行中存放的字符串是"
4"
puts()函数的功能是输出从"
参数"
处开始存放的字符串中有效字符。
按照上的分析,第1个输出的结果是从"
&S[0][0]"
开始的字符串,这个地址对应的就是数s的第1行,所以输出结果为1;
第2个输出的结果是从“s[]”开始的字符串,这个址对应的也是数组s的第1行,所以输出结果也为1。
【答案】
9设有下列数据定义语句:
chara[4][10]={"
11"
22"
33"
44"
则puts(strcat(a[1],a[3]))的输出结果是________________;
putS(strcpy(a[0],a[2]))的输出结果是________________。
【分析】字符数组a共有4行,每行存放一个字符串。
这4行的首地址依次为:
a[0]、a[1]、a[2]、a[3],从这4个地址开始存放的字符串依次为:
"
、"
strcat(a[1],a[3])函数调用的功能是将s[3]处的字符串连接到a[l]的字符串后面,所以执行该函数调用后的a「l」处的字符串为"
2244"
,而该函数的返回值就是a[1]的首地址,puts()函数的功能就是输出这个地址存放的字符串,由此,第1个输出的结果就是:
2244。
同样理由可以分析strcpy(a[0],a[2])的功能是将a[2]处的字符串("
)复制到a[0]处,返回a[0]的地址,puts()输出的就是a[0]处的字符串,结果为:
33。
【答案】2244
33
10设有下列数据定义语句:
charstr[2][10]={"
abc"
ABC"
则printf("
%d"
,strcmp(str[1],str[0]))的输出结果是__________;
printf("
,strcmp(strlwr(str[1],str[0])),str[0]))的输出结果是_______。
【分析】字符型数组str中,从str[0]开始存放的字符串是"
、从str[l]开始存放的字符串是"
strcmp(str[l],str[0])是比较str[l]和str【0」处的两个字符串的大小,由于"
是小于"
的,按照srrcmp函数的功能可知,返回值是一个小于0的整数,这是第1个空的答案。
再来分析第2个空的答案,strlwr(str[l])函数的功能是将str[l]处的字符串中大写字母改为小写字母,其返回值是修改后字符串的地址。
strcmp(stlwr(sir[1]),str[0]))函数的功能是比较str[l]和str[0]处的字符串,由于str[l]处的字符串已经改为小写字母了,所以和str[0]处的字符串完全相同,返回值是0,这就是第2个空的答案。
[答案]某个小于0的任意整数
0
11下列程序的功能是读取10个实数,然后依次输出前l个实数和、前2个实数和、…、前9个实数和、前10个实数和。
请填写程序中缺少的语句。
main()
{floatf[10],X=0.0;
inti;
for(i=0;
i<10;
i++)
scanf("
%f"
,&f[i]);
for(i=1;
i<=10;
{_______________________
printf("
sumofNO%2d----%f\n"
,i,x);
}
【分析】浏览程序清单后,可以发现前一个次数型循环是输入10个实数存入数组f中。
后一个次数型循环是计算前i个实数和并存入变量X中,然后再输出这个x的值。
程序中所缺少的语句就是实现"
计算前i个实数和并存入变量X中"
的。
当i等于1时,x要等于f[0]的值,即f[i-l]的值;
当i等于2时,x要等于f[0]+f[l]的值,即f[0]+f[i-1」的值,此时f[0]的值已经计算并存入变量x中;
当i等于3时,x要等于f[0]+f[1]+f[2]的值,即f[0]+f[1]+f[i-l]的值,此时f[0]+f[1]的值已经计算并存入变量x中;
由此可以推出:
前i个值的计算公式为:
x=x+f[i-1],将这个表达式组成语句就是需要填写的内容。
【答案】x=x+f[i-l];
或
x+=f[i-l];
12运行下列程序的输出结果是()
①111ll
②llll
③lll
④222
{inta[]={1,2,3,4,5},i;
for(i=1;
i<5;
i++)
%1d"
,a[i]-a[i一1]);
【分析】首先分析数组a各元素的值,由于是赋初值,很容易看出:
a[0]=1、a[1]=2…、a[4]=5。
再分析次数型循环共计执行4次(i=1、i=2、i=3、i=4),每次输出1位整数;
[i]-a[i-1],当i=1时,输出的是2-1=1;
当i=2时,输出的是3-2=l;
当i=3时,输出的是4-3=l;
当i=4时,输出的是5-4=1。
整个程序的输出结果是1111。
【答案】②
13下列程序的功能是输入一个5行5列的实数矩阵,然后求出其中的最大数和最小数,并且对调这两个数后,再输出,请填写程序中缺少的语句。
main()
{floatf[5][5],max,x;
inti,j,max_l,max_J,min_i,min_J;
for(i=0;
i<5;
i++)
for(j=0;
j<5;
j++)
{scanf("
%f"
,&x);
f[i][j]=x;
max=min=f[0][0];
max_i=max_i=min_i=min_j=0;
for(i=0;
{if(max<f[i][j])
max=f[i][j],max_i=i,max_j=j;
if(min>f[i][j])
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 数组 习题