学院 姓名 学号 任课老师 选课号/座位号
„„„密„„„封„„„线„„„以„„„内„„„答„„„题„„„无„„„效„„
电子科技大学二零 零九 至二零 壹零 学年第 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 { 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,x0 y2x10,0x10 4x5,x10 12分) 第 5 页 共 5页 ( 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务