三亚学院 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 <stdio.h>
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 <stdio.h>
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<n?y:n的值为:( B )
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 <stdio.h>
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 <stdio.h>
void main()
{ int a[ ]={1,2,3,4,5,6};
int *p=a;
*(p+3)+=2;
printf("%d,%d\n ",*p,*(p+3));
}
3.下列程序的运行结果是。
#include<stdio.h>
void main( )
{ int x=1,a=0,b=0;
switch(x)
{ case 0:b++;
case 1:a++;
case 2:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
4.下列程序的运行结果是。
#include <stdio.h>
oid main()
{ char ch1,ch2;
ch1=getchar();
2.求1!+2!+3!+…+100!的值,并输出结果。
ch2=ch1-'a'+'A';
putchar(ch1);
putchar(ch2);
}
注:运行时输入字母b
1.有3个整数a.b.c,由键盘输入,输出其中最小的数。
3.求元素个数为10的一维数组元素中所有元素的和以及它们的平均值。
不开口,没有人知道你想要什么;不去做,任何想法都只在脑海里游泳;不迈出脚步,永远找不到你前进的方向。
其实你很强,只是懒惰帮了你倒忙。