专升本C语言模拟试题及参考答案文档格式.docx
- 文档编号:18730774
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:9
- 大小:19.11KB
专升本C语言模拟试题及参考答案文档格式.docx
《专升本C语言模拟试题及参考答案文档格式.docx》由会员分享,可在线阅读,更多相关《专升本C语言模拟试题及参考答案文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
}
程序运行后的输出结果是(B)
A)错误信息B)666C)888D)666,888
5.有以下程序
main()
{inti;
for(i=0;
i<
3;
i++)
switch(i)
{
case0:
printf("
%d"
i);
case2:
default:
程序运行后的输出结果是(C)
A)022111B)021021C)000122D)012
6.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<
10的是(C)
A)abs(x-y)<
10B)x-y>
-10&
x-y<
10
C)!
(x-y)<
-10||!
(y-x)>
10D)(x-y)*(x-y)<
100
7.数组定义为,inta[11][11];
则数组a的元素个数为:
(D)
A.12
144
C.100
D.
121
8.对于以下的变量定义,不正确的表达式是:
(D)。
structnode{
int
j,k;
}x,*p=&
x;
A.
p->
k=2;
(*p).k=2;
x.k=2
x->
k=2
9.不正确的赋值或赋初值的方式是(B)。
charstr[]=”string”;
charstr[10];
str=”string”;
C.
char*p=”string”;
char*p;
p=”string”;
10.设程序中不再定义新的变量,写出在函数main中可以使用的所有变量为:
(B)
#include<
stdio.h>
intz;
intp(intx)
{
staticinty;
return(x+y);
}
voidmain()
inta,b;
printf(“%dn”,p(a));
………
}
A.a,b
B.a,b,z
a,b,y,z
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.s1和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(i<
j)
{t=a[i];
a[i]=a[j];
a[j]=t;
j--;
fun(a,i,j);
{intx[]={2,6,1,8},i;
fun(x,0,3);
4;
i++)printf("
%2d"
x[i]);
\n"
);
A)1268B)8621C)8162D)8612
17.有以下说明和定义语句
structstudent
{intage;
charnum[8];
};
structstudentstu[3]={{20,"
200401"
},{21,"
200402"
},{19,"
200403"
}};
structstudent*p=stu;
以下选项中引用结构体变量成员的表达式错误的是(D)
A)(p++)->
numB)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
intgreen;
inblue;
}cl;
}cl;
20.有以下程序
fun(inta,intb)
{if(a>
b)return(a);
elsereturn(b);
main()
{intx=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);
printf("
r);
程序运行后的输出结果是(D)
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<
=j+1;
i+=2,j--)printf("
26.以下叙述正确的是(D)
A)do-while语句构成的循环不能用其它语句构成的循环来代替。
B)do-while语句构成的循环只能用break语句退出。
C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D)用do-while语句构成的循环,在while后的表达式为零时结束循环。
27.下列程序执行后的输出结果是(A)
A)GB)HC)ID)J
{intx='
f'
%c\n"
'
+(x-'
a'
+1));
28.下列程序执行后的输出结果是(A)
A)6B)7C)8D)9
voidfunc(int*a,intb[])
{b[0]=*a+6;
{inta,b[5];
a=0;
b[0]=3;
func(&
a,b);
%d\n,b[0]);
29.下列程序的运行结果是(B)
A)a=%2,b=%5B)a=2,b=5
C)a=d,b=dD)a=%d,b=%d
#include
{inta=2,c=5;
a=%d,b=%d\n"
a,c);
30.设有数组定义:
chararray[]="
China"
则数组array所占的空间为(C)
A)4个字节B)5个字节C)6个字节D)7个字节
31.下列程序的输出结果是(B)
A)5B)6C)7D)8
structabc
{inta,b,c;
};
{structabcs[2]={{1,2,3},{4,5,6}};
intt;
t=s[0].a+s[1].b;
t);
32.若有以下调用语句,则不正确的fun函数的首部是(C)
A)voidfun(intm,intx[])B)voidfun(ints,inth[41])
C)voidfun(intp,int*s)D)voidfun(intn,inta)
{…
inta[50],n;
…
fun(n,&
a[9]);
33.设已有定义:
char*st="
howareyou"
下列程序段中正确的是(A)
A)chara[11],*p;
strcpy(p=a+1,&
st[4]);
B)chara[11];
strcpy(++a,st);
C)chara[11];
strcpy(a,st);
D)chara[],*p;
strcpy(p=&
a[1],st+2);
34.下列程序执行后的输出结果是(A)
A)you&
neB)youC)meD)err
mai()
{chararr[2][4];
strcpy(arr,"
you"
strcpy(arr[1],"
me"
arr[0][3]='
'
%s\n"
arr);
35.下列程序执行后的输出结果是(B)
A)6B)8C)10D)12
#defineMA(x)x*(x-1)
{inta=1,b=2;
MA(1+a+b));
}
36.变量a所占内存字节数是(C)
A)4B)5C)6D)8
unionU
{charst[4];
inti;
longl;
structA
{intc;
unionUu;
}a;
for(k=s=0;
k<
10&
s<
=10;
s+=k)
k++;
printf(“k=%d,s=%d”,k,s);
5.下列程序的输出结果是
5,9
。
intf(intm)
{
staticintk=2;
returnk+m;
voidmain()
ints;
s=f
(2);
printf(“%d,%dn”,s,f(s));
6.
对于以下递归函数f,条用f(3)的返回值是
-2
f(intn)
return((n<
=0)?
n:
f(n-1)+f(n-2));
7.下列程序的输出结果是
-10
intc[]={10,0,-10};
int*k=c+2;
printf(“%d”,*k--);
8.下列程序的输出结果是
2
1
intk=1,j=2,*p=&
k,*q=p;
p=&
j;
printf(“%d%d”,*p,*q);
9.下列程序的输出结果是
un,g
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;
k++)
for(j=1;
j<
j++)
a[k-1][j-1]=(k/j)*(j/k);
for(k=0;
2;
for(j=0;
printf(”%d”,a[k][j]);
12.下面程序的功能是:
计算1到10之间奇数之和及偶数之和,请填空。
{inta,b,c,i;
a=c=0;
10;
i+=2)
{a+=i;
b=i+1
;
c+=b;
偶数之和=%d\n"
a);
奇数之和=%d\n"
c-11);
13.下面程序的功能是:
输出100以内能被3整除且个位数为6的所有整数,请填空。
{inti,j;
10
i++)
{j=i*10+6;
if(
i%3!
=0
)continue;
j);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 模拟 试题 参考答案