本科插班生考试试题《高级语言程序设计》A卷.docx
《本科插班生考试试题《高级语言程序设计》A卷.docx》由会员分享,可在线阅读,更多相关《本科插班生考试试题《高级语言程序设计》A卷.docx(8页珍藏版)》请在冰豆网上搜索。
本科插班生考试试题《高级语言程序设计》A卷
韩山师范学院2018年本科插班生考试试卷
计算机科学与技术专业高级语言程序设计试卷(A卷)
题号
一
二
三
四
五
总分
评卷人
得分
得分
评卷人
一、填空题(每空2分,共10分)
1.C程序源文件的后缀名是。
2.设变量a的值是1,则表达式(2+a)∧(~3)的值是______。
3.fgetc函数的作用是从指定文件读入一个。
4.C语言程序至少必须包含一个函数。
5.若有定义:
inta[3][5];则数组a中共有________个元素。
得分
评卷人
二、单项选择题(每题2分,共30分)
题号
1
2
3
4
5
6
7
8
9
10
答案
题号
11
12
13
14
15
答案
1.C语言程序编译时,程序中的注释部分__________。
A.不参加编译,但会出现在目标程序中
B.不参加编译,也不会出现在目标程序中
C.参加编译,但不会出现在目标程序中
D.参加编译,并会出现在目标程序中
2.以下程序执行后sum的值是__________。
A.15B.不确定C.14D.0
main()
{inti,sum=0;
for(i=1;i<6;i++)sum+=i;
printf("%d\n",sum);
}
3.下列程序段的输出结果是__________。
A.2143B.1212C.1234D.2112
voidfun(int*x,int*y)
{printf("%d%d",*x,*y);*x=3;*y=4;}
main()
{intx=1,y=2;
fun(&y,&x);
printf("%d%d",x,y);
}
4.以下程序的输出结果是__________。
main()
{charc='a';
printf("%c",c+25);
}
A.AB.aC.a+25D.z
5.以下能正确定义,且赋初值的语句是_________
A.intn1=n2=10;B.charc=32;
C.Floatf=f+1;D.doublex=12.3E2.5
6.以下程序的输出结果是__________
main()
{charch[3][5]={"AAAA","BBB","CC"};
printf("\"%s\"\n",ch[1]);
}
A."AAAA"B."BBB"C."BBBCC"D."CC"
7.设有定义:
inta=3,b,*p=&a;则下列使b不为3的语句是_________
A.b=*&aB.b=*pC.b=aD.b=*a
8.若有说明语句:
inta,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是__________。
A.scanf("%d%d%d",&a,&b,d);B.scanf("%d%d%d",&a,&b,&d);
C.scanf("%d%d%d",a,b,d);D.scanf("%d%d%d",a,b,*d);
9.有定义语句:
intx,y;若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是__________。
A.11,12<回车>B.1112<回车>
C.11,<回车>12<回车>D.11,12<回车>
10.有以下程序的输出结果是__________
charch;intk;
ch='a';k=12;
printf("%c,%d",ch,ch,k);
printf("k=%d",k);
A.因为变量类型与格式描述符的类型不匹配输出无定值
B.输出项与格式描述符个数不符,输出为零值或不定值
C.a,97,12k=12
D.a,97k=12
11.有以下程序,输出是__________
#include
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是否为小写字母的正确表达式为__________
A.'a'<=c1<='z'B.(c1>=a)&&(c1C.('a'<=c1)||('z'>=c1)D.(c1>='a')&&(c1<='z')
13.设有以下结构类型说明和变量定义,则变量a在内存所占字节数是__________
structstud
{charnum[6];
doubleave;
}a;
A.14B.18C.26D.22
14.下面表达式中__________的值等于0。
(设:
inta=1;b='0';)
A.!
a==!
bB.!
a||bC.!
(a==b)D.a&&!
b
15.在位运算中,操作数每左移一位,其结果相当于__________。
A、操作数除以2B、操作数乘以16
C、操作数乘以2D、操作数除以16
得分
评卷人
三、阅读程序,将运行结果写到各题右侧的空白处(每题4分,共20分)
1.main()
{inti=0,s=0;
do{
if(i%2){i++;continue;}
i++;
s+=i;
}while(i<7);
printf("%d\n",s);
}
2.#definef(x)x*x
main()
{inti;
i=f(3+1)/f(2+2);
printf("%d\n",i);
}
3.main()
{charstring1[64]="abc";
char*string2="def";
charstring3[]="123";
strcat(string1,string2);
strcat(string1,string3);
printf("%d\n",strlen(string1));
}
4.main()
{inta[]={1,2,3,4,5,6,7,8,9,0,},*p;
p=a;
printf("%d\n",*p+9);
}
5.voidf(intv,intw)
{intt;
t=v;v=w;w=t;
}
main()
{
intx=1,y=3,z=2;
if(x>y)f(x,y);
elseif(y>z)f(y,z);
elsef(x,z);
printf("%d,%d,%d",x,y,z);
}
得分
评卷人
四、阅读程序或程序段,填空(每题4分,共20分)
1.以下程序完成对一维数组Array进行冒泡排序(从大到小),请填空。
main()
{
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中,并将两个数组的数据输出,请填空。
main()
{inta[4][3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
intb[3][4],i,j;
printf("\narraya:
\n\n");
for(i=0;①;i++)
{for(j=0;j<3;j++)
{printf("%5d",a[i][j]);
②
}
printf("\n");
}
printf("\narrayb:
\n\n");
for(i=0;i<3;i++)
{for(j=0;j<4;j++)
printf("%5d",b[i][j]);
printf("\n");
}
}
3.编写一个程序将用户输入的由数字字符和非数字字符组成的字符串中的数字提取出来,请填空。
main()
{
charstr[20],*p;
p=str;
gets(str);
for(;①;p++)
{if(②)
printf("%c",*p);
}
}
4.以下程序的功能是:
在N行M列的二维数组中,找出最小值,以及最小值所在的行下标,请填空。
#defineN3
#defineM3
main()
{inta[N][M]={21,11,23,6,1,15,9,17,20};
inti,j,row=0,min=a[0][0];
for(i=0;ifor(j=0;jif(a[i][j]{①
②
}
printf("min=%d,line=%d\n",min,row);
}
5.以下程序的功能是:
输出a,b,c三个变量中的最大值,请填空。
#include
voidmain()
{inta,b,c,t1,t2;
scanf("%d%d%d",&a,&b,&c);
t1=a
①;
t2=c②;
printf("%d\n",t2);
}
得分
评卷人
五、编程题(每题10分,共20分)
1.输入三个字符串,按由小到大的顺序输出,利用指针实现。
2.求100至200间的全部素数。