C语言程序设计复习题

Similar documents
C语言程序设计复习题

C语言程序设计复习题

网C试题(08上).doc

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

期中考试试题讲解

《C语言程序设计》教材习题参考答案

《C语言程序设计》第2版教材习题参考答案

没有幻灯片标题

download.kaoyan.com_2006ÄêÌì½ò¹¤Òµ´óѧ¸ß¼¶ÓïÑÔ³ÌÐòÉè¼Æ£¨409£©¿¼ÑÐÊÔÌâ

<4D F736F F D C4EA39D4C23137C8D5B6FEBCB643D3EFD1D4B1CACAD4CAD4BEEDBCB0B4F0B0B85FB1EAD7BCB0E65F2E646F63>

2008年4月全国计算机等级考试二级C语言真题(含答案)

全国计算机等级考试笔试模拟试卷(1)

2015年计算机二级(C语言)模拟试题及答案(四)

技能竞赛C试题

Microsoft Word - 综合试题2.doc

碩命題橫式

技能竞赛C试题

山东2014第四季新教材《会计基础》冲刺卷第二套

untitled

untitled

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

<4D F736F F D C4EA33D4C2C8ABB9FABCC6CBE3BBFAB5C8BCB6BFBCCAD4B6FEBCB643D3EFD1D4B1CACAD4D5E6CCE2D3EBB4F0B0B82E646F63>

<4D F736F F D C4EA34D4C2C8ABB9FABCC6CBE3BBFAB5C8BCB6BFBCCAD4B6FEBCB6B1CACAD4CAD4BEED2E646F63>

Microsoft Word 年9月二级C真卷.doc

Microsoft Word 年4月二级C真卷.doc

立 志 于 打 造 最 贴 近 考 生 实 际 的 辅 导 书 计 算 机 考 研 之 数 据 结 构 高 分 笔 记 率 辉 编 著 周 伟 张 浩 审 核 讨 论 群 :

试卷代号 ~1075 座位号 E 口 国家开放大学 ( 中央广播电视大学 )20]5 年秋季学期 " 开放本科 " 期末考试 C 十十语言程序设计 试题 同二二十斗 2016 年 1 月 巴叫一 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new D. l

2008级考试试题A

试卷代号 :1075 座位号 rn 国家开放大学 ( 中央广播电视大学 )2015 年秋季学期 " 开放本科 " 期末考试 c+ 十语言程序设计试题 2016 年 1 月 t 问一 Urr-f 斗 士 1 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new

2015年计算机二级(C语言)模拟试题及答案(四)

nooog

CC213

<4D F736F F D C4EA33D4C2C8ABB9FABCC6CBE3BBFAB5C8BCB6BFBCCAD4B6FEBCB6B1CACAD4CAD4BEEDBCB0B2CEBFBCB4F0B0B82E646F63>

<4D F736F F D C4EA33D4C2C8ABB9FABCC6CBE3BBFAB5C8BCB6BFBCCAD4B6FEBCB643B1CACAD4CAD4BEED2E646F63>

该图是 A.N-S 图 B.PAD 图 C. 程序流程图 D. E-R 图 (8) 数据库管理系统是 A. 操作系统的一部分 B. 在操作系统支持下的系统软件 C. 一种编译系统 D. 一种操作系统 (9) 在 E-R 图中, 用来表示实体联系的图形是 A. 椭圆图 B. 矩形 C. 菱形 D. 三

技能竞赛C试题

绝密★启用前

<4D F736F F D20D7DBBACFCAD4CCE231B2CEBFBCB4F0B0B82E646F63>

Microsoft Word - cjfg_jy0201.doc

( CIP).:,3.7 ISBN TB CIP (3) ( ) ISBN O78 : 3.

优合会计考点直击卷子之财经法规答案——第八套

C/C++ - 函数

chap07.key

tbjx0033ZW.PDF

WinXP

《C语言程序设计》教材习题参考答案

<4D F736F F D C4EA34D4C2C8ABB9FABCC6CBE3BBFAB5C8BCB6BFBCCAD4B6FEBCB643D3EFD1D4B1CACAD4CAD4CCE22E646F63>

untitled

. (A) (B) (C) A (D) (E). (A)(B)(C)(D)(E) A

untitled

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

新・解きながら学ぶC言語

北京2014年会计从业资格考试《会计基础》备考机试卷一

第三篇 C 语言基础编程能力实训案例 编程练习题答案 1-1 程序例 #include<stdio.h> main( ) { printf("c Language Program\n"); } 结果 1. 变量及数据运算 1-2 程序例 #include<stdio.h> main( ) { pri

C/C++ - 文件IO

考 查 知 识 点 肝 气 疏 泄 调 畅 气 机 的 作 用, 主 要 表 现 在 以 下 几 个 方 面 :(1) 促 进 血 液 与 津 液 的 运 行 输 布 ;(2) 促 进 脾 胃 的 运 化 功 能 和 胆 汁 分 泌 排 泄 ;(3) 调 畅 情 志 ;(4) 促 进 男 子 排 精

就 构 成 了 盗 窃 罪 与 破 坏 交 通 设 施 罪 的 想 象 竞 合, 按 照 其 中 处 罚 较 重 的 犯 罪 处 罚 5. 答 案 :B 本 题 主 要 考 察 如 何 区 分 收 买 被 拐 卖 的 妇 女 儿 童 罪 与 拐 卖 妇 女 儿 童 罪 的 共 犯 问 题 ( 对 向

第3章.doc

Chapter12 Derived Classes

zt

,,,,,,,,,, ( http: \ \ www. ncre. cn,, ) 30,,,,,,,, C : C : : 19 : : : /16 : : 96 : : : ISBN 7

新・明解C言語入門編『索引』

bingdian001.com


2 A

幻灯片 1

过 程 排 除 A 正 确 答 案 是 B 14.A 解 析 本 题 考 查 思 修 第 八 章 中 国 人 权, 新 增 考 点 其 中 直 接 考 查 宪 法 保 障 是 人 权 保 障 的 前 提 和 基 础 A 人 权 保 障 的 最 后 防 线 是 司 法 保 障,B 人 权 保 障 的

试卷代号 :1253 座位号 E 口 国家开放大学 ( 中央广播电视大学 )2014 年秋季学期 " 开放本科 " 期末考试 C 语言程序设计 A 试题 2015 年 1 月 E 四! 五 总分! 一 单选题 ( 每小题 2 分, 共 20 分 ) 1. 由 C 语言源程序文件编译而成的目标文件的默

Microsoft Word 年9月二级C真卷.doc

2001年(下)局域网技术与组网工程试卷答案

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

<4D F736F F D2043D3EFD1D4B3CCD0F2C9E8BCC6CAD4BEEDBCB0B4F0B0B8A3A BCB62D3031A3A92E646F6378>

c_cpp

NOWOER.OM m/n m/=n m/n m%=n m%n m%=n m%n m/=n 4. enum string x1, x2, x3=10, x4, x5, x; 函数外部问 x 等于什么? 随机值 5. unsigned char *p1; unsigned long *p

epub 33-8

C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1

Microsoft Word 年9月二级C真卷.doc

新版 明解C言語入門編

<4D F736F F D C4EA39D4C2C8ABB9FABCC6CBE3BBFAB5C8BCB6BFBCCAD4B6FEBCB6B1CACAD4CAD4BEED2E646F63>

第六章 数据分析(排列组合、概率和数据描述)

e bug 0 x=0 y=5/x 0 Return 4 2


untitled

:,,,, ( CIP ) /,. :, ISBN CIP ( 2001) : : 127, : : : ht t p: / / www. nwpup. com : :

R S T B C D a 0 k1 b 1 n1 由关系 R 和 S 通过运算得到关系 T, 则所使用的运算为 ( ) A) 并 B) 自然连接 B C D a 0 k1 B C D f 3 h2 a 0 k1 n 2 x1 C) 笛卡尔积 D) 交 (10) 设有表示学生选课的三张表, 学生 S

bingdian001.com

Ps22Pdf

<443A5CD7C0C3E65CC8BAD7CAC1CF5C F73662E646F63>

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

( ) A B C D ( ) A B C D A B C D A B C D A 8750 B C 6250 D 5000 A B C D A B C D

2015年计算机二级(C语言)模拟试题及答案(三)

E. (A) (B) (C) (D). () () () (A) (B) (C) (D) (E). () () () (A) (B) (C) (D) (E). (A)(B)(C) (D) (E) (A) (B) (C) (D) (E) (A) (B)(C) (D) (E). (A) (B) (C)

FY.DOC

<3935BCC6A5D2C1CDB6D52E747066>

櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩櫩 毧 毧 毧 毧

Ps22Pdf

(黃).indd

Microsoft Word - 6-3神經系統_2_.doc

<4D F736F F D20D7DBBACFCAD4CCE232B2CEBFBCB4F0B0B82E646F63>

精 品 库 我 们 的 都 是 精 品 _www.jingpinwenku.com 解 析 : 全 国 人 大 有 权 批 准 省 自 治 区 直 辖 市 的 建 置, 国 务 院 有 权 批 准 其 区 域 划 分 6( 单 选 题 ) 根 据 行 政 诉 讼 法 规 定, 下 列 有 关 行 政

Transcription:

C 语言程序设计 ( 本 ) 复习题 一 选择题 1. 以下语句或语句组中, 能正确进行字符串赋值的是 A)char *sp;*sp="right!"; C)char s[10];*s="right!"; 2. 以下选项中合法的字符常量是 B)char s[10];s="right!"; D)char *sp="right!" A) "B" B) '\010' C) 68 D) D 3. 结构化程序由三种基本结构组成, 三种基本结构组成的算法 A) 可以完成任何复杂的任务 B) 只能完成部分复杂的任务 C) 只能完成符合结构化的任务 D) 只能完成一些简单的任务 4. 以下选项中可作为 C 语言合法整数的是 A)10110B B)0386 C)0Xffa D)x2a2 5. 以下不能定义为用户标识符的是 A)scanf B)Void C)_3com_ D)int 6. 在 C 语言中, 合法的长整型常数是 A) OL B) 4962710 C) 324562& D) 216D 7. 以下有 4 组用户标识符, 其中合法的一组是 A) For B) 4d C) f2_g3 D) WORD -sub DO IF void Case Size abc define 8. 下列函数定义中, 会出现编译错误的是 A)max(int x,int y,int *z) B)int max(int x,y) { *z=x>y? x:y; { int z; z=x>y? x:y; return z; C)max(int x,int y) D)int max(int x,int y) { int z; { return(x>y?x:y); z=x>y?x:y; return(z); 9. 假定 x 和 y 为 double 型, 则表达式 x=2,y=x+3/2 的值是 A) 3.500000 B) 3 C) 2.000000 D) 3.000000 10. 以下合法的赋值语句是 A) x=y=100 B) d--; C) x+y; D) c=int(a+b); 11. 设正 x y 均为整型变量, 且 x=10 y=3, 则以下语句的输出结果是 printf("%d,%d\n",x--,--y); A) 10,3 B) 9.3 C) 9.2 D)10.2 12. x y z 被定义为 int 型变量, 若从键盘给 x y z 输入数据, 正确的输入语句是 A) INPUT x y z; B) scanf("%d%d%d",&x,&y,&z); C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z); 13. 以下定义语句中正确的是 A) char a='a'b='b'; B) float a=b=10.0; C) int a=10,*b=&a; D) float *a,b=&a; 14. 下列选项中, 不能用作标识符的是

A) _1234_ B)_1_2 C)int_2_ D)2_int_ 15. 有以下定义语句 double a,b; int w; long c; 若各变量已正确赋值, 则下列选项中正确的表达式是 A) a=a+b=b++ B)w%(int)a+b) C)(c+w)%(int)a D)w=a==b; 16. 有以下程序 { int m=3,n=4,x; x=-m++; x=x+8/++n; printf("%d\n",x); A) 3 B) 5 C) -1 D) -2 17. 有以下程序 { char a='a',b; print("%c,",++a); printf("%c\n",b=a++); A) b,b B) b,c C) a,b D) a,c 18. 有以下程序 { int m=0256,n=256; printf("%o %o\n",mn,n); A) 0256 0400 B) 0256 256 C) 256 400 D) 400 400 19. 有以下程序 { int a=666,b=888; printf("%d\n",a,b); A) 错误信息 B) 666 C) 888 D) 666,888 20. 有以下程序 { int i; for(i=0;i<3;i++) switch(i) { case 0:printf("%d",i); case 2:printf("%d",i); default:printf("%d",i);

A) 022111 B) 021021 C) 000122 D) 012 21. 若 x 和 y 代表整型数, 以下表达式中不能正确表示数学关系 x-y <10 的是 A) abs(x-y)<10 B) x-y>-10&& x-y<10 C) @(x-y)<-10!(y-x)>10 D) (x-y)*(x-y)<100 22. 有以下程序 { int a=3,b=4,c=5,d=2; if(a>b) if(b>c) printf("%d",d++ +1); else printf("%d",++d +1); printf("%d\n",d); A) 2 B) 3 C) 43 D) 44 23. 下列条件语句中, 功能与其他语句不同的是 A) if(a) printf("%d\n",x); else printf("%d\n",y); B) if(a==0) printf("%d\n",y); else printf("%d\n",x); C) if (a!=0) printf("%d\n",x); else printf("%d\n",y); D) if(a==0) printf("%d\n",x); else printf("%d\n",y); 24. 有以下程序 { int i=0,x=0; for (;;) { if(i==3 i==5) continue; if (i==6) break; i++; s+=i; ; printf("%d\n",s); A)10 B) 13 C) 21 D) 程序进入死循环 25. 若变量已正确定义, 要求程序段完成求 5! 的计算, 不能完成此操作的程序段是 A) for(i=1,p=1;i<=5;i++) p*=i; B) for(i=1;i<=5;i++){ p=1; p*=i; C) i=1;p=1;while(i<=5){p*=i; i++; D) i=1;p=1;do{p*=i; i++; while(i<=5);

26. 有以下程序 { char a,b,c,d; scanf("%c,%c,%d,%d",&a,&b,&c,&d); printf("c,%c,%c,%c\n",a,b,c,d); 若运行时从键盘上输入 :6,5,65,66< 回车 > 则输出结果是 A) 6,5,A,B B) 6,5,65,66 C) 6,5,6,5 D) 6,5,6,6 27. 以下能正确定义二维数组的是 A) int a[][3]; B) int a[][3]=2{2*3; C) int a[][3]={; D) int a[2][3]={{1,{2,{3,4; 28. 有以下程序 int f(int a) { return a%2; { int s[8]={1,3,5,2,4,6,i,d=0; for (i=0;f(s);i++) d+=s; printf("%d\n",d); A) 9 B) 11 C) 19 D) 21 29. 若有以下说明和语句,int c[4][5],(*p)[5];p=c; 能正确引用 c 数组元素的是 A) p+1 B) *(p+3) C)*(p+1)+3 D) *(p[0]+2]) 30. 有以下程序 { int a=7,b=8,*p,*q,*r; p=&a;q=&b; r=p; p=q;q=r; printf("%d,%d,%d,%d\n",*p,"q,a,b); A) 8,7,8,7 B) 7,8,7,8 C) 8,7,7,8 D) 7,8,8,7 31. s1 和 s2 已正确定义并分别指向两个字符串 若要求 : 当 s1 所指串大于 s2 所指串时, 执行语句 S; 则以下选项中正确的是 A) if(s1>s2)s; B) if(strcmp(s1,s2))s; C) if(strcmp(s2,s1)>0)s; D) if(strcmp(s1,s2)>0)s; 32. 设有定义语句 int x[6]={2,4,6,8,5,7,*p=x,i; 要求依次输出 x 数组 6 个元素中的值, 不能完成此操作的语句是 A) for(i=0;i<6;i++) printf("%2d",*(p++)); B) for(i=0;i<6;i++) printf("%2d",*(p+i)); C) for(i=0;i<6;i++) printf("%2d",*p++); D) for(i=0;i<6;i++) printf("%2d",(*p)++); 33. 有以下程序

#include {int a[]={1,2,3,4,5,6,7,8,9,10,11,12,,*p=a+5,*q=null; *q=*(p+5); printf("%d %d\n",*p,*1); A) 运行后报错 B) 6 6 C) 6 11 D) 5 10 34. 有以下定义和语句 int a[3][2]={1,2,3,4,5,6,,*p[3]; p[0]=a[1]; 则 *p[0]+1) 所代表的数组元素是 A) a[0][1] B) a[1][0] C) a[1][1] D) a[1][2] 35. 有以下程序 {char str[][10]={"china","beijing",*p=str; printf("%s\n",p+10); A) China B) Bejing C) ng D) ing 36. 有以下程序 {char s[]="abcd",*p; for(p=s+1; p<s+4; p++) printf("%s\n", p); A) ABCD B) A C) B D) BCD BCD B C CD CD C D D D D 37. 在函数调用过程中, 如果函数 funa 调用了函数 funb, 函数 funb 又调用了函数 funa, 则 A) 称为函数的直接递归调用 B) 称为函数的间接递归调用 C) 称为函数的循环调用 D) C 语言中不允许这样的递归调用 38. 已有定义 :int i,a[10],*p;, 则合法的赋值语句是 A) p=100; B) p=a[5]; C) p=a[2]+2; D) p=a+2; 39. 以下叙述中正确的是 A) 预处理命令行必须位于源文件的开头 B) 在源文件的一行上可以有多条预处理命令 C) 宏名必须用大写字母表示 D) 宏替换不占用程序的运行时间 40. 设有定义语句 :char c1=92,c2=92;, 则以下表达式中值为零的是 A) c1^c2 B) c1&c2 C) ~c2 D) c1 c2 41. 程序中对 fun 函数有如下说明 void *fun();

此说明的含义是 : A) fun 了数无返回值 B) fun 函数的返回值可以是任意的数据类型 C) fun 函数的返回值是无值型的指针类型 D) 指针 fun 指向一个函数, 该函数无返回值 42. 有以下程序 { char s[]"yes\n/no",*ps=s; puts(ps+4); *(ps+4)=0; puts(s); A) n/no B) /No C) n/no D) Yes Yes Yes /No/No /No Yes 43. 有以下程序 { unsigned int a; int b=-1; a=b; printf("%u",a); A) -1 B) 65535 C) 32767 D) -32768 44. 有以下程序 { int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); printf("%d %d %3.1f %3.1f\n",a,c,f,x); A)1 65 1 6.5 B)1 65 1.5 6.5 C)1 65 1.0 6.5 D)2 65 1.5 6.5 45. 以下选项中非法的表达式是 A)0<=x<100 B)i=j==0 C)(char)(65+3) D)x+1=x+1 46. 有以下程序 { int a=1,b=2,m=0,n=0,k; k=(n=b>a) (m=a<b); printf("%d,%d\n",k,m); A)0,0 B)0,1 C)1,0 D)1,1 47. 有定义语句 :int x, y;, 若值 11, 变量 y 得到数值 12, 下面四组输入要通过

scanf("%d,%d",&x,&y); 语句使变量 x 得到数形式中, 错误的是 A)11 12< 回车 > B)11, 12< 回车 > C)11,12< 回车 > D)11,< 回车 > 12< 回车 > 48. 设有如下程序段 : int x=2002, y=2003; printf("%d\n",(x,y)); 则以下叙述中正确的是 A) 输出语句中格式说明符的个数少于输出项的个数, 不能正确输出 B) 运行时产生出错信息 C) 输出值为 2002 D) 输出值为 2003 49. 设变量 x 为 float 型且已赋值, 则以下语句中能将 x 中的数值保留到小数点后两位, 并将第三位四舍五入的是 A)x=x*100+0.5/100.0; B)x=(x*100+0.5)/100.0; C)x=(int)(x*100+0.5)/100.0; D)x=(x/100+0.5)*100.0; 50. 有以下程序 void fun(int *a,int i,int j) { int t; if(i<j) { t=a;a=a[j];a[j]=t; i++; j--; fun(a,i,j); { int x[]={2,6,18,i; fun(x,0,3); for(i=0;i<4;i++) printf("%2d",x); printf("\n"); A) 1 2 6 8 B) 8 6 2 1 C) 8 1 6 2 D) 8 6 1 2 51. 有以下说明和定义语句 struct student { int age; char num[8];; struct student stu[3]={{20,"200401",{21,"200402",{10\9,"200403"; struct student *p=stu; 以下选项中引用结构体变量成员的表达式错误的是 A) (p++)->num B) p->num C) (*p).num D) stu[3].age 52. 有以下程序 mina() { int x[]={1,3,5,7,2,4,6,0,i,j,k; for(i=0;i<3;i++) for (j=2;j>=i;j--)

if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k; for(i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k; for (i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k; for (i=0;i<8;i++) printf("%d",x); printf("\n"); : A) 75310246 B) 1234567 C) 76310462 D) 13570246 53. 有如下程序 #include { FILE *fp1; fp1=fopen("f1.txt","w"); fprintf(fp1,"abc"); fclose(fp1); 若文本文件 f1.txt 中原有内容为 :good, 则运行以上程序后文件 f1.txt 中的内容为 A) goodabc B) abcd C) abc D) abcgood 53~55. 以下程序的功能是 : 建立一个带有头结点的单向链表, 并将存储在数组中的字符依次转储到链表的各个结点中, 请从与下划线处号码对应的一组选若中选择出正确的选项 #include stuct node { char data; struct node *next;; (53) CreatList(char *s) { struct node *h,*p,*q); h=(struct node *) malloc(sizeof(struct node)); p=q=h; while(*s!='\0') { p=(struct node *) malloc(sizeof(struct node)); p->data= (54) ; q->next=p; q= (55) ; s++; p->next='\0'; return h; { char str[]="link list"; struct node *head;

head=creatlist(str);... (53) A) char * B) struct node C) struct node* D) char (54) A) *s B) s C) *s++ D) (*s)++ (55) A) p->next B) p C) s D) s->next 56. 有以下程序 { int s=0,a=1,n; scanf("%d",&n); do { s+=1; a=a-2; while(a!=n); printf("%d\n",s); 若要使程序的输出值为 2, 则应该从键盘给 n 输入的值是 A)-1 B)-3 C)-5 D)0 57. 若有如下程序段, 其中 s a b c 均已定义为整型变量, 且 a c 均已赋值 (c 大于 0) s=a; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是 A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c; 58. 要求以下程序的功能是计算 :s= 1+1/2+1/3+ +1/10 { int n; float s; s=1.0; for(n=10;n>1;n--) s=s+1/n; printf("%6.4f\n",s); 程序运行后输出结果错误, 导致错误结果的程序行是 A)s=1.0; B)for(n=10;n>1;n--) C)s=s+1/n; D)printf("%6.4f\n",s); 59. 已定义 ch 为字符型变量, 以下赋值语句中错误的是 A)ch='\'; B)ch=62+3; C)ch=NULL; D)ch='\xaa'; 60. 若已定义的函数有返回值, 则以下关于该函数调用的叙述中错误的是 A) 函数调用可以作为独立的语句存在 B) 函数调用可以作为一个函数的实参 C) 函数调用可以出现在表达式中 D) 函数调用可以作为一个函数的形参 61. 有以下函数定义 : void fun(int n, double x) { 若以下选项中的变量都已正确定义并赋值, 则对函数 fun 的正确调用语句是 A)fun(int y,double m); B)k=fun(10,12.5); C)fun(x,n); D)void fun(n,x); 62. 有以下程序 void fun(char *a, char *b)

{ a=b; (*a)++; { char c1='a',c2='a',*p1,*p2; p1=&c1; p2=&c2; fun(p1,p2); printf("%c%c\n",c1,c2); A)Ab B)aa C)Aa D)Bb 63. 若程序中已包含头文件 stdio.h, 以下选项中, 正确运用指针变量的程序段是 A)int *i=null; B)float *f=null; scanf("%d",i); *f=10.5; C)char t='m', *c=&t; D)long *L; *c=&t; L='\0'; 64. 有以下程序 #include { printf("%d\n",null); A)0 B)1 C)-1 D)NULL 没定义, 出错 65. 已定义 c 为字符型变量, 则下列语句中正确的是 A)c='97'; B)c="97"; C)c=97; D)c="a"; 66. 以下不能正确定义二维数组的选项是 A)int a[2][2]={{1,{2; B)inta[][2]={1,2,3,4; C)int a[2][2]={{1,2,3; D)int a[2][]={{1,2,{3,4; 67. 以下选项中不能正确把 cl 定义成结构体变量的是 A)typedef struct B)struct color cl { int red; { int red; int green; int green; int blue; int blue; COLOR; ; COLOR cl; C)struct color D)struct { int red; { int red; int green; int green; int blue; int blue; cl; cl; 68. 以下能正确定义一维数组的选项是 A)int num[]; B)#define N 100 int num[n]; C)int num[0..100]; D)int N=100; int num[n]; 69. 下列选项中正确的语句组是 A)char s[8]; s={"beijing"; B)char *s; s={"beijing"; C)char s[8]; s="beijing"; D)char *s; s="beijing"; 70. 已定义以下函数 fun(int *p)

{ return *p; 该函数的返回值是 A) 不确定的值 B) 形参 p 中存放的值 C) 形参 p 所指存储单元中的值 D) 形参 p 的地址值 71. 二 填空题 1. 以下程序段的输出结果是 int i=9; printf("%o\n",i); 2. 以下 { int a,b,c; a=25; b=025; c=0x25; printf("%d %d %d\n',a,b,c); 3. 以下 { int p[7]={11,13,14,15,16,17,18; int i=0,j=0; while(i<7 && p%2==1) j+=p[i++]; printf("%d\n",j); 4. 以下 { int x=1,y=0,a=0,b=0; switch(x) {case 1: switch(y) { case 0: a++; break; case 1:b++; break; case 2:a++;b++; break; printf("%d %d\n",a,b); 5. 以下 { int a[4][4]={{1,2,3,4,{5,6,7,8,{11,12,13,14,{15,16,17,18; int i=0,j=0,s=0; while(i++<4) {

if(i==2 i==4) continue; j=0; do{ s+= a[j]; j++; while(j<4); printf("%d\n",s); 6. 以下 main () { char a[]="language",b[]="programe"; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k<=7;k++) if(*p1+k)==*(p2+k)) printf("%c",*(p1+k)); 7. 以下 { char a[]="123456789",*p; int i=0; p=a; while(*p) { if(i%2==0) *p='*"; p++;i++; puts(a); 8. 以下程序中, for 循环体执行的次数是 #define N 2 #define M N+1 #define K M+1*M/2 { int i; for(i=1;i<k;i++) {...... 9. 通过函数求 f(x) 的累加和, 其中 f(x)=x2+1 { printf("the sum=%d\n",sunfun(10)); SunFun(int n) { int x,s=0; for(x=0;x<=n;x++) s+=f( ); return s;

F( int x) { return ; 10. 以下程序从终端读入数据到数组中, 统计其中正数的个数, 并计算它们之和 请填空 { int i,a[20],sun,count; suum=count=0; for(i=0;i<20;i++) scanf("%d", ); for(i=0;i<20;i++) { if(a>0) { count++; sum+= ; printf("sum=%d,count=%d\n",sum,count); 11. 以下程序中, 函数 SumColumM 的功能是 : 求出 M 行 N 列二维数组每列元素中的最小值, 并计算它们的和值 和值通过形参传回主函数输出 请填空 #define M 2 #define N 4 void SumColumMin(int a[m][n], int *sum) { int i,j,k,s=0; for(i=0;i<n;i++) { k=0; for(j=1;j<m;j++) if(a[k]>a[j]) k=j; s+= ; *sum =s; { int x[m][n]={3,2,5,1,4,1,8,3,s; SumColumMin( ); printf("%d\n",s); 12. 以下 { int p=30; printf("%d\n",(p/3>0? p/10 : p%3)); 13. 以下 { char m; m='b'+32; printf("%c\n",m);

14. 以下 { int a=1,b=3,c=5; if (c=a+b) printf("yes\n"); else printf("no\n"); 15. 以下 { int i,m=0,n=0,k=0; for(i=9; i<=11;i++) switch(i/10) { case 0: m++;n++;break; case 10: n++; break; default: k++;n++; printf("%d %d %d\n",m,n,k); 16. 执行以下程序后, 输出 '#' 号的个数是 #include { int i,j; for(i=1; i<5; i++) for(j=2; j<=i; j++) putchar('#'); 17. 以下程序的功能是调用函数 fun 计算 :m=1-2+3-4+ +9-10, 并输出结果 请填空 int fun( int n) { int m=0,f=1,i; for(i=1; i<=n; i++) { m+=i*f; f= ; return m; { printf("m=%d\n", ); 18. 以下 { int i,n[]={0,0,0,0,0; for(i=1;i<=4;i++) { n[i]=n[i-1]*2+1; printf("%d ",n[i]); 19. 以下

{ int i,j,a[][3]={1,2,3,4,5,6,7,8,9; for(i=0;i<3;i++) for(j=i+1;j<3;j++) a[j][i]=0; for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%d ",a[i][j]); printf("\n"); 20. 以下 int a=5; fun(int b) { static int a=10; a+=b++; printf("%d ",a); { int c=20; fun(c); a+=c++; printf("%d\n",a); 21. 请在以下程序第一行的下划线处填写适当内容, 使程序能正确运行 ( double,double); { double x,y; scanf("%lf%lf",&x,&y); printf("%lf\n",max(x,y)); double max(double a,double b) { return(a>b? a:b); 22. 以下程序运行后输入 :3,abcde< 回车 >, 则输出结果是 #include move(char *str, int n) { char temp; int i; temp=str[n-1]; for(i=n-1;i>0;i--) str[i]=str[i-1]; str[0]=temp; { char s[50]; int n,i, z; scanf("%d,%s",&n,s); z=strlen(s); for(i=1; i<=n; i++) move(s, z); printf("%s\n",s);

23. 以下 fun(int x) { if(x/2>0) fun(x/2) printf("%d ",x); { fun(6); 24. 已有定义如下 : struct node { int data; struct node *next; *p; 以下语句调用 malloc 函数, 使指针 p 指向一个具有 struct node 类型的动态存储空间 请填空 p = (struct node *)malloc( ); 25. 以下程序的功能是将字符串 s 中的数字字符放入 d 数组中, 最后输出 d 中的字符串 例如, 输入字符串 :abc123edf456gh, 执行程序后输出 :123456 请填空 #include #include { char s[80], d[80]; int i,j; gets(s); for(i=j=0;s[i]!='\0';i++) if( ) { d[j]=s[i]; j++; d[j]='\0'; puts(d); 26. 语句 :x++;?++x; x=x+1;?x=l+x;, 执行后都使变量 x 中的值增 1, 请写出一条同一功能的赋值语句 ( 不得与列举的相同 ) 27. 设 y 是 int 型变量, 请写出判断 y 为奇效的关系表达式 28. 以下 { int i=10, j=0; do { j=j+i; i--; while(i>2); printf("%d\n",j); 29. 设有以下程序 : { int n1,n2; scanf("%d",&n2);

while(n2!=0) { n1=n2%10; n2=n2/10; printf("%d",n1); 程序运行后, 如果从键盘上输入 1298; 则输出结果为 30. 以下程序输出的最后一个值是 int ff(int n) { static int f=l; f=f*n; return f; { int i; for(i=1;i<=5;i++ printf("%d\n",ff(i)); 三 编程题 1. 编写一个函数, 对传送过来的三个数选出最大和最小数, 并通过形参传回调用函数 2. 输入一个字符串, 然后判定它是否为一个 Palindrome, 所谓 Palindrome 是指其从正反两 个方向看都是一样的 ( 不分大小写 ), 如 Madam 3. 请编写程序统计输入的一行中小写字母的个数 4. 编写一个函数, 把一个字符串中的小写字母改为大写字母, 其余不变 并从键盘输入一 个字符串, 然后使用该函数将小写字母变为大写字母后输出