完整word版韩山师范学院本科插班生考试试题《高级语言程序设计》A卷文档格式.docx
《完整word版韩山师范学院本科插班生考试试题《高级语言程序设计》A卷文档格式.docx》由会员分享,可在线阅读,更多相关《完整word版韩山师范学院本科插班生考试试题《高级语言程序设计》A卷文档格式.docx(10页珍藏版)》请在冰点文库上搜索。
11
12
13
14
15
1.C语言程序编译时,程序中的注释部分___B_______。
A.不参加编译,但会出现在目标程序中
B.不参加编译,也不会出现在目标程序中
C.参加编译,但不会出现在目标程序中
D.参加编译,并会出现在目标程序中
2.以下程序执行后sum的值是___A_______。
A.15B.不确定C.14D.0
main()
{inti,sum=0;
for(i=1;
i<
6;
i++)sum+=i;
printf("
%d\n"
sum);
}
3.下列程序段的输出结果是__A________。
A.2143B.1212C.1234D.2112
voidfun(int*x,int*y)
{printf("
%d%d"
*x,*y);
*x=3;
*y=4;
}
{intx=1,y=2;
fun(&
y,&
x);
%d%d"
x,y);
//解析:
本题中函数传递的是变量的地址,如果形参在函数中发生改变,相对应的实参也就有了改变
4.以下程序的输出结果是____D______。
{charc='
a'
;
%c"
c+25);
A.AB.aC.a+25D.z
5.以下能正确定义,且赋初值的语句是___B______
A.intn1=n2=10;
B.charc=32;
C.Floatf=f+1;
D.doublex=12.3E2.5
6.以下程序的输出结果是____B______
{charch[3][5]={"
AAAA"
"
BBB"
CC"
};
\"
%s\"
\n"
ch[1]);
//指的是第二个元素
A."
B."
C."
BBBCC"
D."
7.设有定义:
inta=3,b,*p=&
a;
则下列使b不为3的语句是___D______
A.b=*&
aB.b=*pC.b=aD.b=*a
8.若有说明语句:
inta,b,c,*d=&
c;
,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是___A_______。
A.scanf("
%d%d%d"
&
a,&
b,d);
B.scanf("
b,&
d);
C.scanf("
a,b,d);
D.scanf("
a,b,*d);
9.有定义语句:
intx,y;
若要通过scanf("
%d,%d"
x,&
y);
语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是____C______。
A.11,12<
回车>
B.1112<
C.11,<
12<
D.11,12<
10.有以下程序的输出结果是_D____
charch;
intk;
ch='
k=12;
%c,%d"
ch,ch,k);
k=%d"
k);
A.因为变量类型与格式描述符的类型不匹配输出无定值
B.输出项与格式描述符个数不符,输出为零值或不定值
C.a,97,12k=12
D.a,97k=12
11.有以下程序,输出是___B_______
#include<
stdio.h>
voidmain()
{
inta=0,b=0,c=0,d=0;
if(a=1)b=1;
c=2;
elsed=3;
printf(“%d,%d,%d,%d”,a,b,c,d);
A.0,1,2,0B.0,0,0,3C.1,1,2,0D.编译有错
12.判断char型变量c1是否为小写字母的正确表达式为____D______
A.'
<
=c1<
='
z'
B.(c1>
=a)&
&
(c1<
z)
C.('
=c1)||('
>
=c1)D.(c1>
='
)&
)
13.设有以下结构类型说明和变量定义,则变量a在内存所占字节数是__________
structstud
{charnum[6];
doubleave;
}a;
A.14B.18C.26D.22
14.下面表达式中_____C_____的值等于0。
(设:
inta=1;
b='
0'
)
A.!
a==!
bB.!
a||bC.!
(a==b)D.a&
!
b
15.在位运算中,操作数每左移一位,其结果相当于___C_______。
A、操作数除以2B、操作数乘以16
C、操作数乘以2D、操作数除以16
//左移乘二,右移除以2
三、阅读程序,将运行结果写到各题右侧的空白处(每题4分,共20分)
1.main()
{inti=0,s=0;
do{
if(i%2){i++;
continue;
i++;
s+=i;
}while(i<
7);
printf("
s);
}答:
16
//这个程序就是
当i%2为1时执行if里面的语句i++,然后continue跳出这个循环继续执行下次
当i%2为0时i++,执行s+=i,一直到i不满足小于7(程序也就是累加1+3+5+7)
最后输出应该是16
2.#definef(x)x*x
main()
{inti;
i=f(3+1)/f(2+2);
i);
3.main()
{charstring1[64]="
abc"
char*string2="
def"
charstring3[]="
123"
strcat(string1,string2);
strcat(string1,string3);
strlen(string1));
4.main()
{inta[]={1,2,3,4,5,6,7,8,9,0,},*p;
p=a;
*p+9);
5.voidf(intv,intw)
{intt;
t=v;
v=w;
w=t;
intx=1,y=3,z=2;
if(x>
y)f(x,y);
elseif(y>
z)f(y,z);
elsef(x,z);
%d,%d,%d"
x,y,z);
四、阅读程序或程序段,填空(每题4分,共20分)
1.以下程序完成对一维数组Array进行冒泡排序(从大到小),请填空。
intarray[11];
intj,k,temp;
for(j=1;
j<
11;
j++)
scanf(“%d”,&
array[j]);
for(j=1;
j<
10;
j++)
for(k=1;
①;
k++)
if(②)
{
temp=array[k];
array[k]=array[k+1];
array[k+1]=temp;
}
2.将一个4×
3的二维数组a行和列互换,存到另一个3×
4的二维数组b中,并将两个数组的数据输出,请填空。
{inta[4][3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
intb[3][4],i,j;
\narraya:
\n\n"
);
for(i=0;
①;
i++)
{for(j=0;
3;
{printf("
%5d"
a[i][j]);
②
\narrayb:
4;
b[i][j]);
3.编写一个程序将用户输入的由数字字符和非数字字符组成的字符串中的数字提取出来,请填空。
charstr[20],*p;
p=str;
gets(str);
for(;
①;
p++)
{if(②)
*p);
4.以下程序的功能是:
在N行M列的二维数组中,找出最小值,以及最小值所在的行下标,请填空。
#defineN3
#defineM3
{inta[N][M]={21,11,23,6,1,15,9,17,20};
inti,j,row=0,min=a[0][0];
N;
for(j=0;
M;
if(a[i][j]<
min)
{①
②
min=%d,line=%d\n"
min,row);
5.以下程序的功能是:
输出a,b,c三个变量中的最大值,请填空。
#include<
voidmain()
{inta,b,c,t1,t2;
scanf("
c);
t1=a<
b?
t2=c<
t1?
②;
t2);
五、编程题(每题10分,共20分)
1.输入三个字符串,按由小到大的顺序输出,利用指针实现。
2.求100至200间的全部素数。