32、阅读以下程序,该程序的输出结果为[B] 。 main()
{ char *s=“xyz”,*t=“xzy”; if(*s==*t)printf(“1,”); else printf(“2,”);
if(!strcmp(s,t))printf(“3\\n”); else printf(“4\\n”);}
[37]A) 1,3 B) 1,4 C) 2,3 D) 2,4
33、阅读以下程序,该程序的输出结果为[D] 。 main()
{ int a[2][2],i,j; for(i=0;i<2;i++)
for(j=0;j<2;j++) a[i][j]=i*2+j; for(i=0;i<2;i++){ for(i=0;j<2;j++) printf(“%d”,a[j][i]); printf(“\\n”); }
}
[38]A) 1 3 B) 0 1 C) 1 2 D) 0 2 2 4 2 3 0 3 1 3
34、阅读以下程序,当输入字符序列AB#CD并回车时,程序的输出结果为[D] 。 #include
if(c==?#?)printf(“%c”,c); else{ rev();
printf(“%c”,c); } }
main() { rev(); }
[39]A) AB#CD B) #ABCD C) #CD D) #BA 35、下面函数与[D]是等价的。 float s(float x,float delta) { float y,z=0.0;
for(y=1.0;y>delta;y/=x) z+=y;
return z; }
[40]A) float s(float x,float delta) B) float s(folat x,float delta) { float y; { float z=0.0,y=1.0;
for( y=1.0;y>delta;y/=x) do{ y/=x;z+=y;} while(y>delta); return s(x,delata)+y;} return z;}
C) float s(flat x,float delta) D) float s(float x,float delta) { float z=0.0,y=1.0; { float z=0.0,y=1.0; while(y<=delta) for(;y>delta;) { z+=y; y/=x; } { z+=y; y/=x; } return z; } return z; }
二、请正确填充下面的函数或程序的划线部分,使其完成所要求的功能。
1、下面程序完成以下函数f(x,y)的计算。 f(x,y)=
sin(x?y)?2x2
21?2sin(x?y)?3sin(x?y)# include
f1=x*x+sqrt(1+[1]); returen(f1); } main()
{ float x,y,f;
scanf(“%f%f”,&x,&y); f=x*x/fun1([2]); printf(“f=%f\\n”,f); }
2、下面函数dtox(n,s)将无符号十进制整数n转换成十六进制形式并存于字符串s中,其中调用函数reverse(s)将字符串s逆置(例如字符串”DCBA”是字符串”ABCD”的逆置)。 #include
void dtox(unsigned n,char s[]) { int h,i=0; do{
h=n;n=n/16;
s[i++]=(h<=9)?h+?0?:[3]; }while (n!=0); s[i]=[4]; reverse(s); } void reverse(char a[]) { char c,i,j;
for (i=0,j=strlen(a)-1;[5];i++,j--){ c=a[i]; [6];
a[j]=c; } }
3、find(t,s)函数用来确定字符串t是否为s的子串,如不是,函数返回0,否则返回t在s中第1次出现时其第一个字符在s中的位置(例如find(“ab”,”abcd”)返回值为1)。 find(t,s) [7]
{ int i=0,j=0;
while(t[i]!=[8]&&s[j]!=?\\0?) if(t[i++]!=s[j++]){ j-=[9]; i=0; }
if(t[i]==?\\0?) return [10]; return 0; }
4、已知正文文件abc.txt,统计该文件中词的个数并求出最长词的长度。一个词与另一个词之间留空符、制表符、换行符分隔。
#include
int word=0;/*存放词的个数*/
int maxlenth=0;/*存放最长词的长度*/ int lenth=0;/*存放当前词的长度*/
int flag=0;/*flag=1表示当前字符在某词中,flag=0表示当前字符不在某词中*/ if(fp=fopen([12],”r”)==NULL){
printf(“Cannot Open this file!\\n”); exit(0); } ch=fgetc(fp); while(ch!=EOF){
if(ch==' '||ch=='\\t'||[13]){ if(flag==1){ flag=0;
if(lenth>maxlenth) [14]; } }else if(flag==0){ flag=1; lenth=1;
[15];/*统计词的个数*/; }else
[16];/*统计当前词的长度*/ ch=fgetc(fp); }/*end of while*/ fclose(fp);
printf(“word=%d,maxlenth=%d\\n”,word,maxlenth); } 5、下面程序处理两个一位自然数的加、减、乘、除四则运算命令。例如程序提示后输入5+4,程序马上输出=9。按下?Q?键结束程序。请补充完整。(getche()函数是读入一个从键盘键入的字符,并将该字符显示在屏幕上)。 #include
[17] QUIT(x) x==?Q?||x==?q? main()
{ int a,b; char c,d; do{ printf(“Input:”);
d=getche();
if(d>=?0?&&d<=?9?) a=d-?0?; else if([18](d)) exit(0);
else{ printf(“Wrong Data!\\n”); continue; } c=getche();
d=getche();
if(d>=?0?&&d<=?9?) [19];
else{ printf(“Wrong Data!\\n”); continue; } switch(c){ case?+?:printf(“=%d\\n”,a+b);break; case?-?:printf(“=%d\\n”,a-b);break;
case?*?:printf(“=%d\\n”,a*b);break; case?/?:printf(“=%f\\n”,[20]);break;
default:printf(“Wrong Command!\\n”); } }while(1); }
一、选择题。
1、在C语言中,用户能使用的合法标识符是[C]组。
[1] A) a,b B) –xyz C) fa2 D) 5i void define sort_a x.i
a123 s(x) string malloc
2、若执行printf(“%d\\n”,strlen(“a\\n\\\”))语句,其输出结果是[D] 。 [2] A) 8 B) 7 C) 6 D) 4
3、若 int a,b,c;则表达式(a=2,b=5,b++,a+b)的值是[B] 。 [3] A) 7 B) 8 C) 6 D) 2
4、以下正确的叙述是[C] 。
[4] A) 在C语言中,main函数必须位于文件的开头
B) C语言的每行中只能写一条语句 C) C语言本身没有输入、输出语句 D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误 5、若执行以下程序段,则n的值是[B] 。 int a=1,b=2,m=2,n=2; (m=a>b)&& ++n;
[5]A) 1 B) 2 C) 3 D) 4
6、已知各变量的类型如下,则以下符合C语言语法的表达式是[A] 。 int i=8,a,b;double x=1.42,y=5.2;
[6] A) a+=a-=(b=4)*(a=3) B) a=a*3=2 C) x%(-3) D) y=float(i) 7、以下程序 的运行结果是[B] 。 #include
if(m++>5) printf(“%d\\n”,m); else printf(“%d\\n”,m++);} [7] A) 7 B) 6 C) 5 D) 4 8、以下程序的运行结果是[D] 。 #include
{ char c='y';
if(c>=?a?&& c<=?u?)c+=5;
else if (c>=?v?&& c<=?z?) c-=21; putchar(c); }
[8]A) ?y? B) ?d? C) y D) d
9、若定义int i;则以下循环语句的循环执行次数是[D] 。 for(i=2;i==0;) printf(“%d”,i--);
[9]A) 无限次 B) 0次 C) 1次 D) 2次 10、以下程序的运行结果是[C] 。 #include
main()
{ int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int *p[4],j;
for(j=0;j<4;j++) p[j]=a[j];
printf(“-,-,-,-\\n”,*p[1],(*p)[1],p[3][2],*(p[3]+1)); } [10] A) 4,4,9,8 B) 程序出错 C) 4,2,12,11 D) 1,1,7,5 11、以下程序的运行结果是[A] 。
相关推荐: