全国自考计算机基础与程序设计考前密卷02275含答案.docx

上传人:b****6 文档编号:5289893 上传时间:2022-12-14 格式:DOCX 页数:23 大小:70.70KB
下载 相关 举报
全国自考计算机基础与程序设计考前密卷02275含答案.docx_第1页
第1页 / 共23页
全国自考计算机基础与程序设计考前密卷02275含答案.docx_第2页
第2页 / 共23页
全国自考计算机基础与程序设计考前密卷02275含答案.docx_第3页
第3页 / 共23页
全国自考计算机基础与程序设计考前密卷02275含答案.docx_第4页
第4页 / 共23页
全国自考计算机基础与程序设计考前密卷02275含答案.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

全国自考计算机基础与程序设计考前密卷02275含答案.docx

《全国自考计算机基础与程序设计考前密卷02275含答案.docx》由会员分享,可在线阅读,更多相关《全国自考计算机基础与程序设计考前密卷02275含答案.docx(23页珍藏版)》请在冰豆网上搜索。

全国自考计算机基础与程序设计考前密卷02275含答案.docx

全国自考计算机基础与程序设计考前密卷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=k+1);

  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("输入

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1