习题6(第七章)数组 下载本文

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”); } }

A)1 1 1 1 1 B)0 0 0 0 1 C)1 0 0 0 0 D)1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1

【题7.28】下面程序的运行结果是 C 。 main() { int a[6],i; for(i=1;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf(“-”,a[i]); } }

A)-4 0 4 0 4 B)-4 0 4 0 3 C)-4 0 4 4 3 D)-4 0 4 4 0

【题7.29】下面是对s的初始化,其中不正确的是 D 。

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

【题7.30】下面程序段的运行结果是 B 。 char c[5]={‘a’,‘b’,‘\\0’,‘c’,‘\\0’}; printf(“%s”,c);

A)‘a’‘b’ B)ab C)ab c

【题7.31】对两个数组a和b进行如下初始化 char a[]=“ABCDEF”; char b[]={‘A’, ‘B’,‘C’,‘D’,‘E’,‘F’};

则以下叙述正确的是 D 。

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

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

【题7.32】有两个字符数组a、b,则以下正确的输入格式是 B 。 A)gets(a,b); B)scanf(“%s %s”,a,b); C)scanf(“%s %s”,&a,&b); D)gets(“a”),get(“b”);

【题7.33】有字符数组a[80]和b[80],则正确的输出形式是 D 。

A)puts(a,b); B)printf(“%s %s”,a[],b[]); C)putchar(a,b); D)puts(a),puts(b);

【题7.34】下面程序段的运行结果是 D 。 char a[7]=“abcdef”; char b[4]=“ABC”; strcpy(a,b); printf(“%c”,a[5]);

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

【题7.35】有下面的程序段 char a[3],b[]=“China”; a=b; printf(“%s”,a); 则 D 。

A)运行后将输出China B)运行后将输出Ch C)运行后将输出Chi D)编译出错

【题7.36】下面程序段的运行结果是 B 。 char c[]=“\\t\\v\\\\\\0will\\n”; printf(“%d”,strlen(c));

A)14 B)3 C)9 D)字符串中有非法字符,输出值不确定

【题7.37】判断字符串a和b是否相等,应当使用 D 。 A)if(a==b) B)if(a=b)

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

【题7.38】判断字符串s1是否大于字符串s2,应当使用 D 。 A)if(s1>s2) B)if(strcmp(s1,s2)) C)if(strcmp(s2,s1)>0) D)if(strcmp(s1,s2)>0)

【题7.39】下面程序段是输出两个字符串中对应字符相等的字符。请选择填空。 char x[]=“programming”; A char y[]=“Fortran”; int i=0;

while(x[i]!=‘\\0’&&y[i]!= ‘\\0’) { if(x[i]==y[i]) printf(“%c”,【1】); else i++; } 【1】 A)x[i++] B)y[++i] C)x[i] D)y[i]

【题7.40】下面描述正确的是 D 。

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

【题7.41】下述对C语言字符数组的描述中错误的是 C 。

A) 字符数组可以存放字符串

B) 字符数组的字符串可以整体输入、输出

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

【题7.42】有已排好序的字符串a,下面的程序是将字符串s中的每个字符按a中元素的规

律插入到a中。请选择填空。 BB

#include main() { char a[20]=“cehiknqtw”; char s[]=“fbla”; int i,k,j; for(k=0;s[k]!=‘\\0’;k++) { j=0; while(s[k]>=a[j]&&a[j]!=‘\\0’) j++; for(【1】) 【2】; a[j]=s[k]; } puts(a); } 【1】 A)i=strlen(a)+k; i>=j; i-- B)i=strlen(a); i>=j; i-- C)i=j; i<=strlen(a)+k; i++ D)i=j; i<=strlen(a); i++ 【2】 A)a[i]=a[i+1] B)a[i+1]=a[i] C)a[i]=a[i-1] D)a[i-1]=a[i]

【题7.43】下面程序的功能是将已按升序排好序的两个字符串a和b中的字符按升序归并

到字符串c中。请选择填空。 ADA

#include

main() { char a[]=“acegikm”; char b[]=“bdfhjlnpq”; char c[80],*p; int i=0,j=0,k=0; while(a[i]!=‘\\0’&&b[j]!=‘\\0’) { if(a[i]

【题7.44】下面程序的功能是将字符串s中所有的字符c删除。请选择填空。 A #include main() { char s[80]; int i,j; gets(s); for(i=j=0;s[i]!=‘\\0’;i++) if(s[i]!=‘c’) 【1】; s[j]=‘\\0’; puts(s); } 【1】 A)s[j++]=s[i] B)s[++j]=s[i] C)s[j]=s[i]; j++ D)s[j]=s[i]

【题7.45】下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用

空格分隔。请选择填空。 B

#include main()