全国2010年7月高等教育自学考试
计算机基础与程序设计试题
课程代码: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]={l,2,3,4,5,6,7,8,9,10};
printf(″%d\n″,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(p1,p2);
printf(″%s\n″,p1);
}
A.abcabc B.abc
C.ABC D.abcABC
8.设有int x=2,y,z;执行z=y=x++;后变量x的值是( )
A.0 B.1 C.2 D.3
9.下面程序段的输出结果是( )
main()
{ int a=2,b=5;
printf(″a=%%%d,b=%%9%d″,a,b);}
A.a=2,b=5 B.a=2%,b=5%
C.a=%2,b=%5 D.a=%d,b=%d
10.若有下列程序段,欲使a=2,b=3,对应正确的数据输入法是(其中<CR>表示回车)
( )
int a,b;
scanf(″%d,%d″,&a,&b);
A.2<CR> B.a=2,b=3<CR>
3<CR>
C.a=2b=3<CR> D.2,3<CR>
11.若运行时给变量x输入12,则以下程序的运行结果是( )
main()
{ int x,y;
scanf(″%d″,&x);
y=x>12?x+10:x-12;
printf(″%d\n″,y);
}
A.0 B.10 C.12 D.22
12.若执行下列程序时,从键盘上输入3和4,则输出结果是( )
main()
{ int a,b,s;
scanf(″%d%d″,&a,&b);
s=a:
if(a<b) s=b;
s=s*s;
printf(″%d\n″,s);
}
A.9 B.16 C.18 D.20
13.C语言的auto型变量存储在( )
A.动态存储区中 B.静态存储区中
C.计算机CPU的寄存器中 D.外存储器中
14.以下程序的输出结果是( )
ff()
{ int a=l,c=8;
static int b=4;
if(b= =4)
{a+=c;b++;}
else
(a+=c;b--;)
printf(″a=%d,b=%d\n″,a,b);
}
main()
{ff();ff();}
A.a=9,b=5 B.a=9,b=4
a=9,b=5 a=9,b=4
C.a=9,b=4 D.a=9,b=5
a=9,b=5 a=9,b=4
15.设p1和p2是指向同一个字符串的指针变量,且c为字符型变量,则以下不能正确执行的赋值语句是( )
A.c=*p1+*p2; B.p2=*p1;
C.p1=p2; D.c=*p1*(*p2);
16.以下选项中,对指针变量p的正确操作是( )
A.int a[5],*p;p=&a; B.int a[5],*p;p=a;
C.int a[5];int *p=a[5]; D.int a[5];int*p,p2=a;*p=*p2;
17.设有下面的结构体和结构变量定义:
struct student
{
long id:
char*name;
int math;
};
struct student studl;
关于结构体类型变量赋值正确的是( )
A.studl.id=1001;studl.name=″Tom″;
B.id=1001;*studl. name=″Tom″;
C.studl.id=1001;studl.*name=″Tom″;
D.studl.id=1001L;*studl.name=″Tom″;
18.设有说明:int x=7,y=1;表达式:x&~y的值是( )
A.0 B.2
C.4 D.6
19.设有说明:int u=1,v=14;表达式:u|v>>2的值是( )
A.-1 B.1
C.3 D.4
20.设有说明:FILE*fp;char 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=3,b=-5;下面表达式值等于0的有( )
A.!a B.!b&&b C.5/6 !=0 D.a%3!=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=0,y=1,z=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(strl,str2)
四、阅读分析题 (本大题共6小题,每小题5分,共30分)
30.写出下列程序的运行结果。
main()
{ int a=10,b=8,c;
c=a;
a=b;
b=c;
printf(″a=%d,b=%d\n″,a,b);
}
31.写出下面程序的功能;如果输入6和9,写出程序的输出结果。
main()
{ int a,b,x,y;
scanf(″%d%d″,&a,&b);
x=a*a+b*b;
if(x>100)
{y=x/100;printf(″%d″,y);}
else
printf(″%d″,a+b);
}
32.写出下面程序的功能及运行结果。
main()
{
int n=1,sum=0;
do{
sum=sum+n;
n+=2;
}while(n<100);
printf(″sum=%d\n″,sum);
}
33.写出下面程序的功能和运行结果。
int fun(int a[][4])
{ int i,j,k,tem
tem=a[0][0];
for(I=0;i<3;i++)
for(j=0;j<4;j++)
if(a[i][j]<tem)tem=a[i][j];
return(tem);
}
main()
{ int b[3][4]={{1,3,-5,7},{2,4,-6,8},{10,20,-30,40}};
printf(″%d\n″,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(″%s\n″,str1);
}
35.写出下列程序的功能和运行结果。
#include <stdio.h>
reverse (char *s)
{ char*t,ch;
for(t=s+strlen(s)-1;s<t;s++,t--)
{ch=*s;*s=*t;*t=ch;}
}
main()
{ char*s1=″123456″;
reverse(s1);
printf(″%s\n″,s1);
}
五、编程题 (本大题共2小题,每小题12分,共24分)
36.编程求20至100之间素数的累加和并输出该累加和。
37.编程生成以下A、B两个数组(不得使用输入语句输入数据或对数组初始化),将两数组对应元素相加写入C数组中,最后并排输出A、B、C三个数组。
下载自考试题WORD文档: