收藏 分享(赏)

C复习题 C.doc

上传人:HR专家 文档编号:11604925 上传时间:2020-08-16 格式:DOC 页数:11 大小:33KB
下载 相关 举报
C复习题 C.doc_第1页
第1页 / 共11页
C复习题 C.doc_第2页
第2页 / 共11页
C复习题 C.doc_第3页
第3页 / 共11页
C复习题 C.doc_第4页
第4页 / 共11页
C复习题 C.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、一单选题(1) 以下有4组用户标识符,其中合法的一组是 A) for B) 4d C) f2_G3 D) WO-RD (2) 以下选项中合法的字符常量是 A)B B) 010 C) 68 D) D (3) 假定x和y为double型, x=2, 则表达式y=x+3/2的值是 A) 3.500000 B) 3 C) 2.000000 D) 3.000000 (4) 设x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是 printf(%d,%dn,x-,-y); A) 10,3 B) 9,3 C) 9,2 D)10,2 (5) 以下程序的输出结果是 main( ) int a=3; p

2、rintf(%dn,(a+=a - =a*a) ); A) -6 B)12 C) 0 D) -12 (6) 设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=ab)&(n=cd)运算后,n的值为 A) 0B) 1 C)2 D) 3 (7) 阅读以下程序: main( ) int x; scanf(%d,&x); if(x-=0; i- -) ai=10-i; printf(%d%d%d,a2,a5,a8); A) 258 B) 741 C) 852 D) 369 (16) 以下数组定义中不正确的是 A) int a23; B) int

3、 b 3=0,1,2,3; C) int c100100=0; D) int d3 =1,2,1,2,3,1,2,3,4; (17) 以下程序的输出结果是 main( ) int a44=1,3,5,2,4,6,3,5,7; printf(%d%d%d%dn,a03,a12,a21,a30 ); A) 0650 B) 1470 C) 5430 D) 输出值不定 (18) 以下程序的输出结果是 main( ) char st20= hello0thg; printf(%d %d n,strlen(st), sizeof(st); A) 9 9 B) 5 20 C) 13 20 D) 20 20

4、(19) 以下选项中,不能正确赋值的是 A) char s110; s1=Ctest; B) char s2 =C, t, e, s, t; C) char s320=Ctest; D) char *s4=Ctestn (20) 以下程序的输出结果是 struct HAR int x, y; struct HAR *p; h2; main( ) h0.x=1; h0.y=2; h1.x=3; h1.y=4; h0.p=&h1; h1.p=h; printf(%d %d n, h0.p-x, h1.p-y); A) 1 2 B) 2 3 C) 1 4 D) 3 2 (21) 以下程序的输出结果是

5、 main( ) int a, b; for(a=1, b=1; a=10) break; if (b%3= =1) b+=3; continue; printf(%dn,a); A) 101 B) 6 C) 5 D) 4 (22) 以下程序的输出结果是 union myun struct int x, y, z; u; int k; a; main( ) a.u.x=4; a.u.y=5; a.u.z=6; a.k=0; printf(%dn, a.u.x ); A) 4 B) 5 C) 6 D) 0 (23) 以下程序的输出结果是 int a, b; void fun( ) a=100;

6、b=200; main( ) int a=5, b=7; fun( ); printf(%d %d n, a,b); A) 100 200 B) 5 7 C) 200 100 D) 7 5 (24) 以下程序的输出结果是 #define M(x,y,z) x*y+z /带参宏定义main( ) int a=1, b=2, c=3; printf(%dn, M(a+b,b+c, c+a); A) 19 B) 17 C) 15 D) 12 (25) 下面的程序执行后,文件test.t中的内容是 #include void fun(char *fname,char *st ) FILE *myf;

7、myf=fopen(fname,w ); fputs(st, myf); fclose(myf); main( ) fun(test,new world!); fun(test,hello!) A)hello! B)new world!hello!C)new world! D)hello!rld! 二、填空题(1) 语句:x+; +x; x=x+1; x=1+x; 执行后都使变量x的值增1,请写出一条同一功能的赋值语句 ( )。(2) 以下程序运行后的输出结果是( )。 void main( ) int i=10, j=0; do j=j+i; i-; while(i-2); printf(%

8、dn, j); (3) 设有以下程序: void main( ) int n1,n2; scanf(%d,&n2); while(n2!=0) n1=n2%10; n2=n2/10; printf(%d,n1); 程序运行后,如果从键盘上输入1298;则输出结果为( )。 (4) 以下程序输出的最后一个值是( )。 int ff(int n) static int f; f=f+n; return f; void main( ) int i; for(i=1; i=5; i+) printf(%dn,ff( i ) ); (5) 以下函数的功能是:求x的y次方,请填空。 double fun(

9、 double x, int y) int i; double z; for(i=1, z=x; _; i+)_; return z; (6) 设有以下程序: void main( ) int a, b, k=4, m=6, *p1=&k, *p2=&m; a=p1=&m; b=(*p1)/(*p2)+7; printf(a=%dn, a); printf(b=%dn, b); 执行该程序后,a的值为( ),b的值为( )。 (7) 若已定义:int a10, i;,以下fun函数的功能是:在第一个循环中给10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组10

10、个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1。请填空。 fun( int a ) int i; for(i=1; i=10; i+) _=i; for(i=0; i5; i+)_=ai; (8) 若有定义语句:char s100, d100; int i=0; ,且s中已赋字符串,请填空以实现字符串拷贝。 (注:不得使用逗号表达式) while(si) di=_; i+; di=0; (9) 以下程序段用于构成一个简单的单向链表,请填空。 struct STRU int x, y ; float rate; _ p; a, b; a.x=0; a.y=0; a.rate=0

11、; a.p=&b; b.x=0; b.y=0; b.rate=0; b.p=NULL; (10) 若有如下结构体说明: struct STRU int a, b ; char c; double d: struct STRU p1,p2; ; _t20;请填空,以完成对t数组的定义,t数组的每个元素为该结构体类型. 三、改错题注意:在 /*found*/ 下一行改,不得增行或删行,也不得更改程序的结构! 1 给定函数fun的功能是: 先从键盘上输入一个3行3列矩阵的各个元素的值, 然后输出主对角线元素之和。 请改正函数 fun 中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果

12、。 int fun( ) int a33, sum; int i, j; /*found*/ _; for (i=0; i 3; i+) for (j=0; j 3; j+) /*found*/ scanf(%d,a i j ); for (i=0; i 3; i+) sum=sum+a i i ; printf(Sum=%dn,sum); 2给定函数fun的功能是: 将从键盘上输入的每个单词的第一个字母转换为大写字母, 输入时各单词必须用空格隔开, 用.结束输入。请改正函数中的错误,使程序能输出正确的结果。 int fun(char *c, int status) /*found*/ if

13、(c= ) return 1; else if( status & *c = a ) /*found*/ c += A - a; return 0; 3给定函数fun的功能是: 计算整数n的阶乘。请改正函数中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。 double fun(int n) long result=1; while (n1 & n30) /*found*/ result*=- -n; /*found*/ return _; 习题答案一、单选题1. C2.B3.D4.D5.D6.C7.B8.C9.B10.D11.A12.A13.D14.D15.C16.D17.A18.B19.A20.D21.D22.D23.B24.D25.A二、填空题1x+=1 2. 30 3. 8921 4. 155. iy z*=x 6. 0 7 7. ai-1 a9-i 8. si9. struct STRU 10. struct STRU三、改错题1 sum=0; scanf(%d,&a i j );2. if (*c= ) return 1; *c += A - a; 3. result*=n- -; return result ;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 初中教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报