专升本考试C语言模拟试题及参考答案三篇Word格式文档下载.docx
《专升本考试C语言模拟试题及参考答案三篇Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《专升本考试C语言模拟试题及参考答案三篇Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
0&
!
0D.!
0)&
0)
4.有以下程序
main()
{inta=666,b=888;
printf("
%d\n"
a,b);
}
程序运行后的输出结果是(B)
A)错误信息B)666C)888D)666,888
5.有以下程序
main()
{inti;
for(i=0;
i-10&
x-y10D)(x-y)*(x-y)k=2;
B.(*p).k=2;
C.x.k=2D.x->
k=2
9.不准确的赋值或赋初值的方式是(B)。
A.charstr[]=”string”;
B.charstr[10];
str=”string”;
C.char*p=”string”;
D.char*p;
p=”string”;
10.设程序中不再定义新的变量,写出在函数main中能够使用的所有变量为:
(B)
#include
intz;
intp(intx)
{staticinty;
return(x+y);
}
voidmain()
{inta,b;
printf(“%dn”,p(a));
………
A.a,bB.a,b,zC.a,b,y,zD.a,b,x,y,z
11.有以下程序
{inti=0,x=0;
for(;
)
{
if(i==3||i==5)continue;
if(i==6)break;
i++;
s+=i;
};
s);
程序运行后的输出结果是(D)
A)10B)13C)21D)程序进入死循环
12.有以下程序
{chara,b,c,d;
scanf("
%c,%c,%d,%d"
&
a,&
b,&
c,&
d);
c,%c,%c,%c\n"
a,b,c,d);
若运行时从键盘上输入:
6,5,65,66。
则输出结果是(A)
A)6,5,A,BB)6,5,65,66C)6,5,6,5D)6,5,6,6
13.s12和s2已准确定义并分别指向两个字符串。
若要求:
当s1所指串大于s2所指串时,执行语句S;
则以下选项中准确的是(D)
A)if(s1>
s2)S;
B)if(strcmp(s1,s2))S;
C)if(strcmp(s2,s1)>
0)S;
D)if(strcmp(s1,s2)>
14.有以下定义和语句
inta[3][2]={1,2,3,4,5,6,},*p[3];
p[0]=a[1];
则*p[0]+1)所代表的数组元素是(C)
A)a[0][1]B)a[1][0]C)a[1][1]D)a[1][2]
15.程序中对fun函数有如下说明
void*fun();
此说明的含义是:
(C)
A)fun了数无返回值
B)fun函数的返回值能够是任意的数据类型
C)fun函数的返回值是无值型的指针类型
D)指针fun指向一个函数,该函数无返回值
16.有以下程序
voidfun(int*a,inti,intj)
{intt;
if(inumB)p->
numC)(*p).numD)stu[3].age
18.已定义ch为字符型变量,以下赋值语句中错误的是(A)
A)ch='
\'
B)ch=62+3;
C)ch=NULL;
D)ch='
\xaa'
19.以下选项中不能准确把cl定义成结构体变量的是(B)
A)typedefstructB)structcolorcl
{intred;
{intred;
intgreen;
intgreen;
intblue;
intblue;
}COLOR;
};
COLORcl;
C)structcolorD)struct
}cl;
}cl;
20.有以下程序
fun(inta,intb)
{if(a>
b)return(a);
elsereturn(b);
{intx=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);
r);
A)3B)6C)8D)12
21.有以下程序段
{inta=5,*b,**c;
c=&
b;
b=&
……
程序在执行了c=&
b=&
语句后,表达式:
**c的值是(C)
A)变量a的地址B)变量b中的值C)变量a中的值D)变量b的地址
22.设有intx=11;
则表达式(x++*1/3)的值是(A)
A)3B)4C)11D)12
23.下列程序的输出结果是(C)
A)3B)3.2C)0D)3.07
{doubled=3.2;
intx,y;
x=1.2;
y=(x+3.8)/5.0;
%d\n"
d*y);
24.下列变量定义中合法的是(A)
A)short_a=1-.le-1;
B)doubleb=1+5e2.5;
C)longdo=0xfdaL;
D)float2_and=1-e-3;
25.以下循环体的执行次数是(C)
A)3B)2C)1D)0
{inti,j;
for(i=0,j=1;
i>
1^~5)的值是0。
2.设变量已准确定义,在程序段B中填入准确的内容,使程序段A和程序段B等价。
程序段A
for(k=s=0;
k10)break;
3.下列程序的输出结果是100。
#defineT10
#defineMD3*T
printf(“%d”,30/MD);
4.下列程序的输出结果是k=5,s=15。
intk,s;
k
intf(intm)
{staticintk=2;
k++;
returnk+m;
{ints;
s=f
(2);
printf(“%d,%dn”,s,f(s));
6.对于以下递归函数f,条用f(3)的返回值是-2。
f(intn)
{
return((n
char*f(char*str)
{returnstr=”fun”;
{char*str=”one”;
printf(“%s,%cn”,f(str)+1,*f(str)+1);
10.下列程序的输出结果是1,3。
voidp(int*x,inty)
{++*x;
y--;
}
{intx=0,y=3;
p(&
x,y);
printf(“%d,%d”x,y);
11.下列程序的输出结果是1001。
{intj,k,a[2][2];
for(k=1;
k0||y>
0)等价于__D___。
A、!
0||!
0B、!
0)||!
(y>
0)C、!
!
0D、!
0)&
5.若变量已准确定义并赋值,表达式__D____不符合C语言语法。
A、4&
3B、+aC、a=b=5D、int(3.14)
6.若变量已准确定义,执行语句scanf("
%d%d%d"
k1,&
k2,&
k3);
时,___B___是准确的输入。
A、2030,40B、203040C、20,3040D、20,30,40
7.执行语句printf(”__D____”,2);
将得到出错信息。
A、%dB、%oC、%xD、%f
8.设变量定义为“ints[]="
hello\nworld\n"
”,则数组s中有__B____个元素。
A、12B、13C、14D、15
9.设变量定义为“inta[2]={1,3},*p=&
a[0]+1;
”,则*p的值是___B__。
A、2B、3C、4D、&
a[0]+1
10.若变量已准确定义并赋值,表达式-k++等价于__A____。
A、-(k++)B、(-k)++C、-(k+1)D、-(++k)
11.在C语言程序中,在函数内部定义的变量称为__D____。
A、全局变量B、全程变量C、外部变量D、内部变量
12.若x是整型变量,表达式(x=10.0/4.0)的值是__D___。
A、2.5B、2.0C、3D、2
13.对于以下的变量定义,表达式__A____是准确的。
structnode{
chars[10];
intk;
}p[4];
A、p->
k=2B、p[0].s=“abc”C、p[0]->
k=2D、p->
s=‘a’
14.下列运算符中,优先级从高到低依次为__D___。
A、&
,!
,||B、||,&
C、&
,||,!
D、!
,&
,||
15.下列程序段的输出结果是__B___。
int*p,*q,k=1,j=10;
p=&
j;
q=&
k;
p=q;
(*p)++;
printf("
%d"
*q);
A、1B、2C、10D、11
16.以下各选项企图说明一种新的类型名,其中准确的是水量(C)
A)typedefv1int;
B)typedefv2=int;
C)typedefv1intv3;
D)typedefv4:
int;
17.以下选项中,非法的字符常量是(C)
A)‘\t’B)‘\17’C)“n”D)‘\xaa’
18.以下程序的输出结果是(C)
{inti,a[10];
for(i=9;
i>
=0;
i--)a[i]=10-i;
printf(“%d%d%d”,a[2],a[5],a[8]);
A)258B)741C)852D)369
19.以下程序的输出结果是(B)
{charst[20]=“hello\0\t\\\”;
printf(%d%d\n”,strlen(st),sizeof(st));
A)99B)520C)1320D)2020
20.以下程序的输出结果是(D)
{inta,b;
for(a=1,b=1;
a=10)break;
if