蚌埠学院09年计算机专升本试卷(专业课)

发布时间:2020-05-29 07:21:11   来源:文档文库   
字号:

蚌埠学院2009年专升本专业课考试

《C语言程序设计》试题卷

考生姓名: 准考证号码:

考生须知:1、考生一律在答题卷上答题,在试题卷上答题无效;

2、答题不需要抄写题目,但必须写清题目编号(第几大题第几小题);

3、试题卷、答题卷及草稿纸不准带出考场,离开考场须经监考人员清点;

4、考试时间150分钟;试题满分150分;

5、本试题5页5大题,(注意反面)

一.单项选择题(每题1.5分,共45分)

1______是合法的用户自定义标识符。

A b-b Bfloat C D_isw

2______是不正确的字符常量。

A'n' B'1' C"a" D'\01'

3表达式______的值是0。

A3%5 B3/5.0 C3/5 D3<5

4以下符合C语言语法的实型常量是______

A1.2E0.5 B3.14159E C.5E-3 DE15

5对于以下的变量定义,不正确的表达式是______

   struct node{int j,k;}x,*p=&x;

Ap->k=2; B(*p).k=2;   Cx.k=2    Dx->k=2

6设变量定义为“int s[]="hello\nworld\n";”,则数组s______个元素。

A12 B13 C14 D15

7下列条件语句中,功能与其他语句不同的是______

Aif(a) printf("%d\n",x); else printf("%d\n",y);

Bif(a==0) printf("%d\n",y); else printf("%d\n",x);

Cif(a!=0) printf("%d\n",x); else printf("%d\n",y);

Dif(a==0) printf("%d\n",x); else printf("%d\n",y);

8.C标准库函数中,数学函数的原型在______头文件中。

Astdio.h Bmath.h Cstring.h Dctype.h

9以下选项中非法的表达式是______

Ax=(a=1,b=a+1) Bi=j==0 C(char)(65+3) Dx+1=x+1

10若变量c为char类型,则能正确判断出c为小写字母的表达式是______

A'a'<=c<='z' B(c>='a')||(c<='z') C('a'<=c)and('z'>=c) D(c>='a')&&(c<='z')

11. 语句for(a=0,b=0;b!=100&&a<5;a++) scanf("%d",&b); scanf函数的执行次数______

A. 4 B. 6 C. 5 D. 1

12以下定义语句正确的是______

Aint n=5,a[n][n]; Bint a[][3]={{1,2},{3,4},{5,6}};

Cint a[][3]; Dint a[][]={{1,2},{3,4},{5,6}};

13有数组定义char array[]="China";”,则数组 array所占的空间______

A4个字节 B5个字节 C6个字节 D7个字节

14.C语言程序的基本单位是______

A函数 B过程 C子程序 D子例程

15. C语言中用于结构化程序设计的三种基本结构是______。

A. 顺序结构、选择结构、模块结构 B. 选择结构、循环结构、模块结构

C. while do-while for D. 顺序结构、选择结构、循环结构

16以下程序段while 循环执行的次数是______

int k=0; while(k=1) k++;

A无限次 B有语法错不能执行 C一次也不执行 D执行1

17.以下对于函数说法错误的是______

A函数可以递归调用 B数组名可以作为函数的实际参数

C函数可以嵌套定义 D实际参数和形式参数必须对应

18.设有函数调用语句func((a1,a2,a3),(a4,a5));”,则函数func中有______形参。

A1 B5 C2 D不合法

19当调用函数时,实参是一个数组名,则向函数传送的是______

A数组的长度 B数组的首地址 C数组每一个元素的地址 D数组每个元素中的值

20.以下叙述中不正确的是______

A在不同的函数中可以使用相同名字的变量。

B. 函数中的形式参数是局部变量。

C. 在一个函数内的复合语句中定义变量在本函数范围内有效。

D. 在一个函数内定义的变量只在本函数范围内有效。

21设变量定义为“int a[2]={1,3}, *p=&a[0]+1;”,*p的值是______

A2 B3 C4 D&a[0]+1

22下列程序段的输出结果是______

int *p,*q,k=1,j=10; p=&j; q=&k;p=q;(*p)++; printf("%d",*q);

A1 B2 C10 D11

23设变量定义为“int a[4];”,则不符合C语言语法的表达式是______

A*a Ba[0] Ca Da++

24不正确的赋值或赋初值的方式是______

Achar str[]="string"; Bchar str[10]; str="string";

Cchar *p="string"; Dchar *p; p="string";

25设变量定义为“int x, *p=&x;”,则&*p相当于______

Ap B*p Cx D*&x

26.若有以下定义,则值为4的表达式是______

int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;

Ap+=3,*(p++) Bp+=3,*++p Cp+=4,*p++ Dp+=4,++*p

27程序中对fun函数说明void *fun();”,此说明的含义是______

Afun数无返回值 Bfun函数的返回值可以是任意的数据类型

Cfun函数的返回值是无值型的指针类型 D指针fun指向一个函数,该函数无返回值

28数组定义int a[3][4];”,不能表示a[1][1]的是______

A*(a[1]+1) B*(&a[1][1]) C(*(a+1))[1] D*(a+5)

29不合法的main函数命令行参数表示形式是______

Amain(int a,char *c[]) Bmain(int arc,char **arv)

Cmain(int argc,char *argv) Dmain(int argv,char *argc[])

30下列关于C语言数据文件的叙述中正确的是______

A文件由ASCII码字符序列组成,C语言只能读写文本文件

B文件由二进制数据序列组成,C语言只能读写二进制文件

C文件由记录序列组成,可按数据存放形式分为二进制文件和文本文件

D文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件

二、填空题(每题2分,共30分)

1.一个C语言编写的程序是从______开始执行

2.一个C语言程序的开发过程包括编辑______连接和运行4个步骤

3.C语言源程序文件的扩展名是______

4.表达式 !!5的值是______。

5.设ch是字符型变量,判断ch为英文字母的表达式是______

6.执行下列语句后,变量i的值______

int i; for(i=1;i++<=5;);

7若在程序中用到putchar函数,应在程序开头写上包含命令______,若在程序中用到strlen函数,应在程序开头写上包含命令______。

8.下面程序的运行结果是______

char c[5]={'a','b','\0','c','\0'}; printf("%s",c);

9定义double w[10];”,则w数组元素下标的上限______,下限______

10.数组 int a[3][4];共定义了______个数组元素。

11.C语言的预处理语句以______开头。

12.下列程序段的输出结果是______

#define MIN(x,y) (x)<(y)?(x):(y)

printf("%d",10*MIN(10,15));

13.对于以下递归函数f,用f(3)的返回值是______

f(int n)

{return((n<=0)?n:f(n-1)+f(n-2));}

14下列程序段的输出结果是______

char *st[]={"abcd","efgh","ijkl","mnop"}; printf("%s", *(st+1)+1);

15变量a所占内存字节数是______

union U

{

char st[4];

int i;

long l;

};

struct A

{

int c;

union U u;

}a;

三、程序填空题(每题7分,共21分)

1程序功能:从键盘上输入若干学生的成绩(当输入为负数时结束输入),统计并输出最高成绩和最成绩。

#include

main()

{

float x,amax,amin;

scanf("%f",&x);

amax =x;

amin=x;

while(_ _①___)

{

if( x>amax ) amax=x;

if(___②___) amin=x;

scanf("%f",&x);

}

printf("\namax=%f\n amin=%f\n",amax,amin);

}

2程序功能:调用swap函数交换a和b的值,并输出交换后a和b的值。

void main()

{

int a=3, b=5;

swap( );

printf("After swap %d,%d",a,b);

}

swap(int *p, int *q )

{

int t;

;

;

;

}

3.程序功能:统计输入字符中每个大写字母的个数#号为输入结束标志。

#include

#include

main()

{

int num[26],i; char c;

for(i=0;i<26;i++) num[i]=0;

while(     !='#') /*统计输入的大写字母个数*/

if(isupper(c)) num[c-65]+=1;

for(i=0;i<26;i++) /*输出大写字母和该字母的个数*/

if(num[i]) printf("%c:%d\n",i  ,num[i]);

}

四、程序阅读题(每题6分,共24分)

1输入1,输出结果是______。

main()

{

int sum=0,n;

scanf("%d",&n);

while(n<=5)

{

sum+=n;

n++;

}

printf("sum=%d",sum);

}

2输出结果是______。

#include

int f(int m)

{

static int k=0;

int s=0;

for(;k<=m;k++) s++;

return s;

}

void main()

{

int s1, s2;

s1=f(5);

s2=f(3);

printf("%d %d\n",s1,s2);

}

3.输出结果是______。

#include

main()

{

int y=9;

for(;y>0;y--)

if(y%3==0)

{

printf("%d",--y);

continue;

}

}

4.输出结果是______。

main()

{

int c[]={10,0,-10};

int *k=c+2;

printf("%d",*k--);

}

五、编程题(每题10分,共30分)

1.已知三角形的三边长,求三角形的面积。

要求:三边长从键盘输入abc,要考虑数据输入是否正确,能否构成三角形等情况。

提示:s=(a+b+c)/2,面积为

2.完成一个4位数的倒序输出。要求在主函数中输入一个4位数,然后调用自定义reverse函数将该数倒序输出。如:输入的数为1234,则输出为4321。

3.一个5×5二维数组要求通过键盘为其赋值,求周边元素之和以及该数组中值最小的元素,然后输出

蚌埠学院2009年专升本专业课考试

《C语言程序设计》试题卷答案

一.单项选择题(每小题1.5分,共45分)

1-10 D C C C D B D B D D

11-20 C B C A D A C C B C

21-30 B B D B A A C D C D

二、填空题230

1.main

2.编译

3..C

4.1

5.(ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z')

6.7

7#include "stdio.h" #include "string.h"

8.ab

9.9 0

10.12

11.#

12.15

13.-2

14.fgh

15.6

三、程序填空题每题721

1.①x>=0 ②x

2.③&a, &bt=*p*p=*q*q=t

3.(c=getchar())  注意,外层括号不得遗漏

+65   或  +'A'

四、程序阅读题(每题6分,共24分)

1sum=15

26 0

38 5 2

4-10

五、编程题(每题10分,共30分)

1.

#include

#include

main()

{

float a,b,c,s,s1;

printf("Please enter 3 reals:\n");

scanf("%f%f%f",&a,&b,&c);

if((a+b)>c&&(a+c)>b&&(b+c)>a)

{

s=(a+b+c)*0.5;

s1=s*(s-a)*(s-b)*(s-c);

s=sqrt(s1);

printf("\nArea of the triangle is %f\n",s);

}

else

printf("It is not triangle!\n");

}

2

void reverse(int num)

{

int i,j,k,m;

i=num/1000;

j=num/100-i*10;

k=num/10-i*100-j*10;

m=num%10;

m=m*1000+k*100+j*10+i;

printf("倒序为:%d",m);

}

main()

{

int number;

printf("请输入一个四位数:");

scanf("%d",&number);

if(number>999&&number<10000)

reverse(number);

else printf("输入错误!");

}

3.

main()

{

int a[5][5],i,j,sum=0,min;

for(i=0;i<5;i++)

for(j=0;j<5;j++)

scanf("%d",&a[i][j]);

min=a[0][0];

for(i=0;i<5;i++)

for(j=0;j<5;j++)

{

if(i==0||i==4) sum=sum+a[i][j];

else if(j==0||j==4) sum=sum+a[i][j];

if(min>a[i][j]) min=a[i][j];

}

printf("sum=%d,min=%d",sum,min);

}

本文来源:https://www.2haoxitong.net/k/doc/85a8e0774a2fb4daa58da0116c175f0e7dd11917.html

《蚌埠学院09年计算机专升本试卷(专业课).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式