化工程与工艺级《高级程序设计》A卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
- 1 - / 5
安康学院2009 — 2010学年第一学期
期末考试试卷(A 卷)
课程名称 高级语言程序设计 课程编号22002134考试班级 化学工程与工艺09级1班 任课教师 曹睿
题型 单选 填空 程序改错
程序分析
编程
总分 分值 20 30 10 10 30 100 得分
一、单选(10×2分)
1、若已定义f ,g 为double 类型,则表达式:f=1,g=f+5/4的值是:( )
A 、2.0
B 、2.25
C 、2.1
D 、1.5
2、设unsigned int 类型的数据长度为2字节,则该类型数据的取值范围是( ) A 、0至65536 B 、0至65535 C 、-32767至32768 D 、-32768至32767
3、在C 语言中,逻辑值“真”是用( )表示的。 A 、预定义为真值的宏 B 、非零数 C 、正数 D 、非零整数
4、表示关系12<=x<=y 的C 语言表达式为:( ) A 、(12<=x )&(x<=y ) B 、 (12<=x )&&(x<=y ) C 、(12<=x )|(x<=y ) D 、(12<=x )||(x<=y )
5、以下说法正确的是( )
A )C 语言程序总是从第一个的函数开始执行
B )在
C 语言程序中,要调用函数必须在main ()函数中定义 C )C 语言程序总是从main ()函数开始执行
D )C 语言程序中的main ()函数必须放在程序的开始部分
得分
评卷人
6、数组名作为实参传给被调用的函数时,形参获得的是( ) A 、该数组第一个元素的值 B 、该数组所有元素的值 C 、该数组第一个元素的首地址 D 、该数组所有元素的首地址
7、若有int a[3][5]={2,2},{2,6},{2,6,2}},则数组a 共有个元素:( ) A 、8 B 、5 C 、3 D 、15
8、根据定义int a[ ]={1,2,3},i ,*p=a ; 从语法分析( )是不正确的。 A 、 a[p-a] B 、*(&a ) C 、p D 、*(*(a+i ))
9、若有int s[4]={0,1,2,3},语句执行完,*p 数值不为3的表达式是: ( ) A 、p=s+2,*(p++) B 、p=s+3,*p++ C 、 p=s+2,*(++p ) D 、p=&s[3] 10、下面程序的输出结果是:( ) #define POWER(x) (x*x) main()
{int i=4; printf("%d",POWER(i-2)); } A. -9 B. -7 C. 4 D. -6
二、填空(20×1.5分)
1、源程序MYC .C 经编译产生的目标文件是:____________;经连接处理后,产生的可执行文件是:_________________。
2、C 语言基本数据类型有: 整型,浮点,___________。
3、字符’B ’在内存中占用的字节数为____________。
4、C 语言中的标识符只能由____________、下划线和数字组成。
5、设a=2,b=3,x=6.5,y=2.5,则表达式(float)(a+b)/2+(int)x%(int)y 的结果是 _____________。
6、对于语句:scanf(“%d, %d ”,&a,&b);要使输入后a=1,b=2,则 正确的输入格式为_____________________________。
7、语句for(i=1;i<=10;i++) if(i==5) break; 循环的次数是____________。
得分
评卷人
8、有如下定义char a[20]="B\168\t'a%%";则字符串a 的长度为___________数组a 的长度为__________________。
9、C 标准库函数中,数学函数的原型在:________________头文件中,自定义头文件D :\ MYC \ MY . H 应如何包含到源程序文件中:_________________________。 10、已知函数定义为:int stat (int *a ,float p )
{……………}
则此函数的两个参数类型分别是_______________ 、 _________________。
11、对于一维数组a[10],其下标为5的元素地址可表示为_________________;二维数组b[10] [50]最后一行的首地址为:_________________________;最后一个元素的首地址为:______________________________。
12、有如下定义:char str1[]=”abcdefghijk ”;如需定义一个指针变量指向该字符串的首字母,其定义方法应该为_______________________;char *str2=”abcdefghijk ”;如需定义一个指针变量指向str2,其定义方法应该为__________________________; 13、对于定义:语句:int a[3]={3,10,25}; int *p=a+1;
printf(“%-3d”,*p++);
printf(“%3d \n”,--*p);输出结果为:__________________。
三、程序改错题(5×2分)
1、求 s=1+2+3+、、、、、、、+100 #include
{int s ,i ;
for (s=0,i=1;i<=100;i++)
s = s + i++; 改正为__________________________。 printf (“s=%d ”,s ); }
得分
评卷人
2、对于函数: x x <1 y = 2x-1 1≤x <10 3x-11 x ≥10 写一个程序,输入x,输出y 值。 void main() { float x,y;
scanf(“%f\n ”,&x);改正为:________________________________ if(x<1) printf(“%f ”,x);
if(1≤x <10) printf(“%f ”,2*x+1);改正为_________________________ else printf(“%f ”,3*x-11); }
3、输出数组中的全部元素。 void main()
{ int n=10;int a[n]; int *p,i;改正为__________________________ for(i=0;i<10;i++)
scanf(“%d ”,&a[i]);
for(p=a;p
四、程序分析(3+4+3) 1、int age(int n) { int c; if(n==1) c=10; else c=age(n-1)+2 return c;
}
得分
评卷人