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

发布日期:2019-11-27 11:23:59 编辑整理:新疆自考网 【字体: 【学历咨询】
立即购买

《自考视频课程》名师讲解,轻松易懂,助您轻松上岸!低至199元/科!

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

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

1.下面哪种设备是输入设备?(     )

A.键盘                                                      B.打印机

C.显示器                                                D.投影仪

2.与十进制39等值的二进制数是(     )

A.00100111                                               B.01001001

C.10100111                                               D.01011000

3.设有 int a=3,b=-4;表达式(a<b)? a b:(a-b,b 4,a-=b 4)的值是(     )

A.-1                                                          B.0

C.3                                                        D.7

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

A.3                                                           B.4

C.6                                                        D.6.6

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

A. %u                                                       B.% x

C.%o                                                     D.%d

6.下列程序段执行后的输出结果为

int i =-1;

if(i<=0)    printf("* * * * \n");

else printf ("%%%%\n");  (      )

A. * * * * c                                               B.% % % %

C. % % % % c                                          D.** * *

7.执行下面程序段后的y值是

int y=l, x=5;

if(x<0)y=-1;

if(x>=0)y=0;  (      )

A.-1                                                          B.0

C.1                                                        D.5

8.执行while(表达式)结构循环的条件是(     )

A.当表达式的值为0时                           B.仅当表达式的值为l时

C.当表达式的值为非0时                       D.当表达式的值不为1时

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

a=100;

while (a>120)

a= a l;

printf ("%d", a);  (      )

A.100                                                       B.101

C.120                                                     D.121

10.下面程序执行后,i的值是

main()

{   int  a[5]={1,2,3,4,5),i =2;

printf ("%d",a[ i ]);

} (      )

A.1                                                        B.2

C.3                                                        D.4

11.关于函数调用以下错误的描述是(      )

A.函数调用可以出现在执行语句中

B.函数调用可以出现在一个表达式中

C.函数调用可以作为一个函数的实参

D.函数调用可以作为一个函数的形参

12.C语言关于递归调用的规则是(     )

A.既允许直接递归调用,也允许间接递归调用

B.不允许直接递归调用,也不允许间接递归调用

C.允许直接递归调用,不允许间接递归调用

D.不允许直接递归调用,允许间接递归调用

13.设有语句int a[4][10],* p= * a;则下列表达式中属于地址表达式的是(     )

A.a[1][2]                                                B.a[1]

C. * (p 1 * 10 2)                                    D.*(a[1] 2)

14.下面声明语句正确的是(     )

A. int a, * p=a;                                           B.inta, * p = & a;

C. int * p= a,a;                                           D.int* p = & a, a;

15.下面定义不正确的是(     )

A. struct star                                             B.structstar

{                                  {

int id;                              int id;

char * name;                         char * name;

}starl = {1001,"Moon"};                }; starl = {1001,"Moon"};

C. struct                                                   D.struct star

{                                   {

int id ;                               int id ;

char * name ;                           char* name ;

} starl = {123,"Sun"} ;                  } starl ;

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

A.~                                                         B.!

C.^                                                         D.&

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

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

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

18.设有说明:int u=l,v=14;

表达式u -v > >2的值是 (      )

A.0                                                           B.3

C.4                                                        D.7

19.如果文件存储的是数据在内存中时存放的字节形式,则该文件是(     )

A.ASCII码文件                                        B.文本文件

C.二进制文件                                         D.设备文件

20.正确使用fopen函数打开C盘根目录下abc . dat文件进行读写的语句是(     )

A. fopen ("c:\abc.dat","w ");              B.fopen("c:\adc.dat","r ");

C. fopen("c:\\abc.dat","w");                D.fopen("c:\\abc.dat","r "):

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

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

21.下面属于合法的C标识符有(          )

A._123                                                      B.abc

C.123_                                                   D.abc.c

E.ab_123

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

A.x=0;                                                    B.x=0;i=0;

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

x=i x;                           {   x=i x;

                                          i ;

}

 

C.for(i=0;i<5;i )                        D.x=0;i=0;

x=i x;                          lop: x=i x;

                                            i ;

                                             if( i < =3) goto lop;

E.i=0;x=0;

do{ x=x i;i=i 1;

}while(i<=3);

23.设有声明int x[5]={2,4,6,8,10);下面表达式的结果为2的有(          )

A.a[o]                                                       B.a[3]-a[2]

C.(a[4]-a[2])/2                                           D.a[3]-a[0]

E.a[0]/2 a[l]/4

 

 

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

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

p=a;

则可以输出元素值为3的语句有(          )

A. printf ("%d\n",a 2);                           B.printf ("%d\n",p 2);

S. printf ("%d\n",p[2]);                        D.printf ("%d\n",* (p 2));

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

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

A. struct ABC                                            B.struct tree

{                                   {

int a,                                int branch;

char b,                              char name[20];

char * p,                             char * relation;

};                                  };

C. struct ABC                                            D.struct tree

{                                                              {

int a;                                                         intbranch,

char b;                                                      charname[20],

char *p ;                                                   char*relation,

};                                                             };

E. struct

{

char name[20];

int weight;

int sex;

};

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

26.简述'c'与"c"两者是否相同?若不同则指出其差别。

 

 

27.请用for循环实现下面程序段的功能。

char ch='Z';

while(ch<='A')

{   printf("%c",ch);

ch――;

}

28.简述声明语句int  ( * p)[3];中变量p的含义。

29.设有声明

struct student

{ long xh;

char name[10];

short int age;

};

struct student a= {1234,"Wang",18);

简单回答结构体名,结构体类型变量,结构体类型变量所占的字节数,以及结构体成员age的值是什么?

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

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

void main ( void)

{

int x,y,z;

x=l;

y=12 * x;

z= x y/2;

printf ("x= %d\ny = %d\nz = %d\n",x,y,z);

}

 

 

 

 

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

main()

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

switch (x)

{     case 1:  a ; b ;

case 2:  a ; b;

default:  a =1;b-=1;

case 3:  a = b; b =a;

}

printf("a=%d\nb=%d\n",a,b);

}

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

void main ( void)

{ int a = l , y ;

while(a<10){

y=a l;

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

a = 2;}

}

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

int fl ( int x)

{    static int s = l;

s = x;

return s;

}

void main ( void)

{ int u = l;

while (u<6)

{

printf ("%d ,%d\n", u, fl(u));

u ;

}

}

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

main()

{

char a[6][8] = {"c", "pascal" , "java" , "fortran" , "basic" , "ada"},ch='a';

int i, j;

for( i=0 ; i<6;i )

{

j = 0;

while(a[i][j]!='\0')

{

if(a[i][j] = = ch)

{

printf("%s\n",a[i]);

break;

}

j ;

}

}

}

35.void f3(char * s,char ch)

{

char * p = s ;

while( * s! = '\0' ){

if( * s! = ch)

{  * p = * s ; p ;}

s ;

}

* p = '\0';

}

void main(void)

{

char ch = ' a ', s[80] = "lab2c3,b4c5a6,c7a8b9";

int i;

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

{

f3(s,ch i);

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

}

}

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

36.从键盘输入10个浮点数并存放到一维数组x中,找出其中为最大数的元素,输出

该元素的下标和值。

37.若C盘根目录下有一个名为a.txt的文本文件,文件中有一个不超过50个字符的字符串,读入该字符串,并将该字符串中的字符按从小到大的次序排列出来,再输出排序后的结果。


关注新疆自考网微信公众号

其他人还看了:
免责声明

《新疆自考网》免责声明:

1、由于各方面情况的调整与变化,本网提供的考试信息仅供参考,考试信息以省考试院及院校官方发布的信息为准。

2、本网信息来源为其他媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com。

新疆自考-便捷服务

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

编辑:新疆自考网  时间:2019-11-27 11:23:59  阅读(
立即购买

《自考视频课程》名师讲解,轻松易懂,助您轻松上岸!低至199元/科!

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

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

1.下面哪种设备是输入设备?(     )

A.键盘                                                      B.打印机

C.显示器                                                D.投影仪

2.与十进制39等值的二进制数是(     )

A.00100111                                               B.01001001

C.10100111                                               D.01011000

3.设有 int a=3,b=-4;表达式(a<b)? a b:(a-b,b 4,a-=b 4)的值是(     )

A.-1                                                          B.0

C.3                                                        D.7

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

A.3                                                           B.4

C.6                                                        D.6.6

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

A. %u                                                       B.% x

C.%o                                                     D.%d

6.下列程序段执行后的输出结果为

int i =-1;

if(i<=0)    printf("* * * * \n");

else printf ("%%%%\n");  (      )

A. * * * * c                                               B.% % % %

C. % % % % c                                          D.** * *

7.执行下面程序段后的y值是

int y=l, x=5;

if(x<0)y=-1;

if(x>=0)y=0;  (      )

A.-1                                                          B.0

C.1                                                        D.5

8.执行while(表达式)结构循环的条件是(     )

A.当表达式的值为0时                           B.仅当表达式的值为l时

C.当表达式的值为非0时                       D.当表达式的值不为1时

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

a=100;

while (a>120)

a= a l;

printf ("%d", a);  (      )

A.100                                                       B.101

C.120                                                     D.121

10.下面程序执行后,i的值是

main()

{   int  a[5]={1,2,3,4,5),i =2;

printf ("%d",a[ i ]);

} (      )

A.1                                                        B.2

C.3                                                        D.4

11.关于函数调用以下错误的描述是(      )

A.函数调用可以出现在执行语句中

B.函数调用可以出现在一个表达式中

C.函数调用可以作为一个函数的实参

D.函数调用可以作为一个函数的形参

12.C语言关于递归调用的规则是(     )

A.既允许直接递归调用,也允许间接递归调用

B.不允许直接递归调用,也不允许间接递归调用

C.允许直接递归调用,不允许间接递归调用

D.不允许直接递归调用,允许间接递归调用

13.设有语句int a[4][10],* p= * a;则下列表达式中属于地址表达式的是(     )

A.a[1][2]                                                B.a[1]

C. * (p 1 * 10 2)                                    D.*(a[1] 2)

14.下面声明语句正确的是(     )

A. int a, * p=a;                                           B.inta, * p = & a;

C. int * p= a,a;                                           D.int* p = & a, a;

15.下面定义不正确的是(     )

A. struct star                                             B.structstar

{                                  {

int id;                              int id;

char * name;                         char * name;

}starl = {1001,"Moon"};                }; starl = {1001,"Moon"};

C. struct                                                   D.struct star

{                                   {

int id ;                               int id ;

char * name ;                           char* name ;

} starl = {123,"Sun"} ;                  } starl ;

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

A.~                                                         B.!

C.^                                                         D.&

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

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

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

18.设有说明:int u=l,v=14;

表达式u -v > >2的值是 (      )

A.0                                                           B.3

C.4                                                        D.7

19.如果文件存储的是数据在内存中时存放的字节形式,则该文件是(     )

A.ASCII码文件                                        B.文本文件

C.二进制文件                                         D.设备文件

20.正确使用fopen函数打开C盘根目录下abc . dat文件进行读写的语句是(     )

A. fopen ("c:\abc.dat","w ");              B.fopen("c:\adc.dat","r ");

C. fopen("c:\\abc.dat","w");                D.fopen("c:\\abc.dat","r "):

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

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

21.下面属于合法的C标识符有(          )

A._123                                                      B.abc

C.123_                                                   D.abc.c

E.ab_123

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

A.x=0;                                                    B.x=0;i=0;

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

x=i x;                           {   x=i x;

                                          i ;

}

 

C.for(i=0;i<5;i )                        D.x=0;i=0;

x=i x;                          lop: x=i x;

                                            i ;

                                             if( i < =3) goto lop;

E.i=0;x=0;

do{ x=x i;i=i 1;

}while(i<=3);

23.设有声明int x[5]={2,4,6,8,10);下面表达式的结果为2的有(          )

A.a[o]                                                       B.a[3]-a[2]

C.(a[4]-a[2])/2                                           D.a[3]-a[0]

E.a[0]/2 a[l]/4

 

 

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

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

p=a;

则可以输出元素值为3的语句有(          )

A. printf ("%d\n",a 2);                           B.printf ("%d\n",p 2);

S. printf ("%d\n",p[2]);                        D.printf ("%d\n",* (p 2));

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

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

A. struct ABC                                            B.struct tree

{                                   {

int a,                                int branch;

char b,                              char name[20];

char * p,                             char * relation;

};                                  };

C. struct ABC                                            D.struct tree

{                                                              {

int a;                                                         intbranch,

char b;                                                      charname[20],

char *p ;                                                   char*relation,

};                                                             };

E. struct

{

char name[20];

int weight;

int sex;

};

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

26.简述'c'与"c"两者是否相同?若不同则指出其差别。

 

 

27.请用for循环实现下面程序段的功能。

char ch='Z';

while(ch<='A')

{   printf("%c",ch);

ch――;

}

28.简述声明语句int  ( * p)[3];中变量p的含义。

29.设有声明

struct student

{ long xh;

char name[10];

short int age;

};

struct student a= {1234,"Wang",18);

简单回答结构体名,结构体类型变量,结构体类型变量所占的字节数,以及结构体成员age的值是什么?

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

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

void main ( void)

{

int x,y,z;

x=l;

y=12 * x;

z= x y/2;

printf ("x= %d\ny = %d\nz = %d\n",x,y,z);

}

 

 

 

 

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

main()

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

switch (x)

{     case 1:  a ; b ;

case 2:  a ; b;

default:  a =1;b-=1;

case 3:  a = b; b =a;

}

printf("a=%d\nb=%d\n",a,b);

}

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

void main ( void)

{ int a = l , y ;

while(a<10){

y=a l;

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

a = 2;}

}

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

int fl ( int x)

{    static int s = l;

s = x;

return s;

}

void main ( void)

{ int u = l;

while (u<6)

{

printf ("%d ,%d\n", u, fl(u));

u ;

}

}

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

main()

{

char a[6][8] = {"c", "pascal" , "java" , "fortran" , "basic" , "ada"},ch='a';

int i, j;

for( i=0 ; i<6;i )

{

j = 0;

while(a[i][j]!='\0')

{

if(a[i][j] = = ch)

{

printf("%s\n",a[i]);

break;

}

j ;

}

}

}

35.void f3(char * s,char ch)

{

char * p = s ;

while( * s! = '\0' ){

if( * s! = ch)

{  * p = * s ; p ;}

s ;

}

* p = '\0';

}

void main(void)

{

char ch = ' a ', s[80] = "lab2c3,b4c5a6,c7a8b9";

int i;

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

{

f3(s,ch i);

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

}

}

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

36.从键盘输入10个浮点数并存放到一维数组x中,找出其中为最大数的元素,输出

该元素的下标和值。

37.若C盘根目录下有一个名为a.txt的文本文件,文件中有一个不超过50个字符的字符串,读入该字符串,并将该字符串中的字符按从小到大的次序排列出来,再输出排序后的结果。


关注新疆自考网微信公众号

《新疆自考网》免责声明:

1、由于各方面情况的调整与变化,本网提供的考试信息仅供参考,考试信息以省考试院及院校官方发布的信息为准。

2、本网信息来源为其他媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com。