程序设计基础期末试卷A
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
装
订
线
2014—2015学年第1学期闽江学院考试试卷
考试课程:《程序设计基础(C 语言)》
试卷类别:A 卷☑ B 卷□ 考试形式:闭卷☑ 开卷□ 适用专业年级:14级软件工程
班级 姓名 学号
(1)C 语言包括_________________________、_________________________和_________________________三种基本数据类型。
(2)若x 和a 均是int 型变量,则计算表达x=a=4,6*2后的x 值为___________。 (3)字符串 "ab\n\012\\\""的长度是___________。
(4)若有定义:int a[]={2,4,6,8,10,12},*p=a;则*(p+2)的值是___________ *(a+4)的值是___________。
(5)设有如下枚举类型定义:
enum language{ Basic=3,Assembly,Ada=100,COBOL,Fortran}; 则枚举量Fortran 的值为___________。
(6)以下程序的功能是根据输入的“y ”(“Y ”)与“n ”(“N ”),在屏幕上分别显示出“This is YES.”与“This is NO.”。请填空。 void YesNo(char ch) { switch(ch) { case ‘y’:
case ‘Y’: printf(“\nThis is YES.\n”); __________________; case ‘n’:
case ‘N’: printf(“\nThis is No.\n”); }
}
main() { char ch;
printf(“\nEnter a char ‘y’,‘Y’or‘n’,‘N’:”); ch=__________________; printf(“ch:%c”,ch);
YesNo(ch);}
二、单项选择(请将答案填入答题卡对应位置,每题2分,共30分)
(1)在C 语言中,不是合法的int 类型的常量是( )。 A.32768 B.0 C.037 D.0xAF
(2)设变量n 为float 类型,m 为int 类型,则以下能实现将n 中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( )。
A.n=(n*100+0.5)/100.0
B.m=n*100+0.5,n=m/100.0
C.n=n*100+0.5/100.0
D.n=(n/100+0.5)*100.0
(3)有如下程序 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); }该程序的输出结果是( )。
A.a=2,b=1
B.a=1,b=1
C.a=1,b=0
D.a=2,b=2 (4)以下程序段( )。 x=-1;
do{ x=x*x;
} while(!x);
A.是死循环
B.循环执行二次
C.循环执行一次
D.有语法错误(5)若有说明: int a[10];则对a数组元素的正确引用是()。
A.a[10]
B.a[3.5]
C.a(5)
D.a[10-10] (6)对以下说明语句的正确理解是()。
int a[10]={6,7,8,9,10};
A.将5个初值依次赋给a[1]至a[5]
B.将5个初值依次赋给a[0]至a[4]
C.将5个初值依次赋给a[6]至a[10]
D.因为数组长度与初值的个数不同,所以此语句不正确
(7)下面程序()。
1 main()
2 {
3 int a[3]={0};
4 int i;
5 for(i=0;i<3;i++) scanf(“%d”,&a[i]);
6 for(i=1;i<4;i++) a[0]=a[0]+a[i];
7 printf(“%d\n”,a[0]);}
A.没有错误
B.第3行有错误
C.第5行有错误
D.第6行有错误(8)以下正确的说法是()。
A.定义函数时,形参的类型说明可以放在函数体内
B.return后边的值不能为表达式
C.如果函数值的类型与返回值类型不一致,以函数值类型为准
D.如果形参与实参的类型不一致,以实参类型为准
(9)以下程序的正确运行结果是()。
void num()
{ extern int x,y;
int a=15,b=10;
x=a-b;
y=a+b;}
int x,y;
main()
{ int a=7,b=5;
x=a+b;
y=a-b;
num();
printf(“%d,%d\n”,x,y);}
A.12,2
B.不确定
C.5,25
D.1,12 (10)以下程序的正确运行结果是()。
main()
{ int k=4,m=1,p;
p=func(k,m); printf(“%d”,p);
p=func(k,m); printf(“%d\n”,p);}
func(int a,int b)
{ static int m=0,i=2;
i+=m+1;
m=i+a+b;
return(m); }
A.8,17
B.8,16
C.8,20
D.8,8
(11)以下正确的说法是()。
如果在一个函数中的复合语句中定义了一个变量,则该变量
A.只在该复合语句中有效
B.在该函数中有效
C.在本程序范围内均有效
D.为非法变量
(12)执行语句int a = 5, b = 10 , c ;
int *p1 = &a , *p2 = &b ; 后下面不正确的赋值语句是()。
A.*p2 = b;
B.p1 = a;
C.p2 = p1;
D.c = *p1 * (*p2);