自考 建筑工程专业080806计算机基础与程序设计02275历年真题.docx
《自考 建筑工程专业080806计算机基础与程序设计02275历年真题.docx》由会员分享,可在线阅读,更多相关《自考 建筑工程专业080806计算机基础与程序设计02275历年真题.docx(85页珍藏版)》请在冰豆网上搜索。
![自考 建筑工程专业080806计算机基础与程序设计02275历年真题.docx](https://file1.bdocx.com/fileroot1/2022-12/30/cbd94877-7fb9-461a-902f-1ef63060db19/cbd94877-7fb9-461a-902f-1ef63060db191.gif)
自考建筑工程专业080806计算机基础与程序设计02275历年真题
全国自考计算机基础与程序设计(02275)历年真题
(2007~2011)
全国2007年4月高等教育自学考试计算机基础与程序设计试题
课程代码:
02275
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.I/O设备指的是计算机的( B )
A.存储设备B.输入和输出设备C.控制器D.运算器
2.具有只读功能的内存储器是指( A )
A.ROMB.RAMC.硬盘D.CD-ROM
3.十进制数-5在八位的微机内的存储形式是( D )
A.00000101B.10000101C.11111010D.11111011
4.C语言源程序的基本单位是( B )
A.过程B.函数C.子程序D.语句
5.设有intp,q;以下不正确的语句是(D )
A.p*=3;B.p/=q;C.p+=3;D.p&&=q;
6.若有下列程序段,欲使a=2,b=3,对应正确的数据输入方法是(其中表示换行)
( A )
inta,b
scanf("%d%d",&a,&b);
A.2B.a=2b=3
3
C.a=2,b=3D.2,3
7.设有说明intx=0,y=2;
则执行if(x=0)y=1+x;
elsey=x-1;
后,变量y的值是( A )
A.-1B.0C.1D.2
8.下面程序的输出结果是( B )
main()
{
intx=5,y;
if(x>0)
y=1;
y=0;
if(x<0)
y=-1;
printf("%d",y);
}
A.-1B.0C.1D.5
9.执行下面程序段后,输出字符B的个数是( B )
x=0;
while(x<=5){
printf("B");
x+=2;
}
A.0个B.3个C.5个D.6个
10.在下述程序中,for循环执行的次数是( C )
main()
{
inti=0,j=10,k=2,s=0;
for(;;)
{
i+=k;
if(i>j)
{
printf("%d\n",s);
break;
}
s+=i;
}
}
A.4B.5C.6D.7
11.若有定义:
inta[10];则数组元素的下标的下限和上限分别是( C )
A.0和1B.1和9C.0和9D.1和10
12.下列说法不正确的是( C )
A.一个源程序文件由一个或多个函数组成
B.一个C程序由一个或多个源程序文件组成
C.一个C程序以函数为独立的编译单位
D.一个C程序必须有一个main()函数
13.在C语言中,确定函数返回值的类型由( D )
A.return语句中的表达式类型决定B.调用该函数的主函数类型决定
C.调用函数时临时决定D.定义函数时所指定的函数类型决定
14.若有以下定义和语句,且0≤i<10,则对数组元素地址的正确表示是( D )
inta[]={0,1,2,3,4,5,6,7,8,9},*p;
p=a;
A.&(a+1)B.a++C.&pD.&p[i]
15.若有以下说明:
chars[10]=“ABCDEFGH”,*p=s;
不能表示字符C的是( B )
A.s[2]B.s[3]C.s['c'-'a']D.*(p+2)
16.有下列程序:
func(intx,inty,int*jia,int*jian)
{*jia=x+y;
*jian=x-y;}
main()
{inti=10,j=3,x1,x2;
func(i,j,&x1,&x2);
printf("%d,&d\n",x1,x2);}
则其运行结果是( C )
A.0,0B.10,3C.13,7D.7,13
17.设有结构体的定义如下:
structdata{
intn;
charc;
floatf;
};
则sizeof(structdata)的值是( C )
A.1B.3C.7D.11
18.如果在程序中要使用系统提供的函数sqrt,则需要书写的编译预处理命令是(B )
A.#includeB.#include
C.#includeD.#include
19.设有说明:
intx=12,y=3;则x¦y的值是( D )
A.0B.3C.12D.15
20.测试文件是否结束函数的函数名是( A )
A.feofB.EOFC.eofD.FEOF
二、多项选择题(本大题共5小题,每小题2分,共10分)
在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选、少选或未选均无分。
21.下列设备中属于外存储设备的有( BCDE )
A.RAMB.光盘C.硬盘
D.软盘E.磁带
22.设a=1,b=3,c=0;下面表达式的值为1的有( ABCE )
A.!
a&&b||a&&(c+1)B.a-b+3C.(a>b)==c
D.(a=0)&&(b=10)E.b>a&&a>c
23.设有说明:
chars[20];( BCD )
下面各项中能够正确的将一个字符串"abcd"赋给s数组的有
A.s="abcd";B.gets(s);C.scanf("%s",s);
D.strcpy(s,"abcd");E.strcpy("abcd",s);
24.关于结构体,下面各项中不正确的有( AC )
A.structperson{longbh;char*name;intage;}
psl={9100,"wang",20},*pst;
pst=psl;printf("%d",*pst→age);
B.structmy_data
{intnum;structmy_data*next;};
C.structtest
{char*course;char*class}
D.structworker
{charname[9];floatgz;}Li={"LiPing",532.67};
E.structint_num
{inti_num;structint_num*next;}ione,*pi;
pi=&ione;
25.设有说明:
intx=1,y=2,z=3;则下面表达式的值为0的有( ACDE )
A.x&y&zB.x¦y¦zC.x^x+y^y
D.z>>yE.x&0xff00
三、简答题(本大题共4小题,每小题4分,共16分)
26.C语言中的运算符“=”与运算符“==”的意义相同吗?
为什么?
不同。
C语言中“=”称为赋值号,赋值号左边只能是变量不能是表达式或常量。
赋值号两侧不能互换,不表示相等,而“==”称为等号,与数学中的“=”意义相同,符号两侧都可以使表达式
27.变量的存储类别分为哪几种?
它们分别存储在什么区域?
Aotu,static,extern,register四种。
Aotu类型的局部变量存储在动态存储区。
Static类型的静态变量和extern类型的外部变量存储在静态存储区。
Register类型的变量存储在寄存器中。
28.试定义一个三行的二维字符数组s,并用"Iamaboy","youareagirl","heisateacher"对其进行初始化。
chars【3】【20】={"Iamaboy","youareagirl","heisateacher"};
29.设有说明:
inta[2][3];
请用四种方式来表示数组元素a[1][2]。
a[1][2],*(&a【0】【0】+1x3+2),*(a【0】+1x3+2),*(*a+1x3+2);
四、阅读分析题(本大题共6小题,每小题5分,共30分)
30.从键盘输入字符A时,写出下面程序的运行结果。
(注:
字符A的ASCII码是65)
#include"stdio.h"
main()
{
charch;
ch=putchar(getchar());
printf(",%d,%o,%c",ch+1,ch+1,ch+32);A,66,102,a
}
31.阅读下面程序:
voidmain(void)
{
ints=0,n=0,x;
label:
scanf("%d",&x);
if(x>0){
s+=x;
n++;
printf("s=%d,n=%d,even=%f\n",s,n,1.0,*s/n);
}
if(x!
=0)
gotolabel;
else
printf("goodbye!
");
}s=12,n=1,even=12.0
s=17,n=2,even=8.5
s=30,n=3,even=10.0
goodbye!
当依次输入12-3-65130↙时,写出程序的运行结果。
32.阅读下面程序,写出程序的运行结果。
chara[]={'9','8','7','6','5','4','3','2,'1','0','\0'};
voidmain(void)
{
inti=8,j;
for(j=0;j<4;j++)
printf("%s\n",&a[i-j]);
}10
210
3210
43210
33.请写出下面程序的运行结果。
longfun(intk)
{
longfac;
if(k==0)
return1;
else
{
fac=k*fun(k-1);
printf("fac=%ld\n",fac);
}
returnfac;
}
voidmain(void)
{
intn=3;
printf("result=%ld\n",fun(n+1)/n);
}fac=1
fac=2
fac=6
fac=24
34.阅读下面程序,写出运行结果。
#include
#include
voidf(char*s)
{
char*t,c,*p=s;
for(t=s+strlen(s)-1;s{
c=*s,*s=*t,*t=c;
printf("%s\n",p);
}
}
voidmain(void)
{
chara[20]="abcdefg";
f(a);
}gbcdefa
gfcdeba
gfedcba
35.阅读下面程序段,说明其功能:
intx,y=0,k;FILE*fp;
fp=fopen("data.txt","rb");
for(k=0;k<5;k++)
fread(&x,sizeof(int),1,fp),y+=x;
printf("%d,"y);
fclose(fp);计算并输出从data,txt中读出的5个整型数据的累加和
五、程序设计题(本大题共2小题,每小题12分,共24分)
36.从键盘输入10个整数并依次赋给整型数组中的元素,然后求该数组中值为正数的元素
的累加和并输出该累加和。
37.在c盘根目录下有一个ASCII码文件month.dat,文件中有12个字符串分别为英文1~12
月的名字,现从键盘上输入一个表示月份的整数,输出该月份的名字。
若输入的整数不在1~12之间,则打印“Illegalmonth”
全国2007年7月高等教育自学考试计算机基础与程序设计试题
课程代码:
02275
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.微机中信息的最小单位是( B )
A.bitB.byte
C.KBD.word
2.组成计算机硬件系统的是(A )
A.控制器、运算器和内存储器B.CPU、显示器和键盘
C.I/O设备、CPU和内存储器D.控制器、内存储器和I/O设备
3.(75)10的二进制的表示是( D )
A.(01001001)2B.(01001010)2
C.(01001011)2D.(01001100)2
4.字符串常数“CHINA”在内存中存储时占的字节数是( B )
A.5个B.6个
C.7个D.8个
5.如果a=1,b=2,c=3,d=4,则表达式a>b?
a:
cc:
d的值是( D )
A.1B.2
C.3D.4
6.输出字符串的格式说明符是( A )
A.%cB.%s
C.%uD.%g
7.设有说明intx=0,y=0;
则执行if(x++)y=1+x;
elsey=2+x;
后,变量y的值是(A)
A.0B.1
C.2D.3
8.以下程序段所表示的数学函数关系是( B )
y=-1
if(x!
=0)if(x>0)y=1;elsey=0;
A.
B.
C.
D.
9.执行下面程序段后,输出字符A的个数是( B )
for(i=0;i<=5;i+=2)
printf(″A″);
A.0个B.3个
C.5个D.6个
10.若有定义chara[]=″computer″;则存储字符m的数组元素是( C )
A.a[1]B.a[2]
C.a[3]D.a[4]
11.若有定义inta[4]={1,2,3,4};则a[a[3]-a[1]*a[1]]的值是( C )
A.1B.2
C.3D.4
12.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为( C )
A.自动(auto)B.静态(static)
C.外部(extern)D.寄存器(register)
13.如果一个C程序仅由一个源文件组成,则在一个源文件中定义的全局变量的作用域为( D )
A.源文件的全部范围B.本程序的全部范围
C.本函数的全部范围D.从定义该变量的位置开始至本文件末尾
14.下列定义中,不是指针数组定义的是( D )
A.int*p[5];B.float*q[4];
C.int(*r)[6];D.char*w[7];
15.若有语句int*point,a=4;和point=&a;下面代表地址的一组选项是( B )
A.a,point,*&aB.&*a,&a,*point
C.*&point,*point,&aD.&a,&*point,point
16.下列程序的运行结果是(C )
#difineN9
fun(chars[])
{
char*p=s+4,*q=s;
inti;
for(i=0;i<4;i++,p++,q++)
{
s[i]=*p;
s[i+4]=*q
}
}
main()
{
charss[N]=″ABCDEFGH″;
fun(ss)
printf(″%s\n″,ss);
}
A.EFGHABCDB.EFGHEFGH
C.ABCDEFGHD.ABCDABCD
17.设有结构体的定义如下:
( C )
structcjd{longbh;int*q;charxm[9];};
则sizeof(structcjd)的值是
A.14B.15
C.16D.17
18.设有说明:
intx=0x15,y=0x0f;则x&y的结果是( B )
A.0x5B.0x15
C.0xf0D.0xf5
19.如果在程序中要使用系统提供的函数strlen,则需要书写的编译预处理命令是( D )
A.#includeB.#include
C.#incLudeD.#incLude
20.由FILE*fp;fp=\fopen(″a:
\\abc.txt″,″r+″);可以推知fopen函数的原型是( A )
A.char*fopen(char,char);B.FILE*fopen(char*,char*);
C.intfopen(char*,char*);D.FILFfopen(char*,char*);
二、多项选择题(本大题共5小题,每小题2分,共10分)
在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选、少选或未选均无分。
21.下面基本结构和特性中符合结构化程序设计的要求的有( BCDE )
A.选择结构B.循环结构
C.顺序结构
D.各结构之间只有一个入口,至多两个出口
E.各结构之间只有一个入口,一个出口
22.若有intx;float;y下面结果为整型数的表达式有(ABCE )
A.(int)(x+y)B.(int)x+y
C.´a´+xD.x+(int)y
E.x*y
23.设有定义:
inta[2][3];下面关于数组元素引用正确的有(BCD )
A.a[0][3]B.a[0][0]
C.a[2][1]D.a[1][2]
E.a[2][3]
24.设有关于结构体类型的定义:
( AC )
structcar
{
char*name;
floatprice;
structcar*next;
}*p,*head=NULL;
下面各选项中正确的有
A.p=(structcar*)MALLOC(sizeof(structcar);
B.p=(structcar*)malloc(sizeof(structcar);
C.p.next=head;
D.p->next=head;
E.p=(structcar*)malloc(sizeof(car);
25.设有说明:
intu=1,v=5;则下列表达式的值为1的有( ACDE )
A.u&vB.v>>2
C.u^uD.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有如下定义:
staticinta;
autointb;
简述它们之间的异同。
29.设有说明:
inta[3][4],(*p)[4]=a;请解释p的含义,并用p给出数组元素a[2][1]的二种表示。
四、阅读分析题(本大题共6小题,每小题5分,共30分)
30.从键盘输入字符A时,写出下面程序的运行结果。
(注:
字符A的ASCII码是65)
#include″stdio.h″
main()
{
intk;
k=getchar();putchar(k);
printf(″,%d,%x,%c″,k,k,k+32);
}
31.阅读下面程序,写出运行结果。
main()
{
intx,sum=0;
loop1:
scanf(″%d″,&x);
if(x!
=8)
{
if(x%2==0)
{
sum+=x;
printf(″sum=%d\n″,sum);
}
gotoloopl;
}
sum-=x;
printf(″sum=%d\n″,sum);
}
当程序执行时输入数据12345678↙
,写出程序运行结果。
32.阅读下面程序,写出运行结果。
main()
{
inta[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.阅读下面程序,写出运行结果。
longfactor(intm)
{
longintfc;
if(m==0¦¦m==1)
fc=1;
else
fc=factor(m-1)*m;
return(fc);
}
main()
{
intn;
longintfac;
for(n=1;n<5;n++)
{
fac=factor(n);
printf(″%Id\n″,fac);
}
}
34.阅读下面程序,写出运行结果。
voidfl(chara[],charb[])
{
inti;
for(i=0;a[i];i++)
b[i]=a[i];
b[i]=´\0´;
}
voidf2(char*c,char*t)
{
while(*c++=*t++);
}
main()
{
chara[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.阅读下面程序段:
structnumber
{
intu[2];
}v={11,15},*p=&v;
intx;
请分析下面语句的含义:
x=(*p),u[0]>p->u[1]?
(*p).u[0]:
p->u[1];
五、程序设计题(本大题共2小题,每小题12分,共24分)
36.用以下近似公式编一个求
的近似值的程序。
,其中n的值由键盘输入。
37.用循环语句编程打印下列图案,并以ASCII码的形式写到c盘根目录下的lx.dat文件中。
(第一行的″$″在第20列)
$
$$$
$$$$$
$$$
$
全国2008年4月自学考试历年试卷计算机基础与程序设计试题
课程代码:
02275
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.存储容量1KB等于( B )
A.
字节B.
字节
C.
字节D.
字节
2.在计算机中,指令通常是由( A )
A.操作码、操作数组成B.源操作数、目标操作数组成
C.反码、补码组成D.直接寻址、目的寻址组成
3.与十进制数39等值的二进制数是( A )
A.00100111B