全国2007年7月高等教育自学考试
计算机基础与程序设计试题
课程代码:02275
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.微机中信息的最小单位是( )
A.bit B. byte
C.KB D. word
2.组成计算机硬件系统的是( )
A.控制器、运算器和内存储器 B. CPU、显示器和键盘
C.I/O设备、CPU和内存储器 D. 控制器、内存储器和I/O设备
3.(75)10的二进制的表示是( )
A.(01001001)2 B.(01001010)2
C.(01001011)2 D.(01001100)2
4.字符串常数“CHINA”在内存中存储时占的字节数是( )
A.5个 B.6个
C.7个 D.8个
5.如果a=1,b=2,c=3,d=4,则表达式a>b?a:c<d?c:d的值是( )
A.1 B.2
C.3 D.4
6.输出字符串的格式说明符是( )
A.%c B.%s
C.%u D.%g
7.设有说明int x=0,y=0;
则执行if(x++)y=1+x;
else y=2+x;
后,变量y的值是( )
A.0 B.1
C.2 D.3
8.以下程序段所表示的数学函数关系是( )
y=-1
if(x!=0) if(x>0) y=1;else y=0;
A. B.
C. D.
9.执行下面程序段后,输出字符A的个数是( )
for(i=0;i<=5;i+=2)
printf(″A″);
A.0个 B.3个
C.5个 D.6个
10.若有定义char a[ ]= ″computer″;则存储字符m的数组元素是( )
A.a[1] B.a[2]
C.a[3] D.a[4]
11.若有定义int a [4]={1,2,3,4};则a[a[3]-a[1]*a[1]]的值是( )
A.1 B.2
C.3 D.4
12.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为( )
A.自动(auto) B.静态(static)
C.外部(extern) D.寄存器(register)
13.如果一个C程序仅由一个源文件组成,则在一个源文件中定义的全局变量的作用域为( )
A.源文件的全部范围 B.本程序的全部范围
C.本函数的全部范围 D.从定义该变量的位置开始至本文件末尾
14.下列定义中,不是指针数组定义的是( )
A.int*p[5]; B.float*q[4];
C.int(*r)[6]; D.char*w[7];
15.若有语句int*point,a=4;和point=&a;下面代表地址的一组选项是( )
A.a,point,*&a B.&*a,&a,*point
C.*&point,*point,&a D.&a,&*point,point
16.下列程序的运行结果是( )
#difine N 9
fun (char s[ ])
{
char*p=s+4,*q=s;
int i;
for(i=0;i<4;i+ +,p+ +,q + +)
{
s[i]=*p;
s[i+4]=*q
}
}
main( )
{
char ss[N]= ″ABCDEFGH″;
fun(ss)
printf(″%s\n″,ss);
}
A.EFGHABCD B.EFGHEFGH
C.ABCDEFGH D.ABCDABCD
17.设有结构体的定义如下:( )
struct cjd {long bh;int*q;char xm[9];};
则sizeof(struct cjd)的值是
A.14 B.15
C.16 D.17
18.设有说明:int x=0x15,y=0x0f;则x&y的结果是( )
A.0x5 B.0x15
C.0xf0 D.0xf5
19.如果在程序中要使用系统提供的函数strlen,则需要书写的编译预处理命令是( )
A.#include<stdio.h> B.#include<math.h>
C.#incLude<string.h> D. #incLude<malloc.h>
20.由FILE*fp;fp=\fopen(″a:\\abc.txt″,″r+″);可以推知fopen 函数的原型是( )
A.char *fopen(char,char); B.FILE*fopen(char*,char*);
C.int fopen (char*,char*); D.FILF fopen(char* ,char*);
二、多项选择题(本大题共5小题,每小题2分,共10分)
在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。
21.下面基本结构和特性中符合结构化程序设计的要求的有( )
A.选择结构 B.循环结构
C.顺序结构
D.各结构之间只有一个入口,至多两个出口
E.各结构之间只有一个入口,一个出口
22.若有int x;float;y下面结果为整型数的表达式有( )
A.(int)(x+y) B.(int)x+y
C.´a´+x D.x+(int)y
E.x*y
23.设有定义:int a[2][3];下面关于数组元素引用正确的有( )
A.a[0][3] B.a[0][0]
C.a[2][1] D.a[1][2]
E.a[2][3]
24.设有关于结构体类型的定义:( )
struct car
{
char*name;
float price;
struct car *next;
}*p,*head=NULL;
下面各选项中正确的有
A.p=(struct car*)MALLOC(sizeof (struct car);
B.p=(struct car*)malloc (sizeof (struct car);
C.p.next=head;
D.p->next=head;
E.p=(struct car *)malloc (sizeof(car);
25.设有说明:int u=1,v=5;则下列表达式的值为1的有( )
A.u&v B.v>>2
C.u^u D.u¦v
E.(u<<3)/5
三、简答题(本大题共4小题,每小题4分,共16分)
26.什么是常量?C语言中常量有哪几种类型?
27.用while循环结构完成下面程序段的功能。
s=0
for(i=1;i<=10;i++)
s+=i;
28.若在一个函数中对变量a,b有如下定义:
static int a;
auto int b;
简述它们之间的异同。
29.设有说明:int a[3][4],(*p )[ 4]=a;请解释p的含义,并用p给出数组元素a[2][1]的二种表示。
四、阅读分析题(本大题共6小题,每小题5分,共30分)
30.从键盘输入字符A时,写出下面程序的运行结果。(注:字符A的ASCII码是65)
#include ″stdio.h″
main()
{
int k;
k=getchar();putchar(k);
printf(″,%d,%x,%c″,k,k,k+32);
}
31.阅读下面程序,写出运行结果。
main()
{
int x,sum=0;
loop1:
scanf(″%d″,&x);
if(x!=8)
{
if(x%2= =0)
{
sum+=x;
printf(″sum =%d\n″,sum);
}
goto loopl;
}
sum-=x;
printf( ″sum=%d\n″,sum);
}
当程序执行时输入数据1 2 3 4 5 6 7 8 ↙ ,写出程序运行结果。
32.阅读下面程序,写出运行结果。
main()
{
int a[3][3],i,j;
for (i=0;i<3,i+ +)
for(j=0,j<3;j+ +)
a[i][j]=i+j
for(i=0;i<3;i++)
{
for(j=0;j<=i;j+ +)
printf(″%2d″,a[i][j]);
printf(″\n″);
}
}
33.阅读下面程序,写出运行结果。
long factor (int m)
{
long int fc;
if(m= =0¦¦m= =1)
fc=1;
else
fc=factor(m-1)*m;
return(fc);
}
main()
{
int n;
long int fac;
for(n=1;n<5;n++)
{
fac=factor(n);
printf(″% Id\n″,fac);
}
}
34.阅读下面程序,写出运行结果。
void fl(char a[ ],char b[ ])
{
int i;
for(i=0;a[i];i+ +)
b[i]=a[i];
b[i]=´ \0 ´;
}
void f2(char *c,char*t)
{
while(*c+ + = * t+ +);
}
main()
{
char a[20]= ″basic″,b[20]= ″fortran″,c[20]= ″pascal″;
char*p=b,*q=c;
fl(b,a);
printf(″%s\n″,b);
f2(p,q);
printf(″%s\n″,b);
}
35.阅读下面程序段:
struct number
{
int u[2];
}v={11,15},*p=&v;
int x;
请分析下面语句的含义:
x=(*p),u[0]>p->u[1]?(*p).u[0]:p->u[1];
五、程序设计题(本大题共2小题,每小题12分,共24分)
36.用以下近似公式编一个求 的近似值的程序。
,其中n的值由键盘输入。
37.用循环语句编程打印下列图案,并以ASCII码的形式写到c盘根目录下的lx.dat文件中。(第一行的″$″在第20列)
$
$ $ $
$ $ $ $ $
$ $ $
$