C语言2级模拟试题集6套Word格式.docx
- 文档编号:20589554
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:60
- 大小:52.55KB
C语言2级模拟试题集6套Word格式.docx
《C语言2级模拟试题集6套Word格式.docx》由会员分享,可在线阅读,更多相关《C语言2级模拟试题集6套Word格式.docx(60页珍藏版)》请在冰豆网上搜索。
A)可以把define和if定义为用户标识符
B)可以把define定义为用户标识符,但不能把if定义为用户标识符
C)可以把if定义为用户标识符,但不能把define定义为用户标识符
D)define和if都不能定义为用户标识符
(8)若定义:
inta=511,*b=&
a;
则printf("
%d\n"
*b);
的输出结果为。
A)无确定值B)a的地址C)512D)511
(9)以下程序的输出结果是。
main()
{inta=5,b=4,c=6,d;
printf("
d=a>
b?
(a>
c?
a:
c):
(b));
}
A)5B)4C)6D)不确定
(10)以下程序中,while循环的循环次数是。
{inti=0;
while(i<
10)
{if(i<
1)continue;
if(i==5)break;
i++;
A)1B)10
C)6D)死循环,不能确定次数
(11)设有以下说明语句
typedefstruct
{intn;
charch[8];
}PER;
则下面叙述中正确的是。
A)PER是结构体变量名B)PER是结构体类型名
C)typedefstruct是结构体类型D)struct是结构体类型名
(12)若有以下程序
#include<
stdio.h>
voidf(intn);
{voidf(intn);
f(5);
voidf(intn)
{printf("
n);
}
则以下叙述中不正确的是。
A)若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f
B)若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f
C)对于以上程序,编译时系统会提示出错信息:
提示对对f函数重复说明
D)函数f无返回值,所以可用void将其类型定义为无值型
(13)若有以下定义和语句:
ints[4][5],(*ps)[5];
ps=s;
则对s数组元素的正确引用形式是。
A)ps+1B)*(ps+3)C)ps[0][2]D)*(ps+1)+3
(14)在C语言中,形参的缺省存储类是。
A)autoB)registerC)staticD)extern
(15)若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是。
A)p=2*(int*)malloc(sizeof(int));
B)p=(int*)malloc(2*sizeof(int));
C)p=(int*)malloc(2*2);
D)p=(int*)calloc(2,sizeof(int));
(16)在说明语句:
int*f();
中,标识符f代表的是。
A)一个用于指向整型数据的指针变量
B)一个用于指向一维数组的行指针
C)一个用于指向函数的指针变量
D)一个返回值为指针型的函数名
(17)若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是。
A)fopen("
A:
\user\abc.txt"
"
r"
)
B)fopen("
\\user\\abc.txt"
r+"
C)fopen("
rb"
)
D)fopen("
w"
(18)以下不能正确进行字符串赋初值的语句是。
A)charstr[5]="
good!
"
;
B)charstr[]="
C)char*str="
D)charstr[5]={‘g'
‘o'
‘d'
};
(19)若有下面的说明和定义:
structtest
{intml;
charm2;
floatm3;
unionuu{charul[5];
intu2[2];
}ua;
}myaa;
则sizeof(structtest)的值是。
A)12B)16C)14D)9
(20)若有定义:
intaa[8];
。
则以下表达式中不能代表数组元aa[1]的地址的是。
A)&
aa[0]+1B)&
aa[1]C)&
aa[0]++D)aa+1
第二部分:
简单程序(12题,共30分)
(21)以下程序的输出结果是。
{inta=4,b=5,c=0,d;
d=!
a&
&
!
b||!
c;
d);
}
A)1B)0C)非0的数D)-1
(22)以下程序的输出结果是。
{intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;
for(i=0;
i<
3;
i++)
for(j=i;
j<
=i;
j++)t=t+b[i][b[j][j]];
t);
A)3B)4C)1D)9
(23)以下程序的输出结果是。
string.h>
main()
{charb1[8]="
abcdefg"
b2[8],*pb=b1+3;
while(--pb>
=b1)strcpy(b2,pb);
strlen(b2));
A)8B)3C)1D)7
(24)以下程序的输出结果是。
f(intb[],intm,intn)
{inti,s=0;
for(i=m;
n;
i=i+2)s=s+b[i];
returns;
{intx,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
x);
A)10B)18C)8D)15
(25)以下程序的输出结果是。
{charch[3][5]={"
AAAA"
BBB"
CC"
\"
%s\"
\n"
ch[1]);
A)"
B)"
C)"
BBBCC"
D)"
(26)以下程序的输出结果是。
{inta=0,i;
for(i=1;
5;
{switch(i)
{case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;
a);
A)31B)13C)10D)20
(27)以下程序的输出结果是。
{inti=0,a=0;
20)
{for(;
{
if((i%10)==0)break;
elsei--;
i+=11;
a+=i;
A)21B)32C)33D)11
(28)以下程序的输出结果是。
charcchar(charch)
if(ch>
=‘A’&
ch<
=‘Z'
)ch=ch-‘A'
+‘a'
returnch;
{chars[]="
ABC+abc=defDEF"
*p=s;
while(*p)
{*p=cchar(*p);
p++;
%s\n"
s);
A)abc+ABC=DEFdefB)abc+abc=defdef
C)abcaABCDEFdefD)abcabcdefdef
(29)以下程序的输出结果是。
intf()
{staticinti=0;
ints=1;
s+=i;
main()
{inti,a=0;
for(i=0;
i++)a+=f();
A)20B)24C)25D)15
(30)以下程序的输出结果是。
unionmyun
{struct
{intx,y,z;
}u;
intk;
}a;
{a.u.x=4;
a.u.y=5;
a.u.z=6;
a.k=0;
printf(“%d\n”,a.u.x);
A)4B)5C)6D)0
(31)下列程序执行后的输出结果是。
voidfunc1(inti);
voidfunc2(inti);
charst[]="
hello,friend!
voidfunc1(inti)
{printf("
%c"
st[i]);
if(i<
3){i+=2;
func2(i);
voidfunc2(inti)
func1(i);
func1(i);
printf("
);
A)helloB)helC)hloD)hlm
(32)下列程序执行后的输出结果是。
inta[]={0,1,2,3,4,5,6,7,8,9};
floatf(intn)
if(n==1)
returna[0];
else
return((float)(n*f(n-1)+a[n])/n+1);
intn=9;
printf(“f(%d)=%f\n”,n+1,f(n));
A)14B)15C)16D)13
第二卷
(1)第二卷含二大题,均属填空题,每题各有5个空栏,在阅读和理解原题程序的基础上,在空栏处填入适当的字符、语句,以构成一个正确的C语言程序。
(2)每空栏填对得3分,两大题10个空栏,全填对得30分。
试题一
下面的程序是求二维数组中的最大值及其所在的行下标并输出。
其中,select函数的功能是:
在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。
#defineN3
#defineM3
select(inta[N][M],int*n)
{inti,j,row=0,colum=0;
N;
for(j=0;
①;
j++)
if(②){row=i;
colum=j;
*n=③;
return④;
{inta[N][M]={9,11,23,6,1,15,9,17,20},max,n;
max=⑤;
max=%d,line=%d\n"
max,n);
试题二
以下程序的功能是将n个字符按输入顺序的逆序排列。
其中,函数sort实现n个字符的逆置。
sort(char*p,intm)
inti;
chartemp,*p1,*p2;
⑥;
{
p1=⑦;
p2=⑧;
temp=*p1;
⑨;
*p2=temp;
inti,n;
char*p,num[20];
printf(“inputn:
”);
scanf(“%d”,&
n);
printf(“pleaseinputthesenumbers:
\n”);
scanf(“%c”,&
num[i]);
p=⑩;
sort(p,n);
printf(“now,thesequenceis:
printf(“%c”,num[i]);
非计算机专业学生计算机水平考试(二级C语言)模拟试卷2
(2)答本卷的题目时,要在标准答题纸上编号对应的栏目中,用铅笔将正确答
案涂黑。
(1)以下叙述中正确的是。
A)C语言的源程序不必通过编译就可以直接运行
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C)C源程序经编译形成的二进制代码可以直接运行
D)C语言中的函数不可以单独进行编译
(2)以下选项中不正确的实型常量是。
A)2.6E-1B)0.8324eC)-78.8745D)456e-2
(3)若以下选项中的变量x1、x2、x3、x4已正确定义,则正确的赋值语句是。
A)x1=26.8%3
B)1+2=x2C)x3=0x12D)x4=1+2=3;
(4)有定义语句:
intx,y;
,若值11,变量y得到数值12,下面四组输入要通过scanf("
%d,%d"
x,&
y);
语句使变量x得到数形式中,错误的是。
A)1112<
回车>
B)11,12<
C)11,12<
D)11
<
12<
(5)设有以下定义
int
a=0;
double
b=1.25;
charc=’A’;
#define
d
2
则下面语句中错误的是。
A)a++;
B)b++
C)c++;
D)d++;
(6)有以下程序
main()
intx=102,y=012;
%2d,%2d\n"
x,y);
}
执行后输出结果是。
A)10,01
B)002,12
C)102,10
D)02,10
(7)设有如下程序段:
intx=2002,y=2003;
printf("
(x,y));
则以下叙述中正确的是。
A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B)运行时产生出错信息
C)输出值为2002
D)输出值为2003
(8)设有定义:
inta,*pa=&
以下scanf语句中能正确为变量a读入数据的是()
%d"
pa);
B)scanf("
pa);
D)scanf("
*pa);
(9)以下程序段中与语句k=a>
(b>
1:
0):
0;
功能等价的是。
A)if((a>
b)&
c))k=1;
B)if((a>
b)||(b>
c))
k=1
else
k=0;
else
C)if(a<
=b)
D)if(a>
b)
k=1;
elseif(b<
=c)
elseif(b>
c)
elsek=0;
(10)有以下程序
{
inti,s=0;
for(i=1;
10;
i+=2)
s+=i+1;
程序执行后的输出结果是。
A)自然数1~9的累加和
B)自然数1~10的累加和
C)自然数1~9中的奇数之和
D)自然数1~10中的偶数之和
(11)若程序中定义了以下函数
double
myadd(doublea,doubleb)
{return(a+b);
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是。
A)doublemyadd(doublea,b);
B)doublemyadd(double,double);
C)doublemyadd(doubleb,doublea);
D)doublemyadd(doublex,doubley);
(12)有以下函数定义
:
voidfun(intn,doublex){……}
若以下选项中的变量都
已正确定义并赋值,则对函数fun的正确调用语句是。
A)fun(inty,double
m);
B)k=fun(10,12.5);
C)fun(x,n);
D)voidfun(n,x);
(13)有以下程序段
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&
a[3],b;
b=p[5];
b中的值是。
A)5
B)6
C)8
D)9
(14)有以下程序
chara[]="
b[10]="
%d
%d\n"
sizeof(a),sizeof(b));
A)7
7
B)88
C)810
D)1010
(15)有以下定义
chara[10],*b=a;
不能给数组a输入字符串的语句是。
A)gets(a)
B)gets(a[0])
C)gets(&
a[0]);
D)gets(b);
(16)下列选项中正确的语句组是
A)chars[8];
s={"
Beijing"
B)char*s;
C)chars[8];
s="
D)char*s;
(17)设有以下语句
typedefstruct
S
intg;
char
h;
T;
A)可用S定义结构体变量
B)可以用T定义结构体变量
C)S是struct类型的变量
D)T是struct
S类型的变量
(18)有以下程序
unsignedchara,b;
a=4|3;
b=4&
%d%d\n"
a,b)
;
A)7
0
B}0
C)1
1
D)430
(19)若有定义:
int
*p[3];
,则以下叙述中正确的是。
A)定义了一个基类型为int的指针变量p,该变量具有三个指针
B)定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
C)定义了一个名为*p的整型数组,该数组含有三个int类型元素
D)定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素
(20)下列关于C语言数据文件的叙述中正确的是。
A)文件由ASCII码字符序列组成,C
语言只能读写文本文件
B)文件由二进制数据序列组成,C语言只能读写二进制文件
C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
{inta=1,b=2,m=0,n=0,k;
k=(n=b>
a)||(m=a);
printf("
%d,%d\n"
k,m);
A}0,0B)0,1C)1,0
D)1,1
inti,n=0;
for(i=2;
{
do
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 模拟 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)