02600C语言程序设计基础自考历年真题试题试卷电子版及复习资料:https://www.ddwk123.cn/archives/69299
2016年1月高等教育自学考试全国统一命题考试
C语言程序设计 试卷
(课程代码 2600)
本试卷满分100分,考试时间l50分钟。
一、填空题 (本大题共10小题,每空1分,共10分)
请在每小题的空格中填上正确答案。错填、不填均无分。
1.C语言数据类型中构造类型包括三种:数组类型、结构体类型和________________。
2.在C语言中,程序运行期间,其值不能被改变的量叫________________。
3.在C语言中,实数有两种表现形式,是十进制数形式和________________。
4.在C语言中,加减乘除这些运算符需要两个运算对象,称为________________运算符。
5.printf函数的“格式控制”包括两部分:格式说明和________________。
6.字符变量中存放的是字符所对应的________________编码值。
7.对符号常量进行定义的命令是________________。
8.在语言中没有专门的输入输出语句,程序中数据的输入输出都是通过________________
来完成的。
9.下列程序的输出结果是________________。
main()
{int a=5,b=9;
a=a+b;
b=a-b;
a=a-b;
printf(“%d,%d\n”,a,b);
}
10.写出以下初始化数组的长度。
float isa[ ]={1.0,2.0,3.0,4.0,5.0};数组isa的长度为________________。
二、单项选择题(本大题共30小题,每小题1分,共30分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写
在最后的括号内。错选、多选或未选均无分。
11.下列说法正确的是 【 】
A.main函数必须放在C程序的开头
B.main函数必须放在C程序的最后
C.main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的
D.main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的
12.下列不是C语言提供的合法关键字的是 【 】
A.switch B.print
C.case D.default
13.下列类型属于基本类型的是 【 】
A.结构体类型和整型 B.结构体类型、数组、指针、空类型
C.实型 D.空类刑和枚举类型
14.在C语言中,反斜杠符是 【 】
A.\n B.\t
C.\v D.\\
15.C语言中,运算对象必须是整型数的运算符是 【 】
A.% B.\
C.%和\ D.**
16.设d为字符变量,下列表达式正确的是 【 】
A.d=678 B.d=’a’
C.d=”d” D.d=’gjkl’
17.以下语句中能正确定义变量并赋初值的是 【 】
A.char c=65: B.float f=f+1.1;
C.double x=12.3e3.6; D.int m=n=2.0;
18.设变量a是整型,c是双精度型,则表达式2+‘a’+b*c值的数据类型是 【 】
A.int B.float
C.double D.不确定
19.以下定义和语句的输出结果是 【 】
int u=010,v=0x10,w=10
printf(”%d,%d,%d\n”,u,v,w);
A.8,16,10 B.10,10,10
C.8,8,10 D.8,10,10
20.设i是int型变量,f是float型变量,用F面的语句给这两个变量输入值。为了把100和765.12分别赋给i和f,则正确的输入为 【 】
scanf(“i=%d,f=%f”,&i,&f);
A.l00,765.12 B.i=100,f=765.12
C.100 765.12 D.i=100 f=765.12
21.若x和y均为int型变量,则执行以下程序段后的输出是 【 】
x=15;
y=15;
pintf(“%d\n”,x%=(y%=2));
A.0 B.1
C.6 D.15
22.下列说法正确的是 【 】
A.输入项可以是一个实型常量,如scanf("%f",4.8);
B.只有格式控制,没有输入项也能进行正确输入,如scanf("a=%d,b=%d");
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如 scanf("%5.3f"’,&f);
D.当输人数据时,必须指明变量的地址,如scanf("%f",&f);
23.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 【 】
A.(x<=-10)||(x>=-5)&&(x(=O)||(x>=100)
B.(x>=-10)&&(x<=-5)||(x>=O)&&(x<=100)
C.(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
D.(x<=-10)||(x>=-5)&&(x<=0)||(x>=lOO)
24.能够完成如下函数计算的程序段是 【 】
A.y=-1; B.if(x>=0)
if(x!=0) if(x>0)y=1;
if(x>0) y=1; else y=0:
else y=0; else y=-l:
C.y=0; D.y=-l;
if(x>=0) if(x>0)y=1;
if(x>0)y=1; eIse y=0:
else y=-1;
25.执行下面程序段后,i的值是 【 】
int i=10:
switch(i)
{
case9:i+=1;
casel0:i+=1;
case11:i+=1;
default:i+=1;
}
A.10 B.11
C.12 D.l3
26.结束while(表达式)循环的条件是 【 】
A.当表达式的值为0时 B.当表达式的值不为0时
C.当表达式的值为l时 D.当表达式的值不为1时
27.下列说法正确的是 【 】
A.在循环体中可以用break语句结束本次循环
B.在循环体中可以用continue语句结束本次循环
C.break语句仅能使用在switch结构中
D.可以使用continue语句跳出switch结构
28.下面程序段的执行结果是 【 】
int x=100;
do
x+=1;
while(x>120)
printf("%d",x);
A.100 B.10l
C.120 D.12l
29.以下for循环是 【 】
for(a=0,b=0;(b!=123)&&(a<=4);a++)
A.无限循环 B.循环次数不定
C.执行4次 D.执行5次
30.执行下列程序段后输出的结果是 【 】
x=9;
while(x>7)
{ printf("*");x–;}
A.**** B.***
C.** D.*
31.数组赋初值时的数据项的个数与数组元素的个数的下列关系中,错误的是【 】
A.大于 B.小于
C.等于 D.小于等于
32.以下错误的描述是 【 】
A.函数调用可以出现在执行语句中 B.函数调用可以出现在一个表达式中
C.函数调用可以做为一个函数的实参 D.函数调用可以做为一个函数的形参
33.若用数组名作为函数调用的实参,则传递给形参的是 【 】
A.数组的首地址 B.数组第一个元素的值
C.数组中全部元素的值 D.数组元素的个数
34.在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为 【 】
A.void B.double
C.int D.char
35.下面程序的输出结果是 【 】
void prtv(int x)
{printf("%d\n",++x);}
main()
{int t=10;
prtv(t);}
A.8 B.9
C.10 D.11
36.有以下程序:
#include"stdio.h"
int abc(int u,int v);
main( )
{
int a=24,b=16,c;
c=abc(a,b);
printf("%d\n",c);
}
int abc(int u,int v)
{
int w;
while(v)
{
w=u%v;
u=v;
v=w;
}
return u:
}
则输出结果是 【 】
A.6 B.7
C.8 D.9
37.有如下程序:
long fib(int n)
{
if(n>2)return(fib(n-1)+fib(n-2));
else return(2);
}
main( )
printf("%d\n",fib(3));
}
则该程序的输出结果是 【 】
A.2 B.4
C.6 D.8
38.下面程序的输出结果是 【 】
int m=13;
int fun(int x,int y)
{int m=3;
return(x*y-m);}
main()
{int a=7,b=5;
printf("%d\n",fun(a,b)/m);}
A.1 B.2
C.3 D.10
39.设有说明int s[5]={1,3,5,7,9};int*p=s;则下列表达式中值为3的是【 】
A.++P B.++(*p)
C.*(++p) D. (P+=2)
40.如下程序的执行结果是 【 】
#include(stdio.h>
main( ){int i;char}s="a\\\\\n";
prinff("%s",s);}
A.a B.a\
C.a\\ D.a\\\\
三、阅读程序,写出下列程序的执行结果(本大题共10小题,每小题3分,共
30分)
请将正确答案填写在题后的空格内。错填、不填均无分。
41.main( )
{
printf("%d",l<4&&4<7);
printf("%d",l<4&&7(4);
printf("%d",(2<5));
printf("%d",!(1<3)||(2<5));
printf("%d",!(4<=6)&&(3<=7));
}
该程序运行的结果是___________________________。
42.#include<stdio.h>
main( )
{ char c=‘A’+‘10’-‘5’;
printf("c=%c\n",c);}
该程序运行的结果是___________________________。
43.main( )
{int x=10,y=10;
Printf("%d%d\n",x–,–y);
该程序运行的结果是___________________________。
44.#include<stdi0.h>
main( )
{ int a,b,c;
a=1;b=2;c=3;
if(a>b)
if(a>c)
printf("%d\n",a);
else printf("%d\n",b);
prinff("over\n");}
该程序运行的结果是___________________________。
45.int x=1,y=0;
switch(x)
{case l:
switch(y)
{
case 0:printf("x=1 y=0\n");break;
case l:printf("y=1\n");break;
}
case 2:printf("x=2\n");
}
该程序运行的结果是___________________________。
46.#include<stdi0.h>
main( )
{ int a,b,c;
for(a=1;a<=3;a++)
{for(b=1;b<=8-2*a;b++)
printf("");
for(c=1;c<=a;c++)
prinff("%4c\n",‘A’+a-1);
printf("\n");} }
该程序运行的结果是___________________________。
47.#include<stdl0.h)
main()
{ int a[3] [3]={1,2,3,4,5,6,7,8,9},s=1,i;
for(i=0;i<=2;i++)
s=s*a[i][i];
printf("s=%d\n",s); }
该程序运行的结果是___________________________。
48.int fac(int x)
{ int y=1;
y*=2;
return y; }
main( )
{int t,sum=0;
for(t=1;t<=8;t++)
sum+=fac(t);
printf("sum=%d\n",sum); }
该程序运行的结果是______________________________________________________。
49.main( )
{ char*s;
s="I_love_qhd";
prinff("The sixth charcter is%c\n",s[5]); }
该程序运行的结果是___________________________。
50.
void f(int x,int y)
{ int t;
if(x<y){t=x;x=y;y=t;}
}
main( )
{
int a=4,b=3,c=5:
f(a,b);
f(a,c);
f(b,c);
printf("%d,%d,%d\n",a,b,c);
该程序运行的结果是___________________________。
四、编程题(本大题共3小题,第51、52小题各8分,第53小题14分,共30
分)
51.判断某人是否属于肥胖体型。根据身高与体重因素,医务工作者经广泛的调查分析
给出了以下按“体指数”对肥胖程度的划分:
体指数t=体重w/(身高h)2。(w单位为千克,h单位为米)
当t<18时,为低体重;
当t介于l8和25之同时,为正常体重;
当t介于25和27之间时,为超重体重;
当t≥27时,为肥胖。
编程从键盘输入你的身高h和体重为w,根据给定公式计算体指数t,然后判断你的体
重属于何种类型。
52.百千百鸡问题:用100元钱买100只鸡,公鸡每只5元,母鸡每只3元,小鸡每3只1
元,要求每种鸡至少买1只,试编程求各种鸡各买多少只。
53.输入10位学生的成绩,分别用函数实现:
(1)将10位学生的成绩按从高到低进行排名。(要求用选择排序法进行排序)
(2)求所有成绩的平均分,并输出所有成绩中比平均分低的分数。
请先
!