全国2003年4月高等教育自学考试计算机基础与程序设计试题

来源:互联网 发布:七雄战记 网络错误 编辑:程序博客网 时间:2024/05/01 23:51
 

 

全国20034月高等教育自学考试

计算机基础与程序设计试题

课程代码:02275

一、单项选择题(本大题共20小题,每小题1分,共20)在每小题列出的四个备选项中只有一个是符合题目要求的。请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.按冯·诺依曼的设计思想,计算机采用的数制是(      )

A.二进制      B.八进制      C.十进制      D.十六进制

2.若机器的当前系统提示符为A,欲将CTC子目录下文件名第二个字符为T,扩展名为C的所有文件删除,应采用的操作命令是(      )

A.DEL ?T*.C               B.DEL C:/TC/*T*.C

C.DEL /TC/? T*.C          D.DEL C:/TC/?T*.C

3.下面哪一个是合法的指数型实数(      )

A.E5       B.-1.0e-5     C.1.2e+5.1       D.e8

4.以下正确的C语言标识符是(      )

A.%d        B.a+b       C.-123        D.3D

5.设有int i;char c; float f;下面结果为整型的表达式是(      )

A.i+f       B.i*c       C.c+f       D.i+c+f

6.以下使i的运算结果为4的表达式是(      )

A.int i=0,j=0;(i=3,(j++)+i);

B.int i=1,j=0;j=i=(i=3)*2);

C.int i=0,j=1;(j==1)?(i=1):(i=3);

D.int i=1,j=1;i+=j+=2;

7.下面程序段的运行结果是(      )

  main()

  { int a,b,c;

    a=(b=(c=3)*5)*2-3;

    printf(%d,%d,%d/n,a,b,c);

}

A.27,15,3       B.3,15,27      C.-1,15,3     D.15,27,3

8.对下述程序,正确的结论是(      )

#include<stdio.h>

main()

{ int x,y;

  scanf(%d,%d,&x,&y);

  if(x>y)

    x=y;y=x;

  else

   x++;y++;

 prinft(%d,%d,x,y);

}

A.有语法错误,不能通过编译     B.若输入数据34,则输出45

C.若输入数据43,则输出34   D.若输入数据43,则输出44

9.以下程序的输出结果是(      )

main()

{ int a=10;

  a>10? a--;a++;

  a+=a;

  printf(%d/n,a);

}

A.-22        B.11       C.22       D.-11

10.C语言中,由do-while语句构成的循环中结束循环的条件为(      )

A.1       B.true       C.0x10       D.0

11.以下程序的输出结果是(      )

main()

{ int i,x=0;

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

  x++;

  prinft(x=%d,x);

}

A.x=3       B.x=8        C.x=6        D.x=4

12.对下面程序段进行语法分析,正确的说法是(各行前的数字是附加的行号)

float a[3]={2.0};

int i;

scanf(%f,&a[1]);

for(i=1;i<3;i++)a[0]+=a[i];

printf(%f/n,a[0]);

A.没有错       B.第一行有错    C.第四行有错      D.第五行有错

13.下列程序的运行结果是(      )

main()

{ char ch[7]={43ab21};int i,s=0

  for (i=0;ch[i]>`0'&&ch[i]<=`9';i+=2)

           s=10*s+ch[i]-`0';

  printf(%d/n,s);

}

A.12ba34       B.4321       C.4       D.42

14.以下程序的运行结果是(      )

main()

{ char c[5];int i=0;

  c[]0=`a';c[1]=`b';

  c[2]=`/n';c[3]=`c';c[4]=`/0';

  for (;i<5;i++) printf(%c,c[i]);

}

A.a       B.a        C.ab        D.abc

  b         b          c

  c

15.下面关于main函数的说法中,不正确的是(      )

A.程序的执行从mian()函数开始    B.程序的执行在main()函数中结束

C.main()函数可以调用其它函数     D.其它函数可以调用main()函数

16.变量包括数据类型和存储类别两种属性,其中存储类别属性主要用来决定(      )

A.变量的存储长度          B.变量的作用范围

C.变量的生存期            D.变量的取值范围

17.下面程序的运行结果是(      )

void fun(int *p1,int *p2)

{ printf(%d,%d/n,*p1,*p2);

}

int x=11,y=19;

main()

{

 fun(&x,&y);

}

A.12,19       B.11,19     C.11,20      D.12,20

18.若有定义int *p[5];则其含义是(      )

A.p是一个数组,有5个元素,每个元素都是整型量

B.p是一个指针,指向含有5个整型数据的数组

C.p是一个数组,有5个元素,每个元素都是指向整型变量的指针

D.p是一个指针,指向一个整型数据

19.下面程序的运行结果是(     )

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

#include <stdio.h>

main()

{ int u=1,v=2,w=3,t;

  t=MIN(u+v,v+w);

  printf(%d/n,t);

}

A.3        B.5        C.1       D.2

20.随机定位函数的函数名是(      )

A.fopen         B.fgetc           C.seek        D.fseek

二、多项选择题(本大题共5小题,每小题2分,共10)在每小题列出的五个备选项中有二个至五个是符号题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。

21.下面各图哪些符合结构化NS(      )

22.若所用变量已正确定义,以下各程序段执行后,变量x值一定等于10的有(      )

A.x=0;                B.x=0;i=0;            C.int i,x;

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

  x+=2                   { i++;x+=2;           x+=2;

                           if(i>5) break;

                         }

D.for(x=0,i=0;i<5;i++)  E.x=0;i=0;

      x+=2;              while(1)

                         { i++;x+=2

                           if(i==5) break

                         }

23.若有如下定义及赋值:

  int a[5]={1,2,3,4,5},*p;p=a;

则可以输出元素值为3的语句是

A.printf(%d/n,a+2);      B.printf(%d/n,p+2);

C.printf(%d/n,p[2]);     D.printf(%d/n,*(p+2));

E.printf(%d/n,a[3]);

24.设有:struct cjb

         {long bh;int xq;char xm[9];}x,*p;

下面各项中C语句全正确的是(      )

A.p=&x;                 B.x.bh=123;        C.p=&x;

  (*p).bh=12;              x.xm=Wang;     pbh=123;

                                             pxm=Li;

D.p=&x;                E.p=&x.bh;

  x.bh=123;              *p=123;

  printf(%1dpbh);

25.设有int y,w=1,x=16;下列各项中能使y值为1的是(      )

A.y=(xx)|w;           B.y=x>>4;        C.y=x&15;

D.y=w|w;                E.y=x<<4;

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

26.用一字节表示十进制数-123的补码是_____________

27.C语言程序从_____________开始执行。

28.在使用字符输入输出函数时,要求在程序的开头处写上的编译预处理命令是_____________

29.执行下列程序段后,x的值为_____________

x=100;a=10;b=20;0k1=5;0k2=0;

if(a<b)

    if(b!=15)

     if(! 0k1)x=1;

     else if(0k2) x=10;

30.若所有变量都己正确定义,则程序段中for循环的循环次数为_____________

a=2;b=10;

for(i=b;i<=a;i--,a++)printf(%3d,i);

31.下面程序的输出结果是_____________

main(      )

{ int a[3][4]={2,4,5,8,6,3,7,1,4,9,0,6);

  int i=1,j=2;

  printf(%d/n,a[i][j]);

}

 

32.在函数外部定义的变量统称为全局变量,它们的作用域从_____________开始,直到本源文件或程序结束。

33.若指针变量p存放的是int型变量的地址1000,则p+n表示地址_____________

34.设有:union reg

         {char al;char ah;int ax;}regs;

则共用体类型变量regs的首地址,整数变量ax的首地址,char型变量al,ah的首地址_____________

35.设有FILE *fp;int ch;则用fgetc函数从fp所联系文件中读取一个字符并赋给变量chC语句是_____________

四、简答题(本大题共4小题,每小题3分,共12)

36.简述Turbo C 2.0系统中,在主菜单File下选用Quit命令的作用。

37.请用ifelse if…结构写出下面函数所对应的C语句程序段。

38.定义char str[12]=programming;可以写成char str[12];str=programming;?为什么?

39.简述fgetcfgets函数的作用。它们的使用格式如下:

fgetc(fp);/*fp为文件指针*/

fgets(str,n,fp);/*str为字符串首址,n为整型数,fp为文件指针*/

五、阅读分析题(本大题共7小题,每小题4分,共28)

40.阅读下面程序,写出运行结果:

main()

{ int i=3,k;

  k=i+i+i;

  printf(k=%d,i=%d,k,i);

}

41.阅读下面程序,写出运行结果:

main()

{ int x,a=0,b=0;

  x=3;

  switch(x)

  { case1a++;b++;

    case2++a;++b;

    case3a+=;b+=1;

    case4a+=b;

  }

  printf(a=%d,b=%d/n,a,b);

}

42.阅读下面程序,写出程序运行结果:

main()

{ int j,k;

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

  { printf(%2d,j+1);

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

    printf(%d,(j+1)*(k+1));

  printf(/n);

 }

}

43.阅读下面程序,写出运行结果:

long sum(n)

int n;

{

 if(n==1) return 1;

 else return(n+sum(n-1));

}

main()

{

 printf(y=%d/n,sum(3));

}

44.阅读下面程序,写出运行结果:

int m=1;

void f()

{ int n=0;

  static int s=0;

  s++;n++;m++;

  printf(%d,%d,%d/n,m,n,s);}

main()

  {f();m=3;f();}

45.阅读下面程序,写出运行结果:

main{}

{ int a[5]={1,2,3,4,5},* p,s=0;

  p=a;p++;

  while(*p<=a[3])

 { s+=*p;

   printf(%3d,*p++);}

printf(/n);

printf(s=%d,s);}

46.阅读下面程序,并回答相关问题:

struct number

{ int num;

  struct number *next;

}*head=NULL;

void create()

{

  struct number *ptr;

  int x;

  scanf(%d,&x);

  while(x)

{

   ptr=(struct number *)malloc(sizeof(struct number);

  ptynum=x;ptr→next=head;head=ptr;

 scanf(%d,&x);

  }

}

请说明ptr=(struct number*)malloc(sizeof(strct number))的作用。

六、程序设计题(本大题共2小题,第478分,第4812分,共20)

47.输入20个整数,计算正数的平均值以及负数的和,并输出结果(设正数的个数大于零)

48.设有5×5浮点型数组y(5×5表示55)。要求:

(1)从键盘输入25个浮点数对数组y赋初值。

(2)查找该数组中数值最大的元素和其行、列下标。

(3)依次将数组y中的数据、最大值、最大值元素的行下标和列下标写到当前目录下的二进制文件abc.txt中。