计算机二级模拟考试试题三.pdf
DLUT计算机校二级模拟考试试题三.判断题1.在 C 程序中,注释说明只能位于一条语句的后面2.当函数的类型与return语句后表达式的值的类型不一致时,函数返回值的类型由return语句后表达式值的类型决定。3.do-while循环由do开 始,while结 束,在 while(表达式)后面不能加分号。4.定 义 int x5,n;则 x=x+n;或 x+;都是正确的。5.逻辑表达式42&1|5=0|b=0)&(a0|b=0&b=0)&(a0&b0)&(a+b04.下面函数的功能是:sss(s,t)char*s,*t;(while(*s)&(*t)&(*t+=*s+);retum(*s-*t);)A.求字符串的长度B:比较两个字符串的大小C:将字符串s 复制到字符串t 中D:将字符串s 续接到字符串t 中5.函数char ctype(int x,inty)的返回类型由 确定。A.字符型 B.return语句返回的表达式类型C.浮点型 D.调用时的实参类型6.设有如下程序段:int k=10;while(k=O)k-则下述说明中正确的是:A.循环体执行一次B.循环体执行10次C.循环体一次也不执行D.死循环7.以下程序的输出结果是 omain()char str=ABCD,*p=str;printf(%dn,*(p+4);A.68 B.0 C.字符D 的地址 D.不确定的值8.以 下 程 序 的 输 出 结 果 是 omain()inta=2,4,6,8,*p=a,i;for(i=0;i4;i+)ai=*p+;printf(%dn,a2);A.6 B.8 C.4 D.29.根据下面的程序,正 确 的 输 出 形 式 是0main()(float x=68.7563,y=-789.124;printf(%e,%10.2en,x,y);A.6.875630e+001,-7.89e+002 B.6.87563e+001,-7.89124e+002C.0.687563e+002,-7.89124e+002 D.6.87563e+002,-7.89124e+00210.下面的 scanf 函数输入数据,使得 i=10,j=15,c1=S,c2=s,x=1.5,y=-3.75,z=67.8,选择正确的键盘输入方法o(规定用字符串CR表示回车,U 表示空格)main()int i,j;float x,y,z;char c1,c2;scanf(M%5d%5d%c%c%f%f%*f%f,&i,&j,&c1,&c2,&x,&y,&z);A.10UUU15Ss1.5-3.75U+1.5,67.8CR B.UUU10UUU15Ss1.5-3.75U+1.5U67.8CRC.10UU15USUsU1.5-3.75U+1.5 67.8CR D.UUU10UUU15USUsU1.5 67.8CR1 1.下列运算符优先级最低的是:()A.B.|C.+D.!1 2.下面程序的功能是输入数组元素,0或负数则重新输入。请在A处填写正确语句。#include stdio.hmain()int data10,i;for(i=1;i10;i+)(printf(ndata%d=,i);scanf(%d,&datai);if(datai=0)A)A.i-;continue;B.i;break;C.continue D.break13.程序的输出结果应该是 o#include void fun(float*p1,float*p2,float*s)s=(float*)malloc(1,sizeof(float);*s=*p1+*(p2+);main()float a2=1.1,2.2,b2=10.0,20.0,*s=a;fun(a,b,s);printf(%fn,*s);)注:malloc(size)分配size字节的存储空间A.11.100000 B.12.100000 C.21.100000 D.1.10000014.有两个实型变dog和 ca t,若要把数据写入磁盘文件中,以下正确的形式是:A.fprintf(dog,cat);B.fprintf(dog,cat,%f%f,);C.fprintf(dog,cat,%f%f,fp);D.fprintf(fp,%f%P,dog,cat);15.函数scmp(char*s,char*t)用来比较字符串s 和 t 的大小,当 s=t时,返回0,当 s!=t时,返回s 和 t 的第一个不同的字符的ASCII码 值 是正确的字符串比较函数。A:int scmp(char*s,char*t)for(;*s+=*t+;)if(*s=0)return 0;returnB:int scmp(char*s,char*t)for(;*s+=*t+;)if(!*s)return 0;return*s-*t;C:int scmp(char*s,char*t)for(;*s+=*t+;);if(*s=0)return 0;returnD:int scmp(char*s,char*t)for(;*s=*t;s+,t+)if(!*s)return 0;三.完善程序题1.将 file_point定义为文件指针的语句为_ A_。写出应包含的头文件语句 B o2.下面程序的功能是按由小到大的顺序输出两个数,完善该程序。main()(int a,b,*pa,*pb,*pt;scanf(%d%d,_A_);pa=&a,pb=&b;if(ab)pt=pa;pa=pb;pb=pt;printf(%d,%d,_B_);)3.下列程序输出三个数中的最大数,完善该程序。main()int a,b,c;a=2;b=3;c=1;if(a c)printf(%dnw,a);else printf(w%dH,c);4.打 印 100200间(包括100和 200)所有个位数是5 且能被3 整除的数字。#include stdio.h*main()int i;for(i=100;_A_;i+)if(i%3!=0|_ B_)continue;else printf(rn%5d,i);)5.下述的程序调用getone函数开辟一个动态存储单元,调用assone函数把数据输入到此动态存储单元中,outone函数输出此动态存储单元中的值,请完善程序。#include getone(int*s)*s=(int*)malloc(sizeof(int);assone(int*a)scanf(%dM,_A_);outone(int*b)printf(%dn,B);)main()int*p;getone(&p);assone(p);outone(p);)四.阅读程序题.1.若下列程序运行时输入124,则其输出结果为main()int x,k;/*scanf(H%dM,&x);7x=124;printf(Mx=%d=w,x);do k=f(x);if(x=k)printf(M%dn,k);break;else printf(M%d*M,k);x/=k;while(1);)int f(int x)int i;for(i=2;i0);)3.阅读本程序并写出程序的运行结果:#include stdio.humain()char b=MABCDEFG,*chp=&b7;while(-chp&bO)putchar(*chp);putchar(*n);)4.阅读本程序并写出运行结果:main()struct studentint num;int age;struct student stu3=1001,16,1002,19,1003,17;struct student*p;p=stu;printf(%dn,(*p+).age);)5.阅读本程序并写出程序的运行结果:(输入字符写字母U 代表空格)main()char str8;int I;scanf(M%s,str);printf(%sH,str);)输 入:T U C/(,代表回车符)五.程序改错题1.#include char*fun2(char s1,char s2)char*p=s1,k;for(k=0;*s1&*s2;s1+,s2+,k+)if(k%2)char t=*s1;*s1=*s2;*s2=t;)return p;void main()char s10=example;puts(fun2(s,only1);)2.改正以下程序的函数体中不正确的语句。main()int,student,a,b;char c;double x=1.42;x=x%(-3);c=,a,;student=30;a+=a-=(b=4)*(a=3);六.程序编写题/*请编写函数 change(array)./*功能:将array矩阵转置 注意:请勿修改change函数和其它函数中的任何容,7/*仅在答题区中填入你编写的语句.#include stdio.h#include string.h#include conio.hFILE*fp;change(array)int array口 4;)main()int array44=1,2,3,8,7,6,2,4,3,1,4,3,2,3,8,6);int i,j,m=2;change(array);fp=fopen(JG.DAT,wb);for(i=0;i=3;i+)for(j=0;jv=3;j+)fprintf(fp,%d,arrayij+m);fclose(fp);)参考答案一.NNNNY NYNYN-.DBDBA CBAAB BADDD三.1.FILE*file_point;#include 或#include“stdio.h2.&a,&b 或&b,&a*pa,*pb3.else4.i=200i%10!=55.a*bE3.1.x=124=2*2*31 2.2U0U 3.GFEDCB 4.16 5.T3 1.1.出错语句 1 char*fun2(char s1,char s 2)正确答案 1 char*fun2(char*s1,char*s2)出错语句 2:char s10=example;正确答案 2:char s10=example”;2.出错语句 1:int,student,a,b;正确答案 1 :int student,a,b;出错语句 2:x=x%(-3);正确答案 2:x=(int)x%(-3);六.395448355461010658