C语言第七章复习题含答案.docx

上传人:b****5 文档编号:7544379 上传时间:2023-01-24 格式:DOCX 页数:11 大小:21.42KB
下载 相关 举报
C语言第七章复习题含答案.docx_第1页
第1页 / 共11页
C语言第七章复习题含答案.docx_第2页
第2页 / 共11页
C语言第七章复习题含答案.docx_第3页
第3页 / 共11页
C语言第七章复习题含答案.docx_第4页
第4页 / 共11页
C语言第七章复习题含答案.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

C语言第七章复习题含答案.docx

《C语言第七章复习题含答案.docx》由会员分享,可在线阅读,更多相关《C语言第七章复习题含答案.docx(11页珍藏版)》请在冰豆网上搜索。

C语言第七章复习题含答案.docx

C语言第七章复习题含答案

1.下列对C语言字符数组的描述中错误的是(C)。

(A)字符数组可以存放字符串(B)字符数组中的字符串可以整体输入、输出

(C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值

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

2.不能把字符串:

Hello!

赋给数组b的语句是(B)。

(A)charb[10]={'H','e','l','l','o','!

'};

(B)charb[10];b="Hello!

";

(C)charb[10];strcpy(b,"Hello!

");

(D)charb[10]="Hello!

";

3.若有以下说明:

inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};

charc='a',d,g;

则数值为4的表达式是(D)。

(A)a[g-c](B)a[4](C)a['d'-'c'](D)a['d'-c]

4.以下程序的输出结果是(B)

(A)20(B)21(C)22(D)23

main()

{inti,k,a[10],p[3];

k=5;

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

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

for(i=0;i<3;i++)k+=p[i]*2;

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

5.以下程序的输出结果是(C)。

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

main()

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

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

6.下面程序运行的结果是(C)。

(A)2ba56(B)6521(C)6(D)62

main()

{charch[7]={“65ab21“};

inti,s=0

for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)

s=10*s+ch[i]-'0';

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

}

7.合法的数组定义是(D)。

(A)inta[]="string";(B)inta[5]={0,1,2,3,4,5};

(C)chars[6]="string";(D)chara[]={0,1,2,3,4,5};

8.函数调用:

strcat(strcpy(str1,str2),str3)的功能是(C)。

(A)将串str1复制到串str2中后再连接到串str3之后

(B)将串str1连接到串str2之后再复制到串str3之后

(C)将串str2复制到串str1中后再将串str3连接到串str1之后

(D)将串str2连接到串str1之后再将串str1复制到串str3中

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

main()

{charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;

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

printf("%s\n",&w[k][k]);

}

(A)ABCD(B)ABCD

FGHEFG

KLIJ

M

(C)EFG(D)FGH

JKKL

O

10.有以下程序

  main()

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

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

}

程序执行后的输出结果是(B)。

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

11.给出以下定义:

charx[]="abcdefg";

chary[]={'a','b','c','d','e','f','g'};

则正确的叙述为(C)。

(A)数组x和数组y等价(B)数组x和数组y的长度相同

(C)数组x的长度大于数组y的长度(D)数组x的长度小于数组y的长度

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

main()

{inti,k,a[10],p[3]:

k=5;

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

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

for(i=0;i<3;i++)k+=p[i]*2;

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

}

(A)20(B)21(C)22(D)23

13.下面能正确进行字符串赋值操作的语句是(C)。

(A)chars[5]={"ABCDE"};(B)chars[5]={'A','B','C','D','E'};

(C)char*s;s="ABCDEF";(D)char*s;scanf("%s",s);

14.下列描述中不正确的是(C)。

(A)字符型数组中可以存放字符串

(B)可以对字符型数组进行整体输入、输出

(C)可以对整型数组进行整体输入、输出

(D)不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值

15.有以下程序

main()

{charp[]={'a','b','c'},q[]="abc";

printf("%d%d\n",sizeof(p),sizeof(q));

};

程序运行后的输出结果是(C)。

(A)44(B)33(C)34(D)43

16.以下程序的输出结果是(B)。

(A)6(B)6789(C)'6'(D)789

main()

{chara[10]={'1','2','3','4','5','6','7','8','9'},*p;

inti;

i=8;

p=a+i;

printf("%s\n",p-3);

}

17.执行下面的程序段后,变量k中的值为(A)。

(A)不定值(B)33(C)30(D)10

intk=3,s[2];

s[0]=k;k=s[1]*10;

18.设有数组定义:

chararray[]="China";则数组array所占的空间为(C)。

(A)4个字节(B)5个字节(C)6个字节(D)7个字节

19.下列程序执行后的输出结果是(A)。

(A)you&me(B)you(C)me(D)err

main()

{chararr[2][4];

strcpy(arr,"you");strcpy(arr[1],"me");

arr[0][3]='&';

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

}

20.以下程序的输出结果是(B)

main()

{inti,k,a[10],p[3];

k=5;

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

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

for(i=0;i<3;i++)k+=p[i]*2;

printf("%d\n",k);}

(A)20(B)21(C)22(D)23

21.若有以下的定义:

intt[3][2];能正确表示t数组元素地址的表达式是(D)。

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

22.以下程序的输出结果是(B)。

(A)20(B)21(C)22(D)23

main()

{inti,k,a[10],p[3];

k=5;

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

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

for(i=0;i<3;i++)k+=p[i]*2;

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

}

23.以下程序的输出结果是(C)。

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

main()

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

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

}

24.以下程序的输出结果是(D)。

(A)ABCD(B)ABCD(C)EFG(D)EFGH

FGHEFGJKIJKL

KLIJO

M

main()

{charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;

for(k=1;k<3;k++)printf("%s\n",w[k]);

}

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

(A)ABC6789(B)ABC67(C)12345ABC6(D)ABC456789

#include"stdio.h"

#include"string.h"

main()

{charss[10]="1,2,3,4,5";

gets(ss);strcat(ss,"6789");printf("%s\n",ss);

}

26.假定int类型变量占用两个字节,其有定义:

intx[10]={0,2,4};,则数组x在内存中所占字节数是(D)。

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

27.以下程序的输出结果是(C)。

main()

{inti,a[10];

for(i=9;i>=0;i--)a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);

}

(A)258(B)741(C)852(D)369

28.以下数组定义中不正确的是(D)。

(A)inta[2][3];

(B)intb[][3]={0,1,2,3};

(C)intc[100][100]={0};

(D)intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

29.以下程序的输出结果是(A)。

main()

{inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};

printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0];

}

(A)0650(B)1470(C)5430(D)输出值不定

30.已有定义:

chara[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是(C)。

(A)数组a和b的长度相同(B)a数组长度小于b数组长度

(C)a数组长度大于b数组长度(D)上述说法都不对

31. 以下程序段的输出结果是(A)。

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

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

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

32. 以下程序段的输出结果是(A)。

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

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

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

33. 以下程序的输出结果是(B)。

main()

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

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

}

(A) "AAAA"      (B) "BBB"     (C) "BBBCC"    (D) "CC"

34.若有定义:

int  aa[ 8];,则以下表达式中不能代表数组元aa[1]的地址的是(C)。

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

35.  以下程序的输出结果是(B)。

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[b[j][j]];

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

}

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

36.有以下程序

main()

{ char a[ ]={‘a’,‘b’,‘c’,‘d’, ‘e’, ‘f’, ‘g’,‘h’,‘\0’};

 int  i,j;

i=sizeof(a);   j=strlen(a);

printf(“%d,%d\b”,i,j);

}

程序运行后的输出结果是(D)。

(A) 9,9  (B) 8,9    (C) 1,8     (D) 9,8

37. 有以下程序

main()

{ int p[7]={11,13,14,15,16,17,18},i=0,k=0;

 while(i<7&&p%2){k=k+p;i++;}

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

}

执行后输出结果是(D)。

(A) 58 (B) 56 (C) 45 (D) 24

38. 以下能正确定义数组并正确赋初值的语句是(D)。

(A) int N=5,b[N][N];    (B) int  a[1][2]={{1},{3}};

(C) int c[2][]={{1,2},{3,4}};  (D) int d[3][2]={{1,2},{3,4}};

39.有以下程序

main()

{ char s[]="\n123\\";

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

}

执行后输出结果是(C)。

(A) 赋初值的字符串有错 (B) 6,7 (C) 5,6     (D) 6,6

40.以下不能正确定义二维数组的选项是(D)。

(A)int a[2][2]={{1},{2}}; (B)int a[][2]={1,2,3,4};

(C)int a[2][2]={{1},2,3}; (D)int a[2][]={{1,2},{3,4}};

41.有以下程序

main( )

{  char a[]=”abcdefg”,b[10]=”abcdefg”;

   printf(“%d  %d\n”,sizeof(a) ,sizeof(b) );

}

执行后输出结果是(C)。

(A) 7  7    (B) 8 8    (C) 8 10   (D) 10 10

42.以下能正确定义二维数组的是(A)。

(A)inta[][3];(B)inta[][3]=2{2*3};

(C)inta[][3]={};(D)inta[2][3]={{1},{2},{3,4}};

43.s1和s2已正确定义并分别指向两个字符串。

若要求:

当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是(C)。

(A)if(s1>s2)S;(B)if(strcmp(s1,s2))S;

(C)if(strcmp(s2,s1)>0)S;(D)if(strcmp(s1,s2)>0)S;

44.有以下程序

main()

{intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;

while(i++<7)if(p%2)j+=p;

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

}

程序运行后的输出结果是(B)。

(A)42(B)45(C)56(D)60

45.有以下程序

main()

{chara[7]="a0\0a0\0";inti,j;

i=sizeof(a);j=strlen(a);

printf("%d%d\n",i,j);

}

程序运行后的输出结果是(C)。

(A)22(B)76(C)72(D)62

46.以下能正确定义一维数组的选项是(B)。

(A)inta[5]={0,1,2,3,4,5};(B)chara[]={0,1,2,3,4,5};

(C)chara={'A','B','C'};(D)inta[5]="0123";

47.已有定义:

chara[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是(C)。

(A)数组a和b的长度相同(B)a数组长度小于b数组长度

(C)a数组长度大于b数组长度(D)上述说法都不对

48.以下叙述中错误的是(C)。

(A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出

(B)数组名代表的是数组所占存储区的首地址,其值不可改变

(C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息

(D)可以通过赋初值的方式确定数组元素的个数

49.有以下程序

main()

{charp[]={'a','b','c'},q[]="abc";

printf("%d%d\n",sizeof(p),sizeof(q));

};

程序运行后的输出结果是(C)。

(A)44(B)33(C)34(D)43

50.#include

main()

{charp[]={'a','b','c'},q[10]={'a','b','c'};

printf("%d%d\n",strlen(p),strlen(q));

}

以下叙述中正确的是(B)。

(A)在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

(B)由于p数组中没有字符串结束符,长度不能确定;但q数组中字符串长度为3

(C)由于q数组中没有字符串结束符,长度不能确定;但p数组中字符串长度为3

(D)由于p和q数组中都没有字符串结束符,故长度都不能确定

51.以下能正确定义字符串的语句是(D)。

(A)char str[]={′\064′};(B)char str="kx43";

(C)char str=";  (D)char str[]="\0";

52.以下数组定义中错误的是(B)。

(A)int x[][3]={0};

(B)int x[2][3]={{l,2},{3,4},{5,6}};

(C)int x[][3]={{l,2,3},{4,5,6}};

(D)int x[2][3]={l,2,3,4,5,6}; 

53.若要求从键盘读入含有空格字符的字符串,应使用函数(B)。

(A)getc()(B)gets()(C)getchar()(D)scanf() 

54.若有定义语句:

inta[3][6];,按在内存中的存放顺序,a数组的第10个元素是(B)。

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

55.有以下程序

  main()

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

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

}

程序执行后的输出结果是3 5 7。

56.下列程序的输出结果是CDABC。

#include

main()

{charb[30],*chp;

strcpy(&b[0],"CH");

strcpy(&b[1],"DEF");

strcpy(&b[2],"ABC");

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

}

57.下面程序的功能是:

将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。

请填空。

#include  

#include

main()

{chara[]="clanguage",t;

inti,j,k;

k=strlen(a);

for(i=0;i<=k-2;i+=2)

for(j=i+2;j<=k;j+=2)

if(a[i]>a[j]或a[i]>=a[j]

{t=a[i];a[i]=a[j];a[j]=t;}

puts(a);

printf("\n");}

58.下列程序段的输出结果是Hello。

main()

{charb[]="Hello,you";

b[5]=0;

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

}

59.以下程序的输出结果是abc 。

main()

{  char   s[]="abcdef";

   s[3]=‘\0';

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

60.有以下程序

main()

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

 int i,j,k=2;

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

{ printf("%d",m[k]); }

}

执行后输出结果是 3 6 9。

61.以下程序运行后的输出结果是__24____。

main()

{intp[7]={11,13,14,15,16,17,18};

inti=0,j=0;

while(i<7&&p%2==1)j+=p[i++];

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

}

62.以下程序运行后的输出结果是_92___。

main()

{inta[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};

inti=0,j=0,s=0;

while(i++<4)

{

if(i==2||i==4)continue;

j=0;

do{s+=a[j];j++;}while(j<4);

}

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

}

63.以下程序的输出结果是30 。

main()

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

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

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

}

64.一个3×20的整数数组,要求输出该数组中的最小值,并将其行号和列号输出。

(10分)

65.有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

66.从字符串中删除指定的字符。

同一字母的大小写按不同字符处理。

例如:

若程序执行时,输入字符串为:

turbocandBorlandc++,从键盘上输入字符:

n,则输出后变为:

t

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1