欢迎来到四川自考网,今天是2020年8月21日

自考资讯热线:028-65656189

距离自考还有28

当前位置:首页 > 自学考试 > 历年试题 > 理工类专业 >

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

发布时间:2012-05-02 17:50:01

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

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

1.存储容量1KB等于      

A23字节                                                 B210字节

C220字节                                                 D230字节

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

A.扫描仪                                                 B.键盘

C.鼠标                                                     D.显示器

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

A-6                                                        B-5

C-4                                                         D-3

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

A1                                                          B2

C3                                                          D4

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

A.%x                                                      B.%u

C%o                                                       D.%d

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

Aif(x>y);

Bif(x= =y)x+y

Cif(x!=y) scanf(″d″,&x)else scanf (″d″,&y);

Dif(x<y){x++y++}

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

                        if(y<0)x-=y

                        else x+=y

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

A-1                                                        B0

C1                                                          D2

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

int k=2

while(k= =0) printf (″d″k)

k--printf (″n″)

A0                                                     B1

C2                                                      D.无限次

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

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

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

   printf(″d”i+j)

A2  3  3  4                                          B2 3 4

 

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

A1                                                          B2

C3                                                          D4

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

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

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

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

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

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

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

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

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

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

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

Along a*q=a                                     Blong a*q=&a

Clong*q=&aa                                    Dlong aq=&a

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

A&x[3]                                                   B&x

C&x+1                                                   D*x

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

Astruct ABC                                            Bstruct ABC

 {                                                               {

 int a                                                         int a;

 char b                                                       char  b

 char *p                                                    char *p

  }                                                                }

Cstruct ABC                                            Dstruct 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=1v=3;表达式:u<<=v的值是(     

A0                                                          B1

C3                                                          D8

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

Afeof(fp)                                             Brewind(fp)

Cfseek(fp0L0)                                Dfseek(fp0L2)

20.若要在CTC目录下,建立一个a1dat的文本文件,正确使用打开文件的函数是(     

Afopen(″C\\ TC \\ a1dat″″r″)          Bfopen(″C\ TC \ a1dat″″r″)

Cfopen(″C\\ TC \\ a1dat″″w″)          Dfopen(″C\ TC \ a1dat″″w″)

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

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

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

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

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

E.循环语句

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

Afor(;;)                                            Bfor(i=1i<10i++)

Cwhile(1)                                            Dwhile(0)

Edo{循环体)while(1)

23.设有声明:int a[5]={13579);下面表达式的结果为10的有      

Aa[l]+a[3]                                               Ba[2]-2*a[1]

C2*a[2]                                                  Da[0]+a[4]

Ea[1]+[-a[2]+a[3]

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

 int x=5*p*pl

 p=x

 pl=p

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

Aprintf(″%dn″x)                           Bprintf(″dn″*p)

Cprintf(″dn″p1)                         Dprintf(″dn″,&x)

Eprintf(″dn″*p1)

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

 struct boat

 {  char name[10]

 int weight

}myboat*ps

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

Amyboatname=″Li″

 myboatweight=1600

Bps=&myboat

 strcpy(ps->name″Wuhan″)

Cps=&myboat

 Ps->weight=2700

Dstrcpy(myboatname″Wine″)

 ps=&myboat

Eps=&myboatstrcpy(myboatname″Shanghai″)

 Ps->weight=5512

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

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

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

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

    s+=i

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

29.设有声明:

 struct cjd

 {  long bh

 long int xq

    char xm[9]

    float score[3]

 }x={2011012张大力7685.090)

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

 xscore[2]的值。

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

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

 main()

 {

 int a=1b=2c=3

 ++a

 b=b+a

 c=c2

 printf(″d,%d,%dn″abc)

 }

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=1x<10x+=2)

      printf(dtdnxx*x)

  }

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

  #include<stringh>

  main()

  {

    char a[5][8]={javafortranbasiccobolpascal}b[8]c[8]

    int i

    strcpy(ba[0])

    strcpy(ca[0])

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

    {

    if(strcmp(ba[i])<0)strcpy(ba[i])

    if(strcmp(ca[i])>0)strcpy(ca[i])

    }

    printf(snb)

    printf(snc)

  } 

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

 void main(void)

 { 

   int x

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

     printf(″d,%dn″xfun(x))

 }

 int fun(int x)

 {

   static int fac=1

   fac*=x

   return fac

 }

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

 void f2(char*tchar*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<3i++)

     f2(sps[i])

   printf(″sn″s)

 }

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

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

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