《最新DLUT计算机二级模拟考试试题三.doc》由会员分享,可在线阅读,更多相关《最新DLUT计算机二级模拟考试试题三.doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品资料DLUT计算机二级模拟考试试题三.DLUT计算机校二级模拟考试试题三一判断题1. 在C程序中,注释说明只能位于一条语句的后面 2. 当函数的类型与return语句后表达式的值的类型不一致时,函数返回值的类型由return语句后表达式值的类型决定。3. dowhile循环由do开始,while结束,在while(表达式)后面不能加分号。4. 定义 int x5,n;则x=x+n;或x+;都是正确的。5. 逻辑表达式42&1|53-!0的值为1。6. for循环的三个表达式中间用逗号相分隔。分号7. 若有定义 int a10;则 for (i=0;i=0|b=0)&(a0|b=0&b=0)
2、&(a0&b0)&(a+b04. 下面函数的功能是:_sss(s,t)char *s, *t; while(*s)&(*t)&(*t+= =*s+); return(*s-*t); A. 求字符串的长度B:比较两个字符串的大小C:将字符串s复制到字符串t中 D:将字符串s续接到字符串t中 5. 函数char ctype(int x, int y)的返回类型由_确定。 A字符型 Breturn语句返回的表达式类型C. 浮点型 D.调用时的实参类型6.设有如下程序段: int k=10; while(k=0) k- -;则下述说明中正确的是:A循环体执行一次B循环体执行10次C. 循环体一次也不执
3、行D. 死循环7.以下程序的输出结果是 _ 。 main( ) char str =ABCD,*p=str; printf(%dn,*(p+4);A68 B0 C.字符D的地址 D.不确定的值8. 以下程序的输出结果是_ 。 main( ) int a =2,4,6,8,*p=a,i; for(i=0;i4;i+) ai =*p+; printf(%dn,a2);A6 B8 C. 4 D.29. 根据下面的程序, 正确的输出形式是_。main() float x=68.7563, y=-789.124; printf (%e,%10.2en, x,y);A6.875630e+001,-7.89
4、e+002 B6.87563e+001,-7.89124e+002 C. 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, 选择正确的键盘输入方法_。(规定用字符串CR表示回车,U表示空格)main() int i,j; float x,y,z; char c1,c2; scanf(%5d%5d%c%c%f%f%*f%f,&i,&j,&c1,&c2,&x,&y,&z);A10UUU15Ss1.5 -3.7
5、5U+1.5,67.8CR BUUU10UUU15Ss1.5 -3.75U+1.5U67.8CR C.10UU15USUsU1.5 -3.75U+1.5 67.8CR D.UUU10UUU15USUsU1.5 67.8CR11. 下列运算符优先级最低的是: ( )A B| C. + D.!12. 下面程序的功能是输入数组元素,0或负数则重新输入。请在A处填写正确语句。#include stdio.hmain() int data10,i; for(i=1;i10;i+) printf(ndata%d=,i); scanf(%d,&datai); if(datai=0) _A_ Ai-; con
6、tinue; B. i-; break; C. continue D.break13. 程序的输出结果应该是_。 #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字节的存储空间A11.100000 B12.100000 C. 21.100000 D. 1.10000
7、014. 有两个实型变量dog和cat,若要把数据写入磁盘文件中,以下正确的形式是: Afprintf(dog,cat); Bfprintf(dog,cat,”%f%f”); C. fprintf(dog,cat,”%f%f”,fp); D. fprintf(fp,”%f%f”,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) retu
8、rn 0; return *s-*t; B: 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; return *s-*t; D: int scmp(char *s,char *t)for(; *s=*t;s+,t+) if(!*s) return 0; return *s-*t;三.完善程序题1. 将file_point定义为文件指针的语句为_A_。写出应包含的头文件语句_
9、B_。2. 下面程序的功能是按由小到大的顺序输出两个数,完善该程序。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(%dn,a); else printf(%d,c); 4. 打印100200间(包括100和200)所有个位数是5且能被3整除的数字。#include stdio.hmain() int
10、i; for(i=100;_A_;i+) if(i%3!=0|_B_) continue; else printf(n%5d,i);5. 下述的程序调用getone函数开辟一个动态存储单元,调用assone函数把数据输入到此动态存储单元中,outone函数输出此动态存储单元中的值,请完善程序。#include getone(int *s) *s=(int *)malloc(sizeof(int); assone(int *a) scanf(%d,_A_); outone(int *b) printf(%dn,_B_); main() int *p; getone(&p); assone(p);
11、 outone(p);四阅读程序题.1. 若下列程序运行时输入124,则其输出结果为_。main() int x,k; /* scanf(%d, &x);*/ x=124; printf(x=%d=,x); do k=f(x); if(x=k) printf(%d,k); break; else printf(%d*,k); x/=k; while (1); int f(int x) int i; for(i=2;i0);3. 阅读本程序并写出程序的运行结果: #include stdio.h main() char b =ABCDEFG,*chp=&b7; while(-chp&b0) pu
12、tchar(*chp); putchar(n); 4. 阅读本程序并写出运行结果:main() struct student int 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(%s,str); printf(%s,str); 输入: TUC(代表回车符)五.程序改错题1. #include
13、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, only); 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(a
14、rray). */*功能:将array矩阵转置 */*注意:请勿修改change函数和其它函数中的任何内容, */* 仅在答题区中填入你编写的语句. */#include stdio.h#include string.h#include conio.hFILE *fp;change(array)int array4;/* 答题区开始 */* 答题区结束 */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;
15、j=3;j+)fprintf(fp,%d,arrayij+m);fclose(fp);参考答案一NNNNY NYNYN二.DBDBA CBAAB BADDD三. 1.FILE *file_point; #include 或#include “stdio.h”2.&a,&b或&b,&a *pa, *pb3. else4. i=200 i%10!=5 5. a *b四. 1. x=124=2*2*31 2. 2U0U 3.GFEDCB 4.16 5.T五. 1. 出错语句1:char *fun2(char s1, char s2) 正确答案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