山西省2019年专升本选拔考试(C程序设计数据结构)历年真题详解
第一部分C程序设计
一、单项选择题(本大题共10小题, 每小题3分,共计30分) C语言程序的基本结构有(A) A.顺序结构、选择结构、循环结构 B.算法结构、数据结构、循环结构 C.算法结构、选择结构、循环结构 D.顺序结构、数据结构、循环结构 2.不能作为合法的常量是(A) A. 'ab' B. \C. '\\ 0111' D.12e+4
3.正确的定义语句是(C) A double a; b; B. double a=b=7.0; C. double a=7, b=7; D. double,a, b;
4.若有定义语句:int a[]={1,3,5,7,9},i=4;则错误的引用是(D) A. a[--i] B. a[2*2]
C. a[(a[i]+1)/2] D. a[a[4]]
5.已知函数调用myFunc(f1(1),(2,3),(4,5,6),(7,max(8,9)))中,有(B)个实参。 A.3 B.4 C.9 D.2
6.假设已指定整型变量i=3,float型变量f=25,则表达式10+'a'+i*f的值的类型是(D) A char B. int C. float D. double
7.下列关于结构体的定义语句中,错误的是(B)
A. struct xyz {int x; int y; int z;}; struct xyz abc;
1
B. struct xyz {int x; int y; int z;} struct xyz abc; C. struct xyz {int x; int y; int z;} abe; D. struct {int x; int y; int z;} abc; 8.下列关于C语言文件的叙述正确的是(C) A.文件由数据序列组成,只能构成二进制文件 B.文件由结构序列组成,只能构成文本文件
C.文件由数据序列组成,可以构成二进制文件或文本文件 D.文件由结构序列组成,可以构成二进制文件或文本文件
9.指定局部变量为“静态局部变量\,可用关键字(C)进行声明。 A. auto B. register C. static D.以上都不是
10.执行赋值表达式“a=(b=3*4);\a的值为(C) A.3 B.4 C.12
D.以上都不是
二、填空題(本大题共8小题,每空3分,共计24分) 1.已知定义: char c=''; int a=-1, b; (c的初值为空格字符)。执行\后b的值为___0____。
2.设变量已正确定义为整数,则表达式n=i=2, ++i, i++的值为__3_。 3.若有定义语句:char str[20]=\则strlen(str)的值是__10___。
4.已知语句int X=5;,则表达式X-=X*X的值为_-20__。
5.已知存在 int a=0, b=9; 语句,则执行完\语句后,变量b的值是__9_。
6表达式(int)((double)(7/2)+3.5)的值为__6_。 7.一个变量的地址称为该变量的_“指针”___。
8.已知字符'a'的ASCII码是97 ,执行“char c1='x';”语句和“pintf(\语句后,输出结果是__120___。
三、程序设计题(本大题共2小题,每小题11分,共计22分)
1.已知一个函数: x (x<1) y= 2x-1(1≤x<10)
3x-11(x≥10)
编写函数Fun1实现上式,并返回函数值。在main函数调用Fun1函数,接收输入的x值,并输出函数值,例如:输入3.5,输出6。
2
2.编写函数Fun2,实现公式求π的近似值,直到发现某一项的绝对值小于指定 阈值为止(该项不累加),并返回近似值。在main函数调用Fun2函数,并输出指定阈值为10-6的近似值。
??111
用≈1?+?+??公式求???的近似值,直到
4357 最后一项的绝对值小于10?6为止
3
四、程序填空题(本大题共3小题,每小题8分,共计24分)
1.已知函数Fun3的部分代码如下所示,其功能是将整数数组x中的元素按相反顺序存放,请在空格处补充程序。例如:x={1,2,3,4},则经过Fun3函数后为x={4,3,2,1}
void Fun3(int *x,int n) {
int *p,*i,*j; int temp;
int midele=(n-1)/2; i=x;
j=x+n-1;
p= x+middle;
for(; i<=p; i++,j--) {
temp=*i;
4
*i=*j; *j=temp ; }
return result; }
2.已知函数Fun4的部分代码如下所示,其功能是:计算如下公式的前n项和并作为函数值返回,请在空格处补充程序。
long Fun4( int n)
{
int i,j;
long___temp=1,result=0; if(n= =0) return 1; if(n>20) return 0; for(i=1;i<=n;i++) {
temp=temp*i;
result=result+temp; }
return result;
}
3.已知函数Fun5的部分代码如下所示,其功能是:统计指针变量a所指的字符串中单词的个数,并存放在指针变量b所指的变量中。其中单词之间用空格分隔开。例如,若a所指的字符串为\则b所指的变量的值应为3,请在空格处补充程序。 void Fun5(char *a, int *b) {
int i=0,num=0,word=0; char c;
for(i=0;c=a[i])!=’\\0’;i++) if(c==’ ’) word=0; Else if( word==0) {
word=1;
5
山西省2019年专升本选拔考试(C程序设计数据结构)历年真题详解



