C语言程序设计第七章网上作业

更新时间:2023-03-14 02:52:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《C语言程序设计》第7章作业

布置日期:2015-4-28 截止日期:2015-5-13 一、 单选题 (每小题2.5分,共100分)

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

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

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

2、若有定义: int a[10] ,则对数组 a 元素的正确引用是________ 。

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

3、下面能正常定义数组的是: A、int a[10]={0;1;2;3;4;5;6;7;8;9}; B、int a(10)={10}; C、int a[ ]={0}; D、int a[n]={10*1};

4、若有定义: int a[3][4], 则对数组 a 元素的正确引用是_______ 。 A、a[2][4] B、a[1,3] C、a(2)

D、a[10-10][3]

5、以下能对二维数组 a 进行正确初始化的语句是________ 。

A、int a[2][]={{1,0,1},{5,2,3}} ; B、int a[][3]={{1,2,3},{4,5,6}} ; C、int a[2][4]={{1,2,3},{4,5},{6}} ; D、int a[][3]={{1,0,1},{},{1,1}} ;

6、对 s 的初始化,其中不正确的是_________ 。

A、char s[5]={“abc”}; B、char s[5]={‘a','b','c'}; C、char s[5]=” ”;

D、char s[5]=”abcdef”;

7、下列有关字符数组的描述中错误的是_________ 。

A、字符串可以整体输入,输出;

B、可以在赋值语句中通过赋值运算对字符数组整体赋值 ; C、字符数组可以存放字符串;

D、不可以用关系运算符对字符数组中的字符串进行比较 。

8、要说明一个有10个int元素的数组,应当选择语句______。 A、int a[10]; B、int a[2,5]; C、int a[]; D、int *a[10];

9、若用数组名作为函数调用时的实参,则实际上传递给形参的是______。 A、数组首地址

B、数组的第一个元素 C、数组中全部元素的值 D、数组元素的个数

10、在C语言中,二维数组元素在内存中的存放顺序是______。 A、按行存放 B、按列存放

C、由用户自己定义 D、由编译器决定

11、已知下列程序段,则______。 char a[3],b[]=\a=b;

printf(\

A、运行后将输出China B、运行后将输出Ch C、运行后将输出Chi D、程序出错

12、若二维数组a有m列,则在a[i][j]之前的元素个数为______。 A、j*m+i B、i*m+j C、i*m+j-1 D、i*m+j+1

13、若有说明int a[3][3]={{1},{1},{1}};,则正确的叙述是______。 A、数组a的第0行元素全为1 B、数组a的第0列元素全为1

C、数组a的前3个元素为1 D、数组a的最后3个元素为1

14、若用数组名作为函数调用的实参,则传递给形参的是______。 A、数组的首地址

B、数组的第一个元素的值 C、数组中全部元素的值 D、数组元素的个数

15、当输出含空格的字符串时,应使用( )函数。 A、printf() B、puts() C、putchar () D、putc()

16、当接收用户键入的含空格的字符串时,应使用( )函数。 A、Scanf() B、Gets() C、Getchar() D、Getc()

17、在执行 char str[10]=”ch\\nina” ; strlen(str) 的结果是( )。 A、5 B、6 C、7 D、9

18、若定义 int a[3][2] ;则 printf(\语句输出的是第( )个元素。

A、1 B、3 C、4 D、5

19、以下对一维数组进行正确初始化的语句是( )。 A、int a[3]=(0,1}; B、int a[3]={}; C、int a[]=[0]; D、int a[3]={3*2};

20、若定义 int a[10] ;则对 a 数组元素的正确引用是( )。

A、a[10]

B、a[4.3] C、a(5) D、a[6-6]

21、以下不能对二维数组x进行正确初始化的语句是_________。 A、int x[][2]={{1},{2},{3}}; B、int x[3][]={1,2,3};

C、int x[3][2]={{1,2},{3,4},{5,6}}; D、int x[3][2]={0};

22、合法的数组定义是______。 A、int a[]=\

B、int a[5]={0,1,2,3,4,5}; C、char a=\

D、char a[]={0,1,2,3,4,5};

23、若有如下数组定义和语句,则输出结果是(以下u代表空格)______。 char s[10]=\printf(\

A、abcd B、a

C、abcduuuuu D、编译不通过

24、数组a[2][2]的元素排列次序是______。 A、a[0][0],a[0][1],a[1][0],a[1][1] B、a[0][0],a[1][0],a[0][1],a[1][1] C、a[1][1],a[1][2],a[2][1],a[2][2] D、a[1][1],a[2][1],a[1][2],a[2][2]

25、有以下语句,则下面正确的描述是______。 static char x[]=\

static char y[]={‘1’,‘2’,‘3’,‘4’,‘5’};

A、x数组和y数组的长度相同 B、x数组长度大于y数组长度 C、x数组长度小于y数组长度 D、x数组等价于y数组

26、若a[3][5]是一个二维数组,则最多可使用的元素个数为______。 A、8 B、10 C、15 D、5

27、若有说明“int a[3][4];”,则对a数组元素的非法引用是______。 A、a['B'-'A'][2*1] B、a[1][3] C、a[4-2][0] D、a[0][4]

28、字符串\的长度为______。 A、9 B、8 C、6 D、7

29、以下数组定义中不正确的是______。 A、int a[2][3];

B、int b[][3]={1,2,3,4,5,6}; C、int c[100][100]={0};

D、int d[3][]={{1,2},{1,2,3},{1,2,3,4}};

30、设有数组定义“char array[]=\则数组array所占的空间为___个字节。 A、4 B、5 C、6 D、7

31、有定义语句“int b;char c[10];”,则正确的输入语句是______。 A、scanf(\ B、scanf(\ C、scanf(\ D、scanf(\

32、执行以下程序后,输出的结果为______。 #include void main( ) {

static char ch[ ]={‘6’,‘2’,‘3’}; int a,s=0;

for(a=0;ch[a]>=‘0’&&ch[a]<=‘9’;a++) s=10*s+ch[a]-‘0’; printf(\}

A、s=623 B、s=263 C、s=326

D、s=236

33、以下程序的输出结果是______。 #include void main( ) {

int p[8]={11,12,13,14,15,16,17,18},i=0,j=0; while(i++<7)

if(p[i]%2) j+=p[i]; printf(\}

A、42 B、45 C、56 D、60

34、定义如下字符数组c,则字符数组c的长度是______。 char c[]=\ A、9 B、10 C、11 D、12

35、定义如下一维数组a和b,则引用数组元素a[4]和b[4]的值分别是____和____。 int a[5]={1,2,3}; static b[5]= {1,2,3};

A、不确定的 不确定的 B、不确定的 0 C、0 0

D、0 不确定的

36、定义如下二维数组a和b,则a、b数组第一维的大小是______。数组元素a[2][2]和b[2][2]的值分别是______和______。 int a[][3]={1,2,3,4,5,6,7};

static int b[][3]={1,2,3,4,5,6,7}; A、2 不确定的 0 B、3 不确定的 0

C、2 不确定的 不确定的 D、3 0 0

37、下列程序的输出结果是______。 #include void main() {

int y=18,i=0,j,a[8]; do{

a[i]=y%2; i++; y=y/2; }while(y>=1); for(j=i-1;j>=0;j--) printf(\ printf(\}

A、10001 B、10010 C、10101 D、10110

38、下列程序的功能是:求出数组x中各相邻两个元素的和并依次存放到a数组中,然后输出。请填空。 #include void main( ) {

int x[10],a[9],i; for(i=0;i<10;i++) scanf(\ for( ① ;i<10;i++) a[i-1]=x[i]+ ② ; for(i=0;i<9;i++) printf(\ printf(\}

A、① i=0 ② x[i-1] B、① i=0 ② x[i+1] C、① i=1 ② x[i-1] D、① i=1 ② x[i+1]

39、输入一个正整数n(1 void main( ) {

int i,index,n,x,a[10]; scanf(\ for(i=0;i

scanf(\ ① ); scanf(\

② ;

for(i=0;i

if(index!=-1)printf(\ else printf(\}

A、① &a[n] ② index=-1 ③ continue B、① &a[n] ② index=0 ③ break C、① &a[i] ② index=-1 ③ break D、① &a[i] ② index=0 ③ continue

40、下面程序的功能是统计输入字符串(以回车结束)中元音字母的个数,请填空。 #include void main( ) {

char s[100],alpha[]={‘a’, ‘e’, ‘i’, ‘o’, ‘u’}; static int num[5]; int i=0,k;

while((s[i]=getchar())!=‘\\n’) i++; s[i]= ‘\\0’;i=0; while(s[i]!=‘\\0’){ for(k=0;k<5;k++) if( ① ){

num[k]++; ②; }

i++; }

for(k=0;k<5;k++)

printf(\n\ }

A、① s[k]==alpha[i] ② continue ③ num[k] B、① s[i]==alpha[k] ② break ③ num[k] C、① s[k]==alpha[i] ② continue ③ num[i] D、① s[i]==alpha[k] ② break ③ num[i]

本文来源:https://www.bwwdw.com/article/j0vx.html

Top