有以下程序:void swap (char *x,char *y){char t; t=*x,*x=*y;*y=t;}main(){char* s1="abc",*s2="123"; swap(s1,s2); printf("%s,%s\n",s1,s2);}程序执行后的输出结果是( )。
A.123,abc
B.abc,123
C.1bc,a23
D.321,cba
第1题:
有以下程序
void swap(char *x,char *y)
{ char t;
t=*x; *x=*y; *y=t;
}
main()
{ char *s1="abc",*s2="123";
swap(s1,s2);printf(" % s, % s\n",s1,s2);
}
程序执行后的输出结果是
A)123,abc
B)abc,123
C)1bc,a23
D)321,cba
第2题:
有以下程序: char fun(char x,char y) { if(x<y) return x; return y; } main() { int a='9',b='8',c='7'; printf("%c\n",fun(fun(a,b),fun(b,c)); } 程序的执行结果是( )。
A.函数调用出错
B.8
C.9
D.7
第3题:
若有定义 :char *x="abcdefghi"; ,以下选项中正确运用了 strcpy 函数的是
A)char y[10]; strcpy(y,x[4]);
B)char y[10]; strcpy(++y,&x[1]);
C)char y[10],*s; strcpy(s=y+5,x);
D)char y[10],*s; strcpy(s=y+1,x+1);
答案 D
解析 : 在字符拷贝函数中 strcpy( 字符数组 1 , 字符串 2) 中 , “ 字符数组 1 ” 必须写成数组名的形式,而且,数组 1 的长度要大于树组 2 的长度。因此本题 D 正确。
第4题:
有以下程序: #include <iostream> using namespace std; char *x[]={"First", "Second", "Third" }; void f(char *z[ ]) { cout<<*z++<<end1; } int main ( ) { char **y; y=x; f(y); return 0; }
A.产生语法错误
B.First
C.Secpnd
D.Third
第5题:
阅读下列程序说明和c代码,将应填入(n)处的字句写在对应栏内。
[说明]
下面的程序利用递归算法计算x和y的最大公约数。
[函数2.1]
main ( )
{ int x,y,k,t;
scanf(" % d% d" , &x, &y);
if(x>y) { t=x;x=y; y=t;}
(1);
while(k! =0){
y=x;
(2);
k=y%x;
}
prinff( "% d" ,x); }
[函数2.2说明]
函数fun(char *str,char *substr的功能是计算子串sugbstr在串str中出现的次数。
[函数2.2]
fun(ehar * str, char * substr)
{ int x,y,z;
(3);
for(x=0;str[ x] ! = '\O';x + + )
for(y=x,z=0;sabstr[z] = =str[y];(4),y+ +)
if((5)= ='\0') {
num + +;
break;
}
return(num);
}
第6题:
若有定义:char *x="abcdefghi";,以下选项中正确运用了strcpy函数的是______。
A.char y[10]; strcpy(y,x[4]);
B.char y[10]; strcpy(++y,&x[1]);
C.char y[10],*s; strcpy(s=y+5,x);
D.char y[10],*s; strcpy(s=y+1,x+1);
第7题:
下面的程序执行后,屏幕上显示的应是 public class Exam{ public static void main(String[]args){ char char1[]={'t','e','s','t'}; char char2[]={'t','e','S','t','1'}; String s1=new String(char1); String s2=new String(char2,0,4); System.out.println(s1.equals(s2)); } }
A.true
B.false
C.test
D.编译错误
第8题:
●有以下C程序:
char fun(char x,char y)
{if(x)return y;
}
main()
{int a=′9′,b=′8′,c=′7′;
printf("%c/n",fun(fun(a,b),fun(b,c)));
}
程序的执行结果是 (31) 。
(31) A.函数调用出错
B.8
C.9
D.7
第9题:
有以下程序 并include<stdio.h> #include<string.h> fun(char * w,int n) { char t,*s1,*s2; s1=w; s2=w+n-1; while(s1<s2) { t=*s1++; * s1=*s2--; * s2=t; } } main() { char p[]="1234567"; fun(p,strlen(p)); puts(p); } 程序运行后的输出结果是( )
A.1234567
B.7654321
C.1711717
D.7177171
第10题:
有以下程序: void swap(char*x,char*y) {cbar t; t=*x; *x=*y; *y=t; } main() {char*s1="abc",*s2="123"; swap(s1,s2);printf("%s,%s\n",s1,s2); } 程序执行后的输出结果是( )。
A.123,abc
B.abc,123
C.1bc,a23
D.321,cba