intn-0: whil(*x=y)&&x=0'){x+;yH++ return n: 函数的功能是」 A)查找x和y所指字符串中有否有10 B)统计x和y所指字符串中最前面连续相同的字符个数 C)将y所指字符串中赋给x所指的存储空间 D)统计x和y所指字符串中相同的字符个数 (1)B【解析】循环执行只有在x和y所指字符串中最前面连续相同,并统计其个数(存 放在变量。中),一且不满足连续相同,则终止循环而函数返回相同个数, (I8)若有定义语句:char*s1="0K,s2="ok";,以下选项中,能够输出"OK"的语句 是 A)if(stremp(s1,s2)-0)puts(s1); B)if(stremp(s1,s2)!-0)puts(s2); C)if(stremp(s1,s2)=1)puts(s1);D)if(stremp(s1,s2)!=0)puts(s1); (I8)D【解析】字符串比较库函数stremp要求两个参数是地址和设置头文件include <string.h>。返回值:s1<2为"-1",s1=s2为:s1>s2为"1"。且"0K"<"ok”,只有A、C、 D才能输出"OK,A、C)被排除,剩下D,有可能存在关系:s12或s1<2,前者返回 “1”;后者返回“1”,两者均能输出"OK"的条件。 严格来讲此题目应改为D)if(stremp(sL,s2)<0)puts(sl:为妥。 (19)以下程序的主函数中调用了在其前面定义的fun函数 #include <stdio.h> main() double a[15],k; k-fun(a); 则以下选项中错误的fun函数的首部是 A)double fun(double a15) B)double fun(double*a) 6/19
6 / 19 { int n=0; while((*x==*y)&&*x!= '\0') {x++; y++; n++;} return n; } 函数的功能是_。 A)查找 x 和 y 所指字符串中有否有'\0' B)统计 x 和 y 所指字符串中最前面连续相同的字符个数 C)将 y 所指字符串中赋给 x 所指的存储空间 D)统计 x 和 y 所指字符串中相同的字符个数 (17) B 【解析】循环执行只有在 x 和 y 所指字符串中最前面连续相同,并统计其个数(存 放在变量 n 中),一旦不满足连续相同,则终止循环而函数返回相同个数 n。 (18)若有定义语句:char *s1="OK", *s2="ok";,以下选项中,能够输出"OK"的语句 是_。 A) if(strcmp(s1,s2)==0) puts(s1); B) if(strcmp(s1,s2)!=0) puts(s2); C) if(strcmp(s1,s2)==1) puts(s1); D) if(strcmp(s1,s2)!=0) puts(s1); (18) D 【解析】字符串比较库函数 strcmp 要求两个参数是地址和设置头文件#include <string.h>。返回值:s1<s2 为"-1";s1=s2 为 0;s1>s2 为"1"。且"OK"<"ok",只有 A、C、 D 才能输出"OK",A)、C)被排除,剩下 D),有可能存在关系:s1>s2 或 s1<s2,前者返回 “-1”;后者返回“1”,两者均能输出"OK"的条件。 严格来讲此题目应改为 D) if(strcmp(s1,s2)<0) puts(s1);为妥。 (19)以下程序的主函数中调用了在其前面定义的 fun 函数 #include <stdio.h> ∶ main() { double a[15], k; k=fun(a); ∶ } 则以下选项中错误的 fun 函数的首部是_。 A) double fun( double a[15]) B) double fun( double *a)
C)double fun(doubleal) D)double fun(doublea) (19)D【解析】函数调用时要求数组地址共享,达到数据返回的目的。要求主函数实参用 数组名;被调函数的形参用A)doublea1S、B)double*、C)doublea均为合法。D形式 参数是只进不出变量。 (20)有以下程序 #include<stdio.h> #include <string.h> main() {chara"china","beijing","you","tiananmen","welcome" intij;char 1:啡 for(i-0:i<4;i++) for(j-i+1:j<5:j++) if(stremp(>) {(strepy(ta:)strepy((a间,ajD:strepy((ajl,ti片 puts(a 3): 程序运行后的输出结果是 A)beijing B)china C)welcome D)tiananmen (20)C【解析】这是一个字符串升序排列程序,最后排成沈序为: beijing china tiananmen welcome you并存放在字符串数组a5中。 puts(a3:输出为C)welcome (21)有以下程序 #include<stdio.h> int f(int m) staticint n=0; n十=m: return n main() intn-0; 7119
7 / 19 C) double fun( double a[]) D) double fun( double a) (19) D 【解析】函数调用时要求数组地址共享,达到数据返回的目的。要求主函数实参用 数组名;被调函数的形参用 A) double a[15]、B) double *a、C) double a[]均为合法。D)形式 参数是只进不出变量 a。 (20)有以下程序 #include <stdio.h> #include <string.h> main() { char a[5][10]={ "china","beijing","you","tiananmen","welcome"}; int i,j; char t[10]; for(i=0;i<4;i++) for(j=i+1;j<5;j++) if(strcmp(a[i],a[j])>0) {strcpy(t,a[i]); strcpy(a[i],a[j]); strcpy(a[j],t);} puts(a[3]); } 程序运行后的输出结果是_。 A)beijing B)china C)welcome D)tiananmen (20) C 【解析】这是一个字符串升序排列程序,最后排成次序为: beijing china tiananmen welcome you 并存放在字符串数组 a[5]中。 puts(a[3]);输出为 C)welcome (21)有以下程序 #include <stdio.h> int f(int m) { static int n=0; n+=m; return n; } main() { int n=0;