湖北师范学院2010年专升本《C语言程序设计》试卷

发布时间:2020-04-01 12:58:33   来源:文档文库   
字号:

湖北师范学院2010年专升本《C语言程序设计》试卷



湖北师范学院2010年“专升本招生考试

C语言程序设计》试题

题号

总分

40

10

30

20

得分

评卷人

选择题(本题共20小题,每2分,共40分)

1.以下不合法的用户标识符是( )。A)S2_KEY  B)Int  C) 4s  D)_char

2.设有 int x=11; 则表达式 (++x)%3 的值是( )。A)0 B)1 C)2 D)3

3C语言源程序名的后缀是( )。

A.exe           B.cp            C.obj                D.c

4若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )。

Ascanf"%d",a,b,c;                     Bscanf"%d%d%d",a,b,c;

Cscanf"%d",p;                          Dscanf"%d",&p;

5C语言中运算对象必须是整型的运算符是 ( )。

A) %=     B)    C) =      D) =

6.若有定义语句:int a[3][6]; ,按在内存中的存放顺序,a数组的第10个元素是( )。

Aa[0][4]         Ba[0][3]         Ca[1][4]        Da[1][3]

7.若要求定义具有10int型元素的一维数组a,则以下定义语句中错误的是

A#define N 10 Int a[N] B#define n 5 Int a[2*n]  Cint a[5+5] Dint n=10,a[n]

8.语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是( )。(说明:'\b'是退格符)

A)re'hi'you  B)abre'hi'y\bou C)a\bre\'hi\'y\bou D)a\bre\'hi\'y\\\bou

9.下列程序执行后的输出结果是( )。

A)A    B) B    C) F   D) G

void main()

{ int x='f'; printf("%c \n",'A'+(x-'a'+1)); }

10.若变量已正确定义,有以下程序段

i=0;

do

{printf"%d,",i;}whilei++;

printf"%d\n",i

其输出结果是( )。

A00       B01        C11      D)程序进入无限循环

11. 有以下程序

#include

void main()

{ int i,j,m=55;

fori=1;i<=3;i++

forj=3;j<=i;j++ m=m%j;

printf"%d\n",m;

}

程序的运行结果是( )

A0            B1           C2            D3

12. 已定义以下函数

  fun(int *p)

  { return *p; }

  该函数的返回值是( )。

 A)不确定的值      B)形参p所指存储单元中的值

 C)形参p中存放的值   D)形参p的地址值

13. 执行下面的程序段后,变量k中的值为( )。

A)10   B) 3   C) 不定值  D) 0

int k=3, s[2];

s[0]=k; k=s[1]*10;

14. 有以下函数

int aaachar *s

{ char *t=s;

while*t++;

t--;

returnt-s;

}

以下关于aaa函数的功能叙述正确的是( )。

A)求字符串s的长度              B)比较两个串的大小

C)将串s复制到串t                 D)求字符串s所占字节数

15. 有以下程序

  void main()

  { char s[ ]={ "aeiou"},*ps;

  ps=s; printf("%c\n",(*ps)+4);

  }

  程序运行后的输出结果是________

  Aa Bo  Cu De

16. 有以下程序

  #include

  #define F(X,Y) X*Y

  main()

  { int a=3, b=4;

  printf("%d\n", F(a+b, a-b));

  }

  程序运行后的输出结果是( )。

 A12  B7  C-7  D11

17. 有以下程序

  main()

  { int m[][3]={1,4,7,2,5,8,3,6,9};

   int i,j,k=2;

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

  { printf("%d",m[k][i]); }

  }

  执行后输出结果是( )。

 A) 2 5 8  B) 3 6 9  C) 4 5 6  D) 7 8 9

18. 以下关于typedef的叙述错误的是

A)用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名

B)用typedef为类型说明一个新名,通常可以增加程序的可读性

Ctypedef只是将已存在的类型用一个新的名字来代表

D)用typedef可以增加新类型

19. 有以下程序

  #include <stdio.h>

  void main()

  { FILE *fp; int i;

  char ch[]=”abcd”,t;

  fp=fopen(“abc.dat”,”wb+”);

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

fwrite&ch[i],1,1,fp;

  fseek(fp,-2L,SEEK_END);// 说明:SEEK_END为文件尾

  fread(&t,1,1,fp);

  fclose(fp);

  printf(“%c\n”,t);

  }

  程序执行后的输出结果是________

  Ac Bd Ca Db

20.已知指针p的指向如下图所示,则执行语句 *--p;后*p的值是( )。

A) 20 B)30 C) 19  D) 29

a[0] a[1] a[2] a[3] a[4]

10

20

30

40

50

P

评卷人

二、填空题(本题共10小题,每题1分,共10分)

1.已知大写字母AASCII码是65,小写字母aASCII码是97,将变量c中大写字母转换为对应小写字母的语句是 _____ 。

2.C语言中用于结构化程序设计的三种基本结构是顺序结构、选择结构、__________ 。

3.设有数组定义: char array [ ]="Student."; 则数组 array所占的空间为________ 。

4.若输入字符串:abcde<回车>,则以下while循环体将执行______次。 while((ch=getchar())==’b’) printf(“*”);

5.若有定义:int *p[4];请说明它含义:定义了一个________。

6.表示“整数x的绝对值大于10”的C语言表达式是 _________。

7.已知字符A的ACSII码值为65,以下语句的输出结果是_________。

char ch=’B’;printf(“%c%d\n”,ch,ch);

8.若指针s指向存储单元a[8],p指向存储单元a[0],表达式s-p的值是 _________。

9.用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*) __________ ;

10. 设 int b=2;表达式(b<<1)&5的值是__________。

评卷人

三、程序阅读题(本题共6小题,每小题5分,共30分)

1.有下列程序

void main()

{

int n=0,m=1,x=0;

if (!n) x=1;

if (m) x=2;

if (x) x=3;

printf(“%d\n”,x);

}

执行后的结果是________

2. 有以下程序

void main()

{ int i

  for(i=1;i<=40;i++)

  { if(i++%5=0)

  if (++i%8=0) printf("%d",i)

  }

  printf("\n")

}

执行后的结果是________

3. 以下程序

 void main()

 { char s[]="6789";

   s[1]=‘\0';

   printf("%s\n",s);

 }

执行后的结果是________

4. 有以下程序

void main()

{ int a=4,b=3,c=2,t=0;

if(b>a&&a

  printf("%d ",c);

}执行后的结果是________

5. 有以下程序

void main()

{ char s[ ]= "abcde";

 s+=2;

 printf("%d\n"s[0]);

}

 执行后的结果是________

6. 有以下程序

void main()

{ int a=1,b=3,c=5;

int *p1=&a,*p2=&b,*p=&c;

*p=*p1*(*p2);

printf("%d\n",c);

}

执行后的结果是________

评卷人

四、编程题(本题共3小题,共20分)

1求1+2+3+…+100的和。(6分)

2求100—200间的全部素数。(6分)

3.有一34列的矩阵,编程求其中最大元素的值以及所在的行号和列号。(8分)

答案

一、单选题(本题共20小题,每2分,共40分)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

C

A

D

B

A

D

D

A

D

B

B

B

C

A

D

D

A

D

A

A

二、填空题(本题共10小题,每题1分,共10分)

1

2

3

4

5

6

7

8

9

10

c+=32

循环结构

9

0

指针数组

x>=-10||x<=10

B66

8

(int *)malloc

(sizeof(int)*11)

1

三、程序阅读题(本题共6小题,每题5分,共30分)

1

2

3

4

5

6

3

32

6

9

99

3

四、编程题(本题共3小题,共20分)

根据程序设计规范编写程序完成题中相应的功能。

1.求1+2+3++100的和。(6分)

#include

void main()

{

int i=1,s=0;

do

{s+=i;}while(i<=100);

printf(s=%d\n,s);

}

2.求100200间的全部素数。(6分)

#include

#include

void main()

{

int m,k,i,n=0;

for(m=101;m<=200;m+=2)

{

k=sqrt(m);

for(i=2;i<=k;i++)

if(m%i==0)break;

if(i>=k+1)

{printf(%d,m);

n++;}

}

}

3.有一34的矩阵,编程求其中最大元素的值以及所在的行号和列号。(8分)

#include

void main()

{

int i,j,row=0;colum=0,max;

int a[3][4]={{1,2,3,4},{9,8,7,6},{12,13,10,11}};

max=a[0][0];

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

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

if(a[i][j]>max)

{ max=a[i][j];

row=a[i][j];

colum=j;

}

printf(max=%d,row=%d,colum=%d\n,max,row,colum);

}

本文来源:https://www.2haoxitong.net/k/doc/4101c5efd35abe23482fb4daa58da0116c171fe9.html

《湖北师范学院2010年专升本《C语言程序设计》试卷.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式