C语言习题集(8)

2020-03-26 23:20

11.若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维大小是 。 A)2 B)3 C)4 D)无确定值

12.以下不正确的定义语句是 。

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?} ;

13.下面程序段的输出结果是 。 int k,a[3][3]={1,2,3,4,5,6,7,8,9};

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.下面是对s的初始化,其中不正确的是 。

A)char s[5]={“abc”}; B)char s[5]={?a?,?b?,?c?}; C)char s[5]=” ”; D)char s[5]=”abcdef”;

15.下面程序段的输出结果是 。 char c[5]={?a?,?b?,?\\0?,?c?,?\\0?} printf(“%s”,c);

A)?a??b? B)ab C)ab c D)abc

16.若有程序段:

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

for (k=0;k<3;k++) printf(“%d”,a[k][2-k]); 则以下叙述正确的是 。

A)a与b数组完全相同 B)a与b长度相同

C)a和b中都存放字符串 D)a数组比b数组长度长

17.有两个字符数组a,b,则以下正确的输入语句是 。 A)gets(a,b); B)scanf(“%s%s”,a,b); C)scanf(“%s%s”,&a,&b); D)gets(“a”),gets(“b”);

18.下面程序段的输出结果是 。 char a[7]=”abcdef”; char b[4]=”ABC”; strcpy(a,b);

printf(“%c”,a[5]);

A) B)\\0 C)e D)f

19.下面程序段的输出结果是 。 char c[ ]=”\\t\\v\\\\\\0will\\n”; printf(“%d”,strlen(c));

A)14 B)3 C) 9 D)6

20.判断字符串a和b是否相等,应当使用 。 A)if (a==b) B)if (a=b)

C)if (strcpy(a,b)) D) if (strcmp(a,b))

21.判断字符串a是否大于b,应当使用 。 A)if (a>b) B)if (strcmp(a,b)) C)if (strcmp(b,a)>0) D)if (strcmp(a,b)>0)

22.下面叙述正确的是 。

A)两个字符串所包含的字符个数相同时,才能比较字符串 B)字符个数多的字符串比字符个数少的字符串大 C)字符串”STOP ”与”STOP”相等 D)字符串”That”小于字符串”The”

23.下面有关字符数组的描述中错误的是 。 A)字符数组可以存放字符串 B)字符串可以整体输入,输出

C)可以在赋值语句中通过赋值运算对字符数组整体赋值 D)不可以用关系运算符对字符数组中的字符串进行比较

24.下面程序的输出结果是 。 main ( )

{ char ch[7]=”12ab56”; 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)1 B)1256 C)12ab56 D)ab

25.下面程序的输出结果是 。 main ( ) {

char str[ ]=”SSWLIA” , C; int k;

for (k=2;(c=str[k])!=?\\0?;k++) { switch (c) {

case ?I? : ++k; break ; case ?L?: continue;

default : putchar(c) ; continue ; }

putchar(?*?); } }

A)SSW B)SW* C)SW*A D)SW

二.填空题

1.在C语言中,二维数组的元素在内存中的存放顺序是 。

2.若有定义:double x[3][5],则x数组中行下标的下限为 ,列下标的下限为 。

3.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]的值为 ,a[2][1]得到的值为 。

4.字符串”ab\\n\\\\012\\\\”的长度是 。

5.下面程序段的运行结果是 。 char x[ ]=”the teacher”; int i=0;

while (x[++i]!=?\\0?)

if (x[i-1]==?t?) printf(“%c”,x[i]);

6.欲为字符串S1输入”Hello World!”,其语句是 。

7.欲将字符串S1复制到字符串S2中,其语句是 。

8.如果在程序中调用了strcat函数,则需要预处理命令 。如果调用了gets函数,则需要预处理命令 。

9.C语言数组的下标总是从 开始,不可以为负数;构成数组各个元素具有相同的 。

10.字符串是以 为结束标志的一维字符数组。有定义:char a[]=””;则a数组的长度是 。

三.程序阅读题

1.写出下面程序的运行结果。 main ( )

{ int a[6][6],i,j ; for (i=1; i<6 ; i++) for (j=1 ; j<6 ; j++) a[i][j]=(i/j)*(j/i) ; for (i=1;i<6 ; i++) { for (j=1 ; j<6 ; j++) printf(“-”,a[i][j]) ; printf(“\\n”); } }

2.写出下面程序的运行结果。 main ( ) { int i=0;

char a[ ]=”abm”, b[ ]=”aqid”, c[10]; while (a[i]!=?\\0? && b[i]!=?\\0?) { if (a[i]>=b[i]) c[i]=a[i]-32 ; else c[i]=b[i]-32 ; i++; }

c[i]=?\\0?; puts(c);

}

3.当运行下面程序时,从键盘上输入AabD↙,则写出下面程序的运行结果。 main ( ) { char s[80]; int i=0; gets(s);

while (s[i]!=?\\0?) {

if (s[i]<=?z? && s[i]>=?a?) s[i]=?z?+?a?-s[i] ; i++; }

puts(s);

}

4.写出下面程序的运行结果。 main ( ) { int i,c;

char s[2][5]={“8980”,”9198”}; for (i=3; i>=0 ; i--) {

c=s[0][i]+s[1][i]-2*?0?; s[0][j] = c % 10 + ?\\0? ; }

for (i=0; i<=1; i++) puts(s[i]);

}

5.当运行下面程序时,从键盘上输入7 4 8 9 1 5↙,则写出下面程序的运行结果。 main ( )

{ int a[6],i,j,k,m; for (i=0 ; i<6 ; i++) scanf (“%d”,&a[i]); for (i=5 ; i>=0; i--) { k=a[5];

for (j=4; j>=0; j--)


C语言习题集(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:早黑宝葡萄的花果管理技术

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: