技能竞赛C试题

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

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

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

没有幻灯片标题

网C试题(08上).doc

技能竞赛C试题

技能竞赛C试题

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

期中考试试题讲解

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式]

《计算概论》课程 第十九讲 C 程序设计语言应用

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


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

!!""# $ %#" & $$ % $()! *% $!*% +,-. / 0 %%"#" 0 $%1 0 * $! $#)2 "

<4D F736F F D20A1BE A1BF C4EABDADCBD5D7CFBDF0C5A9B4E5C9CCD2B5D2F8D0D0B9C9B7DDD3D0CFDEB9ABCBBEB8FAD7D9C6C0BCB6B1A8B8E6A3A8B8FAD7D A3A9>

Zmf575.mps

<4D F736F F D C4EA39D4C23137C8D5B6FEBCB643D3EFD1D4B1CACAD4CAD4BEEDBCB0B4F0B0B85FB1EAD7BCB0E65F2E646F63>

Ps22Pdf

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

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

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

chap07.key

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

工 序 的 是 ( ) A. 卷 筒 切 筒 装 药 造 粒 B. 搬 运 造 粒 切 引 装 药 C. 造 粒 切 引 包 装 检 验 D. 切 引 包 装 检 验 运 输 7. 甲 公 司 将 其 实 施 工 项 目 发 包 给 乙 公 司, 乙 公 司 将 其 中 部 分 业 务 分 包 给

<4D F736F F D20D7DBBACFCAD4CCE231B2CEBFBCB4F0B0B82E646F63>

竞赛报名与报名审核

Microsoft PowerPoint - C语言课件-9-结构体.pptx

A. B. C. D. 4. A. B. C. D. 5. A. B. C. : 2

CC213

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

第3章.doc

<4D F736F F D20C6C0BCB6B1A8B8E6B7E2C3E6A3A8E4AFD1F4CFD6B4FAA3A9>

<4D F736F F D20C4CFCDA8B9FAD3D0D7CAB2FAB9ABCBBEB6A8B8E55F A3A8B5A3B1A3B7BDA3A E646F63>

<4D F736F F D20C6C0BCB6B1A8B8E6B7E2C3E6A3A8C8F0B0B2B9FACDB6B8FAD7D9A3A9>

<4D F736F F D20C6C0BCB6B1A8B8E6B7E2C3E6A3A8B8B7C4FEB3C7CDB6B8FAD7D9A3A9>

CC213

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

Microsoft Word - 综合试题2.doc

一 行 业 信 用 质 量 分 析 信 息 技 术 行 业 细 分 子 行 业 较 多, 部 分 子 行 业 受 到 宏 观 经 济 的 影 响 呈 现 较 明 显 的 周 期 性, 如 电 脑 与 外 围 设 备 办 公 电 子 设 备 等 传 统 智 能 硬 件 行 业, 但 以 技 术 进 步

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

Chapter12 Derived Classes

2010年9月全国计算机二级C语言笔试试题:文字版

<4D F736F F D20C6C0BCB6B1A8B8E6B7E2C3E6A3A83135C4EAB6C8B4CEBCB6D5AEC8AFB6ABDDB8D6A4C8AFB8FAD7D9A3A9>

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

<4D F736F F D20C6C0BCB6B1A8B8E6B7E2C3E6A3A8BAFEB1B1B9A9CFFAB8FAD7D9A3A9>

Ps22Pdf

Microsoft PowerPoint - 07 派生数据类型

2015 年 水 利 建 设 市 场 主 体 信 用 评 价 结 果 一 勘 察 单 位 ( 共 92 家 ) AAA 级 (48 家 ) 1 中 国 电 建 集 团 北 京 勘 测 设 计 研 究 院 有 限 公 司 2 北 京 市 水 利 规 划 设 计 研 究 院 3 中 水 北 方 勘 测

1 2 / 3 1 A (2-1) (2-2) A4 6 A4 7 A4 8 A4 9 A ( () 4 A4, A4 7 ) 1 (2-1) (2-2) ()

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

4 / ( / / 5 / / ( / 6 ( / / / 3 ( 4 ( ( 2

发 债 主 体 大 唐 集 团 成 立 于 2002 年 12 月 29 日, 是 根 据 国 务 院 关 于 印 发 电 力 体 制 改 革 方 案 的 通 知 ( 国 发 号 文 件 ) 文 件 在 原 国 家 电 力 公 司 分 企 事 业 单 位 基 础 上 组 建 的 大 型

Microsoft Word - 095_ 什麼最快樂 (白話與經文加註)-ok .doc

2008级考试试题A

論鄭玄對《禮記‧月令》的考辨


粤社保函〔2013〕80号

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

68003 (Project Unity TC)_.indb

<4D F736F F D20B1A6D0C5D7E2C1DED2BBC6DAD7CAB2FAD6A7B3D6D7A8CFEEBCC6BBAED3C5CFC8BCB6D7CAB2FAD6A7B3D6D6A4C8AFB8FAD7D9C6C0BCB6B1A8B8E6>

<4D F736F F D C4EA33D4C2C8ABB9FABCC6CBE3BBFAB5C8BCB6BFBCCAD4B6FEBCB643B1CACAD4CAD4BEED2E646F63>

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

2012年国家公务员考试行测真题及参考解析

民國八十九年台灣地區在校學生性知識、態度與行為研究調查

状 态, 使 人 类 社 会 难 以 正 确 认 识 评 级 这 一 信 用 经 济 的 内 在 规 律, 难 以 真 正 总 结 西 方 错 误 评 级 的 教 训, 难 以 让 评 级 有 效 服 务 于 人 类 信 用 经 济 实 践 如 果 我 们 还 不 能 在 信 用 评 级 思 想 领

2014教师资格证考试《中学综合素质》仿真模拟题(4)

债券评级报告

关 注 本 期 证 券 未 办 理 抵 押 权 转 让 变 更 登 记 本 期 证 券 发 起 机 构 转 让 信 托 财 产 时, 按 惯 例 并 未 办 理 抵 押 权 转 让 变 更 登 记, 而 由 委 托 人 在 有 管 辖 权 的 政 府 机 构 登 记 部 门 继 续 登 记 为 名

nooog

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

untitled

<4D F736F F D20C6C0BCB6B1A8B8E6B7E2C3E6A3A8C7E0B5BABDF0CDF5B9C9B7DDB8FAD7D9A3A9>

涓浗鏂囧寲

C/C++ - 文件IO

_汪_文前新ok[3.1].doc

一、理事長的心聲……………………………………………


××公司

桂教高教〔2003〕117号(关于公布2003年“新世纪广西高等教育教学改革工程”重点资助项目暨新增立项项目的通知)

<4D F736F F D20D6D0B3CFD0C5B9FABCCAD3D0B9D8B8BAD4F0C8CBBECDA1B C4EAD6D0B9FAD2F8D0D0D2B5B9ABBFAAC6C0BCB6A1B1B4F0BCC7D5DFCECA2E646F63>

%

福 建 福 州 市 长 乐 市 电 视 机 影 音 及 配 件 产 品 小 家 电 产 品 长 乐 市 吴 航 洪 鸣 家 用 电 器 维 修 店 长 乐 市 西 洋 北 路 69 号 福 建 福 州 市 平 潭 县 电 视 机 影 音 及 配 件

3. 如 果 某 整 数 同 时 具 备 如 下 3 条 性 质 : 1 这 个 数 与 1 的 差 是 质 数 ; 2 这 个 数 除 以 2 所 得 的 商 也 是 质 数 ; 3 这 个 数 除 以 9 所 得 的 余 数 是 5. 那 么 我 们 称 这 个 整 数 为 幸 运 数. 求 出

<4D F736F F D2043D3EFD1D4B3CCD0F2C9E8BCC6CAD4BEEDBCB0B4F0B0B8A3A BCB62D3031A3A92E646F6378>

!"# $%& %!"# $%& %!"#$%& %! ( )***%% ) $)! +**+),,* -)+.* )( ) +, +*.*)+..**! )$,*)+$))$!"!#

Ps22Pdf

****************

, % % % 31.0% % 14.3% 2.4% % 1,400 2

Microsoft Word - 第3章.doc

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

银 行 占 比 下 降 了 0.61 个 百 分 点, 股 份 制 银 行 城 商 行 及 农 村 金 融 机 构 占 比 分 别 上 升 了 和 0.18 个 百 分 点 图 1: 固 定 资 产 投 资 与 银 行 业 金 融 机 构 资 产 规 模 增 长 情 况 从 16



中国畜牧业协会草业分会

Microsoft Word _ doc

<4D F736F F D C4EA33D4C2C8ABB9FABCC6CBE3BBFAB5C8BCB6BFBCCAD4B6FEBCB6B1CACAD4CAD4BEEDBCB0B2CEBFBCB4F0B0B82E646F63>

FY.DOC

可交换债

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

Transcription:

C 语言程序设计单元测验四 ( 数组 ) 一 单项选择题 ( 每题 1 分, 共 60 分 ) 1 若有以下说明语句 : int a[12]={1,2,3,4,5,6,7,8,9,10,11,12; char c= a,d,g; 则数值为 4 的表达式是 :( ) A a[g-c] B a[4] C a[ d - c ] D a[ d -c] 2 假设 int 型变量占两个字节的存储单元, 若有定义 : int x[10]={0,2,4; 则数组 x 在内存中所占字节数为 :( ) A 3 B 6 C 10 D 20 3 下列合法的数组定义是 :( ) A int a[]= string ; C char a= string ; 4 若给出以下定义 : char x[]= abcdefg ; B int a[5]={0,1,2,3,4,5; D char a[]={0,1,2,3,4,5; char y[]={ a, b, c, d, e, f, g ; 则正确的叙述为 :( ) A 数组 x 和数组 y 等价 C 数组 x 的长度大于数组 y 的长度 5 下面程序段的输出结果是 :( ) int j; int x[3][3]={1,2,3,4,5,6,7,8,9; for (j=0;j<3;j++) printf( %d,x[j][2-j]); B 数组 x 和数组 y 的长度相同 D 数组 y 的长度大于数组 x 的长度 A 1 5 9 B 1 4 7 C 3 5 7 D 3 6 9 6 下列程序运行后的输出结果是 :( ) { int n[3],t,j,k; for(t=0;t<3;t++) k=2; n[t]=0; for(t=0;t<k;t++) for(j=0;j<3;j++) n[j]=n[t]+1; printf( %d\n,n[1]); A 2 B 1 C 0 D 3 7 有以下程序 { int p[7]={11,13,14,15,16,17,18, i=0,k=0; while(i<7 && p[i]%2) { k =k+ p[i]; i++; printf("%d\n", k); 单元测验四第 1 页共 11 页

执行后输出结果是 :( ) A 58 B 56 C 45 D 24 8 以下能正确定义数组并正确赋初值的语句是:( ) A int N=5,b[N][N]; B int a[1][2]={{1,{3; C int c[2][]= {{1,2,{3,4; D int d[3][2]={{1,2,{3,4; 9 有以下程序 { int m[][3]={1,4,7,2,5,8,3,6,9; int i,j,k=2; for(i=0; i<3; i++) { printf("%d ",m[k][i]); 执行后输出结果是 :( ) A 4 5 6 B 2 5 8 C 3 6 9 D 7 8 9 10 以下能正确定义一维数组的选项是:( ) A int num[]; B int num[0..100]; C #define N 100 D int N=100; int num[n]; int num[n]; 11 下列选项中正确的语句组是:( ) A char s[8]; s={"beijing"; B char *s; s={"beijing"; C char s[8]; s="beijing"; D char *s; s="beijing"; 12 有以下程序段 int a[10]={1,2,3,4,5,6,7,8,9,10,*p=&a[3],b; b=p[5]; b 中的值是 :( ) A 5 B 6 C 8 D 9 13 有以下程序 int main( ) { char a[]="abcdefg",b[10]="abcdefg"; printf("%d %d\n",sizeof(a),sizeof(b)); 执行后输出结果是 :( ) A 7 7 B 8 8 C 8 10 D 10 10 14 有以下程序的输出结果是:( ) void swap1(int c[]) { int t; t=c[0];c[0]=c[1];c[1]=t; void swap2(int c0,int c1) { int t; 单元测验四第 2 页共 11 页

t=c0;c0=c1;c1=t; int main( ) { int a[2]={3,5,b[2]={3,5; swap(a); swap2(b[0],b[1]); printf("%d %d %d %d\n",a[0],a[1],b[0],b[1]); A 5 3 5 3 B 5 3 3 5 C 3 5 3 5 D 3 5 5 3 15 有以下程序 int f(int b[][4]) { int i,j,s=0; for(j=0;j<4;j++) { i=j; if(i>2) i=3-j; s+=b[i][j]; return s; int main( ) { int a[4][4]={{1,2,3,4,{0,2,4,5,{3,6,9,12,{3,2,1,0; printf("%d\n",f(a)); 执行后的输出结果是 :( ) A 12 B 11 C 18 D 16 16 有以下程序 void sort(int a[],int n) { in t i,j,t; for(i=0;i<n-1;i+=2) for(j=i+2;j<n;j+=2) if(a[i]<a[j]) { t=a[i];a[i]=a[j];a[j]=t; { int aa[10]={1,2,3,4,5,6,7,8,9,10,i; sort(aa,10); for(i=0;i<10;i++) printf("%d",aa[i]); printf("\n"); 其输出结果是 :( ) A 1,2,3,4,5,6,7,8,9,10, B 10,9,8,7,6,5,4,3,2,1, C 9,2,7,4,5,6,3,8,1,10, D 1,10,3,8,5,6,7,4,9,2, 单元测验四第 3 页共 11 页

17 有以下程序 void f(int a[],int i,int j) { int t; if(i<j) { t=a[i]; a[i]=a[j];a[j]=t; f(a,i+1,j-1); int main( ) { int i,aa[5]={1,2,3,4,5; f(aa,0,4); for(i=0;i<5;i++) printf("%d,",aa[i]); printf("\n"); 执行后输出结果是 :( ) A 5,4,3,2,1, B 5,2,3,4,1, C 1,2,3,4,5, D 1,2,3,4,5, 18 以下程序的输出结果是 :( ) { char ch[3][5]={"aaaa","bbb","cc"; printf("\"%s\"\n",ch[1]); A "AAAA" B "BBB" C "BBBCC" D "CC" 19 以下程序的输出结果是 :( ) { int b[3][3]={0,1,2,0,1,2,0,1,2,i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=i;j++) t=t+b[i][b[j][j]]; printf("%d\n",t); A 3 B 4 C 1 D 9 20 有以下程序 { int aa[4][4]={{1,2,3,4,{5,6,7,8,{3,9,10,2,{4,2,9,6; int i,s=0; for(i=0;i<4;i++) s+=aa[i][1]; printf("%d\n",s); 程序运行后的输出结果是 :( ) A 11 B 19 C 13 D 20 21 若有以下定义语句: 单元测验四第 4 页共 11 页

char s[10],s= abcd ;printf( %s\n,s); 则运行结果是 :( ) A 输出 abcd B 输出 a C 输出 ab cd D 编译不通过 22 不能把字符串 Hello! 赋给数组 b 的语句是 :( ) A char b[10]={ H, e, l, l, o,! ; B char b[10];b= Hello! ; C char b[10]; strcpy(b, Hello! ); D char b[10]= Hello! ; 23 若有以下程序段: char str[]= ab\n\012\\\ ; printf( %d,strlen(str)); 该程序段的输出结果是 :( ) A 3 B 4 C 6 D 12 24 函数调用 strcat(strcpy(str1,str2),str3) 的功能是 :( ) A 将串 str1 复制到串 str2 中后在连接到串 str3 之后 B 将串 str1 连接到串 str2 之后再复制到串 str3 之后 C 将串 str2 复制到串 str1 中后再将串 str3 连接到串 str1 之后 D 将串 str2 连接到串 str1 中后再将串 str1 复制到串 str3 中 25 下列程序的输出结果是:( ) { char ch[7]={ 65ab21 ; int j,s=0; for(j=0;ch[j]>= 0 &&ch[j]<= 9 ;j+=2) s=10*s+ch[j]- 0 ; printf( %d\n,s); A 12ba56 B 66521 C 6 D 62 26 设已定义 char s[]= \ Name\\Address\ \n ;, 则字符串 s 所占的字节数是 :( ) A 19 B 18 C 15 D 14 27 设已定义 char c[8]= Tianjin 和 int j, 则下面的输出函数调用中错误的是 :( ) A printf( %s,c); B for(j=0;j<8;j++) printf( %c,c[j]); C puts(c); D for(j=0;j<8;j++) puts(c[j]); 28 设已定义 char a[10] 和 int j, 则下面输入函数调用中错误的是 :( ) A scanf( %s,a); B for(j=0;j<9;j++) scanf( %c,a[j]); C gets(a); D for(j=0;j<9;j++) scanf( %c,&a[j]); 29 设已定义 char x[8] 和 int j, 为了给该数组赋值, 下面语句中正确的是 :( ) A x[8]= Turbo C ; B x= Turbo C ; C x[]= Turbo C ; D for(j=0;j<7;j++) x[i]=getchar(); 30 有如下程序, { int n[5]={0,0,0,j,k=2; for(j=0;j<k:j++) n[j]=n[j]+1; printf( %d\n,n[k]); 该程序的输出结果是 :( ) A 不确定的值 B 2 C 1 D 0 单元测验四第 5 页共 11 页

31. 在 C 语言中, 一维数组的定义方式为 : 类型说明符数组名 ( ) A.[ 常量表达式 ] B.[ 整型表达式 ] C.[ 整型常量 ] 或 [ 整型表达式 ] D.[ 整型常量 ] 32. 若有说明 :int a[10];, 则对 a 数组元素的正确引用是 :( ) A.a[10] B.a[3.5] C.a(5) D.a[10-10] 33. 在 C 语言中, 引用数组元素时, 其数组下标的数据类型允许是 :( ) A. 字符常量 B. 浮点型常量 C. 整型常量或整型表达式 D. 任何类型的表达式 34. 下列数组定义 初始化或赋值语句中, 正确的是 :( ) A.int x[5]={1,2,3,4,5,6; B.int n=8; int score[n]; C.int a[8]; a[8]=100; D.int x[]={1,2,3,4,5,6; 35. 合法的数组说明语句是 :( ) A.int a[]= string ; B.char a[]={0,1,2,3,4,5; C.char a = string ; D.int a[5]={0,1,2,3,4,5; 36. 已知 int a[][3]={1,2,3,4,5,6,7;, 则数组 a 的第一维的大小是 :( ) A.2 B.3 C.4 D. 无确定值 37. 若有说明 :int a[3][4];, 则对 a 数组元素的非法引用是 :( ) A.a[0][2*1] B.a[1][3] C.a[4-2][0] D.a[0][4] 38. 已有定义 :char a[]="xyz",b[]={'x','y','z';, 以下叙述中正确的是 :( ) A. 数组 a 和数组 b 的长度相同 B.a 数组长度小于 b 数组长度 C.a 数组长度大于 b 数组长度 D. 数组 a 和数组 b 等价 39. 对两个数组 a 和 b 进行如下初始化 : char a[]= ABCDEF ; char b[]={ A, B, C, D, E, F ; 则以下叙述正确的是 :( ) A. 数组 a 与数组 b 完全相同 B. 数组 a 与数组 b 长度相同 C. 数组 a 与数组 b 中都存放字符串 D. 数组 a 比数组 b 长度长 40. 有下面的程序段 : char a[3],b[]= China ; a=b; printf( %s,a); A. 运行后将输出 China B. 运行后将输出 Ch C. 运行后将输出 Chi D. 编译出错 41. 下面程序的运行结果是 :( ) char c[5]={ a, b, \0, c, \0 ; printf( %s,c); A.ab B.abc C.ab\0 D.ab\0c\0 42. 设有数组定义 :char array[]= china ;, 则数组 array 所占的空间为 :( ) A.4 个字节 B.5 个字节 C.6 个字节 D.7 个字节 43. 判断字符串 s1 是否大于字符串 s2, 应当使用 :( ) A.if(s1>s2) C.if(strcmp(s2,s1)>0) B.if(strcmp(s1,s2)) D.if(strcmp(s1,s2)>0) 44. 若有说明 :int a[][4]={0,0;, 则下面不正确的叙述是 :( ) A. 数组 a 的每个元素都可得到初值 0 B. 二维数组 a 的第一维大小为 1 C. 因为二维数组 a 中初值的个数不能被第二维大小的值整除, 则第一维的大小等于所得商数再 加 1, 故数组 a 的行数为 1 D. 只有元素 a[0][0] 和 a[0][1] 可得到初值 0, 其余元素均得不到初值 45. 下列语句中, 不正确的是 :( ) A.char str[5]="hello"; C.char str[5]={"hi"; 46. 下面错误的初始化语句是 :( ) B.char str[]={'h','e','l','l','o','\0'; D.char str[100]=""; 单元测验四第 6 页共 11 页

A.char str[]="hello"; C.char str[]={'h','e','l','l','o'; 单元测验四第 7 页共 11 页 B.char str[100]="hello"; D.char str[]={'hello'; 47. 定义了一维 int 型数组 a[10] 后, 下面错误的引用是 :( ) A.a[0]=1; B.a[10]=2; C.a[0]=5*2; D.a[1]=a[2]*a[0]; 48. 下面的二维数组初始化语句中, 错误的是 :( ) A.float b[2][2]={0.1,0.2,0.3,0.4; C.int a[2][]= {{1,2,{3,4; 49. 引用数组元素时, 数组下标可以是 :( ) B.int a[][2]={{1,2,{3,4; D.float a[2][2]={0; A. 整型常量 B. 整型变量 C. 整型表达式 D. 以上均可 50. 定义了 int 型二维数组 a[6][7] 后, 数组元素 a[3][4] 前的数组元素个数为 :( ) A.24 B.25 C.18 D.17 51. strlen("a\0b\0c") 的结果为 :( ) A.0 B.1 C.2 D.3 52. 下面程序的运行结果是 :( ) { int a[][3]={1,2,3,4,5,6; printf("%d",a[1][1]); A.3 B.4 C.5 D.6 53. 下面程序的运行结果是 :( ) { char s1[20]="good!"; char s2[15]="ab"; printf("%d",strlen(strcpy(s1,s2))); A.20 B.15 C.5 D.2 54. 下面程序的运行结果是 :( ) { char s1[20]="abcdef"; int i=0; while(s1[i++]!='\0') printf("%c", s1[i++]); A.ABCDEF B.BDF C.ABCDE D.BCDE 55. 下面程序的运行结果是 :( ) { int n[2]={0,i,j,k=2; for(i=0;i<k;i++) for(j=0;j<k;j++) n[j]=n[i]+1; printf("%d\n",n[k]);

A. 不确定的值 B.3 C.2 D.1 56. 下面程序的运行结果是 :( ) { int x[]={22,33,44,55,66,77,88; int k,y=0; for (k=1;k<=4;k++) if (x[k]%2==1) y++; printf("%d",y); A.0 B.1 C.2 D.3 57. 下面程序的运行结果是 :( ) { int a[3][3]={{1,2,{3,4,{5,6,i,j,s=0; for(i=1;i<3;i++) for(j=0;j<i;j++) s+=a[i][j]; printf("%d",s); A.14 B.19 C.20 D.21 58. 下面程序的运行结果是 :( ) { char ch[7]= {"12ab56"; int i,s=0; for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2) s=10*s+ch[i]-'0'; printf("%d",s); A.1 B.1256 C.12ab56 D.l2 59. 下面程序的运行结果是 :( ) { char s[]="ab1c2d4e"; int i; i=0; while(s[i]!='\0') { if(s[i]>='a'&&s[i]<='z') printf("%c",s[i]); i++; A.ab B.ab1c2d4e C.abcde D.a 60. 下面程序的运行结果是 :( ) { int i=0,n=0; char s[10]="298h01"; 单元测验四第 8 页共 11 页

for(i=0;s[i]!='\0';i++) if(s[i]<='9'&&s[i]>='0') n=n*10+(s[i]-'0'); else break; printf("%d\n",n); A.298h01 B.29801 C.01 D.298 二 判断题 ( 正确的在括号内打, 错误的在括号内打, 每题 1 分, 共 22 分 ) ( )1. 在程序中可以对数值数组中的数据进行整体使用 ( )2. 如果 strcmp(s1,s2) 的返回值为一个负数, 则表明字符串 s1 一定小于字符串 s2 ( )3. 字符数组的输出不能一次性的整体输出 ( )4. 用 scanf 函数输入的字符串不可以带空格 ( )5. 用 gets 函数输入的字符串可以带空格 ( )6. 实现两个字符串的复制可以使用 str1=str2; 语句 ( )7. 使用 strcpy 函数可以实现两个字符串的复制 ( )8. 使用 strcat 函数可以实现两个字符串的连接 ( )9. 使用 strlen 函数可以求出一个字符串的实际长度 ( 包含 \0 字符 ) ( )10. 如有定义 char a[]= student ; 则数组 a 的长度为 7 ( )11. 如有定义 char a[20]; 则可以通过 a= I am a boy ; 给 a 赋值 ( )12. 如有定义 int a[2][3]; 则数组 a 的最后一个元素为 a[1][2] ( )13. 如有定义 int a[3][4]={0; 则数组 a 的所有元素初值均为 0 ( )14.C 语言中数组名实质上是数组的首地址, 是一个变量地址, 可对其进行赋值 ( )15. 构成数组的各个元素可以有不同的数据类型 ( )16. 若有说明 :int a[10];, 则可以 a[10] 引用数组 a 的第 10 个元素 ( )17. 引用数组元素时, 其数组下标的数据类型允许的是 : 整型常量或整型表达式 ( )18. 若有 int a[10]={6,7,8,9,10;, 则是将 5 个初值依次赋给 a[0] 至 a[4] ( )19. 一个一维数组, 它的每一个元素也是类型相同的一维数组时, 便构成二维数组 ( )20. 在 C 语言中, 允许用字符串来直接初始化字符数组 ( )21. 字符数组的输出不能一次性的整体输出 ( )22. 使用 strcat 函数可以实现两个字符串的复制 三 多选题 ( 每题 1 分, 共 13 分 ) 1 以下关于数组的描述中, 正确的有 ( ) A 在定义数组时, 有时可以将该数组的维数省略 单元测验四第 9 页共 11 页

B 数组名实质上是数组的首地址, 是一个变量地址, 可对其进行赋值 C 构成数组的各个元素可以有不同的数据类型 D 有定义:int a[3]; 则定义了 a[0] a[1] a[2] 三个数组元素 E 在程序中可以对数值数组中的数据进行整体使用 2 以下关于数组的描述中, 错误的有 ( ) A 引用数组元素时, 其数组下标的数据类型允许的是 : 整型常量或整型表达式 B 可以通过数组名来整体引用一个数组 C 在程序中可以对数值数组中的数据进行整体使用 D 若有说明:int a[10];, 则可以 a[10] 引用数组 a 的第 9 个元素 E 若有说明:int a[10];, 则可以 a[10] 引用数组 a 的第 10 个元素 3 以下关于数组的描述中, 错误的有 ( ) A 可以通过如下语句来完成对一个数组的输入:int a[10]; scanf("%d",a); B 可以通过如下语句来完成对一个数组的输入:int a[10]; scanf("%d",&a); C 若有 int a[10]={6,7,8,9,10;, 则是将 5 个初值依次赋给 a[0] 至 a[4] D 数组元素可以像普通变量一样使用 E int a[9]; 则数组 a 的下标范围是 1-9 4 以下关于数组的描述中, 正确的有 ( ) A 数组名实质上是数组的首地址, 是一个常量, 不能对其赋值 B 在定义数组时, 有时可以将该数组的维数省略 C 一个一维数组, 它的每一个元素也是类型相同的一维数组时, 便构成二维数组 D 如有定义 int a[3][4]={0; 则数组 a 的所有元素初值均为 0 E 可以通过数组名来整体引用一个数组 5 以下关于数组的描述中, 错误的有 ( ) A 如有定义 int a[2][3]; 则数组 a 的最后一个元素为 a[1][2] B 一个一维数组, 它的每一个元素也是类型相同的一维数组时, 便构成二维数组 C 若有说明:static int a[3][3]; 那么数组 a 中每个元素初值为 0 D 在定义二维数组时, 可以将该数组的两个维数全部省略 E 如有定义 char a[20]; 则可以通过 a="i am a boy"; 给 a 赋值 6 若有说明 :int a[][4]={0,0;, 则下面正确的叙述有 ( ) A 数组 a 的每个元素都可得到初值 0 B 二维数组 a 的第一维大小为 1 C 因为二维数组 a 中初值的个数不能被第二维大小的值整除, 则第一维的大小等于所得商数再加 1, 故数组 a 的行数为 1 D 只有元素 a[0][0] 和 a[0][1] 可得到初值 0, 其余元素均得不到初值 E 只有元素 a[1][1] 和 a[1][2] 可得到初值 0, 其余元素均得不到初值 7 以下关于数组的描述中, 正确的有 ( ) A 若有定义 char a[]="hello";, 则数组 a 的长度为 6 B 有定义 char a[3]; 则定义了 a[1] a[2] a[3] 三个数组元素 C 构成字符数组的各个元素必须是字符类型的数据 D 可以通过数组名来整体引用一个数组 E 设有数组定义 char array [ ]="China"; 则数组 array 所占的空间为 5 个字节 8 以下关于数组的描述中, 正确的有 ( ) A 在 C 语言中, 允许用字符串来直接初始化字符数组 B 若有定义 char a[20];, 则可以通过 a="i am a boy"; 给 a 赋值 C 若有 char a[10]={1,2,3;, 则是将 3 个初值依次赋给 a[1] 至 a[3] 单元测验四第 10 页共 11 页

D 构成字符数组的各个元素必须是字符类型的数据 E 数组名实质上是数组的首地址, 是一个常量, 不能对其赋值 9 以下关于数组的描述中, 错误的有 ( ) A 字符数组的输出不能一次性的整体输出 B 若有 char a[10]={1,2,3;, 则是将 3 个初值依次赋给 a[0] 至 a[2] C 构成字符数组的各个元素可以是不同数据类型的元素 D 构成字符数组的各个元素必须是字符类型的数据 E 若有定义 char b[]="hello";, 则数组 b 的长度为 6 10 下列语句中, 正确的有 ( ) A char str[5]="hello"; C char str[5]={"hi"; E char str[3]="this"; B char str[]={'h','e','l','l','o','\0'; D char str[100]=""; 11 函数调用 strcat(strcpy(str1,str2),str3) 的功能, 以下说法错误的有 ( ) A 将串 str1 复制到串 str2 中后在连接到串 str3 之后 B 将串 str1 连接到串 str2 之后再复制到串 str3 之后 C 将串 str2 复制到串 str1 中后再将串 str3 连接到串 str1 之后 D 将串 str2 连接到串 str1 中后再将串 str1 复制到串 str3 中 E 将串 str2 连接到串 str1 中后再将串 str3 复制到串 str1 中 12 以下关于数组的描述中, 正确的有 ( ) A 在定义数组时, 有时可以将该数组的维数省略 B 数组元素可以像普通变量一样使用 C 若有 int a[10]={6,7,8,9,10;, 则是将 5 个初值依次赋给 a[0] 至 a[4] D 如有定义 char a[]="student"; 则数组 a 的长度为 7 E 若有定义 double x[3][5]; 则 x 数组中行下标的下限为 0, 列下标的上限为 4 13 定义了一维 int 型数组 a[10] 后, 下面正确的引用有 ( ) A a[0]=1; B a[10]=2; C a[0]=5*2; D a[1]=a[2]*a[0]; E a[2]=a[1]+a[0]; 四 (5 分 ) 编写程序计算字符串中子串出现的次数 单元测验四第 11 页共 11 页