C语言考试参考试题2.docx
- 文档编号:6594119
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:12
- 大小:18.63KB
C语言考试参考试题2.docx
《C语言考试参考试题2.docx》由会员分享,可在线阅读,更多相关《C语言考试参考试题2.docx(12页珍藏版)》请在冰豆网上搜索。
C语言考试参考试题2
2004年C语言程序设计试卷
学号班级姓名得分
命题教师林杰华教研室主任签名考试时间2004.06
一、填空题(每题2分,共20分)
1.C语言基本数据类型有:
;
构造类型有:
。
2.C语言源程序注释符号是:
,
C语言源程序通常采用格式编写。
3.源程序TEST.C经编译产生的目标文件是:
;
经连接处理后,产生的可执行文件是:
。
4.strlen(“123\045\0xy”):
;
sizeof(“123\045\0xy”):
。
5.二维数组a[10][50]最后一行的首地址为:
;
最后一个元素的首地址为:
。
6.C标准库函数中,数学函数的原型在:
头文件中,自定义头文件D:
\MYC\MY.H应如何包含到源程序文件中:
。
7.调试程序时如果遇到编译错误:
Lvaluerequired,
原因是:
;
运行程序时如果遇到错误:
Floatingpointerror:
Overflow.,
原因是:
。
8.设intx,y,z=4;x=y=++z;x=(y>z)?
x+2:
(1,2,x++);则x的值是:
;
设inta=0,b=0,c=0;c=++a||b++;,则a、b、c值分别是:
。
9.给出if(x==0)不用关系表达式的等价写法是:
if();
判断两个(float)变量x,z是否相等的写法是:
if()。
10.从赋值语句zhang.birth.year=1985;可判断birth是:
变量;
写一句定义标准的文件指针的C语句:
。
二、单项选择题(每题1分,共10分)
1.
C程序的基本单位是:
a。
A.
函数
B.
标识符
C.
表达式
D.
语句
2.
设int类型的数据长度为2字节,则该类型数据的取值范围是:
c。
A.
0至65536
B.
0至65535
C.
-32767至32768
D.
-32768至32767
3.
在C语言中,逻辑值“真”是用:
a表示的。
A.
预定义为真值的宏
B.
非零数
C.
正数
D.
非零整数
4.
C语言对于嵌套if语句规定else总是与d匹配。
A.
与最外层的if
B.
与之前最近的if
C.
与之前最近的不带else的if
D.
与最近的{}之前的if
5.
数组定义chara[10]={‘a’,’b’,’c’};包括了几个元素:
。
A.
3
B.
9
C.
4
D.
10
6.
数组名作为实参传给被调用的函数时,形参获得的是:
。
A.
该数组第一个元素的值
B.
该数组所有元素的值
C.
该数组第一个元素的首地址
D.
该数组所有元素的首地址
7.
以下只有在使用时才为该类型变量分配内存的是:
。
A.
auto和static
B.
auto和register
C.
register和static
D.
static和extern
8.
根据定义inta[]={1,2,3},i,*p=a;从语法分析:
是不正确的。
A.
a[p-a]
B.
*(&a[i])
C.
p[i]
D.
*(*(a+i))
9.
下列选项中能够完整获取命令行参数的主函数格式是:
。
A.
main(void)
B.
voidmain(void)
C.
main(intc,char*v[])
D.
intmain(intargc,char*argv)
10.
uninuex{inti;floatf;charc;}ex;则sizeof(ex)的值是:
。
A.
4
B.
5
C.
6
D.
7
三、分析程序,写出题意和运行结果。
(每题4分,共20分)
1.源程序:
运行时假定键盘输入字符串为”abc012def3456xyz789”
#include
voidmain(void)
{
intn=0;
charc;
while((c=getchar())!
='\n')
{
if(c>='0'&&c<='9')
n=n*10+c-'0';
elseif(n>0)
break;
}
printf("value=%d\n",n);
}
2.源程序:
#include
voidmain(void)
{
intsn[9]={399,398,397,396,395,299,290,311,301};
intsc[9]={81,85,59,77,90,66,89,93,73};
intiMax,iPos,i;
iPos=0;
iMax=sc[iPos];
for(i=1;i<9;i++)
if(sc[i]>iMax)
{
iPos=i;
iMax=sc[iPos];
}
printf(“sn=%d,sc=%d”,sn[iPos],sc[iPos]);
}
3.源程序:
运行时假定键盘输入数据为:
12345678910
#include
voidmain(void)
{
inti,a[10];
int*p;
p=a;
for(i=0;i<10;i++)
scanf(“%d”,p++);
for(;--p>=a;)
if(*p%2)
printf(“%3d”,*p);
}
4.源程序:
#include
voidmain(void)
{
intn,a,b,c;
for(n=150;n<160;n++)
{
a=n/100;
b=n%100/10;
c=n%10;
if(a*a*a+b*b*b+c*c*c==n)
printf(“\n%d”,n);
}
}
5.源程序:
#include
voidrow(void)
{
staticinta=1;
intb;
printf("%2d",a);
for(b=1;b<=9;b++)
printf("%5d",a*b);
printf("\n");
a++;
}
voidmain(void)
{
inta;intb;
printf("[x]");
for(a=1;a<=9;a++)
printf("%5d",a);
printf("\n");
for(b=1;b<=9;b++)
row();
}
四、分析程序,改正划线处代码(每题4分,共20分)
1.源程序:
八进制转十进制
#include
voidmain(void)
{
char*p,s[6];
inti,n=0;
*p=s[0];
gets(p);
for(i=0;*p!
=’\n’;i++)
{
n=n*8+*p+’0’;
}
printf(“%d\n”,n);
}
2.源程序:
求xn
#include
doublepow(float,float);
voidmain(void)
{
inti,n;
floatx;
scanf(“%f,%d”,&x,&n);
for(i=1;i<9;i++)
printf(“%d,%e\n”,i,pow(i,x));
}
doublepow(floatx,intn)
{
inti;
doublep=1;
for(i=1;i p*=x; return(p); } 运行时从键盘输入数据为: 2.53 3.源程序: 折半查找 #include voidmain(void) { intiTop,iBot,iMid,iS,iFlag,a[10]={1,2,3,5,6,8,9,10,11,12}; iFlag=1; iTop=0;iBot=9; scanf(“%d”,&iS); do{ iMid=(iTop+iBot)%2; if(iS==a[iMid]) { iFlag=1; printf(“iShasbefound: a[%d]”,iMid); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 考试 参考 试题