专升本计算机模拟试题一.docx
- 文档编号:15781523
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:21
- 大小:24.83KB
专升本计算机模拟试题一.docx
《专升本计算机模拟试题一.docx》由会员分享,可在线阅读,更多相关《专升本计算机模拟试题一.docx(21页珍藏版)》请在冰点文库上搜索。
专升本计算机模拟试题一
模拟试题一
一.单项选择题:
1.以下叙述中正确的是()
A.构成C程序的基本单位是函数
B.可以在一个函数中定义另一个函数
C.Main()函数必须放在其他函数之前
D.所有被调用的函数一定要在调用之前进行定义
2.C语言中最简单的数据类型包括()
A.整型、实型、逻辑型
B.整型、实型、字符型
C.整型、字符型、逻辑型
D.字符型、实型、逻辑型
3.执行下列语句中,sum变量的值是()
intsum=0
for(inti=0;i<10;i++,sum+=i)
A.45
B.55
C.0
D.编译错误
4.设a为5,执行下列语句后,b的值不为2的是()
A.b=a/2B.b=6-(--a)C.b=a%2D.b=a>3?
2:
1
5.在计算机中,算法是指()
A.加工方法B.结局方案的准确而完整的描述
C.排序方法D.查询方法
6.以下运算符中,运算对象必须是整型的是()
A./B.%=C.!
=D.<=
7.设有定intx=1;inty=’a’<’A’?
x--:
x++;,则变量Y的值是()
A.0B.2C.1D.3
8.下列数据中,不合法的C语言实型数据的是()
A.0.123B.123e3C.2.1e3.5D.789.0
9.有如下程序()
#include
voidmain()
{
intx=1,a=0,b=0;
switch(x)
{
case0:
b++;
case1:
a++;
case2:
a++;b++;
}
printf(“a=%d,b=%d\n”,a,b);
}
该程序的输出结果是()
A.a=2,b=1B.a=1,b=1
C.a=1,b=0D.a=2,b=2
10.以下程序的输出结果是()
main()
{
inta=21,b=11;
printf(“%d\n”,--a+b,--b+a);
}
A.30B.31C.32D.33
11.有如下程序()
main()
{
intn=9;
while(n<6){n--;printf(“%d”,n)}
}
该程序的输出结果是()
A.987B.876C.8765D.9876
12.若有说明:
int*p,m=5,n;,以下正确的程序段是()
A.p=&n;scanf(“%d”,&p);B.p=&n;scanf(“%d”,*p)
C.scanf(“%d”,&n);*p=n;D.p=&n;*p=m;
13.若以定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()
A.函数调用可以作为独立的语句存在B.函数调用可以作为一个函数的实参
C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参
14.设有以下说明语句()
structstu
{
inta;
floatb;
}
stutype;
则以下叙述不正确的是()
A.struct是结构体类型的关键字B.structstu使用户定义的结构类型
C.stutype是用户定义的结构体类型名D.a和b都是结构体成员名
15.以下说法正确的是()
A.C语言程序总是从第一个的函数开始执行
B.在C语言程序中,要调用函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
16.有以下程序()
#defineF(X,Y)(X)*(Y)
main()
{
inta=3,b=4;
printf(“%d\n”,F(a++,b++));
}
程序运行后的输出结果是()
A.12B.15C.16D.20
17.设有程序段()
intk=10;
while(k=0)k=k-1;
则下面描述中正确的是()
A.while循环执行10次B.循环是无限循环
C.循环体语句一次也不执行D.循环体语句执行一次
18.以下程序的运行结果是()
#include“stdio.h”
main()
{structdate
{intyear,month,day;}today;
printf(“%d\n”,sizeof(structdate));
}
A.12B.6C.9D.7
19.对表达式for(表达式1;;表达式3)可理解为()
A.for(表达式1;0;表达式3)B.for(表达式1;1;表达式3)
C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)
20.执行下面的程序段后,变量K中的值为()
Intk=3,s[2];
S[0]=k;k=s[1]*10;
A.不定值B.33C.30D.10
21.以下程序的输出结果是()
main()
{
inta,I;a=0;
for(i=1;i<5;i++)
{
switch(i)
{
case0:
case3:
a+=2;
case1;
Case2:
a+=3;
default:
a+=5;
}
}
printf(“%d\n”,a);
}
A.31B.13C.10D.20
22.有如下程序段()
inta=14,b=15,x;
charc=’A’;
X=(a&&b)&&(c<’B’);
执行该程序段后,X的值为()
A.tureB.falseC.0D.1
23.下列程序执行后输出结果是()
voidfunc1(intI);
voidfunc2(intI);
charst[]=”hello,friend!
”;
voidfunc1(intI)
{
printf(“%c”,st[i]);
If(i<3)
{i+=2;func2(i);
}
}
voidfunc2(intI)
{
printf(“%c”,st[i]);
if(i<3)
{i+=2;func1(i);
}
}
main()
{
inti=0;func1(i);printf(“\n”);
}
A.helloB.helC.hloD.hlm
24.下面程序段的运行结果是()
char*p=”abcdefgh”;
p+=3;
printf(”%d\n”,strlen(strcpy(p,”ABCD”)));
A.8B.12C.4D.7
25.以下程序的输出结果是()
#include
voidprt(int*x,int*y,int*z)
{
Printf(“%d,%d\n”,++*x,++*y,*(z++));
}
main()
{
inta=10,b=40,c=20;
prt(&a,&6,&c);
prt(&a,&b,&c),
}
A.11,42,31
12,22,41
B.11,41,20
12,42,20
C.11,21,40
11,21,21
D.11,41,21
12,42,22
26.下列程序执行后的输出结果是()
main()
{
inta[3][3],*p,i;
p=&a[0][0];
for(i=1;i<9;i++)p[i]=i+1;
printf(*%d\n”,a[1][2]);
}
A.3B.6C.9D.随机数
27.设有以下说明语句
typedefstruct
{
intn;
charch[8];
}
PER;
则下面叙述中正确的是()
A.PER是结构体变量名B.PER是结构体类型名
C.typedefstruct是结构体类型D.struct是结构体类型名
28.有以下程序
intf(intn)
{
if(n==1)return1;
elsereturnf(n-1)+1;
}
main()
{
inti,j=0;
for(i=1;i<3;i++)j+=f(i);
printf(“%d\n”,j);
}
程序运行后的输出结果是()
A.4B.3C.2D.1
29.定义如下变量和数组
intj;
intb[3][3]={8,8,7,6,5,4,3,2,1};
则下面语句的输出结果是()
for(j=0;j<3;J++)printf(“%d”,b[j][j]);
A.753B.851C.863D.741
30.有如下程序
inta[10]={1,2,3,4,5,6,7,8,9,10};
int*p=&a[3],b;
b=p[5];
则b的值是()
A.5B.6C.9D.8
二.填空题
1.以下程序段的输出结果是_______.
#include”stdioh”
voidmain()
{
inti=0,sum=0;
while
(1)
{
sum+=i;
i++;
if(i>5)break;
}
printf(“sum=%d\n”,sum);
}
2.设i、j、k均为int型变量,则执行完下面的for语句后,k的值为_____.
for(i=,j=12;i<=j;i++,j--)k=i+j;
3.下面程序的功能使用函数递归方法计算斐波那契数列,填空完善程序。
#include
voidmain()
{
intn,m;
scanf(“%d”,&n);
m=fibo(n);
printf(“%d”,m);
}
intfibo(intn);
{
if(n==1)return(0);
elseif(n==2)return
(1);
elsereturn(______);
}
4.以下程序的输出结果是____________
#include
voidmain()
{
inta[6]={12,4,17,24,27,16};
intb[6]={27,13,4,25,23,16};
for(inti=0;i<6;i++)
{
for(intj=0;j<6;j++)
if(a[i]==b[j])
break;
if(j<6)printf(“%d”,a[i])
}
}
5.设有定义struct{inta;floatb;charc;}abc,*p_abc=&abc;,则对结构体成员a的引用方法可以是abc.a和p_abc__________a。
三.程序设计题
1.设计程序,求
的值
2.编写程序,讲两个字符串连接起来,不要用strcat()函数。
模拟试题二
一、单项选择:
1.C程序中,unsignedintx;定义的变量取值范围为()
A.0~255B.0~65535C.0~32767D.0~2137483647
2.C语言中,正确的字符与字符串表示方式为()
A.chara=’a’,b=”abc”;B.chara=’a’,b[]=”abc”
C.chara=”a”,b[]=”abc”;D.chara=’a’,b[2]=”abc”
3.若a是float型变量,b是int型变量,以下输入语句合法的是()
A.scanf(“%6f%f”,&a,&b)B.scanf(“%8f%d”,&a,&b)
C.scanf(“%6d%d”,&a,&d)D.scanf(“%6f%c”,&a,&b)
4.如果i=1,执行j=++i;k=++;其j、i和k的值是()
A.2,2,2;B.1,2,3;C.1,1,1;D.2,3,2;
5.在if(条件)语句执行时,当条件为()时C语言认为是“真”。
A.TURE;B..TC.0D.非零值
6.如果inta[4]={1,2,3,4},*p=&a[2];执行p++;其*p+a[0]的值为()
A.2B.3C.4D.5
7.设inta,b,c;且a=10;b=4;a/=b;则表达式(a/b?
b+a:
b-a)之值是()
A.0.5B.6;C.2;D.-2
8.对于inta[10];正确的赋值语句是()
A.*(a+2)=4;B.a=6;C.a+2=4;D.*(a+15)+4;
9.设intx,a,b,c;计算表达式x=(a=4,b=16,c=32)后,x的值是()
A.4B.16C.32D.52
10.对于inta[][3]={1,2,3,4,5,6,7,8,9,10}说明语句,数据元素a[1][2]+a[3][1]的值为()
A.15B.16C.8D.6
11.阅读下面程序
switch(n/10-4)
{
case2:
n=n+1;
case3:
n=n*2;
case5:
n=n-2;
case7:
n=n+3;break;
default:
n=n/2;
}
n的正确结果是()
A.95B.96C.97D.98
12.已知inti=j=2;char*a=”abcdefg”,c执行c=*(a=a+3);c的值是()
A.’b’B.’c’C.’d’D.’e’
13.阅读下面程序,结果是()
main()
{
inta=5,b=0,c=0;
if(a=b+c)printf(“***\n”);
elseprintf(“###\n”);
A.语法有错误,不能变异B.输出***
C.通过编译,但不能连接D.输出###
14.for(;3;);代表的是意义是()
A.死循环B不循环
C.循环三次D.语法错误
15.对于表达式53/2&&!
0和!
(15>3||5<6-8)的逻辑值,分别是()
A.0,1B.1.0C.0,0D.1,1
17.设charw;intx;floaty;doublez;表达式w*x+z-y的值的数据类型为()
A.charB.intC.floatD.double
18.有以下程序段
FILE*fp;
fp=fopen(“a1”,”r”);
其表示为()
A.定义了一个普通指针,函数值给指针赋值
B.定义了一个文件a1
C.打开了一个文件,该文件可读可写
D.打开了一个文件,该文件只能读不能写
19.下面对数组的定义正确的是()
A.intn=10;intarray[n];
B.intarray(10);
C.intn;scanf(“%d”,&n);intarray[n];
D.intn;intarray[n];scanf(“%s”,array);
20.下面个语句行中,能正确进行赋值字符串操作的语句行是()
A.chars[4][5]=”abcd”,“123”;B.chars[5]={‘a’,’b’,’c’,’e’,’f’};
C.char*s;s=”abcd”;D.chars[5];s=”abcd”;
21.在一个C语言程序构成中,较完整的描述是()
A.有主程序与子程序构成B.由多个主函数与多个子函数构成
C.有主函数与子函数构成D.有一个主函数与多个子函数构成
22.C语言在程序开始执行时,其正确的描述是()
A.由编写程序语句的顺序格式执行
B.在主函数main()开始处执行
C.在第一个子函数处执行
D.由人随机选择执行
23.下列有关函数错误的描述是()
A.C语言中允许函数嵌套定义
B.C语言中允许函数递归调用
C.调用函数时,实参与形参的个数、类型须完全一致
D.C语言函数的缺省数据类型是int类型
24.在C语言中,函数的返回值的类型是由()
A.在程序编译时决定
B.由调用该函数的主函数所决定
C.由return的表达式的类型所决定
D.由定义该函数时指定的函数类型所决定
25.当调用函数时,如果实参是一个数组名,则向函数传送的是()
A.数组的首元素B.数组的首地址
C.数组每个元素的地址D.数组每个元素中的值
二.读下面程序,给出程序的运行结果:
1.main()
{
inti,j,m,n;
i=5;j=6;n=10;
m=++i;n/=j++;
printf(“m1=%dn1=%d”,m,n);
m=i++;n=++j;
printf(“m2=%dn2=%d”,m,n);
}
结果:
m1=_______n1=________m2=_________n2=__________
2.main()
{
inta[20],b=1;
for(a[0]=b;b<=10;b+=2)
{
a[b]=b;
if(b>7)break;
b++;
}
printf(”a=%d”,a[b]);
}
结果:
a=___________
3.#include
voidmain()
{
charch;
scanf(“%c”,&ch);
if(ch>=’B’&&ch<’M’)putchar(ch+32);
elseputchar(ch);
}
输入M,运行结果为:
_________;输入b,运行结果为:
__________
4.main()
{
inta[3][3]={1,2,3,4,5,6,7,8,9};
int*p1=&a[1][2],*p2=a+2;
printf(“%d,%d\n”,*p1,*p2);
printf(“%d,%d\n”,*(++p2),a[2][2]);
}
输出为:
___________
5.main()
{
inti;
char*p,b[10];
p=”abcde”;
for(i=0;i<3;i++)
{
b[i]=*p;p++;
}
b[i]=’\0’;
printf(“%s”,b);
}
输出为:
b=___________
6.#include“stdio.h”
intfun(intx)
{
inty=0;
staticz=3;
y++;
z++;
return(x+y+z);
}
main()
{
inta=2,i;
for(i=0;i<3;i++);
printf(“\t%d”,fun(a));
}
结果为:
_______________
三.填空题
1.如果p是一个指针,那么*&p表示的含义是___________,而&*p表示的含义是________.
2.已知数组s是一个有8个单元的完整数组,下面的语句试图求出这8个单元的平均值,并用ave保存这个值,请补充完整下面的语句:
intj,s[]={1,2,3,4,5,6,7,8},sum=_________;
for(_______;__________;j++)________;
ave=________/8;
3.变量在程序使用中,其作用域可分为_______变量和_________变量。
4.打印如下图案,选择合适的句子填入该程序空格中。
0
000
00000
0000000
00000
000
0
#include
voidmain()
{
intj,k;
for(j=0;j<7–i;j++)printf(“”);
for(k=0;_____;k++)printf(“0”);
printf(“\n”);
}
main()
{
inti;
for(i=0;i<3;i++)_______;
for(i=3;i>=0;i--)_______;
}
5。
用选择法对数组为n个整数由大到小进行排序,选择合适的句子填入该程序的空格中。
#defineN100
main()
{
inti,a[N],n;
scanf(“%d”,&n);
voidsort(intarray[],intn);
for(i=0;i sort(a,_____); printf(“thesortedarray: \n”); for(i=0;i<15;i++)printf(“%d”,a[i]); } voidsort(___,intn) { inti,j,k,t; for(i=0;i { k=i; for(j=i+1;j if(array[j]>array[k])k_______; t=array[k];array[k]=array[i];array[i]=t; } } 6.下面程序的功能是输入5个整数,找出最大数和最小数所在的位置,并把两者对调,然后输出调整后的5个数,选择合适的句子填入该程序的空格中。 main() { int a[5],max,min,i,j,k; for(i=0; i<5; i++) scanf("%d",&a[i]); min=a[0]; for(i=1;i<5;i++) if(a[i] { min=a[i]; (___________); max=a[0]; for(i=1;i<5;i++) if(a[i]>max) { max=a[i];(____________); } printf("\nTheposittionofminis: %3d\n”,k); printf("Thepositionofmaxis: %3d\n”,j); for(i=1;i<5;i++)printf(“%5d\n”,a[i]); } 四。 编写程序: 1。 通过键盘输入10个整数在一位数组中,并且把该数组中所有为偶数的书,放在另一个数组中。 2。 在两题中,可选择其中一题: (1)编写一个累加求和的子函数,在主函数中调用其子函数,实现1~100中的偶数求和。 (2)编程求一个n×n矩阵的主
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 模拟 试题