C语言第七、八章补充作业-答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第七章数组补充作业

【1】在C语言中,引用数组元素时,其数组下标的数据类型允许是 C 。

A)整型常量B)整型表达式

C)整型常量或整型表达式D)任何类型的表达式

【2】以下对一维整型数组a的正确说明是 D 。

A)int a(10); B)int n=10,a[n];

C)int n; D)#define SIZE 10

scanf(“%d”,&n); int a[SIZE];

int a[n];

【3】若有说明:int a[10];则对a数组元素的正确引用是 D 。

A)a[10] B)a[] C)a(5) D)a[10-10]

【4】以下能对一维数组a进行正确初始化的语句是 C 。

A)int a[10]=(0,0,0,0,0); B)int a[10]={};

C)int a[]={0}; D)int a[10]={10*1};

【5】以下对二维数组a的正确说明是 B 。

A)int a[3][]; B)double a[1][4];

C)float a(3,4); D)float a(3)(4);

【6】若有说明:int a[3][4];则对a数组元素的正确引用是 D 。

A)a[2][4] B)a[1,3] C)a(2)(1) D)a[1+1][0]

【7】以下不能对二维数组a进行正确初始化的语句是 C 。

A) int a[2][3]={0};

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

C) int a[2][3]={{1,2},{3,4},{5,6}};

D) int a[][3]={1,2,3,4,5,6};

【8】指出下面各说明语句中哪些是合法的:(多选)

A. int abcd[0x80];

B. char 9ab[10];

C. char chi[-200];

D. int aaa[5]={3,4,5};

E. float key[]={,,1,0};

F. char disk[];

G. int n,floppy[n]; H. int cash[4]={1,2,3,4,5,6};

答案: ADE

【9】下面程序中有错误的行是 D (每行程序前面的数字表示行号)。

1 main()

2 {

3 float a[3]={1};

4 int i;

5 scanf(“%d”,&a);

6 for(i=1;i<3;i++) a[0]=a[0]+a[i];

7 printf(“a[0]=%d\n”,a[0]);

8 }

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

【10】请回答下列问题。

(1)array是一个一维整形数组,有10个元素,前6个元素的初值是9,4,7,49,32,-5,请写出正确的说明语句。 ___

(2)该数组下标的取值范围是从___到___(从小到大)。

(3)如何用scanf函数输入数组的第二个元素。 ___

(4)如何用赋值语句把39存入第一个元素。 ___

(5)如何表示把第六个和第四个元素之和存入第一个元素。 ___

答案: int array[10] = {9,4,7,49,32,-5};

0 9

scanf("%d",&array[1]);

array[0] = 39;

array[0] = array[5] + array[3];

【11】若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为 A 。(假设a[0][0]位于数组的第一个位置上。)

A)i*m+j+1 B)j*m+i C)i*m+j-1 D)i*m+j

【12】若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是 B 。

A)2 B)3 C)4 D)无确定值

【13】定义如下变量和数组:

int k;

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

则下面语句的输出结果是 A 。

for(k=0;k<3;k++) printf("%d",a[k][2-k]);

A)3 5 7 B)3 6 9 C)1 5 9 D)1 4 7

【14】若有以下程序段:

……

int a[]={4,0,2,3,1}; i,j,t;

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

{

t=a[i]; j=i-1;

while(j>=0&&t>a[j])

{ a[j+1]=a[j]; j--; }

a[j+1]=t;

}

……

则该程序段的功能是 B 。

A)对数组a进行插入排序(升序)

B)对数组a进行插入排序(降序)

C)对数组a进行选择排序(升序)

D)对数组a进行选择排序(降序)

【题15】当运行以下程序时,从键盘输入:AhaMA Aha(表示回车),则下面程序的运行结果是 D 。

#include <>

main()

{

char s[80],c=‘a’;

int i=0;

scanf(“%s”,s);

while(s[i]!=‘\0’)

{

if(s[i]==c) s[i]=s[i]-32;

else if(s[i]==c-32) s[i]=s[i]+32;

i++;

}

puts(s);

}

A)ahAMa B)AhAMa C)AhAMa ahA D)ahAMa ahA

【题16】设数组a包括10个整型元素。下面程序的功能是求出a中各相邻两个元素的和,并将这些和存在数组b中,按每行3个元素的形式输出。请填空。

main()

{

int a[10],b[10],i;

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

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

for(【1】;i<10;i++)

【2】

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

{

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

if(【3】==0) printf(“\n”);

}

}

【1】i=1 【2】b[i]=a[i]+a[i-1] 【3】(i%3)

相关文档
最新文档