您好,欢迎来到年旅网。
搜索
您的当前位置:首页09年12月高级语言程序设计期末试卷B

09年12月高级语言程序设计期末试卷B

来源:年旅网


学院 姓名 学号 任课老师 选课号/座位号

„„„密„„„封„„„线„„„以„„„内„„„答„„„题„„„无„„„效„„

电子科技大学二零 零九 至二零 壹零 学年第 1 学期期 末 考试

高级语言程序设计课程考试题 B 卷 ( 120分钟) 考试形式: 闭卷 考试日期 20 年 月 日

课程成绩构成:平时 20 分, 期中 分, 实验 分, 期末 80 分

复核人 一 二 三 四 五 六 七 八 九 十 合计 签名 得分 签名 得 分 一、填空题(共10分,共 8题,每空1 分)

1、C源程序的基本单位是 。 2、定义 int i = 2; 执行语句++i;后, i的值为 。

3、定义char m; 执行{m='B'+32;printf(“%c”,m);}语句后的输出结果是 。

4、若定义:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值是 。 5、已知int x=10,y=20,z=30;,执行语句if(x>y) z=x; x=y; y=z; printf(“%d%d%d”, x, y, z); 后x, y, z的值是 、 、 。

6、定义int t=1,i=5;执行{for(; i>=0;i--) t*=i;}后,t的输出结果是 。 7、设 a = 3, b = 4, c = 5, 则表达式!(x=a) &&(y=b) &&0的值为 。

8、定义char str1[30]={“lovely”}, str2[]={“girl”};则执行printf(“%s”, strlcat(str1, str2));输出为 。 得 分 二、单项选择题(共20分,共 10题,每题2 分)

1.设有程序段

int k = 10;

while (k = 0) k = k – 1;

则下面描述中正确的是 。 (A)while循环体执行10次

(B)循环是无限循环 (D)循环体语句执行一次

第 1 页 共 5页

(C)循环体语句一次也不执行

学院 姓名 学号 任课老师 选课号/座位号

„„„密„„„封„„„线„„„以„„„内„„„答„„„题„„„无„„„效„„

2.假设定义:int x = 4, y = 4; 则复合赋值表达式x /= 1+y的值为: 。 (A) 0 (B) 0.8 (C) 8 (D) 以上都错 3.若有说明:int a[10];则对a数组元素的正确引用是 。 (A) a[10]

(B) a[3.5]

(C) a(5)

(D)a[10-10]

4.能正确表示逻辑关系“x大于等于0且x小于5”的C语言表达式为 。 (A) x >= 0 & x<5 (B) x >= 0 && x<5 (C) 0 <= x < 5 (D) x >= 0 and x<5

5.表达式: 3>5 && -1 || 6 < 3 - !-1的值是: 。 (A) 0

(B) 1

(C) 表达式不合法

(D) 均不对

6.选出可以作为C语言用户自定义标识符的一组标识符 D 。 (A) void define Word (B) 4X Do if (C) x_2 pi@1 a#b (D) a2b2 k21 If_1

7.有输入语句:scanf(“a=%d, b=%d, c=%d”,&a,&b,&c); 为使a的值为1,b的值为2,c的值为3,则正确的输入方式是 。(说明:“↙”表示“回车”) (A) 1 2 3↙ (B) a=1 b=2 c=3↙ (C) a=1,b=2,c=3↙ (D) 1,2,3↙ 8.下面不正确的字符串常量是 。 (A) „abc‟

(B) “12‟12”

(C) “0”

(D)“ ”

9.以下所列各函数定义的首部中,正确的是 。 (A) void Sub( a:int , b: int) (C) void Sub( int a , b )

(B) void Sub( int a , int b)

(D) void Sub(a as integer, b as integer )

10.有一个字符数组x,则以下正确的输入语句是 。

(A)gets(“x”); (B) scanf(“%s”, &x); (C) scanf(“%s”, x) ; (D) gets(„x‟); 得 分 三、写出下列程序的运行结果(共20分,共 4题,每题5 分)

1、void swap( int a, int b) 程序的运行结果是:

{ int t;

if( a第 2 页 共 5页

学院 姓名 学号 任课老师 选课号/座位号

„„„密„„„封„„„线„„„以„„„内„„„答„„„题„„„无„„„效„„

swap (a, b);

printf(“a=%d,b=%d\\n”,a,b); }

2、float average(float array[ ],int n) 程序的运行结果是

{ int i;

float aver, sum=array[0]; for (i=1;i} main()

{ float score_1[5]={90,80,70,60,50};

float score_2[10]={10,20,30,40,50,60,70,80,90,100}; printf(the average of class A is %6.2f\\n,average(score_1,5));

printf(the average of class B is %6.2f\\n,average(score_2,10)); }

3、int fac(int n) 程序的运行结果是:

{ static int f=1; f=f*n; return(f);

} void main( ) { int i;

for (i=1;i<=5;i++)

printf(“ %d! =%5d\\n”,i,fac(i)); }

4、main( ) 程序的运行结果是:

{ int a = 4;

float b, x, y; b=a; x=1/a; y=1/b;

printf(“x=%f,y=%f\\n”,x,y); }

第 3 页 共 5页

学院 姓名 学号 任课老师 选课号/座位号

„„„密„„„封„„„线„„„以„„„内„„„答„„„题„„„无„„„效„„

得 分 四、程序改错( 共18分)

1、 求和s=1×2 + 2×3 + „ + 99×100 ( 6 分)

main( ) { int i;

long s=0; for(i =1,i<=99,i++) t = i*(i+1); s = s + t;

printf(“1*2+2*3+…+99*100=%ld\\n”,s); }

2、 输入任意一个整数,输出其绝对值的2倍。 ( 6 分)

main( ) { int x, y; scanf(“%d”, x) ; y = 2x ; if ( x<0) ; y = -2x ;

printf(“x=%d, |x|=%d\\n”, x, y) ; }

3、 任意输入3个整数,用求出3个数中的最小值 ( 6 分)

main( ) { int x, y, z, min;

scanf(“ x=%d, y=%d, z=%d ” ,&x, &y, &z); min = mintwo(x, y); min = mintwo(y,z);

printf( “ min is %d ” , &min ); }

int mintwo( int a, int b) { return (a>b ? b : a) ; }

第 4 页 共 5页

学院 姓名 学号 任课老师 选课号/座位号

„„„密„„„封„„„线„„„以„„„内„„„答„„„题„„„无„„„效„„

得 分 1、输入半径,输出圆的面积和体积。(10分)

2、用循环求解10的阶乘,并输出结果。 (10分)

五、编程( 共32分)

3、有一个函数y,编程输入一个x值,输出y值。

0,x0 y2x10,0x10 4x5,x10

12分) 第 5 页 共 5页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务