您当前所在位置:自考本科 > 网站地图 > 备考资料 > 历年真题 > 工学类 > 计算机基础与程序设计 > 全国2012年4月高等教育自学考试计算机基础与程序设计试题

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

2012-05-01 16:51:53  来源:中国教育在线

一、单项选择题 (本大题共20小题,每小题1分,共20分)

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

1.存储容量1KB等于 (      )

A.23字节                                                 B.210字节

C.220字节                                                 D.230字节

2.下面哪种设备是输出设备? (      )

A.扫描仪                                                 B.键盘

C.鼠标                                                     D.显示器

3.设有int a=3,b=-4,c=5;表达式++a-c+b++的值是 (      )

A.-6                                                        B.-5

C.-4                                                         D.-3

4.设有int x,y;表达式y=(x=1,++x,x+2)的值是 (      )

A.1                                                          B.2

C.3                                                          D.4

5.以十六进制形式输出整型数的格式说明符是 (      )

A.%x                                                      B.%u

C.%o                                                       D.%d

6.下列语句中,有语法错误的是 (      )

A.if(x>y);

B.if(x= =y)x+y;

C.if(x!=y) scanf(″%d″,&x)else scanf (″%d″,&y);

D.if(x

7.设有程序段 int x=1,y=-1;

                        if(y<0)x-=y;

                        else x+=y;

执行完该程序段后,x的值为 (      )

A.-1                                                        B.0

C.1                                                          D.2

8.下面程序段的循环次数是(      )

int k=2;

while(k= =0) printf (″%d″,k);

k--;printf (″\n″);

A.0次                                                     B.1次

C.2次                                                      D.无限次

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

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

 for(j=1;j<3;j++)

   printf(″%d”,i+j);

A.2  3  3  4                                          B.2 3 4

10.若有定义int a[4]={1,2,3,4};则表达式a[a[2]- 3*a[0]+1]的值是(      )

A.1                                                          B.2

C.3                                                          D.4

11.在C语言程序中,关于函数的定义和调用,以下描述正确的是(      )

A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义不可以嵌套,但函数的调用可以嵌套

C.函数的定义和函数的调用均不可以嵌套

D.函数的定义和函数的调用均可以嵌套

12.关于main函数,以下说法中正确的是 (      )

A.C语言程序总是从有定义的函数起顺序执行,在main函数中结束

B.在C语言程序中,被调用的函数必须在main()函数中定义

C.C语言程序中的main()函数必须放在程序开始部分

D.C语言程序总是从main()函数开始执行

13.若要定义一个长整型的变量a和一个指向变量a的指针变量q,下面正确的定义语句是(      )

A.long a,*q=a;                                     B.long a,*q=&a;

C.long*q=&a,a;                                    D.long a,q=&a;

14.若有说明long int x[5];下面能正确表示数组元素地址的是(      )

A.&x[3]                                                   B.&x

C.&x+1                                                   D.*x

15.下面关于结构体类型的定义正确的是(      )

A.struct ABC                                            B.struct ABC

 {                                                               {

 int a                                                         int a;

 char b                                                       char  b;

 char *p                                                    char *p;

  }                                                                }

C.struct ABC                                            D.struct ABC

{                                                                {

int a;                                                     int a,

char b;                                                   char b,

char *p;                                                  char *p,

};                                                              };

16.下面列出的位运算符中,表示按位与操作的是 (      )

A.~                                                        B.!

C.&                                                         D.^

17.下面各个位运算符优先级从左到右依次升高的是 (      )

A.> > |  & ~                                         B.| > > & ~

C.| & > > ~                                            D.~ | & > >

18.设有说明:int u=1,v=3;表达式:u<<=v的值是(      )

A.0                                                          B.1

C.3                                                          D.8

19.如果将文件指针fp指向文件末尾,正确的语句是 (      )

A.feof(fp);                                             B.rewind(fp);

C.fseek(fp,0L,0);                                D.fseek(fp,0L,2);

20.若要在C盘TC目录下,建立一个a1.dat的文本文件,正确使用打开文件的函数是(      )

A.fopen(″C:\\ TC \\ a1.dat″,″r″)          B.fopen(″C:\ TC \ a1.dat″,″r″)

C.fopen(″C:\\ TC \\ a1.dat″,″w″)          D.fopen(″C:\ TC \ a1.dat″,″w″)

二、多项选择题 (本大题共5小题,每小题2分,共10分)

在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。

21.下面属于合法的C语句的有 (          )

A.表达式语句                                          B.函数调用语句

C.子程序调用语句                                   D.空语句

E.循环语句

22.下面循环语句中,没有“无限循环”错误的循环语句有 (      )

A.for(;;);                                            B.for(i=1;i<10;i++);

C.while(1);                                            D.while(0);

E.do{循环体)while(1);

23.设有声明:int a[5]={1,3,5,7,9);下面表达式的结果为10的有 (      )

A.a[l]+a[3]                                               B.a[2]-2*a[1]

C.2*a[2]                                                  D.a[0]+a[4]

E.a[1]+[-a[2]+a[3]

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

 int x=5,*p,*pl;

 p=&x;

 pl=p;

 则可以输出变量x的值的语句有 (      )

A.printf(″%d\n″,x);                           B.printf(″%d\n″,*p);

C.printf(″%d\n″,p1);                         D.printf(″%d\n″,&x);

E.printf(″%d\n″,*p1);

25.设有关于结构体类型的定义:

 struct boat

 {  char name[10];

 int weight;

}myboat,*ps;

 下面各项中语句都正确的有 (      )

A.myboat.name=″Li″。

 myboat.weight=1600;

B.ps=&myboat;

 strcpy(ps->name,″Wuhan″);

C.ps=&myboat; ‘

 Ps->weight=2700;

D.strcpy(myboat.name,″Wine″);

 ps=&myboat;

E.ps=&myboat,strcpy(myboat.name,″Shanghai″);

 Ps->weight=5512;

三、简答题 (本大题共4小题,每小题4分,共16分)

26.写出将x,y,z,w分别声明为整型变量、短整型变量、长整型变量和无符号整型变量的语句。

27.将下面for循环的程序段,用含while循环的程序段实现。

 for(s=0,i=1;i<=10;i++)

    s+=i;

28.简述声明语句:char *p[4];的含义。

29.设有声明:

 struct cjd

 {  long bh;

 long int xq;

    char xm[9];

    float score[3];

 }x={201101,2,″张大力″,76,85.0,90);

 简单回答(1)结构体名;(2)结构体类型变量;(3)结构体类型变量所占字节数;(4)结构体成

 员x.score[2]的值。

四、阅读分析题 (本大题共6小题,每小题5分,共30分)

30.写出下面程序的运行结果

 main()

 {

 int a=1,b=2,c=3;

 ++a;

 b=b+a:

 c=c/2;

 printf(″%d,%d,%d\n″,a,b,c);

 }

31.写出下面程序的运行结果

 main()

 {

 char ch;

   ch=′a′;

   switch(ch)

   {

     case′a′:printf(″*\n″);

 case′b′:printf(″**\n″);

 case′c′:printf(″***\n″);

   }

   ch=′b′;

 switch(ch)

  {

    case ′b′:printf(″**\n″);

 case ′a′:printf(″*\n″);break;

    case ′c′:printf(″***\n″);

}

}

32.写出下面程序的运行结果

  void main(void)

  {

    int x;

    for(x=1;x<10;x+=2)

      printf(″%d\t%d\n″,x,x*x);

  }

33.写出下面程序的运行结果

  #include

  main()

  {

    char a[5][8]={ ″java″,″fortran″,″basic″,″cobol″,″pascal″},b[8],c[8];

    int i;

    strcpy(b,a[0]);

    strcpy(c,a[0]);

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

    {

    if(strcmp(b,a[i])<0)strcpy(b,a[i]);

    if(strcmp(c,a[i])>0)strcpy(c,a[i]);

    }

    printf(″%s\n″,b);

    printf(″%s\n″,c);

  } 

34.写出下面程序的运行结果

 void main(void)

 { 

   int x;

   for(x=1;x<=5;x++)

     printf(″%d,%d\n″,x,fun(x));

 }

 int fun(int x)

 {

   static int fac=1;

   fac*=x;

   return fac;

 }

35.写出下面程序的运行结果

 void f2(char*t,char*s)

 {

   while(*t!=′\0′)t++;

   while(*s!= ′\0′)

   {

     *t=*s:

     s++;t++;

   }

   *t=*s;

 }

 void main(void)

 {

   char s[80]= ″ ″,*ps[3]={ ″there″,″is a″,″car″};

   int i;

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

     f2(s,ps[i]);

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

 }

五、编程题 (本大题共2小题,每小题12分,共24分)

36.从键盘输入10个整数并存放到一维数组中,计算下标为奇数的元素的累加和并输出运行结果。

37.从键盘上输入10个浮点型数,求出10个数的总和与平均值,并将总和与平均值写到d盘根目录下的文本文件array.dat中。

你可能感兴趣的试题
1
意向表
2
学习中心老师电话沟通
3
查看评估报告
1、年龄阶段

2、当前学历

3、提升学历目标

4、意向学习方式

报考所在地
*
*
*

查看成人高考最新资讯 查看远程教育最新资讯

自考专业快选

自考热门专题

自考热议话题

自考推荐文章