C语言期末双面试卷B (1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三亚学院 2012/2013 学年春季学期
《C语言与程序设计》期末考试B卷
适用对象:12级信息管理与信息系统专业
答题时间:120 分钟考试形式:闭卷
(共40分,每题2分)
1.一个C语言程序是由( C )组成的。
A主程序 B 子程序 C 函数 D 过程
2.执行下面语句的结果为( C )。
y=10;x=y++;
A x=10,y=10
B x=11,y=11
C x=10,y=11
D x=11,y=10
3.下列程序的输出结果是( A )。
#include
void main()
{int x=2,y=3;
printf("x=%d,y=%d",x,y);
}
A.x=2,y=3 B.x=%2,y=%3
C.x=%%d,y=%%d D.x=%d,y=%d
4.不是C语言中基本数据类型为(C)。
A.整型B.实型
C.集合型D.字符型
5.表示关系12<=x<=y的C语言表达式为:( A )
A.(x>=12)&(x<=y) B.(x>=12)&&(x<=y)
C.(12<=x)|(x<=y)D.(12<=x)||(x<=y)
6.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式是( B )。A.a<>0 B.!a C.a=0 D.a
7.配合switch语句使用,作用是控制结束某个case分支的执行的语句是( A )。
A.break B.if C.end D.exit
8.执行语句:for(i=1;i++<4;);后,变量i的值是(B)。
A.3 B.4 C.5 D.不定
9.如下程序段执行后输出(B )。
#include
void main()
{ int num=0;
while(num<=2)
{ num++;
printf("%d ",num);
}
}
A.1 2 3 4 B.1 2 3 C.1 2 D.1
10.设x=1,y=2,m=4,n=3,则表达式x>y?x:m A.1 B.3 C.2 D.4 11.以下正确的函数定义是:( A ) A.double fun(int x, int y) B.double fun(int x,y) { z=x+y ; return z ; } { int z ; return z ;} C.fun (x,y) D.double fun (int x, int y) { int x, y ; double z ; { double z ;z=x+y ; z=x+y ; return z ; } return z ; } 12.C语言规定,调用函数时,简单变量做实参时,实参变量与形参变量之间的数据传递是(A) A.地址传递B.值传递 C.由实参传给形参D.由用户指定传递方式 13.以下不正确的说法为(D)。 A.在不同函数中可以使用相同名字的变量 B.形式参数是局部变量 C.在函数内定义的变量只在本函数内有效 D.在函数内的复合语句中定义的变量在本函数范围内有效 14.若有以下定义和语句, char s[12]="a book!"; printf("%d",strlen(s)); 则输出结果是:( B )。 A.12 B.8 C.7 D.6 15.定义如下变量和数组: int i; int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是( D )。 for(i=0;i<3;i++) printf("%d",x[i][2-i]); A.1 5 9 B.1 4 7 C.1 5 7 D.3 6 9 16.以下不能对二维数组a进行正确初始化的语句是( A )。 A.int a[2][3]={0} ; B.int a[2][3]={{1,2},{0}} ; C.int a[2][2]={{1,2},{3,4},{5,6}} ; D.int a[][3]={1,2,3,4,5,6} ; 17.如果有以下说明语句,并且0≤i<10,则下面哪个选项是对数组元素的错误引用( C )。 int a[ ]={1,2,3,4,5,6,7,8,9,0}; int i,*p=a; A.*(a+i) B.a[p-a] C.p+i D.*(&a[i]) 18.如果有以下说明语句,并且0≤i<10,则下面哪个选项是对数组元素地址的正确表示( C )。 int a[ ]={1,2,3,4,5,6,7,8,9,0}; int i,*p=a; A.&(a+1) B.a++ C.&p D.&a[i] 19.宏定义#define PI 3.14159中,用宏名PI代替一个( C )。 A.单精度数B.双数度数C.常量D.字符串 20.C语言系统的标准输入文件是指( D )。 A.显示器B.硬盘C.软盘D.键盘 (共15分,每题1 分) 1.一个C 程序开发的过程要经过编辑.__________.___________.________ 四个步骤。 2.是为解决某个特定问题而采取的确定且有限的步骤。 3.为表示条件“当x的取值在[1,10]和[200,210]范围内为真,否则为假”,应使用C语言表达式。 4.若有说明和语句:int a=25,b=60;b=++a;则b的值是。 5.若int x=5;while(x>0)printf(“%d”,x--);的循环执行次数为。 6.若有int a[5],*p=a;则p+2表示第个元素的地址。 7.若有说明和语句:int a=5,b=6,y=6;b-=a;y=a++则b和y的值分别是 . 。 8.已知整型变量a=3,b=4,c=5,写出逻辑表达式a||b+c>c&&b-c的值是。 9.C程序设计的三种基本结构是________.___ _____和___ _____。 10.数组是表示的数据,而结构体则是若干不同类型数据项的集合。 (共10分,每题5分) 1.下面add函数的功能是求两个参数的和,并且和值返回调用函数。函数中错误的部分是,改正后为。 void add(float a,float b) { float c; c=a+b; return c; } 2.以下函数用以求x的y次方,补足所缺语句。 double fun(double x,int y) { int i; double z=1; for(i=1;i;i++) z=; return z; } (共20分,每题5分) 1.以下程序运行后的输出结果是 #include void main() { int i,n[]={0,0,0,0,0}; for(i=1;i<=4;i++) { n[i]=n[i-1]*2+1; printf("%d ",n[i]); } } 2.以下程序的输出结果为。 #include void main() { int a[ ]={1,2,3,4,5,6}; int *p=a; *(p+3)+=2; printf("%d,%d\n ",*p,*(p+3)); } 3.下列程序的运行结果是。