全国2006年7月高等教育自学考试
计算机基础与程序设计试题
课程代码:02275
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.存储量1MB等于( )
A.23字节 B.210字节
C.220字节 D.230字节
2.下面数据中最小数是( )
A.(0.1100)2 B.(0.64)8
C.(0.8125)10 D.(0.D)16
3.在Turbo C 2.0中,寻求在线帮助可按键( )
A.F1 B.F5
C.F9 D.F10
4.设有 int a =3, b=-4, c=0;表达式((a>b)?a:b)&&c<0的值是( )
A.-4 B.0
C.1 D.3
5.若有下列程序段,欲使a=2、b=3,对应正确的数据输入方法是( )
(其中<CR>表示换行)
int a, b;
scanf(″a=%d, b=%d″,&a,&b);
A.2<CR> B.a=2 b=3<CR>
3<CR>
C.a=2, b=3<CR> D.2,3<CR>
6.下面程序段的输出结果是( )
main( )
{ int s, p;
s=p=5;
p=--s;
p++;++p;
printf(″%d\n″,p);
}
A.5 B.6
C.7 D.8
7.关于if语句下面叙述正确的是( )
A.只有当if语句中表达式的值等于1时,才执行if的内嵌语句
B.只有当if语句中表达式的值为假时,才执行if的内嵌语句
C.只有当if语句中表达式的值等于0时,才执行if的内嵌语句
D.只要if语句中表达式的值非0时,就执行if的内嵌语句
8.若执行下面程序时,从键盘输入数据3和4,则程序的输出结果是( )
main( )
{ int a,b,s;
scanf(″%d″, &a,&b);
s=a;
if(a<b) s=b
s=s*s;
printf(″%d″,s);
}
A.9 B.12
C.16 D.25
9.若int x=0; 则while(x==0); 的循环次数是( )
A.0 B.1
C.2 D.无限次
10.下面程序段的输出结果是( )
for (i=1; i<3;i++)
{for (j=1;j<3;j++)
printf(″%d ″, i+j);
printf(″\n″);}
A.2 3 3 4 B.2 3 4
C.2 3 D.2
3 4 3 4
11.下面程序的输出结果是( )
mian ( )
{ int a[5]={2,4,6,8,10},i;
i=2;
printf(″%d″,a[i++]);
}
A.2 B.4
C.6 D.8
12.下面程序的输出结果是( )
main( )
{ int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int i,j,k=0;
for(i=0;i<3;i++)
k=k+a[i][0];
printf(″%d\n″,k);
}
A.27 B.33
C.39 D.45
13.以下正确的函数定义形式是( )
A. double fun(int x, int y) B. double fun(int x; int y)
C. double fun(int x, int y); D. double fun(int x, y);
14.关于变量以下不正确的说法是( )
A.在不同函数中可以使用相同名字的变量
B.形式参数是全局变量
C.在函数内定义的变量只在本函数范围内有效
D.在函数内的复合语句中定义的变量是局部变量
15.设有语句int a[4][10],*p=*a;则下列表达式中不是地址表达式的是( )
A.&a[1][2] B.a[3]
C.*(p+1*10+2) D.p+1*10+2
16.下面关于结构体类型变量定义不正确的是( )
A. struct score B. struct
{ {
int math; int math;
int Chinese; int Chinese;
}Li, Wang; }Li, Wang;
C. struct score D. struct score
{ {
int math;&nbs来源:91考试网p;int math;
int Chinese; int Chinese;
}; };Li, Wang;
struct score Li, Wang;
17.下面各个运算符的优先级从左到右依次降低的是( )
A.& >> | ^ B.~ & >> |
C.>> & ^ | D.~ >> & ^
18.设有说明:int u=1, v=2;表达式:u+v<<2的值是( )
A.-1 B.1
C.9 D.12
19.下面程序段中,不能完成的功能是( )
FILE *fp;
char ch;
fp=fopen(″file1″, ″rb+″);
ch=fgetc(fp);
A.建立文件指针fp与文件file1的联系 B.从file1文件中读一个字符
C.向file1文件中写一个字符 D.打开名为file1的二进制文件
20.在格式:fread(stu,size,n,fp);中,下面说法不正确的是( )
A.stu是内存中存放数据的首地址 B.n表示读n次
C.size是一个数据块的字节数 D.fp表示文件指针
二、多项选择题(本大题共5小题,每小题2分,共10分)
在每小题列出的五个备选项中有二至五个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。
21.微机系统的主机包含的部件有( )
A.输入设备 B.存储器
C.输出设备 D.运算器
E.控制器
22.下面各选项中,能正确进行字符串操作的有( )
A. char s[ ]={′a′, ′b′, ′c′, ′d′, ′e′, ′\0′};
B. char s[10];s=″abcde″;
C.char s[10];strcpy(s, ″abcde″)
D.char s[10];getchar(s);
E.char s[10];gets(s);
23.若有以下定义和语句,则能正确表示数组a首元素地址的表达式有( )
double a[5],*p1
p1=a;
A.a B.p1+1
C.*p1 D.&a[1]
E.p1
24.设有说明: int u=1, v=3, w=7;下面表达式的值为3的有( )
A.w>>1&v|u B.u&v&w
C.u|v&w D.w&v<<1
E.v^w|u
25.在C语言中,下面关于文件说法正确的有( )
A.按数据的组织形式,可分为文本文件和二进制文件
B.文件只能是ASCII码文件
C.文件能用fopen( )函数打开
D.文件只能是二进制文件
E.对打开的文件可以进行读或写操作
三、简答题(本大题共4小题,每小题4分,共16分)
26.简述C语言中标识符的命名规则并说明C语言中哪些名是用标识符来标识的?
27.变量有哪几种存储类别?指明它们存储数据的区域。
28.定义char*str=″computer″;是将字符串″computer″赋值给变量str,这种说法对吗?为什么?
29.设有说明:
struct flower {char *part; char * color;} mum;
char*part_of_flower[3]={ ″花″,″茎″,″叶″};
char*seven_color[7]={ ″赤″,″橙″,″黄″,″绿″,″青″,″蓝″,″紫″};
试写出将mum的成员part定义为″花″、成员color定义为″黄″的C语句。