DLUT计算机二级模拟考试试题三教学内容.docx
《DLUT计算机二级模拟考试试题三教学内容.docx》由会员分享,可在线阅读,更多相关《DLUT计算机二级模拟考试试题三教学内容.docx(10页珍藏版)》请在冰豆网上搜索。
DLUT计算机二级模拟考试试题三教学内容
DLUT计算机二级模拟考试试题三
DLUT计算机校二级模拟考试试题三一.判断题
1.在C程序中,注释说明只能位于一条语句的后面
2.当函数的类型与return语句后表达式的值的类型不一致时,函数返回值的类型由return语句后表达式值的类型决定。
3.do-while循环由do开始,while结束,在while(表达式)后面不能加分号。
4.定义intx[5],n;则x=x+n;或x++;都是正确的。
5.逻辑表达式4>2&&1||5<3-!
0的值为1。
6.for循环的三个表达式中间用逗号相分隔。
分号
7.若有定义inta[10];则for(i=0;i<=10;i++)a[i]=i;执行时无语法错误。
8.格式字符%e以指数形式输出实数数字部分小数位数7位。
9.二维数组在内存中存贮时,是按下标值递增且右侧的下标比左侧的下标变化快的顺序连续存贮各元素的值。
10.C语言中,在打开文件时,必须说明文件的使用方式,"r"用于打开一个不存在的文件。
二.选择题
1.在C程序中,字符型数据在内存中以________形式存放。
A.原码B.BCD码C.反码D.ASC‖
2.对于语句f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,________是正确的。
A.语法错误B.使f的值为5.0C.使f的值为0.0D.使f的值为2.0
3.能正确表示a和b同时为正或同时为负的逻辑表达式是:
()
A.(a>=0||b>=0)&&(a<0||b<0)B.(a>=0&&b>=0)&&(a<0&&b<0)
C.(a+b>0)&&(a+b<=0)D.a*b>0
4.下面函数的功能是:
______
sss(s,t)
char*s,*t;
{
while((*s)&&(*t)&&(*t++==*s++));
return(*s-*t);
}
A.求字符串的长度
B:
比较两个字符串的大小
C:
将字符串s复制到字符串t中
D:
将字符串s续接到字符串t中
5.函数charctype(intx,inty)的返回类型由______确定。
A.字符型B.return语句返回的表达式类型
C.浮点型D.调用时的实参类型
6.设有如下程序段:
intk=10;
while(k==0)
k--;
则下述说明中正确的是:
A.循环体执行一次
B.循环体执行10次
C.循环体一次也不执行
D.死循环
7.以下程序的输出结果是_____。
main()
{charstr[]="ABCD",*p=str;printf("%d\n",*(p+4));}
A.68B.0C.字符D的地址D.不确定的值
8.以下程序的输出结果是_____。
main()
{inta[]={2,4,6,8},*p=a,i;
for(i=0;i<4;i++)a[i]=*p++;
printf("%d\n",a[2]);}
A.6B.8C.4D.2
9.根据下面的程序,正确的输出形式是____。
main()
{
floatx=68.7563,y=-789.124;
printf("%e,%10.2e\n",x,y);
}
A.6.875630e+001,-7.89e+002B.6.87563e+001,-7.89124e+002
C.0.687563e+002,-7.89124e+002D.6.87563e+002,-7.89124e+002
10.下面的scanf函数输入数据,使得i=10,j=15,c1='S',c2='s',x=1.5,y=-3.75,z=67.8,
选择正确的键盘输入方法____。
(规定用字符串[CR]表示回车,U表示空格)
main()
{inti,j;
floatx,y,z;
charc1,c2;
scanf("%5d%5d%c%c%f%f%*f%f",&i,&j,&c1,&c2,&x,&y,&z);
}
A.10UUU15Ss1.5-3.75U+1.5,67.8[CR]B.UUU10UUU15Ss1.5-3.75U+1.5U67.8[CR]
C.10UU15USUsU1.5-3.75U+1.567.8[CR]D.UUU10UUU15USUsU1.567.8[CR]
11.下列运算符优先级最低的是:
()
A.
12.下面程序的功能是输入数组元素,0或负数则重新输入。
请在A处填写正确语句。
#include"stdio.h"
main()
{intdata[10],i;
for(i=1;i<10;i++)
{
printf("\ndata[%d]=",i);
scanf("%d",&data[i]);
if(data[i]<=0)___A___
}
}
A.{i--;continue;}B.{i--;break;}C.continueD.break
13.程序的输出结果应该是______。
#include
voidfun(float*p1,float*p2,float*s)
{s=(float*)malloc(1,sizeof(float));
*s=*p1+*(p2++);}
main()
{floata[2]={1.1,2.2},b[2]={10.0,20.0},*s=a;
fun(a,b,s);
printf("%f\n",*s);
}
注:
malloc(size)分配size字节的存储空间
A.11.100000B.12.100000C.21.100000D.1.100000
14.有两个实型变量dog和cat,若要把数据写入磁盘文件中,以下正确的形式是:
A.fprintf(dog,cat);B.fprintf(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:
intscmp(char*s,char*t){for(;*s++==*t++;)if(*s=='\0')return0;return*s-*t;}
B:
intscmp(char*s,char*t){for(;*s++==*t++;)if(!
*s)return0;return*s-*t;}
C:
intscmp(char*s,char*t){for(;*s++==*t++;);if(*s==0)return0;return*s-*t;}
D:
intscmp(char*s,char*t){for(;*s==*t;s++,t++)if(!
*s)return0;return*s-*t;}
三.完善程序题
1.将file_point定义为文件指针的语句为___A___。
写出应包含的头文件语句___B___。
2.下面程序的功能是按由小到大的顺序输出两个数,完善该程序。
main()
{
inta,b,*pa,*pb,*pt;
scanf("%d%d",__A__);
pa=&a,pb=&b;
if(a>b){pt=pa;pa=pb;pb=pt;}
printf("%d,%d",__B__);
}
3.下列程序输出三个数中的最大数,完善该程序。
main()
{inta,b,c;
a=2;b=3;c=1;
if(a
if(b_A_c)
printf("%d\n",c);
_B_printf("%d",b);
elseif(a>c)
printf("%d\n",a);
elseprintf("%d",c);
}
4.打印100~200间(包括100和200)所有个位数是5且能被3整除的数字。
#include"stdio.h"
main()
{inti;
for(i=100;___A___;i++)
if(i%3!
=0||___B___)continue;
elseprintf("\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("%d\n",___B___);}
main()
{int*p;
getone(&p);
assone(p);
outone(p);
}
四.阅读程序题.
1.若下列程序运行时输入124,则其输出结果为______。
main()
{intx,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);
}
intf(intx)
{inti;
for(i=2;iif(x%i==0)break;
returni;
}
2.写出下面程序的运行结果。
main()
{inti=5;
printf("\n");
do{
switch(i%2)
{
case0:
i--;break;
case1:
i--;continue;
}
i--;
printf("%d",i);
}while(i>0);
}
3.阅读本程序并写出程序的运行结果:
#include"stdio.h"
main()
{charb[]="ABCDEFG",*chp=&b[7];
while(--chp>&b[0])
putchar(*chp);
putchar('\n');
}
4.阅读本程序并写出运行结果:
main()
{structstudent
{intnum;
intage;
};
structstudentstu[3]={{1001,16},{1002,19},{1003,17}};
structstudent*p;
p=stu;
printf("%d\n",(*p++).age);
}
5.阅读本程序并写出程序的运行结果:
(输入字符中大写字母U代表空格)
main()
{charstr[8];intI;
scanf("%s",str);
printf("%s"