全国计算机等级考试二级C语言模拟试题及答案三Word下载.docx
- 文档编号:18684346
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:14
- 大小:22.58KB
全国计算机等级考试二级C语言模拟试题及答案三Word下载.docx
《全国计算机等级考试二级C语言模拟试题及答案三Word下载.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言模拟试题及答案三Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
其中数据独立性最高的阶段是
A)数据库系统
B)文件系统
C)人工管理
D)数据项管理
(11)以下叙述中正确的是
A)构成C程序的基本单位是函数
B)可以在一个函数中定义另一个函数
C)main()函数必须放在其他函数之前
D)C函数定义的格式是K&
R格式
(12)结构化程序所规定的三种最基本控制结构是
A)输入、处理、输出
B)树形、网形、环形
C)顺序、选择、循环
D)主程序、子程序、函数
(13)一个C语言程序是由
A)一个主程序和若干子程序组成
B)函数组成
C)若干过程组成
D)若干子程序组成
(14)请选出可用作C语言用户标识符的是
A)void,define,WORD
B)a3_b3,_123,IF
C)FOR,--abc,Case
D)2a,Do,Sizeof
(15)下列各数据类型不属于构造类型的是
A)枚举型
B)共用型
C)结构型
D)数组型
(16)在16位C编译系统上,若定义longa;
,则能给a赋40000的正确语句是
A)a=20000+20000;
B)a=4000*10;
C)a=30000+10000;
D)a=4000L*10L
(17)以下不正确的叙述是
A)在C程序中,逗号运算符的优先级最低
B)在C程序中,APH和aph是两个不同的变量
C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
(18)sizeof(float)是
A)一个双精度型表达式
B)一个整型表达式
C)一种函数调用
D)一个不合法的表达式
(19)若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为
A)4
B)16
C)32
D)52
(20)下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。
#include<
stdio.h>
main()
{inti=0,j,k;
do{i++;
k=316-13*i;
}while(______);
j=k/11;
printf("
316=13*%d+11*%d"
i,j);
}
A)k/11
B)k%11
C)k/11==0
D)k%11==0
(21)设有定义:
intn=0,*p=&
n,**q=&
p,则下列选项中正确的赋值语句是
A)p=1;
B)*q=2;
C)q=p;
D)*p=5;
(22)下面程序的运行结果是
{inty=10;
do{y--;
}while(--y);
%d\n"
y--);
A)-1
B)1
C)8
D)0
(23)下面程序的输出结果是
{inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
*(p+2));
A)3
B)4
C)1
D)2
(24)有如下程序
inta[10]={1,2,3,4,5,6,7,8,9,10};
int*p=&
a[3],b;
b=p[5];
则b的值是
A)5
B)6
C)9
D)8
(25)设有intx=11;
则表达式(x++*1/3)的值是
C)11
D)12
(26)请选出以下语句的输出结果
strlen("
\t\"
\065\xff\n"
));
B)14
D)输出项不合法,无正常输出
(27)下列程序的输出结果是
{doubled=3.2;
intx,y;
x=1.2;
y=(x+3.8)/5.0;
d*y);
}
B)3.2
C)0
D)3.07
(28)下列程序的输出结果是
intb=2;
intfunc(int*a)
{b+=*a;
return(b);
{inta=2,res=2;
res+=func(&
a);
res);
D)10
(29)下面能正确进行字符串赋值操作的是
A)chars[5]={"
ABCDE"
};
B)chars[5]={′A′,′B′,′C′,′D′,′E′};
C)char*s;
s="
;
D)char*s;
chara;
scanf("
%s"
&
s);
(30)执行以下程序后,a,b的值分别为
{inta,b,k=4,m=6,*p1=&
k,*p2=&
m;
a=p1==&
b=(*p1)/(*p2)+7;
a=%d\n"
a);
b=%d\n"
b);
A)-1,5
B)1,6
C)0,7
D)4,10
(31)设有数组定义:
chararray[]="
China"
则数组array所占的空间为
A)4个字节
B)5个字节
C)6个字节
D)7个字节
(32)若已定义:
inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;
其中0≤i≤9,则对a数组元素不正确的引用是
A)a[p-a]
B)*(&
a[i])
C)p[i]
D)a[10]
(33)以下不正确的定义语句是
A)doublex[5]={2.0,4.0,6.0,8.0,10.0};
B)inty[5]={0,1,3,5,7,9};
C)charc1[]={′1′,′2′,′3′,′4′,′5′};
D)charc2[]={′\x10′,′\xa′,′\x8′};
(34)若有以下程序
#include
<
inta[]={2,4,6,8};
{inti;
int*p=a;
for(i=0;
i<
4;
i++)a[i]=*p;
a[2]);
上面程序输出结果是
A)6
B)8
C)4
(35)下面程序段的运行结果是
char*format="
%s,a=%d,b=%d\n"
inta=11,b=10;
a+=b;
printf(format,"
a+=b"
a,b);
A)for,"
ab
B)format,"
C)a+=b,a=21,b=10
D)以上结果都不对
(36)C语言允许函数类型缺省定义,此时函数值隐含的类型是
A)float
B)int
C)long
D)double
(37)以下程序有语法错误,有关错误原因的正确说法是
{intG=5,k;
voidprt_char();
...
k=prt_char(G);
A)语句voidprt_char();
有错,它是函数调用语句,不能用void说明
B)变量名不能使用大写字母
C)函数说明和函数调用语句之间有矛盾
D)函数名不能使用下划线
(38)以下叙述中不正确的是
A)在不同的函数中可以使用相同的名字的变量
B)函数中的形式参数是局部变量
C)在一个函数内定义的变量只在本函数范围内有效
D)在一个函数内的复合语句中定义的变量在本函数范围内有效
(39)有以下程序:
unionpw
charch[2];
}a;
{a.ch[0]=13;
a.ch[1]=0;
a.i);
程序的输出结果是
A)13
C)208
D)209
(40)在16位IBM-PC机上使用C语言,若有如下定义
structdata
charch;
doublef;
}b;
则结构变量b占用内存的字节数是
A)1
B)2
C)7
D)11
(41)下面程序的运行结果是
{inta=1,b=10;
do
{b-=a;
a++;
}while(b--<
0);
a=%d,b=%d\n"
A)a=3,b=11
B)a=2,b=8
C)a=1,b=-1
D)a=4,b=9
(42)以下程序的输出结果是
voidreverse(inta[],intn)
{inti,t;
n/2;
i++)
{t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
{intb[10]={1,2,3,4,5,6,7,8,9,10};
inti,s=0;
reverse(b,8);
for(i=6;
10;
i++)s+=b[i];
%d\n"
s);
A)22
B)10
C)34
D)30
(43)有如下程序:
longfib(intn)
{if(n>
2)return(fib(n-1)+fib(n-2));
elsereturn
(2);
{printf("
fib(3));
}
该程序的输出结果是
A)2
C)6
(44)假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:
PROGABCDEFGHIJKL<
回车>
,则输出结果为
main(intargc,char*argv[])
{while(--argc>
0)
argv[argc]);
\n"
);
A)ABCDEFG
B)IJHL
C)ABCDEFGHIJKL
D)IJKLABCDEFGH
(45)以下程序有错,错误原因是
{int*p,i;
char*q,ch;
p=&
i;
q=&
ch;
*p=40;
*p=*q;
......
A)p和q的类型不一致,不能执行*p=*q;
语句
B)*p中存放的是地址值,因此不能执行*p=40;
C)q没有指向具体的存储单元,所以*q没有实际意义
D)q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;
没有意义,可能会影响后面语句的执行结果
(46)函数rewind的作用是
A)使文件位置指针重新返回文件的开始位置
B)将文件位置指针指向文件中所要求的特定位置
C)使文件位置指针指向文件的末尾
D)使文件位置指针自动移至下一个字符位置
(47)设有以下说明语句
structex
{intx;
floaty;
charz;
}example;
则下面的叙述中不正确的是
A)struct结构体类型的关键字
B)example是结构体类型名
C)x,y,z都是结构体成员名
D)structex是结构体类型名
(48)设有以下语句:
charx=3,y=6,z;
z=x^y<
<
2;
则z的二进制值是
A)00010100
B)00011011
C)00011100
D)00011000
(49)阅读以下程序及对程序功能的描述,其中正确的描述是
{
FILE*in,*out;
charch,infile[10],outfile[10];
Entertheinfilename:
scanf("
infile);
Entertheoutfilename:
outfile);
if((in=fopen(infile,"
r"
))==NULL)
cannotopeninfile\n"
exit(0);
if((out=fopen(outfile,"
w"
cannotopenoutfile\n"
while(!
feof(in))fputc(fgetc(in),out);
fclose(in);
fclose(out);
A)程序完成将磁盘文件的信息在屏幕上显示的功能
B)程序完成将两个磁盘文件合二为一的功能
C)程序完成将一个磁盘文件复制到另一个磁盘文件中
D)程序完成将两个磁盘文件合并并在屏幕上输出
(50)C语言中,能识别处理的文件为
A)文本文件和数据块文件
B)文本文件和二进制文件
C)流文件和文本文件
D)数据文件和二进制文件
二、填空题
(1)数据的逻辑结构有线性结构和【1】两大类。
1.(非线性结构)
(2)顺序存储方法是把逻辑上相邻的结点存储在物理位置【2】的存储单元中。
1.(相邻)
(3)一个类可以从直接或间接的祖先中继承所有属性和方法。
采用这个方法提高了软件的【3】。
1.(可重用性)
(4)软件工程研究的内容主要包括:
【4】技术和软件工程管理。
1.(软件开发)
(5)关系操作的特点是【5】操作。
1.(集合)
(6)下面程序是指从终端读入的20个字符放入字符数组中,然后利用指针变量输出上述字符串,请填空。
main()
char
s[21],*p;
for(i=0;
20;
s[i]=getchar();
s[i]=【6】;
p=【7】
while(*p)putchar
(【8】);
1.('
\0'
)2.(s)3.(*p++)
(7)以下程序将数组a的4个元素和数组b的6个元素写到名为lett.dat的二进制文件中,请填空。
{FILE
*fp;
chara[4]="
1234"
,b[6]="
abcedf"
;
if((fp=fopen("
【9】"
"
wb"
))=NULL)exit(0);
fwrite(a,sizeof(char),4,fp);
fwrite(b,【10】,1,fp);
fclose(fp);
1.(lett.dat)2.(6*sizeof(char))
(8)在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为4;
一个double型数据在内存中所占的字节数为【11】。
1.(8)
(9)以下程序输出的结果是【12】。
{inta=5,b=4,c=3,d;
d=(a>
b>
c);
d);
1.(0)
(10)以下函数的功能是求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
例如,若x中的值为30,则有4个数符合要求,它们是1,3,5,15。
请按题意,完成填空。
试题程序:
conio.h>
voidfun(intx,intpp[],int*n)
{inti,j=0;
【13】
if(x%i==0)pp[j++]=i;
【14】;
{int
x,aa[1000],n,i;
clrscr();
\nPleaseenteranintegernumber:
\n"
scanf("
%d"
&
x);
fun(x,aa,&
n);
for(i=0;
i<
n;
i++)
printf("
aa[i]);
\n"
1.(for(i=1;
x;
i+=2))2.(*n=j)
(11)
intfun(int*s,intt,int*k)
*k=0;
【15】
if(s[*k]<
s[i])*k=i;
return【16】;
inta[10]={876,675,896,101,301,401,980,431,451,777},k;
fun(a,10,&
k);
%d,%d\n"
k,a[k]);
1.(for(i=0;
t;
i++))2.(0)
(12)mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。
请填空。
intmystrlen(char*str)
【17】!
=′\0′;
i++);
return(i);
1.(*(str+i)或str[i])
(13)以下程序的输出结果为【18】。
#defineJFT(x)x*x
{inta,k=3;
a=++JFT(k+1);
%d"
1.(9)
(14)以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;
成员变量link是指向自身结构体的指针,请将定义补充完整。
structnode
{intinfo;
【19】link;
1.(structnode*)
(15)设有以下结构体类型:
structst
{charname[8];
intnum;
floats[4];
}student[50];
并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘文件fp中,请将以下fwrite语句补充完整:
fwrite(student,【20】,1,fp);
1.(sizeof(structst)*50)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 语言 模拟 试题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)