举一反三
- 分析以下4个strcpy函数,其功能是把字符串 s2复制到串s1中,正确的是( )。 (1) strcpy(char s1[],char s2[]) { int i=0; while((s1[i]=s2[i])!='\0')i++; } (2) strcpy(char *s1,char *s2) { while(*s1++=*s2++); } (3) strcpy(char *s1,char *s2) { while((*s1=*s2)!=’\0’) { s1++; s2++; } } (4) strcpy(char *s1,char *s2) { while((*s1++=*s2++)!=‘\0’); }
- 1.定义一个名为s的字符型数组,并且赋值为字符串"123"的错误语句是 。 A: char s[]={ '1', '2', '3', '\0'}; B: char s[]={ "123"}; C: char s[3]={ '1', '2', '3'}; D: char s[4]={ '1', '2', '3'};
- 以下程序的输出结果是 String s1="1",s2="2"; String s=s1+s2; System.out.println(s);
- 若有说明 char s1[5],s2[7];,要将字符串存储到s1和s2中,下列语句中正确的是( )。 A: scanf(″%s%s″,&s1, &s2); B: gets(s1, s2); C: scanf(″%s%s″, s1, s2); D: s1=getchar( ); s2=getchar( );
- 设有以下定义,则数组s1和s2()。char s1[]={ S ,t, r ,i,n, g};char s2[]= String;
内容
- 0
以下能正确计算1×2×3×4...×10的程序段是A.i=1;s=1;do{s=s*i;i++;}while(i<=10)B.do{i=1;s=1;s=s*i;i++;}while(i<=10);C.i=1;s=0;do{s=s*i;i++;}while(i<=10);D.do{i=1;s=0;s=s*i;i++;}while(i<=10);
- 1
假设整型n已输入值。以下不能正确计算1*2*3*...*n的程序段是_______。 (1) for(i=1,s=1; i<=n; i++) s*=i; (2) i=1;s=1; while(i<=n) s*=i++; (3) i=0,s=1; do{ i++,s*=i; }while(i<=n); (4) for(i=1,s=1; ; i++) { s = s*i, if(i==n) break; }
- 2
s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是( )。 A: if(strcmp(s1,s2)>0) S; B: if(s1>s2) S; C: if(strcmp(s1,s2)) S; D: if(strcmp(s2,s1)>0) S;
- 3
设s="abcd",s1="123",则执行语句s2=InsStr(s,2,s1)后,s2=()
- 4
以下能正确计算1×2×3×…×10的程序段是 。 A: do {i=1;s=1; s=s*i; i++; } while(i<=10); B: do {i=1;s=0; s=s*i; i++; } while(i<=10); C: i=1;s=1; do {s=s*i; i++; } while(i<=10); D: i=1;s=0; do {s=s*i; i++; } while(i<=10);