当前位置:首页 > C语言程序设计教程第七道第十二章课后练习题
1 / 23
目录
习题7 ............................................................................................................................................... 1
选择题....................................................................................................................................... 1 2.程序填空题 ............................................................................................................................ 3 习题8 ............................................................................................................................................... 5
1.填空题.................................................................................................................................... 5 习题9 ............................................................................................................................................... 9
选择题....................................................................................................................................... 9 程序填空题 ............................................................................................................................. 12 习题10 ........................................................................................................................................... 13
选择题..................................................................................................................................... 13 习题11 ........................................................................................................................................... 15
选择题..................................................................................................................................... 15 程序填空题 ............................................................................................................................. 18 习题 12 .......................................................................................................................................... 20
选择题..................................................................................................................................... 20 程序填空题 ............................................................................................................................. 22
习题7
选择题
(1) 在C语言中,引用数组元素时,其数组下标的数据类型允许是( C)。
A.整型常量 B.整型表达式 C.整型常量或整型表达式 D.任何类型表达式
(2)若有说明:int a[0];则对数组元素的正确引用是(D)。
A.a[10]; B.a[3.5] C.a(5) D.a[10-10] (3)设有数组定义:char array[]=”china”;则数组array所占的空间为(C)。
A.4个字节 B.5个字节 C.6个字节 D.7个字节 (4)若二维数组a有m列,则在a[i][j]的元素个数为(B)
A.J*m+I B.i*m+j C.i*m+j-1 D.i*m+j+1 (5)若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是(B)。
A.2 B.3 C.4 D.无确定值 (6)以下不正确的定义语句是(B)。 A.double x[5]={2.0,4.0,6.0,8.0,10.0}; B. int y[5]={0,1,3,5,7,9}; C. char c1[]={‘1’,’2’,’3’,’4’,’5’}; D. char c2[]={‘\\x10’,’\\xa’,’\\x8’};
2 / 23
(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进行正确初始化的语句是(B)。
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}}; \\\\D中间初始值不存在,{}的初始化是错误的
(9)以下不能正确的字符串赋初值的语句是(A)。
A. char str[5]=”good!”; B. char str[]=”good!”;
C. char str[8]=”good!”; D. char str[5]={‘g’,’o’.’o’,’d’}; (10)判断字符串s1是否大于字符串s2,应当使用(D) A. if(s1>s2) B. if(strcmp(s1,s2)); C. if(strcmp(s2,s1)>0) D.if(strcmp(s1,s2)>0) (11)给出以下定义,则正确的叙述为(C)。 char x[]=”abcdefg”;
char y[]={‘a’, ’b’, ’c’, ’d’, ’e’, ’f’, ’g’};
A.数组x和数组Y等价 B.数组x和数组y的长度相同
C.数组X的长度大于数组y的长度 D.数组X的长度小于数组y的长度 (12)以下程序的输出结果是(B)。 void main() {
char st[20]=”hello\\0\\t\\\\\\”;
printf(“%d %d\\n”,sterlen(st),sizeof(st)); }
A.9 9 B.5 20 C.13 20 D.20 20 (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)当执行下面的程序时,如果输入ABC,则输出结果是(C)。 #include”stdio.h” #include”string.h” void 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 (15)以下程序的输出结果是(D)。 Void main()
3 / 23
{
char w[][10]={“ABCD”,”EFGH”,”IJKL”,”MNOP”},k; for(k=1;k<3;k++) priintf(“%s\\n”,w[k]); }
A. ABCD B.ABCD C.EFG D.EFGH
FGH EFG JK IJKL KL IJ 0 M (16)以下程序的输出结果是(A) void main() {
char arr[2][4];
strcpy(arr[0],”you”); strcpy(arr[1],”me”); arr[0][3]=’&’; printf(“%s\\n”,arr); }
A.you&me B.you C.me D.err
(17)已知:char str1[8],str2[8]={“good”};则在程序中不能将字符数组str2赋值给str1的语句是(A)
A.str1=str2; B. srcpy(str1,str2);
C. strcpy(str1,str2,6) //没有分号 D. memcpy(str1,str2,5); (18)下面程序段的运行结果是(C)。 char a[7]=”abcde”; char b[4]=”ABC”; strcpy(a,b); printf(“%c”,a[4]);
A.口 B.\\0 C. e D. f (20)下面程序的运行结果是(C)。 void main() {
char ch[7]={“65ab21”}; int i,s=0;
for(i=0;ch[i]>=’0’&&ch[i]<=’9’;i+=2) s=10*s+ch[i]-‘0’; printf(“%d\\n”,s); }
A.12ba56 B.6521 C.6 D.62
2.程序填空题
(1)一次是个评分统计程序,共有八个评委打分,统计时,去掉一个最高分和一个最低分,其余六个分数的平均分即是最后得分,程序最后应显示这个得分,显示精度为1位整数,2位小数,程序如下,请将程序补充完整。 #include
4 / 23
float x[8]={9.2,9.5,9.8,7.4,8.5,9.1,9.3,8.8}; flaot aver,max,min; int I;
for(i=0,over=0;i<8;i++) aver+=x[i]; max=x[0]; min=max;
for (i=1;i<8;i++) {
if(max
aver=(aver-min-max)/6; printf(“Average=4.2%f\\n”,aver); }
(2) 以下程序是实现在M行N列的二维数组中,找出每一行上的最大值。请将程序补充
完整
#define M 3 #define N 4 void main() {
int x[M][N]={1,5,7,4,2,6,4,3,8,2,3,1}; int I,j,p;
for(i=0;i for(j=1;j if(x[i][p] (3) 下面程序的功能是在三个字符串中找出最小的。请将程序补充完整 #include char s[20],str[3][20]; for(i=0;i<3;i++) gets(str[i]); srecpy(s,str[1]); if(strcmp(s,str[2]>0)) strcpy(s,str[2]); printf(“The min string is %s\\n”,s); }
共分享92篇相关文档