全国自考计算机基础与程序设计考前密卷02275含答案.docx
- 文档编号:5289893
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:23
- 大小:70.70KB
全国自考计算机基础与程序设计考前密卷02275含答案.docx
《全国自考计算机基础与程序设计考前密卷02275含答案.docx》由会员分享,可在线阅读,更多相关《全国自考计算机基础与程序设计考前密卷02275含答案.docx(23页珍藏版)》请在冰豆网上搜索。
全国自考计算机基础与程序设计考前密卷02275含答案
2015年10月全国自考计算机基础与程序设计考前密卷02275(含答案)
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
第1题定义一个具有10个元素的整型数组,应当使用语句【】
A.inta[10];
B.inta[2,5];
C.inta[];
D.int*a[10];
【正确答案】A
【你的答案】
本题分数1分
第2题设指针变量p1、 p2已经指向同一个数组的元素,则下列表达式中错误的是【】
A.p1=p2
B.p1==p2
C.p1-p2
D.p1+p2
【正确答案】D
【你的答案】
本题分数1分
第3题设有关变量已经正确定义并赋值,则下列表达式中符合C语言语法规则的是【】
A.a_=\\12
B.a_1=a_2+=12
C.int13.5%2
D.a=b+7=C-2
【正确答案】B
【你的答案】
本题分数1分
第4题若a、b、c1、c2、x、y均为整型变量,正确的switch 语句是【】
【正确答案】D
【你的答案】
本题分数1分
第5题有如下程序
main
{ char s[]="ABCD", *p;
for(p=s+1; p
该程序的输出结果是【】
【正确答案】D
【你的答案】
本题分数1分
第6题设定义int i=8;表达式(i<<2)*i/(i>>2)的值是【】
A.32
B.64
C.128
D.256
【正确答案】C
【你的答案】
本题分数1分
第7题下面程序段的运行结果是【】
char str[]="ABC",*p=str;
printf("%d\n",*(p+3));
A.67
B.0
C.字符'C'的地址
D.字符'C'
【正确答案】B
【你的答案】
本题分数1分
第8题以下程序的输出结果是【】
main()
{
int y=9;
for(;y>0;y--)
if(y%3==0)
{
printf("%d",--y);
continue;
}
}
A.963
B.852
C.741
D.863
【正确答案】B
【你的答案】
本题分数1分
第9题以下程序的输出是【】
struct st
{ int x;int *y;} *p;
int dt[4]={10,20,30,40};
struct st aa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0]};
main()
{ p=aa;
printf("%d\n",++(p->x));
}
A.10
B.11
C.51
D.60
【正确答案】C
【你的答案】
本题分数1分
第10题设变量a是int型,f是float型,i是double型,则表达式10+?
a?
+i*f值的数据类型为【】
A.int
B.float
C.double
D.不确定
【正确答案】C
【你的答案】
本题分数1分
第11题C语言中提供的关键字有【】
A.swicth
B.cher
C.Case
D.default
【正确答案】D
【你的答案】
本题分数1分
第12题下面程序段的运行结果是【】
char *format="%s,a=%d,b=%d\n";
int a=11,b=10;
a+=b;
printf(format,"a+=b",a,b);
A.for,"a+=b",ab
B.format,"a+=b"
C.a+=b,a=21,b=10
D.以上结果都不对
【正确答案】C
【你的答案】
本题分数1分
第13题假定x和y为double型,则表达式x=2,y=x+3/2的值是【】
A.3.500000
B.3
C.2.000000
D.3.000000
【正确答案】D
【你的答案】
本题分数1分
第14题若执行下面的程序时,从键盘上输入5和2,则输出结果是【】
main()
{
int a,b,k;
scanf("%d%d",&a,&b);
k=a;
if(a
else k=b%a;
printf("%d\n",k);
}
A.5
B.3
C.2
D.0
【正确答案】C
【你的答案】
本题分数1分
第15题设x和y为int型变量,则执行下面的循环后,y的值为【】
for(y=l, x=l; y<=50; y++)
{
if(x>=10) break;
if(x%2==1) {x+=5; continue;}
x-= 3;
}
A.2
B.4
C.6
D.8
【正确答案】C
【你的答案】
本题分数1分
第16题字符串“XyZ”在内存中占用的字节数是【】
A.3
B.4
C.6
D.8
【正确答案】B
【你的答案】
本题分数1分
第17题设有如下数据定义语句
char x[]={"abcdefg"};
char y[]={'a','b','c','d','e','f','g'};
则下列叙述正确的是【】
A.数组x和数组y等价
B.数组x和数组y的长度相同
C.数组x的长度大于数组y的长度
D.数组x的长度小于数组y的长度
【正确答案】C
【你的答案】
本题分数1分
第18题以下所列的各函数首部中,正确的是【】
A.voidplay(var:
integer,varb:
integer)
B.voidplay(inta,b)
C.voidplay(inta,intb)
D.subplay(aasinteger,basinteger)
【正确答案】C
【你的答案】
本题分数1分
第19题有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。
下面程序是求这堆零件总数,在划线处应填入的选项是【】
#include
main()
{
int i;
for(i=100;i<200;i++)
if((i-2)%4==0)
if(!
((i-3)%7))
if()
printf("%d",i);
}
A.i%9=5
B.i%9!
=5
C.(i-5)%9!
=0
D.(i-5)%9==0
【正确答案】D
【你的答案】
本题分数1分
第20题以下叙述不正确的是【】
A.一个C源程序可由一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C程序的基本组成单位是函数
D.在C程序中,注释说明只能位于一条语句的后面
【正确答案】D
二、多项选择题(本大题共5小题,每小题2分,共10分)在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选、少选或未选均无分。
第1题以下选项中, 不合法转义字符的选项是【】
A.'\\'
B.'\018'
C.'xab'
D.'\abc'
E.'\,\'
【正确答案】BCDE
【你的答案】
本题分数2分
第2题C语言规定,在一个源程序中,main函数的位置说法错误的是【】
A.必须在最开始
B.不能写在其他函数的内部
C.可以任意
D.必须在最后
E.必须在系统调用的库函数的后面
【正确答案】ADE
【你的答案】
本题分数2分
第3题以下有4组用户标识符,其中合法的几组是【】
A.For-subCase
B.INT_stua3
C.4dDOSize
D.f2_G3IFabc
E.WORDvoiddefine
【正确答案】BD
【你的答案】
本题分数2分
第4题设int a,b,c;则下列哪些是不合法的if语句【】
A.if(a=b)c++;
B.if(a=
C.if(a<>b)c++;
D.if(a=>b)c++;
E.if(a=
【正确答案】BCDE
【你的答案】
本题分数2分
第5题下列说法不正确的是【】
int i,x;
for(i=0,x=0;i<=9 &&x!
=876;i++)scanf("%d",x);
A.最多的执行10次
B.最多执行9次
C.是无限循环
D.循环体一次也不执行
E.程序有语法错误
【正确答案】BCDE
三、简答题(本大题共4小题,每小题4分,共16分)
第1题结构体类型和共用体类型有什么不同?
【正确答案】(P160、177)结构体类型由多个成员组成,每个成员占用不同的存储空间,结构体变量的长度是所有成员的长度之和;共用体类型由多个成员组成,但是它们共享同一段存储空间,同一时间,只能有一个成员使用,存储空间的大小取决于存储单元最大的成员的数据类型。
【你的答案】
本题分数4分
你的得分
修改分数
第2题什么是文件?
【正确答案】(P193)所谓“文件”是指一组相关数据的有序集合。
这个数据集有一个名称,叫做文件名。
我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。
文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。
从不同的角度可对文件作不同的分类。
从用户的角度看,文件可分为普通文件和设备文件两种。
【你的答案】
本题分数4分
你的得分
修改分数
第3题(P185)定义符号常量用预处理命令的宏定义,其定义的一般形式是:
#define符号常量名 常量
【正确答案】定义符号常量的一般形式是什么?
【你的答案】
本题分数4分
你的得分
修改分数
第4题简述静态型内部变量的作用域。
【正确答案】(P124)静态存储类型的主要特性是永久性和专用性。
静态局部变量提供永久存储,但因它是局部变量,也得遵守局部变量的作用域规则,是作用于它的函数或复合语句内。
【你的答案】
四、阅读分析题(本大题共6小题,每小题5分,共30分)
第1题下面程序的运行结果是_______________
int p(m,n)
int m,n;
{ int i,pp;
for(i=pp=1;i<n+1;i++)
pp*= m;
return(pp);
}
main()
{ printf("%d",p(3,4));
}
【正确答案】(P109)81
[解析]主函数中只有一条输出语句,输出结果是函数调用“p(3,4)”的返回值。
所以本题的关键是函数p的功能。
分析函数p(),有两个参数m、n。
函数体中关键的是for循环语句。
分析这个循环语句可以看出,控制变量是i,初值为1,终值为n,每次循环i加1,所以是标准的次数型循环,共计循环n次。
循环体中是将参数m的值乘到变量pp中,变量pp在开始循环时已经设置初值为1,所以整个循环是将n个m乘到pp中。
显然循环语句的功能是计算m的n次方”,而函数的返回值正是这个变量pp中的值。
由此分析可知,函数调用“p(3,4)”的返回值就是34。
结果为 81,也就是本程序的输出结果。
【你的答案】
本题分数5分
你的得分
修改分数
第2题main()
{
int i,a[10];
for(i=0;i<10;)
a[i++]=2*i+1;
for(i=0;i<=9;i++)
printf("%d ",a[i]);
printf("\\n%d %d\\n",a[5.2],a[5.8]);
}
程序运行后的输出结果是______________
【正确答案】(P71)1 3 5 7 9 11 13 15 17 19
11 11
[解析]本题中用一个循环语句给a数组各元素送入奇数值,然后用第二个循环语句输出各个奇数。
在第一个 for语句中,表达式3省略了。
在下标变量中使用了表达式i++,用以修改循环变量。
当然第二个for语句也可以这样作,C语言允许用表达式表示下标。
程序中最后一个printf语句输出了两次a[5]的值,可以看出当下标不为整数时将自动取整。
【你的答案】
本题分数5分
你的得分
修改分数
第3题main()
{
char c=?
k?
;
int i=1,j=2,k=3;
float x=3e+5,y=0.85;
printf("%d,%d\\n",?
a?
+5
printf("%d,%d\\n",1 printf("%d,%d\\n",i+j+k==-2*j,k==j==i+5); } 【正确答案】(P33)1,0 1,1 0,0 [解析]在本题中求出了各种关系运算符的值。 字符变量是以它对应的ASCII码参与运算的。 对于含多个关系运算符的表达式,如k==j==i+5,根据运算符的左结合性,先计算k==j,该式不成立,其值为0。 再计算0==i+5,也不成立,故表达式值为0。 【你的答案】 本题分数5分 你的得分 修改分数 第4题下列程序的运行结果是__________________ main() { float x; int i; x=3.6; i=(int)x; printf("x=%f,i=%d",x,i); } 【正确答案】(P40)x=3.600000,i=3 本题中,x原指定为float型,进行强制类型运算后得到一个int型的中间变量,它的值等于x的整数部分,而x的类型不变,仍为float型。 【你的答案】 本题分数5分 你的得分 修改分数 第5题阅读下列程序,则此程序的功能是什么? 程序的运行结果是___________________。 #include #include int fun(int *s,int t,int *k) { int i; *k=0; for(i=0;i if(s[*k] return s[*k]; } main() { int a[10]={ 876,675,896,101,301,401,980,431,451,777},k; fun(a,10,&k); printf("%d,%d\n",k,a[k]); } 【正确答案】(P136)本函数的功能是找出数组中的最大元素的位置及最大元素的值。 6,980 【你的答案】 本题分数5分 你的得分 修改分数 第6题阅读下面程序 int ff(int n) { static int f=1; f=f*n; return f; } main() { int i; for(i=1;i<=5;i++)printf("%5d",ff(i)) ; } 程序输出的最后一个值是__________________ 【正确答案】(P123)120 [解析]此题考的知识点是静态局部变量。 题中利用for(i=1;i<=5;i++)语句对函数ff()调用了5次,每次调用都会执行“f=f*n;”语句,而f是一个静态变量,下次调用会记住上次的结果,所以第5次f的值是120,程序最后输出的值是ff(5)的值,即f的值120。 【你的答案】 五、程序设计题(本大题共2小题,每小题12分,共24分) 第1题一个学习小组有5个人,每个人有三门课的考试成绩。 求全组分科的平均成绩和各科总平均成绩。 for(i=0;i<3;i++) { for(j=0;j<5;j++) { scanf("%d",&a[j][i]); s=s+a[j][i]; } v[i]=s/5; s=0; } average =(v[0]+v[1]+v[2])/3; printf("math: %d\\nc language: %d\\ndbase: %d\\n",v[0],v[1],v[2]); printf("total: %d\\n", average ); }"/> 【正确答案】(P73) main() { int i,j,s=0,average,v[3],a[5][3]; printf("input score\\n"); for(i=0;i<3;i++) { for(j=0;j<5;j++) { scanf("%d",&a[j][i]); s=s+a[j][i]; } v[i]=s/5; s=0; } average =(v[0]+v[1]+v[2])/3; printf("math: %d\\nc language: %d\\ndbase: %d\\n",v[0],v[1],v[2]); printf("total: %d\\n", average ); } 【你的答案】 本题分数12分 你的得分 修改分数 第2题用结构体存放下表中的数据,然后输出每人的姓名和实发工资( 基本工资+浮动工资-支出)。 do { scanf("%d", &n); if(n>0 && n printf("输入n不合理! 请重新输入! \n" ); } while (1); printf("输入%d个人的姓名、基本工资、浮动工资和支出 \n", n); for( p=person; p { scanf("%s", buf); strcpy( p -> name, buf); scanf("%f", &d); p -> base=d; scanf("%f",&d); p -> ds=d; scanf(“%f”, &d ); p -> pay= d; } for(p = person; p< person+n; p++) printf("%s %.2f\n",p-> name, p->base+p->ds-p -> pay); } [解析]程序定义struct person结构类型,包含人的姓名(<20个字符)、基本工资、浮动工资和支出,用这个struct person结构类型定义数组。 程序首先输入人数n(<100),再输入n人的信息,最后输出各人的姓名和实发金额。 "/> 【正确答案】(P160)程序如下: # include # include # define N 100 struct person { char name[20] ; float base; float ds; float pay; } person[N], *p; void main() { int n; float d; char buf[120]; printf("输入n(<%d)! \n",N); do { scanf("%d", &n); if(n>0 && n printf("输入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 自考 计算机 基础 程序设计 考前 02275 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)