您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页C语言程序设计-第4章 练习题

C语言程序设计-第4章 练习题

来源:尚车旅游网
一、单项选择题

题目1

假定有一个元素类型为int的数组a[10],它所占用的存储空间的字节数为( )。 a. 40 b. 80 c. 10 d. 20

题目2

假定一维数组的定义为“char* a[8];”,则该数组所占用的存储空间的字节数为( )。 a. 16 b. 8 c. d. 32

题目3

假定有一个定义语句为“int a[10]={3,4,2,8,6};”,则元素a[5]的值为( )。 a. 0 b. 6 c. 2 d. 8

题目4

在下面的一维数组定义语句中,有语法错误的是( )。 a. int a[];

b. int a[5]; c. int a[10]={0}; d. int a[]={1,2,3};

题目5

假定二维数组的定义语句为“int a[3][5];”,则该数组所含元素的个数为( )。 a. 10 b. 12 c. 15 d. 8

题目6

假定有一个定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为( )。 a. 6 b. 8 c. 4 d. 2

题目7

对于一个长度为n的字符串,保存它至少需要占用的存储字节数为( )。 a. n-1 b. n+1 c. n d. n+2

题目8

对于一个二维字符数组a[M][N],存储每个字符串的长度至多为( )。 a. N-1 b. N c. M d. M-1

题目9

若需要比较两个字符串的大小,则选用的函数是( )。 a. strlen b. strcmp c. strcpy d. strcat 二、判断题

题目10

一维数组元素带有两个下标。

对 错

题目11

对于二维数组元素,数组名后使用两对中括号。

对 错

题目12

在一维数组的定义语句中,给数组赋初值的部分是用一对花括号括起来的数据表。

对 错

题目13

在一维数组的定义语句中,数组名前为元素类型关键字。

对 错

题目14

在二维数组的定义语句中,数组名后带有两对圆括号。

对 错

题目15

假定二维数组的定义语句为“double a[M][N];”,则每个数组元素的列下标取值范围在1~N之间。

对 错

题目16

使用“typedef char BB[10];”语句定义标识符BB为含有10个元素的一维字符数组。

对 错

题目17

使用“typedef char BB[10][50];”语句定义标识符BB为含有10行50列共500个元素的二维字符数组类型。

对 错

题目18

一个二维字符数组a[10][20]中存储每个字符串的最大长度为19。

对 错

三、程序填空题

题目19

#include void main() {

int a[8]={10,8,6,15,9,21,8,16}; int i,x=a[0]; for(i=1;i<8;i++) if(a[i]>x) x=a[i]; printf(\"x=%d\\n\} 答案:

题目20

#include void main() {

int a[8]={12,15,20,8,5,9,16,10}; int i,s[3]={0}; for(i=0; i<8; i++) s[a[i]%3]+=a[i];

printf(\"%d %d %d\\n\} 答案:

题目21

#include void main() {

int a[3][3]={{3,8,6},{5,9,2},{8,5,12}};

int i,j,b[3]={0}; for(i=0;i<3;i++) for(j=0;j<3;j++) b[j]+=a[i][j];

for(j=0; j<3; j++) printf(\"%d \} 答案:

题目22

#include void main() {

int a[3][4]={{60,75,83,52},{76,94,88,35},{80,74,46,90}}; int i,j,x=a[0][0],y=-1; for(i=0; i<3; i++) for(j=0; j<4; j++)

if(a[i][j]>x) {y=x; x=a[i][j];} else if(a[i][j]>y) y=a[i][j]; printf(\"%d %d\\n\} 答案:

题目23

#include #include void main() {

char a[10],b[10],c[10]; int c1,c2,c3;

scanf(\"%s %s %s\

c1=strlen(a); c2=strlen(b); c3=strlen(c); if(c1>c2 && c1>c3) printf(\"%s \ else if(c2>c1 && c2>c3) printf(\"%s \ else printf(\"%s \}

答案:

题目24

#include void main() {

char a[]=\"abcdbfbgacd\"; int i=0,i1=0,i2=0,i3=0; for(i=0; a[i]!='\\0'; i++) { switch(a[i]) {

case 'a': i1++; break; case 'b': i2++; break; case 'c': i3++; break; } }

printf(\"%d %d %d %d\\n\} 答案:

题目25

#include void main() {

char a[]=\"12342345342356\"; int i,c[7]={0}; for(i=0; a[i]!='\\0'; i++)

c[a[i]-48]++; //48为数字字符0的ASCII码 for(i=1; i<7; i++) printf(\"%d \} 答案:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务