(46) 下面能正确进行字符串赋值操作的语句是
A) char s[5]={"ABCDE"};
B) char s[5]={'A','B','C','D','E'};
C) char *s;s="ABCDEF";
D) char *s; scanf("%s",s);
(47) 以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为
A) 8
B) 7
C) 6
D) 5
| 以下是引用片段: #include #include func { int num=0; while(*(str+num)!='\0') num++; return(num); } main() { char str[10],*p=str; gets(p); printf("%d\n",func(p)); } |
(48) 下面程序运行的结果是
A) 2ba56
B) 6521
C) 6
D) 62
| 以下是引用片段: 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); } |
(49) 运行下面的程序,如果从键盘上输入:
ab<回车>
c <回车>
def<回车>
则输出结果为
A) a B) a C) ab D) abcdef
b b c
c c d
d d
e
f
| 以下是引用片段: #include #define N 6 main() { char c[N]; int i=0; for( ;i for( i=0;i } |
(50) 以下程序运行后,输出结果是
A) 8
B) 7
C) 6
D) 5
| 以下是引用片段: #include ss(char *s) { char *p=s; while(*p) p++; return(p-s); } main() { char *a="abded"; int i; i=ss(a); printf("%d\n",i); } |
A) 6385
B) 22
C) 33
D) 693825
| 以下是引用片段: main() { char ch[2][5]={'693","825"},*p[2]; int i,j,s=0; for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]='0' && p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s); } |
(52) 以下程序运行后,输出结果是
A) 1234567
B) 7654321
C) 1711717
D) 7177171
| 以下是引用片段: #inchude #inchude fun(char *w, int n) { char t, *s1,*s2; s1=w: s2=w+n-1; while(s1 { t=*s1++; *s1=*s2--; *s2=t; } } main() { char *p; p="1234567"; fun(p,strlen(p)); puts(p); } |
(53) 以下程序运行后,如果从键盘上输入:
book <回车>
book <空格><回车>
则输出的结果是
A) *8
B) #9
C) #6
D) *9
| 以下是引用片段: #include main() { char a1[80],a2[80],*s1=a1, *s2=a2; gets(s1); gets(s2); if(! strcmp(s1,s2)) printf("*"); esle printf("#"); printf("%d/n",strlen(strcat(s1,s2))); } |
(54) 给出以下定义:
char x[ ]="abcdefg";
char y[ ]={'a','b','c','d','e','f','g'};
则正确的叙述为
A) 数组X和数组Y等价
B) 数组x和数组Y的长度相同
C) 数组X的长度大于数组Y的长度
D) 数组X的长度小于数组Y的长度
(55) 有以下程序
| 以下是引用片段: main() { char a[]="programming", b[]="language"; char *p1,*p2; int i; p1=a; p2=b; for(i=0;i<7;i++) if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i)); } |
输出结果是
A) gm
B) rg
C) or
D) ga
(56) 若有以下定义:
char s[20]="programming",*ps=s;
则不能代表字符o的表达式是
A) ps+2
B)s[2]
C) ps[2]
D)ps+=2,*ps
(57) 若有以下定义和语句:
char *s1="12345",*s2="1234";
printf("%d\n",strlen(strcpy(s1,s2)));
则输出结果是
A) 4
B)5
C)9
D)10
(58) 下面程序的输出是
| 以下是引用片段: main() { char *s="121"; int k=0, a=0, b=0; do {k++; if(k%2==0) {a=a+s[k]-'0'; continue;} b=b+s[k]-'0'; a=a+s[k]-'0'; } while (s[k+1]); printf("k=%d a=%d b=%d\n",k,a,b); |
A)k=3 a=2 b=3
B)k=3 a=3 b=2
C)k=2 a=3 b=2
D)k=2 a=2 b=3
(59) 以下程序输出的结果是
| 以下是引用片段: #include #include main() { char w[][10]={"ABCD","EFGH","IJKL","MNOP"},K; for (k=1;k<3;k++) printf("%s\n",&w[k][k]); } |
A)ABCD B)ABCD
FGH EFG
KL IJ
M
C)EFG D)FGH
JK KL
O
(60) 若有以下程序片段:
char str[]="ab\n\012\\\"";
printf(%d",strlen(str));
上面程序片段的输出结果是
A)3
B)4
C)6
D)12