《自考视频课程》名师讲解,轻松易懂,助您轻松上岸!低至399元/科!
全国2008年7月高等教育自学考试计算机基础与程序设计试题
课程代码:02275
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内.错选、多选或未选均无分.
1.一个完整的计算机系统应该包括( )
A.主机和外设
B.主机和操作系统
C.硬件系统和系统软件
D.硬件系统和软件系统
2.若用八位二进制表示一个整数,则-4在计算机中的表示是( )
A.11111100
B.11111011
C.10000100
D.00000100
3.下列转义字符中,表示回车的是( )
A.\0
B.\n
C.\r
D.\f
4.若定义double d;则d在内存中分配的字节数是( )
A.1个
B.2个
C.4个
D.8个
5.下列表达式中运算结果为3的表达式是( )
A.(-7)%4
B.7/4+2
C.7/4*4-4
D.8/3+8/3
6.设有int a=3,b=-4,c=5;表达式a++-c+b++的值是( )
A.-6
B.-5
C.-4
D.-3
7.在printf语句中,格式说明符u表示( )
A.以十进制带符号形式输出整数
B.以十六进制带符号形式输出整数
C.以十进制无符号形式输出整数
D.以十六进制无符号形式输出整数
8.若有int a=3,b=4,c=5,d=6,x=4;执行下列程序段后x的值是( )
if(a<b)
{
if(c= =d)
x=c;
}
else
x=d++
A.4
B.5
C.6
D.7
9.关于switch中的表达式,正确的说法是( )
A.它必须是算术表达式
B.它必须是关系表达式
C.它必须是逻辑表达式
D.它可以是任意类型的表达式
10.对do语句while(表达式);结构的循环,下列说法正确的是( )
A.当表达式的值为非零时不执行循环体
B.循环体至少被执行一次
C.当表达式的值为零时循环体一次也不执行
D.循环体仅被执行一次
11.只能在循环语句中用于结束本轮循环的语句是( )
A.break;
B.continue;
C.goto
D.if
12.若有定义int a[4]={1,2,3,4};则a[(a[1]*a[3]+a[0])3-1)]的值是( )
A.1
B.2
C.3
D.4
13.若有定义int a[3][5];则数组a在内存中分配的字节数是( )
A.8
B.15
C.24
D.30
14.已知strl和str2是字符串数组,下列哪一个函数能正确的完成字符串的输入?( )
A.gets(strl)
B.gets(strl,str2)
C.getchar(strl)
D.getchar(strl,str2)
15.下列关于函数的描述中正确的是( )
A.C程序中有调用关系的所有模块必须放在同一个源文件中
B.函数必须有返回值,否则不能使用函数
C.C程序必须由一个或一个以上函数构成
D.C函数既可以嵌套定义又可以嵌套调用
16.设有下列程序,则( )
int d=10;
main()
{
int a=3;printf("%d,%d\n",a,d);
}
A.a是全局变量,d是全局变量
B.a是局部变量,d是全局变量
C.a是全局变量,d是局部变量
D.a是局部变量,d是局部变量
17.若有说明:int*p1,*p2,m=5,n;以下进行赋值的语句中合理的是( )
A.p1=m;
B.&p2=n;
C.pl=&m;p2=p1;
D.*p1=&m;
18.下列为指针数组定义的是( )
A.float(*)[6];
B.float p[6];
C.float(*)();
D.float *p[6];
19.设有说明:FILE*fp;对于fp=fopen(″c:\\abc.dat″, ″rb″);语句,下列说法中不正确的是( )
A.fp将指向abc.dat文件
B.以只读方式打开二进制文件
C.打开文件的文件名是abc.dat
D.以读写方式打开ASCII码文件
20.ASCII码文件的结束可以用符号常量EOF表示.EOF的值是( )
A.0
B.1
C.-1
D.不能确定的值
二、多项选择题(本大题共5小题,每小题2分,共10分)
在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内.错选、多选、少选或未选均无分.
21.下列数据数值相等的有( )
A.(11111111)2
B.(377)8
C.(255)10
D.(FF)16
E.(256)10
22.以下if语句中没有语法错误的有( )
A.if(x>0)printf(″%f″,x);
else printf(″%f″,x);
B.if(x>0){x=x+y;printf(″%f″,x)}
else printf(″%f″,x)
C.if(x>0){x=x+y;printf(″%f″,x);}
else printf(″%f″,x);
D.if(x>0)x=x+y;printf(″%f″,x);
else printf(″%f″,x)
E.if x>y
x++;
else
x--;
23.设有程序如下:
main()
{ int i,j,a[]={1,3,5,7,9,11,13,15};
i=5;
switch(i)
{ default;printf(″%d\n″,a[i]);
case 1:printf(″%d\n″,a[3]);
case 2:printf(″%d\n″,a[++i]);break;
case 3:printf(″%d\n″,a[--i]);
}
}
上述程序的输出结果不包括( )
A.5
B.7
C.9
D.11
E.13
24.设有定义及赋值:( )
int a[10]={0,1,2,3,4,5,6,7,8,9},*p;
p=a;
则引用a中值为5的元素的正确形式是
A.a[5]
B.a[4]
C.*(a+5)
D.p[5]
E.*(p+5)
25.设有说明:int u=1,v=3,w=7;下列表达式的值为7的有( )
A.u&v|w
B.u|v|w
C.u^v|w
D.w&v|u
E.u^w|v
三、简答题(本大题共4小题,每小题4分,共16分)
26.C语言中整型常量有几种形式,它们是如何表示的?
27.写出语句if(表达式)语句1 else语句2的执行过程.
28.若定义char *str;然后用gets(str);输入字符串可以吗?为什么?
29.单个字符的读函数fgetc(fp),其中fp表示什么?该函数的功能是什么?
四、阅读分析题(本大题共6小题,每小题5分,共30分)
30.阅读下面程序并写出运行结果.
main()
{
int a=47,x,y,z,w;
x=a/2;
y=a%2;
z=a++;
w=++a;
printf(″%d,%d,%d,%d″,x,y,z,w);
}
31.阅读分析下面程序,请说明程序的功能;然后写出当键盘输入14时,程序的运行结果.
main()
{
int x;
scanf(″%d″,&x);
if(x%5= =0 & & x%7= =0)
printf(″yes″);
else
printf(″no″);
}
32.阅读下面程序并写出运行结果.
main()
{
static int a[]={5,3,7,2,1,5,4,10};
int s=0,k;
for(k=0;k<8;k+ =3)
{
s+ =a[k];
printf(″a[%d] =%d,s=%d\n″,k,a[k],s);
}
}
33.阅读下面程序并写出运行结果.
check(int n,int k)
{
int m;
do{
m=n%10;n=n/10;
}while(k- -);
return(m);
}
main()
{
int j,y=2345;
for(j=1;j<4;j++)
printf(″j=%d,number is %d\n″,j,check(y,j));
}
34.阅读分析下面程序并写出运行结果.
main()
{
char *a[]={″Pascal″,″C Language″,″dBase″,″Cobol″};
int j;
for(j=3;j>=0;j- -)
printf(″%s\n″,a[j]);
}
35.阅读下面程序并说明语句:x=p->d[0]>p->d[1]?p->d[0]:p->d[1];的含义,然后写出程序的运行结果.
struct number
{
int d[2];
} n={12,8},*p=&n;
main()
{
int x;
x=p->d[0]>p->d[1]?p->d[0]:p—>d[1];
printf(″%d″,x);
}
五、程序设计题(本大题共2小题,每小题12分,共24分)
36.从键盘上输入一个正整数n(n≤10),求n的阶乘并输出结果.
37.由键盘输入n*m个数,并把它们存放在一个n行m列的数组中(n、m均不超过20).
(1)按n行m列输出该二维数组;
(2)求出该二维数
[1]
本文标签:中山自考 工学类 全国2008年7月高等教育自学考试计算机基础与程序
转载请注明:文章转载自(http://www.zszkw.cn)
《中山自考网》免责声明:
1、由于考试政策等各方面情况的调整与变化,本网提供的考试信息仅供参考,最终考试信息请以省考试院及院校官方发布的信息为准。
2、本站内容部分信息均来源网络收集整理或来源出处标注为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com