ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:26.05KB ,
资源ID:19143689      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19143689.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言综合练习题Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言综合练习题Word文档下载推荐.docx

1、1)|a)=a; 则a 可以是: A) 2 B) 6 C) 10 D) 2,6,10均可8、对于以下宏定义: #define SQ(x) x*x #define DD(x,y) SQ(x)-SQ(y) 宏调用DD(2*3, 2+3)执行后值为: A) 43 B) 11 C) 25 D) 以上均不是9、对于以下结构定义: struct int len; char *str; *p; *p-str+中的+加在 A) 指针str上 B) 指针p上 C) str所指的容上 D) 以上均不是10、将s所指节点加到p所指节点之后(如下图), 其语句应为: next . . p next s A) s-ne

2、xt = p+1; p-next = s; B) p- s-next = p-next; C) s-next=p-next=s- D) s-11、语句if (ab) k=0; else k=1; (int a, b, k) 等价于: A) k=(ab)?1:0; B) k=ab; C) k=a=b; D) 以上均不是12、对于int i; char c, s20;从输入序列123ab45efg中将123读入i; b读入c; “45efg” 读入s, 则scanf语句应写为: A) scanf(“%da%c%s”, i, c, s) B) scanf(“%d%*c%c%s”,&i, &c, s)

3、; C) scanf(“%da%c%s”, &i,&c,&s) D) scanf(“%d%c%c%s”, &13、若有以下说明和语句, 已知int和double类型分别占2和8个字节,则sizeof(st)的值为: struct st char a10; union int i; double y; ; A) 18 B) 20 C) 12 D) 以上均不是14、对于以下程序段, 运行后i值为: enum 1,2,3,4,5,6,7 WEEKS; enum WEEKS a=1; int i=0; switch (a) case 1: i=1; case 2: i=2; default: i=3;

4、 A) 1 B) 0 C) 3 D) 上述程序有语法错误15、对于以下递归函数f, 调用f(4),其返回值为: int f(int n) return f(n-1)+n; A) 10 B) 11 C) 0 D) 以上均不是 16、某一程序TEST.C,编译后运行:TEST 123 456 ABC 则相应的argc及argv3分别为: A) 3 “456” B) 3 “ABC” C) 4 “456” D) 4 “ ABC”17、如下程序段: int c=1, 7, 12; int *k; k=c; printf(%d,*+k); 其输出应为: A) 2 B) 7 C) 1 D)以上均不对18、如

5、果变量xx有如下类型: struct char a1; int a2; xx; 如果sizeof(xx)的值为3, 则: union int a3; yy; 做sizeof(yy)函数的返回值应为: A) 2 B) 4 C) 5 D)定义有错19、对于enum RAIN, CLOUD, CLEAR weather;做如下操作: weather=1; weather=CLOUD; 下列哪个说法是对的。 A) 是错的 B) 是错的 C) 与是一样的 D)以上都错20、设 int a1=7, a2=1, xx; 进行如下操作xx = ( a1 1 )&( a23) if ( i8) ? 14:21)

6、 = 14); 后变量i,j的值应为: A) i=0 j=1 B) i=1 j=1 C) i=0 j=2 D) i=1 j=224、如果char cc=12345,做sizeof(cc)后的返回值应为 A) 2 B) 5 C) 6 D) 125、如果 int i=16, j=23 ; 执行 printf(%x-%o,i, j)后输出为: A) 10-23 B) 10-27 C) 16-23 D) 16-2726、执行下列程序: #define MA(x, y) (x)*(y) int i = 2; i = 3/MA(i, i+1)+5; printf(“%dn”, i); A) 5 B) 8

7、C) 0 D) 以上都错27、有一函数: int f(int a) auto int b = 0; static int c = 3; b = b+1; c = c+1; return(a+b+c); 如果有int i, j; 则执行两次调用:i=f(2); j=f(2) 后, i, j值为: A) i = 7, j = 7 B) i = 7, j = 8 C) i = 8, j = 7 D) i = 8, j = 828、有一函数: int f(char *s) int k = 0; while (*s) k = k*10+*s+-0; return(k); 调用f(“1234”)的返回结果

8、是: A) “1234” B) 1234 C) “4321” D) 432129、static int a = 1,2,3, *p, *q; p = a+1; q = p+; 执行该程序段后, p和q所指向的单元的容分别为: A) (*p) = 1, (*q) = 2 B) (*p) = 2, (*q) = 3 C) (*p) = 3, (*q) = 2 D) 以上都错30、static struct int x, y3; a3 = 1,2,3,4,5,6,7,8,9,10,11,12, *p; p = a; 则*(int *)(p+1)+2) = ? A) 3 B) 7 C) 10 D) 以

9、上都错二、填空题1、用for循环打印 1 4 7 10 13 16 19 22 25 , 其语句应为: for (i=1; i0)? x*f(x-1):3); i=f(f(1);6、执行完下列语句段后, s和f值分别为: _ char s20; double f; sscanf(“%s%lf 12.4%s%f12.5”, “%s %lf”, s, &f);7、对于char c; 若已知其值为小写字母, 将其转换为相应大写字母的表达式为_8、对于如下类型定义A: typedef int (*A10)(); 也可以用以下方式分开定义: typedef _; /*先定义PT*/ typedef PT

10、 A10 ;9、将p说明为字符数组指针,数组大小为10,可写为:_10、如下函数 void f(char *s, char *t) int i; i=0; while (si=ti) i+;等价于: while (_ = *t+);11、int i=0, s=0; while (inext) s += _;13、下列程序判断字符串s是否对称,对称则返回1,否则返回0; 如f(“abcba”)返回1, f(“abab”)返 回0; int f(_) int i=0,j=0; while(sj) j+; for ( j-;j & _; i+, j-) ; return _;14、下面是用二分法从数

11、组vn中查找数x的函数,返回值为x所在下标(若找到)或-1(没找到): binsearch(int x, int v, int n) int low, high, mid; low=0; high=n-1; while (low=high) mid = _; if (xvmid) low = mid +1; else return _; return -1;15、下面程序验证哥德巴赫猜想, 即寻找2到1000间满足“偶数=素数1+素数2”(如10=3+7)的所有偶数。素数指只能被1和自身整除的正整数,如1,2,3,17等。 #include #define MAX 500 int prime(

12、int n) /* 判断n是否为素数 */ int i; for (i=2;=n-1; i+) if (!(n%i) break; return _; main() int i, j; for (i=1 ;=500; for (j=1; j=0; j-) printf(“%1d%c,i+j, j?*:#); 如果调用f(3)将输出_19、void f( int *a, int b ) static int k=0; *a += +k; b +=2; 若执行 i=2; j=4; f( &i, j );j, i ) 后 i= _, j= _20、用for循环打印 0 1 2 0 1 2 0 1 2

13、; for( i=1; i+ ) printf(%2d, _);21、定义一个返回整型的函数指针p,应写为 _22、定义字符指针数组arr, 数组大小为20,应写为 _23、程序 void f( char cc ) char ch; int i=0,j=0; while ( cci!=NULL ) i+; i -; for( ;j i-,j+ ) ch = ccj; ccj = cci; cci = ch; 等价于程序 void f( char *cc ) char *p1, *p2, ch; p1=p2=cc; while(_) p2+; p2 - -; while( p1p2 ) ch =

14、 *p2; _ = *p1; _ = ch; _; p2 - -;24、程序: int f( int n ) if(n=1) return n; else return f(n-1)+f(n-2); 等价于程序: int f( int n ) t0=0; t1=1; t=n; while (_) t = _; t0 = t1; t1 = t; n - -; return _;25、下列函数strcmp(s1, s2)是字符串比较, 根据s1,s2大小分别返回负数(s1s2). 请将缺少的部分补上。 strcmp(_) for(; *s1!=_; +s1, +s2) if (*s1!= *s2)

15、 break; return (_);26、下列函数f(A, n, x)将正整数x插入已从小到大排序好的数组A中. 数组A当前分量个数为 n. 例如, 当A的前5个分量为(2,3,9,12,15), n=5时, 调用f(A,n,10)后, n变为6, A的前6个 量为:(2,3,9,10,12,15)。 void f(_) int t, i; i=n; An+1=_; while (i=0) & (_) t=Ai; Ai=Ai+1; Ai+1=t; i - -; n+;27、本程序从一个文件中from.txt读出容,除去其中的数字后写入另一文件to.txt。请将程序 中所缺的部分补上。 #in

16、clude form.txt ); return 1; to.txt while ( ( cc = getc( fr ) ) != EOF ) if ( cc9 ) _; _; 三、程序阅读理解,并回答相应问题1、 #include int a34=1,2,3,4,5,6,7,8,9,10,11,12; int s, i; for(s=0, i=0;3; s+= *(*a+i); printf(“%d ”, s); s+= *(a+i); 问题: 上述程序运行后, 将输出_2、 #include int x,y,z,w; void p(int x, int *y) int z; +x; +*y

17、; z=x+*y; w+=x; printf(“%3d%3d%3d%3dn”, x,*y,z,w); x=y=z=w=2; p(y, &x); printf(“%3d%3d%3d%3dn”, x,y,z,w); 上述程序运行后, 第一行将输出_ 第二行将输出_3、#include int a25; void p1(int v) int i, j, temp; for (i=1;5; for(j=i-1;=0 & vjvj+1; j-) temp=vj; vj=vj+1; vj+1=temp; void p2(int v1, int v2) int i=0, j=0; while (iv2j)

18、printf(%d , v1i+); else printf(, v2j+);5) printf( while (j, v1j+); printf(n int i,j; for (i=0;2; for(j=0; j+) scanf(, &aij); p1(a0); p1(a1); printf(, aij); p2(a0, a1); 当输入5 9 1 12 10 7 3 11 4 10时, 上述程序运行后, 第一行将输出_ 第二行将输出_4、#include void p( int r, int s, int t ) int i,j,x; i=s; j=t; x=rs; while( i j ) while ( ( i = x ) ) /* NOTE 1*/ j-; ri=rj; ( ri = x ) ) /* NOTE 2*/ i+; rj=ri; ri=x; main() int i,n,a100; scanf(n);=n ; scanf( ai ); p( a, 1, n );=n;%3d, ai );

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1