当前位置:文档之家› C语言》课程期末考试-第四套

C语言》课程期末考试-第四套

第四套期末考试题第一部分选择题单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括内1. 在计算机上可以直接运行的程序是_____________。

A. 高级语言程序B.汇编语言程序C.机器语言程序D. C语言程序2. 不属于C语言的是__________。

A. forB. gotoC. ifD. loop3. 正确的C语言自定义标识符是__________。

A. num(10)B. file_bakC. continueD. class+24. 字符串”m\x43\\\np\102q”的长度是__________。

A. 7B. 9C. 15D. 165. 设 int x=8, y, z; 执行y=z=x++; x=y==z后,变量x的值是__________。

A. 0B. 1C. 8D. 96. 对于输入语句scanf(“%f,%f”, &a, &b); 要使变量a、b的值分别为1.78和2.48,则正确的输入是__________。

A. 1.78, 2.48 后跟回车B. 1.78 2.48 后跟回车C. 1.782.48 后跟回车D. 1.78;2.48 后跟回车7. 设int a=8, b=7, c=6, x=1; 执行语句if(a>6) if(b>7) if(c>8) x=2; else x=3;后x的值是__________。

A. 0B. 1C. 2D. 38. 执行下列程序段x=9;while(x>7) { printf(“*”); x--; }后输出的结果是__________。

A. ****B. ***C. **D. *9. 定义一个具有10个元素的整数型数组,应当使用语句__________。

A. int a[10];B. int a[2,5];C. int a[];D. int *a[10];10. 设char str1[10]=”ABCDE”, str2[10]=”xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2)));后的输出结果是__________。

A. 9B. 8C. 5D. 311. 设int x[]={1,3,5,7,9,11,13}, *p=x;则不能正确引用数组元素的表达式是__________。

A. *(p--)B. *(--p)C. *(p++)D. *(++p)12. 设int x[]={1,2,3,4}, y, *p=&x[1];则执行语句 y=(*--p)++; 后变量y的值为__________。

A. 1B. 2C. 3D.413. 函数调用时,下列说法中不正确的是__________。

A. 若用值传递方式,则形式参数不予分配内存B. 实际参数和形式参数可以同名C. 主调函数和被调用函数可以不在同一个文件中D. 函数间传递数据可以使用全局变量14. 执行下列程序int fun(int x1, int x2){ int x; x1>x2 ? (x=3) : (x=4); return (x+x1); }main(){ printf(“%d\n”, fun(7,8)); }后输出的结果。

A. 9B. 10C. 11D. 1215. 设typedef union {long x[2]; short y[4][5]; char z[10];} TYPE1;TYPE1 u1;则printf(“%d\n”, sizeof(u1)); 的输出是__________。

A. 8B. 10C. 40D. 5816. 下列数据类型中不属于构造类型的是__________。

A. 数组型B. 结构型C. 共用型D. 枚举型17. 存储整型数据-7856时,在二进制文件和文本文件中占用的字节数分别是__________。

A. 2,2B. 2,5C. 5,5D. 5,218. 以只写方式打开一个二进制文件,应该选择的使用方式是__________。

A. “a+”B. “w+”C. “rb”D. “wb”19. 计算平方数时不可能引起二义性的宏定义是A. #define SQR(x) x*xB. #define SQR(x) (x)*(x)C. #define SQR(x) (x*x)D. #define SQR(x) ((x)*(x))20. 执行下列程序#define M(a,b) (a)>(b) ? (a):(b)main(){ int i=10, j=15; printf(“%d\n”, 10*m(i,j)); }后输出的结果是__________。

A. 10B. 15C. 100D. 150第二部分非选择题二、填空题(本大题共10小题,每小题2分,共20分)21. 以下分别是算术、位、关系和逻辑运算符+ & < !其优先级最低的是__________。

22. 设int x=4; 表达式x+=x*=x+1的值是__________。

23. 设int a, b=10;执行a=b<<2+1; 后a 的值是__________。

24. 设short k=-1; 执行printf(“%o”,k); 输出为__________。

25. 设int j,k; 执行for(j=k=0; j-11; k+=j++);后k的值是__________。

26. 函数调用时,若形、实参数均为数组,则其传递方式是__________。

27. 在C语言中,__________类型变量的所有成员以覆盖方式共享存储单元。

28. 设FILE *fp; 关闭fp文件的操作语句是__________。

29. 设float *p, m=2.718; 根据下列图示,建立指针变量p和变量m之间的关系的赋值语句是__________。

30. 设 int a[3][4], *p=a[1]; 该指针变量p 指向的元素是__________。

三、程序分析题(本大题共5小题,每小题5分,共25分)阅读下列程序,将输出结果写到各题右侧的空白处31. int a=200;main(){ int i;for(i=1; i<=5; i++) {a++; printf(“%d,”, a); s();}}void s(){ static int a=20;a++; printf(“%d \n”, a);}32. #include “stdio.h”main(){ char c;c=getchar();if(c>=’a’ && c<=’w’ || c>=’A’ && c<=’W’) c=c+3;else if(c>=’x’ && c<=’z’ || c>=’X’ && c<=’Z’) c=c -23; printf(“%c \n”, c);}设从键盘上输入Next33. #define N 7main(){ int i, j, temp, a[N]={1, 2, 3, 4, 5, 6, 7};for(i=0; i<N/2; i++) {j=N-1-i;temp=a[i]; a[i]=a[j]; a[j]=temp;}for(i=0; i<n; i++) printf(“%5d”, a[i]);}34. struct porb{ char *name; int count;} x[]={“Li ning”, 19, “Lang ping”, 21, “Zhu jian hua”, 20}; main(){ int i;for(i=0; i<3; i++)printf(“%s: %d \n”, x[i].name, x[i].count);}35. main(){ union {mshort a; char ch;} M;M.a=100; M.ch=’A’;printf(“%d,%d,%c \n”, sizeof(M), M.a, M.ch);}四、程序填充题(本大题共3小题,每小题6分,共18分)阅读下列程序,将横线处缺少的部分补上,使其能正确运行。

36. 下面数pi()的功能是根据下列公式求π值(直到最后一上于10-6为止)。

(9)473523173523152313112+⨯⨯⨯+⨯⨯+⨯++=πdouble pi(){ double s=0.0, t=1.0; int n;for(__________; t>=__________; n++) {s+=t; t=n*t/(2*n+1);}return(2.0*__________);}37. 将一字符串中的小写英文字母改成大写。

main(){ int i=0; char str[80];scanf(“%s”, str);while(__________) {if(__________) str[i]-=’a’-‘A’;__________;}printf(“%s \n”, str);}38. 使用结构型计算复数x 和y 的和。

main(){ struct comp {float re, im;};__________ x,y,z;scanf(“%f%f%f%f”, &x.re, &x.im, &y.re, &y.im);z.re=__________; z.im=__________;printf(“%6.2f, %6.2f \n”, z.re, z.im);}五、程序设计题(本大题共3小题,第39小题5分,第40、41小题各6分,共17分)39. 编写一程序,输出如下图形。

* * * * ** * * * ** * * * ** * * * *40. 编写一程序,从键盘输入10个实数,计算输出算术平均值。

41. 编写一个模拟简单计算器的程序,计算表达式:a1 op a2的值,要求a1、op、a2从键盘输入。

其中a1、a2(作除数时不能为0)为数值,op为运算符+、-、*、/。

相关主题