成人教育C语言程序设计试题C试题及参考答案Word文档下载推荐.docx
《成人教育C语言程序设计试题C试题及参考答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《成人教育C语言程序设计试题C试题及参考答案Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。
![成人教育C语言程序设计试题C试题及参考答案Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-10/4/be221069-2990-4b92-9567-1ff3b9c412e1/be221069-2990-4b92-9567-1ff3b9c412e11.gif)
int*p,a;
则语句p=&
a;
中的运算符“&
”的含义是 。
14.已知intx=10,执行x+=x后,x的值为 。
15.有以下程序段:
intk=0;
while(k=1)k++;
该while循环执行的次数是 。
16.若a为float类型变量,且a=4.6785,则表达式(int)(a*100+0.5)/100的值为 。
17.一个C程序总是从 函数开始执行的,并且只有一个该函数。
18.已知变量student为结构体类型,则它的store分量表示为 。
19.从磁盘上读一数据文件,在C中用 函数打开该文件。
20.设有如下宏定义,则以下程序的运行结果为:
#definesqr(z)(z)*(z)main()
{printf(“%d”,sqr(1+2)+3);
二、单选题(共20分,每小题2分)
1.在C语言中,正确的int类型的常数是 。
A)-2U B)059 C)3a D)0xAF2.语句if(i) i++;
中的条件表达式i等价于 。
A)i==0 B)i!
=1C)i!
=0D)-i
3.以下正确的函数说明是 。
A)floatadd(intx,y) B)intadd(intx;
inty)C)charadd() D)intadd(charx[][])
4.若定义:
inta=511,*b=&
则printf("
%d\n"
*b);
的输出结果为:
。
A)无确定值 B)a的地址 C)512 D)511
5.当调用函数时,实参是一个数组名,则向函数传送的是 。
A)数组的长度 B)数组的首地址
C)数组每一个元素的地址D)数组每个元素中的值
第1
页
共5页
6.以下程序的输出是 。
A)10 B)11 C)51 D)60
structst
{intx;
int*y;
}*p;
intdt[4]={10,20,30,40};
structstaa[4]={50,&
dt[0],60,&
dt[0]};
voidmain()
{p=aa;
printf(“%d\n”,++(p->
x));
}
7.在C语言中,形参的缺省存储类是 。
A)auto B)register C)static D)extern
8.设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>
b)&
&
(n=c>
d)运算后,n的值位为 。
A)0 B)1 C)2 D)3
9.定义:
char(*p)();
说明了 。
A)p是指向一维数组的指针变量 B)p是指向char型数据的指针变量
C)p是指向函数的指针,该函数返回一个char型数据
D)p是一个函数名,该函数的返回值是指向char型数据的指针
10.数组定义为"
inta[3][4];
"
引用"
a[0]+2"
表示 。
A)a数组第0行第2列元素的值 B)a数组第0行第2列元素的地址
C)a数组第0行的首地址 D)a数组第2列的首地址
三、判断题:
在每题的()内打√或×
。
(每小题1分,共10分)
1.C语言函数不能够嵌套定义,但可以嵌套调用。
( )2.指针的类型是由它所指向的变量的类型来定义的。
( )3.静态存储类型变量在整个程序运行期间存在。
( )4.变量名可以由字母、数字和下划线构成。
( )
5.用文件包含或TC下项目文件的方法都可以运行一个多文件的程序。
6.字符数组中一定是存放字符串的。
( )
7.在主函数中,对其调用的其他函数的说明可以放在函数中的任何位置。
8.数组中各元素的类型可以相同,也可以不同。
9.结构体的各成员必须类型不同。
( )
10.C语言文件是不能随机存取的,只能顺序存取。
四、阅读程序题(每小题3分,共30分。
)
1.下列程序的运行结果是 。
#include<
stdio.h>
voidmain()
{ charc='
A'
;
if('
0'
<
=c<
='
9'
printf("
Yes"
);
else
No"
2.下列程序运行的输出结果是 。
{ floatx=1;
inty;
if(x>
=0)
0)y=1;
else y=0;
else y=-1;
printf("
y=%d\n"
y);
3.阅读以下函数,写出此函数的功能:
。
floatfun1(floata[],intn)
{ inti=1;
floatresult=a[0];
for(;
i<
n;
i++)
if(result>
a[i])result=a[i];
return (result);
4.以下程序的运行结果是 。
#include<
voidf(inta[])
{ inti=0;
while(a[i]<
=10)
{ printf("
%3d"
a[i]);
i++;
}
{ inta[]={1,2,5,10,9,13,4};
f(a);
5.阅读以下程序,写出程序运行的结果 。
#include
main()
{char a[]=“abcde”;
char*p;
p=a;
printf(“%d\n”,strlen(p));
6.以下程序的运行结果是 。
inta=2,b=7;
int fun(intx,inty)
{ intz;
z=y/x;
return(z);
{ inta=4,b=5,c;
c=fun(a,b);
c);
7.下面程序的运行结果是 。
func(inta[][3])
{ inti,j,sum=0;
for(i=0;
i<
3;
i++)
for(j=0;
j<
j++)
if(i==j)sum=sum+a[i][j];
return(sum);
{ inta[3][3]={1,2,3,1,2,3,1,2,3},sum;
sum=func(a);
sum=%d\n"
sum);
8.运行以下程序,若输入:
62<
回车>
时,写出程序的输出结果。
voidfun(int*p1,int*p2)
{ intt;
t=*p1;
*p1=*p2;
*p2=t;
{ intx,y;
int*p1,*p2;
scanf("
%d %d"
&
x,&
y);
p1=&
x;
p2=&
y;
if(x>
y)fun(p1,p2);
x=%d,y=%d"
x,y);
9.以下程序的输出结果是:
main()
{ int count=0,x=3325;
while(x)
{ if(x%10==3)
count++;
x/=10;
}
%d,%d"
count,x);
10.下面程序的运行结果是 。
{ inti=10;
switch(i+1)
{case10:
break;
case11:
++i;
case12:
default:
i=i+1;
printf(“%d\n”,i);
五、编程(共20分)
1.输入一个百分制成绩(整型量),要求输出成绩等级A,B,C,D,E。
其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
(5分)
.
2.写两个函数,分别求两个整数的最大公约数和最小公倍数。
用主函数调用这两个函数,并输出结果,两个整数由键盘输入。
3.从终端上输入5个学生的姓名、性别、和年龄,然后输出。
(采用结构体类型)。
(10分)
xx学院成人教育《C语言程序设计》课程(C)卷参考答案及评分标准
一、填空。
(共20分,每空1分)
1、目标文件 2、1 3、60 4、5 5、(a=b)||(a<
c)
6、0 7、10 8、外部 9、循环 10、16
11、6 12、0 13、地址运算符 14、20 15、0
16、4 17、main 18、student.store 19、fopen 20、12
二、选择填空(共20分,每小题2分)
1-5:
DCCDB
6-10:
CAACB
√√√√√
×
1.NO
2.y=1
3.找出floata[]中的最小值,并作为函数值返回
4. 1 25 109
5.5
6.1
7.sum=6 8.x=2,y=69.2,0 10.12
五、编程:
(共20)
1、main()
{
intscore;
chargrade;
pleaseinputthescore:
%d"
score);
score=score/10;
switch(score)
{
case10:
case9:
grade='
case8:
B'
case7:
C'