高级语言程序设计B

  • 格式:doc
  • 大小:65.82 KB
  • 文档页数:7

安徽大学20 —20 学年第 1 学期《 高级语言程序设计 》考试试卷(B 卷)(闭卷 时间120分钟)考场登记表序号一、单项选择题(每小题2分,共20分)1.在C 语言中,’\n ’在内存占用的字节数是【 】 A. 1 B. 2 C. 3 D. 42.不能作为C 语言标识符的是 【 】 A. x B. x_x C. x_0 D. 0_x3.设整型变量i 的值为3,则表达式“i- - -i ”的值为 【 】 A. 0 B. 1 C. 2 D. 34.设x 为整型变量,和表达式“!(!x)”值完全相同的表达式是 【 】 A. x= =0 B. x= =1 C. x!=0 D. x!=15.若变量x 和y 为double 类型,则表达式x=1,y=x+3/2的值是 【 】A. 1B. 2C. 2.0D. 2.56.在以下一组运算符中,优先级最高的运算符是 【 】 A. - - B. = = C. || D. &&7.设x,y,z,t 均为int 型变量,执行下列语句串后变量t 的值为 【 】 x=y=z=0; if (x=y) t=z; else t=!z;A. 不定值B. 2C. 1D. 0 8.设有下列循环语句,其循环体执行的次数是 【 】 for (x=0,y=0; (x<4)||(y!=123);x++);A. 无限次B. 不确定次C. 4次D. 3次9.下列数据定义语句中,正确的是 【 】 A. char a[3][]={’abc ’,’1’}; B. char a[][3]={ ’abc ’,’1’}; C. char a[3][]={ ’a ’, ”1”}; D. char a[][3]={ ”a ”, ”1”};10.设有下列数据定义语句,则下列选项中使b 不为3的是 【 】int a=3,b,*p=&a;院/系 年级 专业 姓名 学号答 题 勿 超 装 订 线------------------------------装---------------------------------------------订----------------------------------------线----------------------------------------A. b=*&a;B. b=*p;C. b=a;D. b=*a;二、填充题(每小题2分,共20分) 1.用十进制表示整型常量-017为__________。

2.表达式“3>2>1”的值是__________________。

3.请写出数学式.ab c的C 语言表达式____________________。

4.C 语言中作为运算对象时的逻辑值“真”是用__________表示的。

5.能表述“20<x<30或x<-100”的C 语言表达式是____________________。

6.设有int x,y,z;表示其中至少有一个负数的表达式应为________________________。

7.在输入函数printf()中,“%f ”格式是用于输入__________型的数据。

8.设有定义语句“ int a[3][4]={{1},{2},{3}};”,则a[1][1]值为________。

9.设有定义语句“int a[]={1,2,3,4,5};”,则a+1代表整数________的地址。

10.函数形参的作用域为__________________________。

三、阅读程序题(每小题5分,共20分)(1)#include <stdio.h>int main() { int i,j;for (i=1;i<=5;i++) if (i<=3){ for (j=1;j<=3-i;j++)printf(" ");for (j=1;j<=2*i-1;j++)printf("*");printf("\n"); } else{ for (j=1;j<=i-3;j++)printf(" ");for (j=1;j<=11-2*i;j++)printf("*");printf("\n"); } return 0; }(2)#include <stdio.h>int main(){ float x=5.1f; int y; if (x<0)y=-1; elseif (x>0)y=1;elsey=0;printf("x=%3.1f y=%d\n",x,y); return 0; }(3)#include <stdio.h>int main(){ int a[10]={1,3,5,2,4,6},k,i,j,m; for (i=1;i<6;i++) { m=i-1;for (j=i;j<6;j++) if (a[m]>a[j]) m=j;k=a[m],a[m]=a[i-1],a[i-1]=k; }for (i=0;i<6;i++)printf("%d ",a[i]); return 0; }(4)#include <stdio.h>int main(){ int a[]={4,0,8,6,2},*p=a,k,x,m=0; for (k=1;k<5;k++)if (*(p+m)<*(p+k)) m=k;x=*(p+m),*(p+m)=*(p+4),*(p+4)=x; for (p=a;p<a+5;p++) printf("%d ",*p);答 题 勿 超 装 订 线------------------------------装---------------------------------------------订----------------------------------------线----------------------------------------}(1)下列程序的功能是输入两个字符串存入数组s1和s2,将s2中字符串连接到s1中字符串后,输出s1中的字符串。

请填写其中缺少的语句或语句成分。

#include <stdio.h>#include <string.h>int main(){ char s1[81],s2[41];int k1=0,k2=0;gets(s1);gets(s2);while (s1[k1]!=’\0’);while (s2[k2]!=’\0’){ ;k1++,k2++;}s1[k1]=s2[k2];printf("%s\n",s1);return 0;}(2)下列程序的功能是从键盘上读取一串字符(直到!号为止),写入名为“ccw.txt”的文本文件中。

请填写其中缺少的语句或语句成分。

#include <stdio.h>#include <stdlib.h>int main(){ FILE *fp;char ch;if ((fp=fopen("ccw.txt"," "))==NULL){ printf("file not open!\n"); exit(0); }while ((ch=getchar())!='!')fputc( );fclose(fp);return 0;}五、程序设计题(每小题10分,共30分)(1)编程序,用序列公式计算并输出S n 。

其中a 是一个十进制数字,n 是最后一项a 的位数,均由键盘输入。

例如2+22+222+2222(a 是2,n 是4)。

(2)编一个递归函数,求n 阶勒让德多项式的值,递归公式如下:......n S a aa aaa aa a=++++⎪⎩⎪⎨⎧---•-=--nx P n x P x n xx P n n n /))()1()()12((1)(21)1()1()0(>==n n n答 题 勿 超 装 订 线------------------------------装---------------------------------------------订----------------------------------------线----------------------------------------(3)按照下列结构型,编程序输入5个学生的学号、姓名和3科成绩,然后输出这些学生的学号、姓名和3科成绩的平均分。

struct student { long num; // 学号char name[10]; // 姓名float score[3]; // 3科成绩float ave // 3科成绩的平均分 }安徽大学20 —20 学年第1 学期《高级语言程序设计》(B卷)考试试题参考答案及评分标准一、单项选择题(本大题共10小题,每小题2分,共20分)每小题的四个选项中只有一个符合题目要求,请将正确选项前字母填在括号中。

1.A 2.D 3.A 4.C 5. C 6. A 7. C 8. A 9. D 10. D二、填充题(本大题共10小题,每小题2分,共20分)1. -152. 03. a/(b*c)4. 非05. ((20<x&&(x<30))||(x<-100)6. x<0||y<0||z<07. 单精度实或 float 8. 09. 2 10. 函数体内三、阅读程序题(20分,每题5分)阅读程序,按格式将程序运行的输出结果填写在题目右侧的空白处。

(1) *************(2)x=5.1 y=1(3)1 2 3 4 5 6(4)4 0 2 6 8四、程序填充题(10分,每题5分)(1)k1++s1[k1]=s2[k2](2)wch,fp五、程序设计题(30分,每题10分)。