韩山师范学院本科插班生考试《高级程序设计语言》A卷.docx
《韩山师范学院本科插班生考试《高级程序设计语言》A卷.docx》由会员分享,可在线阅读,更多相关《韩山师范学院本科插班生考试《高级程序设计语言》A卷.docx(9页珍藏版)》请在冰豆网上搜索。
![韩山师范学院本科插班生考试《高级程序设计语言》A卷.docx](https://file1.bdocx.com/fileroot1/2022-11/26/c8cfe623-19c1-4e7b-94c6-b14875ccfb8b/c8cfe623-19c1-4e7b-94c6-b14875ccfb8b1.gif)
韩山师范学院本科插班生考试《高级程序设计语言》A卷
韩山师范学院2017年本科插班生考试试卷
计算机科学与技术专业高级语言程序设计试卷(A卷)
题号
一
二
三
四
五
总分
评卷人
得分
得分
评卷人
一、填空题(每空2分,共10分)
1.C程序的基本组成单位是。
2.当a=1,b=35,c=5时,表达式a!
=b>c的值是_______。
3.一个C文件是一个_________流或二进制流。
4.一个字符数据既可以以字符形式输出,也可以以__形式输出。
5.若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后,a的值为。
得分
评卷人
二、单项选择题(每题2分,共30分)
题号
1
2
3
4
5
6
7
8
9
10
答案
题号
11
12
13
14
15
答案
1.下述程序段的输出结果是()。
intx=10;
inty=x--;
printf("%d,%d",(y++,x),y++);
A、9,10B、11,10
C、10,9D、9,11
2.下面各选项中,均是C语言标识符的选项组是()。
A、forchinatoB、voidunion_342
C、long_123short56_doD、text.txt_075_3ew
3.若intk=10;则执行下列程序后,变量k的正确结果是()。
main()
{intk=10;
switch(k)
{case9:
k+=1;
case10:
k+=1;break;
case11:
k+=1;
default:
k+=1
}
printf(″%d\n″,k);
}
A、12B、11C、10D、9
4.在位运算中,操作数每右移一位,其结果相当于()。
A、操作数除以2B、操作数乘以16
C、操作数除以16D、操作数乘以2
5.以下能对二维数组c进行正确的初始化的语句是()。
A、intc[][5]={{1},{},{4}};
B、intc[][5]={{1},{2},{4}};
C、intc[5][]={{2},{8},{4},{5}};
D、intc[5][]={{6},{6},{9}};
6、以下程序执行后,sum的值是()。
main()
{inti,sum=0;
for(i=1;i<6;i++)sum+=i;
printf("%d\n",sum);
}
A、15B、14C、不确定D、0
7、若已定义了如下的共用体类型变量x,则x所占用的内存字节数为()。
uniondata
{inti;
charch;
doublef;
}x;
A、7B、11C、8D、10
8.C语言中函数返回值的类型是由决定的.
A、函数定义时指定的类型B、return语句中的表达式类型
C、调用该函数时的实参的数据类型D、形参的数据类型
9.以下程序执行后输出的结果是()。
main()
{inti;
for(i=4;i>1;i--)
switch(i)
{case1:
printf("%d",++i);
case2:
printf("%d",i);
default:
printf("%d",i--);
}
}
A、311B、422C、42D、32
10.下列不正确的定义是( )。
A、int*p=&i,i;B、int*p,i;
C、inti,*p=&i;D、inti,*p;
11.已知charx[]="student",y[]={'s','t','u','d','e','n','t'};,则关于两个数组长度的正确描述是()
A、相同B、x大于yC、x小于yD、以上答案都不对
12.以下程序中,while循环的循环次数是()
#include
voidmain()
{inti=0;
while(i<10)
{if(i==5)break;
i++;
}
......
}
A、1B、6C、7D、死循环,不能确定次数
13.判断字符串s1是否大于字符串s2,应当使用()。
A、if(s1>s2)B、if(strcmp(s1,s2))
C、if(strcmp(s2,s1)>0)D、if(strcmp(s1,s2)>0)
14.设intx=1,y=1;表达式(!
x||y--)的值是()。
A、0B、1C、2D、-1
15.以下叙述中正确的是()。
A、调用printf函数时,必须要有输出项
B、使用putchar函数时,必须在之前包含头文件stdio.h
C、在C语言中,整数可以以十二进制、八进制或十六进制的形式输出
D、调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码
得分
评卷人
三、阅读程序,将运行结果写到各题右侧的空白处(每题4分,共20分)
1.
#defineMCRA(m)3*m
#defineMCRB(n,m)2*MCRA(n)/m
#include
main()
{inti=2,j=3;
printf("%d\n",MCRB(MCRA(i++),j));
}
2.
#include"stdio.h"
main()
{
intx=2,y=5,z=8;
if(xif(y<0)z=0;
elsez=z+1;
printf("%d\n",z);
}
3.
#include
main()
{intnum,c;
scanf("%d",&num);//假若运行输入20
do
{c=num%100;
printf("%d",c);
}while((num/=10)>0);
printf("\n");
}
4.
#include
main()
{inti,j;
for(i=3;i<6;i++)
{printf("*");
for(j=3;j<=7-i;j++)
printf("*");
printf("\n");
}
}
5.
#include
main()
{floatfun(floatx[]);
floatave,a[3]={4,2.5,2};
ave=fun(a);
printf("ave=%7.2f",ave);
}
floatfun(floatx[])
{intj;
floataver=2;
for(j=0;j<2;j++)
aver=x[j]*aver;
return(aver);
}
得分
评卷人
四、阅读程序或程序段,填空(每题4分,共20分)
1.读入10个整数,统计正数个数,并计算正数之和。
#include
main()
{inti,a[20],s,count;
s=count=0;
for(i=0;i<10;i++)
scanf(“%d”,);
for(i=0;i<10;i++)
{if()continue;
s+=a[i];
count++;
}
printf(“s=%d\tcount=%d\n”,s,count”);
}
2.计算某学生的兼职报酬(包括工资和补贴)。
structpayment{
char*name;
floatsalary;//工资
floatsubsidy;//补贴
}
main()
{floattotal,sum(float,float);
structpaymentstudent={"Wang",300.00,241.8};
printf("%shasatotalwageof%.2f\n",
clerk.name,);
return0;
}
floatsum(floatx,floaty)
{
;
}
3.512个瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天能卖完。
#include″stdio.h″
main()
{intday,x1,x2;
day=0;x1=512;
while(____________________)
{x2=___________;x1=x2;day++;}
printf(″day=%d\n″,day);
}
4.下面程序用变量count统计文件中字符的个数。
#include“stdio.h”
main()
{FILE*fp;longcount=0;
if((fp=fopen(″letter.dat″,_____________))==NULL)
{printf(″cannotopenfile\n″);
exit(0)}
while(!
feof(fp))
{__________________________________;
count++;}
printf(″count=%ld\n″;count);
fclose(fp);
}
5.以下函数的功能是删除字符串s中的所有大写英文字母。
voiddele(char*s)
{intn=0,i;
for(i=0;s[i];i++)
if(_______________________)
s[n++]=s[i];
s[n]=___________________;
}
得分
评卷人
五、编程题(每题10分,共20分)
1.输入3个正整数,按由大到小的顺序输出,要求使用指针实现。
2.输入百分制成绩,要求输出成绩等级:
优、良、中、合格、不合格。
90分以上为优,80-89分为良,70-79分为中,60-69分为合格,60分以下为不合格。