《2022年C语言复习试卷教学提纲 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言复习试卷教学提纲 .pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C 语 言 复 习 试 卷 2名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 一、单选题(将答案写入下列方框中,每小题2 分,共 40分)题号1 2 3 4 5 6 7 8 9 10 答案C A B A C D B B D A 题号11 12 13 14 15 16 17 18 19 20 答案C B A D A C B C A D 1以下不正确的 C 语言标识符是 C A)INT B)_define C)ab-exe D)_
2、3_x 2定义 M 为一个符号常量,下列正确的是 A A) #define M 3.14 B) #define M 3; C) #include M 3.14 D) #include M 3; 3温度华氏和摄氏的关系是:5(32)9CF已知:float C, F; 由华氏求摄氏的正确的赋值表达式是 B A)C=5/9(F-32) B)C=5*(F-32)/9 C) C=5/9*(F-32) D)三个表达式都正确4以下选项中,与n=-k 完全等价的是 A A) k-=1; n=k B) n=k ; k=k-1 C) n=k- D) n-=k-1 5int x=3,y=1,z; 执行语句 z=xy
3、 ? x+: y- ; 后,x 和 z 的值为 C A)3,3 B)3,4 C)4,3 D)4,4 6逗号表达式“ (a=15 , a*=4) , a+15”的值是 D A)15 B)60 C)30 D)75 班级-学号-姓名-重修标记名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - 7设定义: char x, y, z; 从键盘给 x、y、z 输入数据,正确的输入语句是B 。A)INPUT x y z; B) scanf(%c
4、%c%c,&x,&y,&z); C) scanf(%c%c%c,x,y,z); D) getchar(x,y,z) 8设 a=6, b=5, c=8, d=7, m=0, n=2, 执行 (m=ab) | (n=cd) 后 n 的值为 B 。A) 1 B) 2 C) 8 D) 0 9设有程序段int i=10; do i-; while(i=1); 则下面描述中正确的是 D 。A) 循环共执行 10 次B) 循环是无限循环C) 循环体语句一次也不执行D) 循环体语句执行一次10在执行 int a33=1,2,3,4,5,6; 语句后, a22 的值是 A A) 0 B)5 C)6 D) 2 1
5、1以下程序的输出结果是 C void main( ) float x=3, y=5 ;printf(” x=.2f,y=%.2f n” , x, y); A) x=3.0,y=%5.0 B)x=3,y=5 C)x=3.00,y=5.00 D)x=f,y=%f 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - 12在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是B A) 地址传递 B)单向值传递C) 由实参传给形
6、参,再由形参传回实参 D)传递方式由用户指定13以下程序的输出结果是 A void main() char s=a, b, 0, c, 0;printf(%d ,%dn, sizeof(s), strlen(s); A) 5,2 B) 6,2 C)5,4 D) 5,5 14若 x 是整型变量, p 是指向整型数据的指针变量,下述表达正确的是 D A) int x, *p; *p=x; B) int x, *p; *p=&x; C) int x, *p; p=x; D) int x, *p; p=&x; 15以下数组定义中不正确的是 A A) int a2=1,2,3; B) int d33 =
7、1,2,1,2,3,2,3,4; C) int a =1,2,3; D) int b 3=0,1,2,3; 16以下程序的输出结果是void main() int x=10,y=10,i; for(i=1;x8;y=y+i) x-; printf(“%d,%d ”,x ,y); A) 9,11 B) 9,12 C) 8,12 D) 9,11 8,12 17设有如下定义 struct stu int a ; float b; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共
8、12 页 - - - - - - - - - student; 则对 student中 a域的正确引用的是 A)stu.a B) student.a C) struct stu.a D) struct.a 18. 若有定义语句 :int m=2, n=5 ; 则表达式 m-=+n 的值为A) 6 B) -3 C) -4 D) 5 19有如下说明 int a10=1,2,3,4,5,6,7,8,9,10,*p=&a8; 则数值为 9 的表达式是A) *p B) *(p+8) C) p+1 D)p+8 20.执行以下程序后, y 的值是 void main() int a=2,4,6,8,10;
9、int y=1,x,*p; p=&a4; for(x=0;x3;x+) y-=*(p-x); printf( “%d n”,y); A) 1 B) -9 C) -17 D) -23 二、程序填空题(每空2 分, 共 20 分)1下面函数用来求出两个整数之和,并通过形参传回两数相加之和,请填空。 int add(【1】 x, 【2】 y) return 【3】 ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - 2数组元素的访问
10、方法一般有下标法 、地址访问法 和指针变量法 ,据此编写了一个用这三种方法访问数组元素的程序,填写程序代码,使之成为一个完整的程序。void main() int a5=1,3,5,7,.9, i, *p; for( i=0; i5; i+) printf(“ %d” , ai ); / 下标法 printf( “ n”); for(i=0;i5;i+) printf(“ %d” , *(a+i) ); /地址法 printf( “ n”); for(【4】 ;pa+5;p+) printf(“ %d” , 【5】 ); /指针法 3下面程序是用递归法来计算ab,其中 b为整型变量且 b0,填
11、空补充程序。#include float fun(float x, int y) float f ; if(y=0) f=1; else f=【6】 ; return f; void main() float a,c; int b; scanf(%f,%d,【7】 ); c=【8】 ); printf(a 的 b 次幂=%fn, c); 4下面程序通过打擂台法找出十个数中的最大的那个数,填空补充程序。 int fun(int a,int n) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
12、- 第 6 页,共 12 页 - - - - - - - - - int max; max=a0; for(i=0; in; i+) if(maxai) 【9】; return max; void main( ) int i, m, a10; for(i=0;i10:i+) scanf(“ %d” , 【10】); m=fun(a,10); printf(“ 最大的数为: %dn” ,m); 三、阅读下列程序,写出运行结果(每小题5分,共 25 分)1#include void main() int i, x3=1,2,3, sum=0; for(i=0;ib) t=a; a=b; b=t;
13、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 12 页 - - - - - - - - - if(ac) t=a; a=c; c=t; if(bc) t=b; b=c; c=t; printf(%d ,%d,%dn,a,b,c); 3void main() int x=1,y; switch(x) case 1: case 2: y=-x; case 3: y=x*3;break; case 4: y=4*x; break; printf(“%dn”,y); 则程序运行
14、后的输出结果是:_ 4#include void main() void swap(int *p1,int *p2); int n1=7,n2=8,n3=1; int *p1,*p2,*p3; p1=&n1; p2=&n2; p3=&n3; if(n1n2) swap(p1,p2); if(n1n3) swap(p1,p3); if(n2n3) swap(p2,p3); printf(“ %d,%d,%d” ,n1,n2,n3); void swap(int *p1,int *p2) int p; p=*p1;*p1=*p2;*p2=p; 名师资料总结 - - -精品资料欢迎下载 - - -
15、- - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 12 页 - - - - - - - - - 程序运行后的输出结果是5int func(int a,int b) static int c; int d d=a+b+c; return d; void main() int x=6,y=7,z=8,r; r=func(x,y,x+y),z); printf(“%dn”,r); 程序输出结果为四、编程题(共 15 分)1. 按下式编程读入 x 的值,输出 y 的值,要求 x 的值由键盘输入。( 4 分)1(0)0(0)1(0)xy
16、xx2. 编写一个程序求自然数1100 之间所有偶数的和sum。(5 分)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 12 页 - - - - - - - - - 3. 编写一个 sort 函数实现对数组元素按由小到大进行排序,主函数完成数组元素的初始化及排序后输出(主函数程序给出如下)。(6分) #include void main() int a10=20,3,123,89, i ; sort(a,10); for(i=0;i10;i+) printf(“ %5d
17、” ,ai); 二、程序填空题(每空2 分, 共 20 分)【1】 int 【2】 int 【3】 x+y 【4】 p=a或 p=&a0 【5】 *p 【6】 fun(x,y-1)*x 【7】 &a,&b 【8】 fun(a,b) 【9】 max=ai 【10】 &ai 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 12 页 - - - - - - - - - 三、阅读下列程序,写出运行结果(每小题5分,共 25 分)1_10_ 2 1,3,7 3 _3_ 4 8,7
18、,1 521 四、编程题(共 15 分)1. 按下式编程读入 x 的值,输出 y 的值,要求 x 的值由键盘输入。( 4 分) #include int main() int x, y; scanf(“ %d” ,&x); if(x0) y=-1; else if(x=0) y=0; else y=1; printf(“ y=%dn” ,y); return 0: 上述程序仅供参考 ,采用正确的编程思想亦可酌情给分。2. 编写一个程序求自然数1100 之间所有偶数的和sum。(5 分) #include int main() int n,sum=0; for(n=2;n=100;n=n+2)
19、sum+=n; printf(“ 自然数 1100 之间所有偶数的和为 :%d” , sum); return 0; 上述程序仅供参考 ,采用正确的编程思想亦可酌情给分。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 12 页 - - - - - - - - - 3. 编写一个 sort 函数实现对数组元素按由小到大进行排序,主函数完成数组元素的初始化及排序后输出(主函数程序给出如下)。(6分) void sort(int a,int n) int i,j,t; for(i=0;in-1;i+) for(j=0;jaj+1) t=aj; aj=aj+1; aj+1=t; 上述程序仅供参考 ,采用正确的编程思想亦可酌情给分。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 12 页 - - - - - - - - -