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

自考资讯热线:028-65656189

距离自考还有28

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

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

发布时间:2010-07-22 19:34:50

全国20107月高等教育自学考试

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

课程代码:02275

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

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

1.与十进制数49等值的二进制数是(     

A.101111                                                  B.110000

C.110001                                                  D.110010

2.编译程序的功能是(     

A.修改并建立源程序                                B.将源程序翻译成目标程序

C.调试程序                                              D.命令计算机运行可执行程序

3.Turbo C 2.0中,若定义long b;则变量b在内存中分配的字节数是(     

A.1                                                      B.2

C.4                                                      D.8

4.下列语句中不能实现循环结构的语句是(     

A.if语句                                                  B.while语句

C.do—while语句                                     D.for语句

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

 main()

 { int y=10

 while(y——)

 printf("y=d”y)

 }

 A.y=-1                                                   B.y=0

C.y=1                                                      D.y=随机值

6.下列程序的输出结果是(     

 main()

 {  int a[10]={l2345678910}

 

printf(″%dn″,a[2])

 }

A.1                                                          B.2

C.3                                                          D.4

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

 #include   <stdio.h>

 #include   <string.h>

 main()

 {    char p1[10]= abc″,p2[]=ABC″;

      strcat(p1p2)

printf(″%sn″,p1)

 }

A.abcabc                                                  B.abc

C.ABC                                                     D.abcABC

8.设有int x=2yz;执行z=y=x++;后变量x的值是(     

A.0                                                          B.1

C.2                                                          D.3

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

 main()

 {   int a=2b=5

printf(a=%%%db=%%9%d″,ab)}

A.a=2b=5                                             B.a=2%,b=5

C.a=2b=5                                       D.a=db=d

10.若有下列程序段,欲使a=2b=3,对应正确的数据输入法是(其中<CR>表示回车)

     

 int ab

 scanf(″%d,%d″,&a&b)

A.2<CR>                                                 B.a=2b=3<CR>

3<CR>

C.a=2b=3<CR>                                         D.23<CR>

11.若运行时给变量x输入12,则以下程序的运行结果是(     

 main()

 {   int xy

 scanf(″%d″,&x)

 y=x>12?x+10x-12

 printf(%dn″,y)

}

A.0                                                          B.10

C.12                                                        D.22

12.若执行下列程序时,从键盘上输入34,则输出结果是(     

 main()

 {   int abs

     scanf(″%dd″,&a&b)

     s=a

 if(a<b) s=b

     s=s*s;

 printf(″%dn″,s)

 }

A.9                                                          B.16

C.18                                                        D.20

13.C语言的auto型变量存储在(     

A.动态存储区中                                       B.静态存储区中

C.计算机CPU的寄存器中                        D.外存储器中

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

 ff()

 {   int a=lc=8

 static int b=4;

 if(b= =4)

 {a+=c;b++}

 else

 (a+=cb--)

 printf(a=db=dn″,a,b)

 }

 main()

 {ff()ff()}

A.a=9b=5                                             B.a=9b=4

 a=9b=5                                                a=9b=4

C.a=9b=4                                              D.a=9,b=5

a=9,b=5                                                 a=9,b=4

15.p1p2是指向同一个字符串的指针变量,且c为字符型变量,则以下不能正确执行的赋值语句是(     

A.c=*p1+*p2                                        B.p2=*p1

C.p1=p2                                               D.c=*p1*(*p2)

16.以下选项中,对指针变量p的正确操作是(     

A.int a[5]*pp=a                          B.int a[5]*pp=a

C.int a[5]int *p=a[5]                          D.int a[5]int*pp2=a*p=*p2

17.设有下面的结构体和结构变量定义:

 struct student

 {

 long id

 char*name

 int math;

 }

 struct student studl

 关于结构体类型变量赋值正确的是(     

A.studl.id=1001studl.name=Tom″;

B.id=1001*studl. name=Tom″;

C.studl.id=1001studl.*name=Tom″;

D.studl.id=1001L*studl.name=Tom″;

 

18.设有说明:int x=7y=1;表达式:x&y的值是(     

A.0                                                          B.2

C.4                                                          D.6

19.设有说明:int u=1v=14;表达式:u|v>>2的值是(     

A.-1                                                         B.1

C.3                                                          D.4

20.设有说明:FILE*fpchar filename[10]= myfile″;对于fp=fopen(filename

rb+);语句,下面说法正确的是(     

A.打开名为myfile的文件读写                 B.打开名为filename的文件读写

C.打开名为myfile的文件只读                  D.打开名为filename的文件只读

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

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

21.下列属于计算机的输入设备的有(        

A.CD—ROM                                            B.打印机

C.键盘                                                      D.鼠标

E.扫描仪

22.设有int a=3b=-5;下面表达式值等于0的有(       

A.!a                                                         B.!b&b

C.56 !=0                                                D.a3!=0

E.b+a ==-2

23.下列有关函数的说法中不正确的有(        

A.C语言程序总是从首定义的函数起顺序执行

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

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

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

E.定义函数时,参数表中可以没有任何参数

24.若有定义int a[5]i*p=a;且0≤i<5,则对a数组元素的正确引用有(        

 A.a[i]                                                     B.*(a+i)

C.*(p+i)                                                   D.*(&a+i)

E.p+i

25.设有说明:int x=0y=1z=2;则下列表达式中结果非0的有(        

A.x&y                                                  B.x&y&z

C.z>>2                                                     D.(y<<1)&z

E.y&z

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

26.写出for语句的一般形式及执行过程。

27.函数fputc()的功能是什么?

28.将下面的各种运算符按优先级从高到低排列出来。(相同优先级的用号分隔,不同优先级的按由高到低的顺序用号分隔)

,、?:、>===、/、()!||&&=

29.若有char strl[20]str2[20];简述下面各函数调用的功能。

 (1)gets(strl)

 (2)strcmp(strlstr2)

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

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

 main()

 {    int a=10b=8c

c=a;

a=b;

b=c;

printf(a=db=dn″,ab)

  }

31.写出下面程序的功能;如果输入69,写出程序的输出结果。

 main()

 {    int abxy

scanf(″%dd″,&a,&b)

      x=a*a+b*b;

if(x>100)

 {y=x100printf(″%d″,y)}

 else

 printf(″%d″,a+b)

 }

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

 main()

 {

 int n=1sum=0

 do{

 sum=sum+n

 n+=2

 }while(n<100)

 printf(sum=dn″,sum)

 }

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

 int fun(int a[][4])

 {     int ijktem

 tem=a[0][0]

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

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

 if(a[i][j]<tem)tem=a[i][j]

 return(tem)

 }

 main()

 {    int b[3][4]={{13-57}{24-68}{1020-3040}}

printf(″%dn″,fun(b))

 }

34.下列程序中字符串中各单词之间有一个空格,写出程序的输出结果。

 #include <string.h>

 #include <stdio.h>

 main()

 {    char str1[]=How do you do″;

puts(str1)

strcpy(str1+str1en(str1)2,″es she)

printf(%sn″,str1)

 }

35.写出下列程序的功能和运行结果。

 #include <stdio.h>

 reverse (char *s)

 {     char*tch

 for(t=s+strlen(s)-1s<ts++t--)

 {ch=*s*s=*t*t=ch}

 }

 main()

 {   char*s1=123456″;

 reverse(s1)

 printf(″%sn″,s1)

 }

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

36.编程求20100之间素数的累加和并输出该累加和。

37.编程生成以下AB两个数组(不得使用输入语句输入数据或对数组初始化),将两数组对应元素相加写入C数组中,最后并排输出ABC三个数组。