C语言复习试卷.doc

上传人:jian****018 文档编号:8814636 上传时间:2020-04-01 格式:DOC 页数:9 大小:55.50KB
返回 下载 相关 举报
C语言复习试卷.doc_第1页
第1页 / 共9页
C语言复习试卷.doc_第2页
第2页 / 共9页
C语言复习试卷.doc_第3页
第3页 / 共9页
点击查看更多>>
资源描述
班级- 学号- 姓名- 重修标记一、单选题(将答案写入下列方框中,每小题2分,共40分)题号12345678910答案CABACDBBDA题号11121314151617181920答案CBADACBCAD1以下不正确的C语言标识符是 C A)INT B)_define C)ab-exe D)_3_x2定义M为一个符号常量,下列正确的是 A A) #define M 3.14 B) #define M 3; C) #include M 3.14 D) #include M 3; 3温度华氏和摄氏的关系是:已知: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-15int x=3,y=1,z; 执行语句z=xy ? x+: y- ; 后,x和z的值为 C A)3,3 B)3,4 C)4,3 D)4,46逗号表达式“(a=15 , a*=4) , a+15”的值是 D A)15 B)60 C)30 D)757设定义:char x, y, z; 从键盘给x、y、z输入数据,正确的输入语句是 B 。A)INPUT x y z; B) scanf(%c%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) 09设有程序段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) 211以下程序的输出结果是 C void main( ) float x=3, y=5;printf(”x=.2f,y=%.2fn”, 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=%f12在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是 B A) 地址传递 B)单向值传递 C) 由实参传给形参,再由形参传回实参 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,514若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 =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 stuint a ; float b; student; 则对student中a域的正确引用的是 A)stu.a B) student.a C) struct stu.a D) struct.a18. 若有定义语句:int m=2, n=5 ; 则表达式m-=+n的值为 A) 6 B) -3 C) -4 D) 519有如下说明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+820.执行以下程序后,y的值是 void main() int a=2,4,6,8,10; int y=1,x,*p; p=&a4; for(x=0;x3;x+) y-=*(p-x); printf(“%dn”,y); A) 1 B) -9 C) -17 D) -23二、程序填空题(每空2分, 共20分)1下面函数用来求出两个整数之和,并通过形参传回两数相加之和,请填空。 int add(【1】 x, 【2】 y) return 【3】 ;2数组元素的访问方法一般有下标法、地址访问法和指针变量法,据此编写了一个用这三种方法访问数组元素的程序,填写程序代码,使之成为一个完整的程序。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,填空补充程序。 #includefloat 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) 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;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);则程序运行后的输出结果是:_4#includevoid 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; 程序运行后的输出结果是 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分) 2. 编写一个程序求自然数1100之间所有偶数的和sum。(5分)3. 编写一个sort函数实现对数组元素按由小到大进行排序,主函数完成数组元素的初始化及排序后输出(主函数程序给出如下)。(6分) #include void main() int a10=20,3,123,89, i ; sort(a,10); for(i=0;i10;i+) printf(“%5d”,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 三、阅读下列程序,写出运行结果(每小题5分,共25分)1_10_ 2 1,3,7 3 _3_ 4 8,7,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) sum+=n; printf(“自然数1100之间所有偶数的和为:%d”, sum);return 0;上述程序仅供参考,采用正确的编程思想亦可酌情给分。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; 上述程序仅供参考,采用正确的编程思想亦可酌情给分。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!