C语言考试.docx
- 文档编号:2858025
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:80
- 大小:65.36KB
C语言考试.docx
《C语言考试.docx》由会员分享,可在线阅读,更多相关《C语言考试.docx(80页珍藏版)》请在冰豆网上搜索。
C语言考试
2007-2008学年第一学期
《C语言程序设计》课程考试试题
一、选择题(每小题2分,共50分)
(1)C语言开始于二十世纪()年代
A)六十B)七十C)八十D)九十
(2)下面的数据类型中,C语言没有的是()
A)空类型B)布尔型C)枚举类型D)共用体类型
(3)printf(“\65”);语句输出的是()
A)\65B)65C)5D)A
(4)x=(a=3*5,a*4);那么x的值为()
A)15B)60C)75D)不确定值
(5)若变量已正确定义并赋值,下面符合C语言语法的表达式是()
A)a:
=b+1B)a=b=c+1C)int8.5%3D)a=a+1=c+b
(6)C语言中运算对象必须是整型的运算符是()
A)%=B)/C)<>D)<=
(7)若已定义x、y为double类型,则表达式x=1,y=x+3/2的值是()
A)1B)2C)3D)2.5
(8)若有以下程序段
intc1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是()
A)0B)0.5C)1D)2
(9)有如下程序
main()
{inty=3,x=3,z=1;
printf(“%d%d\n”,(++x,y++),z+2);
}
运行该程序的输出结果是()
A)34B)42C)43D)33
(10)能正确表示逻辑关系:
“a≥=1或a≤0”的C语言表达式是()
A)a>=1ora<=0B)a>=1|a<=0
C)a>=1&&a<=0D)a>=1||a<=0
(11)有如下程序
main()
{intx=1,a=0,b=0;
switch(x)
{case0:
b++;
case1:
a++
case2:
a++;b++
}
printf(“a=%d,b=%d\n”,a,B);
}
该程序的输出结果是()
A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2
(12)有如下程序
main()
{floatx=2.0,y;
if(x<0.0)y=0.0;
elseif(x<10.0)y=1.0/x;
elsey=1.0;
printf(“%f\n”,y);
}
该程序的输出结果是()
A)0.000000B)0.250000C)0.500000D)1.000000
(13)有如下程序
main()
{inta=2,b=-1,c=2;
if(if(b<0))c=0;
elsec++
printf(“%d\n”,C);
}
该程序的输出结果是()
A)0B)1C)2D)3
(14)有如下程序
main()
{inti,sum;
for(i=1;i<=3;sum++)sum+=i;
printf(“%d\n”,sum);
}
该程序的执行结果是()
A)6B)3C)死循环D)0
(15)有如下程序
#defineN2
#defineMN+1
#defineNUM2*M+1
main()
{inti;
for(i=1;i<=NUM;i++)printf(“%d\n”,i);
}
该程序中的for循环执行的次数是()
A)5B)6C)7D)8
(16)有如下程序段
inta=14,b=15,x;
charc=’A’;
x=(a&&B)&&(c<’B’);
执行该程序段后,x的值为()
A)trueB)falseC)0D)1
(17)以下叙述正确的是()
A)do-while语句构成的循环不能用其它语句构成的循环来代替。
B)do-while语句构成的循环只能用break语句退出。
C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D)用do-while语句构成的循环,在while后的表达式为零时结束循环。
(18)设x和y均为int型变量,则以下语句:
x+y=y;y=x-y;y=x-y;x-=y;的功能是()
A)把x和y按从大到小排列
B)把x和y按从小到大排列
C)无确定结果
D)交换x和y中的值
(19)在VC++6.0的编辑环境下,使用()进行对已打开的源程序进行编译并执行
A)F5B)CTRL+F5C)ALT+F9D)ALT+F5
(20)C语言属于()
A)机器语言B)汇编语言
C)面向过程的语言D)面向对象的语言
(21)以下选项中,能做为C程序自定义标识符的是()
A)num(10)B)file_bakC)breakD)class+2
(22)下列选项中,不是C语言提供的合法关键字的是()
A)switchB)beginC)caseD)default
(23)字符串"xyz"在内存中占用的字节数是()
A)3B)4C)5D)6
(24)一个char型数据,它的值在内存中存放的是()
A)ASCII码值B)BCD码值C)内码值D)十进制码值
(25)设a为5,执行下列语句后,b的值不为2的是()
A)b=a/2BB)b=6-(--a)C)b=a%2D)b=a<3?
3:
2
二、判断题(每题2分,共20分)
1、C语言中,优先级最低的运算符是逻辑运算符(f)
2、C语言本身没有输入输出语句(t)
3、C语言的标识符只能由字母和数字组成(f)
4、for语句中的三个表达式都可以省略,但两个分号不能省略(t)
5、一个函数调用自己,必将产生死循环(f)
6、函数的定义和调用都可以嵌套(f)
7、宏定义是C语句,要在行末尾加分号(f)
8、int(*p)[4]定义的是一个指针数组,该数组每个元素是指向整型变量的指针(f)
9、fwrite()函数的正确调用形式是fwrite(buffer,count,fp,size);(f)
10、do和char都是合法的关键字(t)
三、编程题(每小题15分,共30分)
1.已知三角形的面积为area=sqrt(s*(s-a)*(s-b)*(s-c)),其中s=(a+b+c)/2,a,b,c为三角形的三边,由键盘输入三个数,请编程计算以这三个数为边长的三角形的面积(先判断能否成为三角形,再计算面积)。
#include"stdio.h"
voidmain()
{floata,b,c,s,area;
scanf("%f%f%f",&a,&b,&c);
if(a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a)
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形的面积为:
%f\n",area);
}
elseprintf("不能构成三角形");
}
2.求百元百鸡问题。
用100元钱来买100只鸡,其中公鸡5元一只,母鸡3元一只,小鸡一元5只,问该如何买,才能100元钱买到100只鸡。
#include"stdio.h"
voidmain()
{intx,y,z;
printf("百鸡问题解:
\n");
for(x=0;x<=100;x++)
for(y=0;y<=100;y++)
{
z=100-x-y;
if(5*x+3*y+(float)z/3==100)
printf("\tx=%3dy=%3dz=%3d\n",x,y,z);
}
printf("\n");
}
2007-2008学年第一学期
《C语言程序设计》课程重修考试试题
一、选择题(每小题3分,共60分)
1、C语言中,函数的隐含存储类型是()
AautoBstaticCexternD无存储类别
2、假定所有变量均已正确定义,下列程序段运行后x的值是()
a=b=c=0;x=35;
if(!
a)x--;elseif(b);if(c)x=3;elsex=4;
A34B4C35D3
3、执行下列程序段后的输出结果是()
x=9;
while(x>7)
{printf(“*”);x--;}
A****B***C**D*
4、下列语句中错误的是()
Awhile(x=y)5;Bdox++while(x==10);
Cwhile(0);Ddo2;while(a==b);
5、循环语句for(x=0,y=0;(y!
=123)||(x<4);x++);的循环执行()
A无限次B不确定次C4次D3次
6、若i、j已定义为int类型,则以下程序段中的内循环体的执行次数是()
for(i=5;i;i--)
for(j=0;j<4;j++){……}
A20B24C25D30
7、以只写方式打开一个二进制文件,应选择的使用方式是()
A“a+”B“w+”C“rb”D“wb”
8、设有定义语句“int(*ptr)[10]”,其中的ptr是()
A10个指向整型变量的指针
B指向10个整型变量的函数指针
C一个指向具有10个元素的一维数组的指针
D具有10个指针元素的一维数组
9、执行语句chara[10]={“abcd”},*p=a;后,*(p+4)的值是()
A“abcd”B‘d’C‘\0’D不能确定
10、设a=3,b=4,执行printf(“%d,%d”,(a,b),(b,a));语句后的输出是()
A3,4B4,3C3,3D4,4
11、在c语言中,下列说法中错误的是()
A函数定义可以分为两个部分:
函数说明部分和函数体
B主函数可以调用任何非主函数
C任何非主函数可以调用其他任何非主函数
D程序可以从任何函数开始执行
12、函数调用时,下列说法中不正确的是()
A若用值传递方式,则形式参数不予分配内存
B实际参数和形式参数可以同名
C主调函数和被调用函数可以不在同一个文件中
D函数间传递数据可以使用全局变量
13、若有说明语句inta[10],*p=a;,对数组元素的正确引用是()
Aa[p]Bp[a]C*(p+2)Dp+2
14、若有以下定义,则不能表示a数组元素的表达式是()
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
A*pBa[10]C*aDa[p-a]
15、设有如下定义,则正确的叙述为()
charx[]={""abcdefg""},y[]={'a','b','c','d','e','f','g'};
A数组x和数组y等价B数组x和数组y长度相同
C数组x的长度大于数组y的长度D数组x的长度小于数组y的长度
16、以下对C语言函数的有关描述中,正确的是()
A在C语言中,调用函数时,只能把实参的值传递给形参,形参的值不能传递给实参
BC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 考试