下列程序段的输出结果是1

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

第七章数组

一、填空:

(1) 下列程序段的输出结果是【1】。

main()

{ char b[]=”Hello,you”;

b[5]=0;

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

}

(2) 以下程序的输出结果是【2】。

main()

{ char s[]="abcdef";

s[3]=‘\0';

printf("%s\n",s);

}

(3) 若已定义:int a[10], i;,以下fun函数的功能是:在第一个循环中给前10个

数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1。请填空。

fun( int a[ ])

{ int i;

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

【3】=i;

for(i=0; i<5; i++) 【4】=a[i];

}

(4) 若有以下程序

main()

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

int i,j,s=0;

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

{ for(j=0;j<4;j++)

{ if(a[i][j]<0) continue;

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

s+=a[i][j];

}

}

printf("%d\n",s);

}

执行后输出结果是【5】

(5) 函数YangHui的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式

如下

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1.

其构成规律是:

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

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

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

请将程序补充完整。

#define N 6

void yanghui(int x[N][N])

{ int i,j;

x[0][0]=1;

for(i=1;i

{ x[i][0]=【6】=1;

for(j=1;j

x[i][j]= 【7】;

}

}

(6) 以下函数的功能是删除字符串s中的所有数字字符。请填空。

viod dele(char *s)

{ int n=0,i;

for(i=0;s[i];i++)

if(【8】)

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

s[n]=【9】;

}

二、选择:

(1) 若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是

A) &t[3][2] B ) t[3] C) t[1] D) t[2]

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

main()

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

for(i=0;i<3;i++) printf(“%d,”,x[i][2-i]);

}

A) 1,5,9 B) 1,4, 7

C) 3,5,7 D)3,6,9

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

main()

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

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

for(j=0;j<=i;j++)s+=a[i][j];

printf(“%dn”,s);

}

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

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

#include “stdio.h ”

#include “string.h”

main()

{ char ss[10]=“1,2,3,4,5”;

gets(ss); strcat(ss, “6789”);

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

}

A) ABC6789 B) ABC67

C) 12345ABC6 D) ABC456789

(5) 以下程序段的输出结果是

char s[]="\\141\141abc\t";

printf ("%d\n",strlen(s));

A) 9 B)12 C) 13 D) 14

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

main()

{ char ch[3][5]={"AAAA","BBB" ,"CC"};

printf("\"%s\"\n",ch [1]);

}

A) "AAAA" B) "BBB"

C) " BBBCC" D) "CC"

(7) 以下不能正确进行字符串赋初值的语句是

A) char str[5]="good!"; B) char str[]="good!";

C) char *str="good!"; D ) char str[5]={…g',…o',…o',…d'};

(8) 若有定义:int aa[ 8];则以下表达式中不能代表数组元aa[1]的地址的是

A) &aa[0]+1 B) &aa[1] C ) &aa[0]++ D) aa+1

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

main()

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

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

for(j=i;j<=i;j++) t=t+b[i][b[j][ j]];

printf("%d\n",t);

}

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

(10) 以下定义语句中,错误的是

A) int a[]={1,2}; B) char *a[3];

C) char s[10]=”test ”; D) int n=5,a[n];

(11) 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是

A) 3 B) 6 C) 10 D) 20

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

main()

{ int i, a[10];

相关文档
最新文档