7
8
9
10
第1题:
若有定义和语句: char*sl="12345",* s2="1234"; printf("%d\n",strlen(stren(sl,s2))); 则输出结果 ( )
A.4
B.5
C.9
D.10
第2题:
若有以下定义和语句: char*s1="12345",*s2="1234"; printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是______。
A.4
B.5
C.9
D.10
第3题:
有定义语句: char s[10]; ,若要从终端给 s 输入 5 个字符,错误的输入语句是
A)gets(&s[0]);
B)scanf("%s",s+1);
C)gets(s);
D)scanf("%s",s[1]);
第4题:
已知C源程序如下:
/ * longIntAdd * /
include <stdio. h>
include <string. h>
define LENGTH 81
void addLInt(char sl[],char s2[]); void reverse(char s[]) ; int main()
{
char intstrl[LENGTH],intstr2[LENGTH];
printf("请输入超长整数的被加数和加数:\n")
scanf("%s%s" ,intstrl ,intstr2) ; addLInt(intstrl ,intstr2) j printf("超长整数和为: %s" .intstrl); return 0;
}
void addLInt(char sl[] ,char s2[]) {
int i=0,tmp,c=0;
char s[LENGTH];
if(strlen(s1)<strlen(s2)){ strcpy(s,sl); strcpy(sl,s2); strcpy(s2,s);
}
reverse(sl);reverse(s2);
while(s2[i]! ='\0'){
tmp=sl[i]-'0'+s2[i]-'0'+ c;
sl[i] = tmp%10+,0';
c=tmp/10;
i++; } while(sl[i]! ='\0,&&c){
tmp=sl[i] —'0' + c;
sl[i] = tmp%10+'0';
c=tmp/10;
i++; } If(c){
sl[i++] = c+'0';
sl[i] = '\0'; } reverse(sl);
}
void reverse(cliar s[])
{
inti,j,c;
for(i=0,j = strlen(s) -l;i<j;i++,j--){
c=s[i]; s[i] = s[j]; s[j] = c; } }
(1)画出程序中函数addLInt的控制流程图(10分);
(2)设计一组测试用例,使该程序addLInt函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该函数的语句覆盖率或分支覆盖率无法达到100%,需说明为什么(10分)。
第5题:
若有以下定义: char s(10)="program",t[]="test"; 则下列选项中对字符串操作错误的是( )。
A.strcpy(s,t);
B.strcat(s,t);
C.cout<<strlen(s);
D.gets(s);
第6题:
若有定义语句“charS[10]="1234567\0\0";”,则strlen(s)的值是( )。
A.7
B.8
C.9
D.10
第7题:
若有以下定义和语句: char s [10]="abcd!",*s2="\nl23\\"; Drintf("%d%d\n",strlen(sl),strlen(s2)); 则输出结果是( )。
A.5 5
B.10 5
C.10 7
D.5 8
第8题:
若有定义语句: char s[10]= " 1234567\0\0 " ; ,则 strlen(s) 的值是
A)7
B)8
C)9
D)10
第9题:
若有定义语句:char s[10]="1234567\0\0";,则strlen(s)的值是______。
A.7
B.8
C.9
D.10
第10题:
若有定义语句:
则strlen(s)的值是()。
A.7
B.8
C.9
D.10