1、国家二级( C语言)笔试模拟试卷 63及答案与解析 1 计算机硬件组成中, CPU包含 _。 ( A)控制器和存储器 ( B)控制器和运算器 ( C)控制器、运算器和存储器 ( D)内存储器和外存储器 2 与十六进制数 CD相等的十进制数是 _。 ( A) 205 ( B) 206 ( C) 207 ( D) 208 3 软盘处于写保护状态时,其中记录的信息 _。 ( A)不可能丢失 ( B)不能被擦除,但能追加新的信息 ( C)不能通过写磁盘操作被更新 ( D)不能以常规方式擦除,但可 以通过操作系统的格式化功能擦除 4 将二进制数 10100101转换为十六进制数应该是 _。 ( A) 2
2、45 ( B) A5 ( C) B5 ( D) 165 5 一个采用顺序存储方式的线性表中,若线性表的第一个元素的存储地址是 200,每一个元素的长度是 2,则第 6个元素的地址是 _。 ( A) 208 ( B) 210 ( C) 211 ( D) 212 6 二分查找一个具有 n个元素的有序表,其时间复杂度为 _。 ( A) O(n) ( B) O(n2) ( C) O(log2n) ( D) (nlog2n) 7 在下列方法中,不用查找表中数据元素的关系进行查找的方法是 _。 ( A)有序表查找 ( B)二叉排序树查找 ( C)平衡二叉树 ( D)散列查找 8 软件系统生命周期的第一个阶
3、段是 _。 ( A)软件分析阶段 ( B)软件设计阶段 ( C)软件运行阶段 ( D)软件维护阶段 9 数据字典是对数据定义信息的集合,它所定义的对象都包含于 _。 ( A)程序框图 ( B)软件结构 ( C)数据流图 ( D)方框图 10 在关系型的数据库管理系统中, 3种基 本关系运算是 _。 ( A)选择、投影和连接 ( B)选择、删除和复制 ( C)创建、修改和合并 ( D)统计、连接和分类 11 以下运算符中优先级最低的算符是 _。 ( A) ( B) int a,b,c=1; ( C) a=b=c=1; ( D) int a=1,b=1,c=1; 13 设 c1, c2均是 cha
4、r类型变量,则不正确 的函数调用为 _。 ( A) printf(“%c,%c,“,c1,c2) ( B) getchar(c1) ( C) putchar() ( D) putchar(c1) 14 若 m, y, z均为 int型变量,则执行下面语句后 m值是 _。 m=1;x=2;y=3;z=4; m=(m x)?m:x; m=(n y)?m:y; m=(m z)?m;z; ( A) 1 ( B) 2 ( C) 3 ( D) 4 15 以下关于 switch语句和 break语句的描述中,正确的是 _。 ( A)在 switch语句中必须使用 break语句 ( B)在 switch语句
5、中,可以根据需要使用或不使用 break语句 ( C) break语句只能用于 switch语句中 ( D) break语句是 switch语句的一部分 16 属于 C语言中合法的常量是 _。 ( A) 1.52e ( B) 100 ( C) x ( D) xty 17 若已知 a=10, b=20,则表达式 !a b的值为 _。 ( A) 10 ( B) 1 ( C) 20 ( D) 30 18 设 a为整型变量 ,不能正确表达数学关系 “10 a 15”的 C语言表达式是_。 ( A) 10 a 15 ( B) a=11|a=12|a=13|a=14 ( C) a 10c2=98; pri
6、ntf(“%d%c“,c1,c2); ( A) 97 98 ( B) 97 b ( C) a 98 ( D) a b 20 己知 x=3, y=2,则表达式 x*=y+8的值为 _。 ( A) 3 ( B) 2 ( C) 30 ( D) 10 21 在 C语言中,引用数组元素时,其数组下标的数据类型允许是 _。 ( A)整型常量 ( B)整型表达式 ( C)整型常量或整型表达式 ( D)任何类型的表达式 22 以下的 for循环 _。 for(x=0,y=0;(y!=123)|(x 4);x+) ( A)是无限循环 ( B)循环次数不定 ( C)执行 4次 ( D)执行 3次 23 若已定义
7、x和 y为 double类型, 则表达式 x=1, y=x+5/2的值是 _。 ( A) 3 ( B) 4 ( C) 3 ( D) 3.5 24 若运行时输入 12,则以下程序的输出结果是 _。 main() intx,y; scanf(“%d“, y=x 12? x+1:x-1; printf(“%dn“,y); ( A) 10 ( B) 11 ( C) 12 ( D) 13 25 C语言中 while循环和 do-while循环的主要区别是 _。 ( A) do-while的循环体至少无条件执行一次 ( B) while的循环控制条件比 do-while的循环控制条件严格 ( C) do-
8、while允许从外部转到循环体内 ( D) do-while的循环体不能是复合语句 26 执行下面的语句后,表达式 *(p0+1)+*(q+2)的值为 _。 int a=5,4,3,2,1,*p=a+3,a+2,a+1,a,*q=p; ( A) 8 ( B) 7 ( C) 6 ( D) 5 27 设有如下定义,则以下叙述中正确的是 _。 int(*ptr)(); ( A) ptr是指向一维数组的指针变量 ( B) ptr是指向 int型数据的指针变量 ( C) ptr是指向函数的指针,该函数返回一个 int型数据 ( D) ptr是一个函数名,该函数的返回值是指向 int型数据的指针 28 下
9、列程序的输出结果是 _。 main() char a10=9,8,7,6,5,4,3,2,1,0,*p=a+5; printf(“%d“,*-p); ( A)非法 ( B) a4的地址 ( C) 5 ( D) 3 29 若有以下定义: int a=1,2,3,4,5,6,7; char c1=b,c2=1;则数值不为 1的表达式是 _。 ( A) a0 ( B) c-c1 ( C) a1-c2 ( D) c1-0 30 若有说明: int s23=0;,则下面正确的叙述是 _。 ( A)只有元素 s00可得到初值 0 ( B)此说明语句不正确 ( C)数组 s中各元素都可得到初值,但其值不一定
10、为 0 ( D)数组 s中每个元素均可得到初值 0 31 以下程序的输出结果是 _。 main() int a=-1,b=1,k; if(+a0) else printf(“%d %dn“,b,a); ( A) -1 1 ( B) 0 1 ( C) 1 0 ( D) 0 0 32 以下所列的各函数首部中,正确的是 _。 ( A) void play(Var:Integer,var b:Integer) ( B) void play(int a,b) ( C) void play(int a,int b) ( D) Sub play(a as integer,b as integer) 33 以
11、下程序的输出结果是 _。 int d=1; fun(int p) static int d=5; d+=p; printf(“%d “,d); return(d); main() int a=3; printf(“%dn“,fun(a+fun(d); ( A) 699 ( B) 669 ( C) 6 15 15 ( D) 6615 34 以下程序的输出是 _。 struct st int x;int*y; *p; int dt4=10,20,30,40; struct st aa4=50, main() p=aa; printf(“%dn“,+(p- X); ( A) 51 ( B) 11 (
12、 C) 50 ( D) 60 35 有如下说明: int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为 9的表达式是_。 ( A) *p+9 ( B) *(p+8) ( C) *p+=9 ( D) p+8 36 设下面程序的可执行文件名为 prg.exe,在该程序所在子目录下输入以下命令行: prg hello good回车则程序的输出结果是 _。 main()(int argc,char*argv) int i; if(argc =0)return; for(i=1;i argc;i+) printf(“%c“,*argvi); ( A) hello good ( B
13、) hg ( C) hel ( D) hellogood 37 在 C语言中,函数的隐含存储类别是 _。 ( A) auto ( B) static ( C) extern ( D)无存储类别 38 以下程序的输出结果是 _。 main() int i,k,a10,p3; k=5; for(i=0;i 10;i+) ai=i; for(i=0;i 3;i+) pi=ai*(i+1); for(i=0;i 3;i+) k+=pi*2; printf(“%dn“,k); ( A) 20 ( B) 21 ( C) 22 ( D) 23 39 若有以下定义和语句: char*s1=“12345“,*s
14、2=“1234“; printf(“%dn“,strlen(strcpy(s1,s2);则输出结果是 _。 ( A) 4 ( B) 5 ( C) 9 ( D) 10 40 下面程序的输出结果是 _。 main() int a=1,2,3,4,5,6,7,8,9,0,*p; p=a;ptintf(“%dn“,*p+9); ( A) 0 ( B) 1 ( C) 10 ( D) 9 41 下列程序的输出结果是 _。 #include stdio.h main() char *p1,*p2,str50=“xyz“; p1=“abcd“; p2=“ABCD“; strcpy(str+2,strcat(p
15、1+2,p2+1); ptintf(“%s“,str); ( A) xyabcAB ( B) abcABz ( C) ABabcz ( D) xycdBCD 42 当执行下面程序且输入 a boy时,输出的结果是 _。 #include stdio.h #include string.h main() char ss81=“A BOY“,hh81,*pt; scanf(“%s“,hh); pt=strcat(ss,hh); puts(pt); printf(“%sn“,hh); ( A) A BOY a a ( B) A BOY a boy a boy ( C) A BOY a boy a (
16、 D) A BOY a boy a boy 43 以下程序的输出结果是 _。 main() int a33=1,2,3,4,5,6,i,j,s=0; for(i=1;i 3;i+) for(j=0;j =i;j+) s+=aij; printf(“%dn“,s); ( A) 18 ( B) 19 ( C) 20 ( D) 21 44 字符 0的 ASC 码的十进制数为 48,且数组的第 0个元素在低位,则以下程序的输出结果是 _。 #include stdio.h main() unionint i2;long k;char c4;r,*s= s- i0=0x39; s- i1=0x38; p
17、rintf(“%cn“,s-c0); ( A) 39 ( B) 9 ( C) 38 ( D) 8 45 以下对 C语言中共用体类型数据的正确叙述是 _。 ( A)可以对共用体变量名直接赋值 ( B)一个共用体变量中可以同时存放其所有成员 ( C)一个共用体变量中不能同时存放其所有成员 ( D)共用体类型定义中不能出现结构体类型的成员 46 在宏定义 #define PI 3.14159中,用宏名 PI代替一个 _。 ( A)单精度数 ( B)双精度数 ( C)常量 ( D)字符串 47 若有宏定义如下: #define X 5 #define Y X+1 #define Z Y*X/2以下程序
18、段的输出结果是 _。 int a;a=Y; printf(“%dn“,Z); printf(“%dn“,-a); ( A) 7 6 ( B) 12 6 ( C) 12 5 ( D) 7 5 48 设有以下语句: char a=3,b=6,c; c=ab 2;则 c的二进制值是 _。 ( A) 11011 ( B) 10100 ( C) 11100 ( D) 11000 49 以下正确的说法是 _。 ( A)实参和与其对应的形参各占用独立的存储单元 ( B)实参和与其对应的形参共用一个存储单元 ( C)只有当实参和与其对应的形参同名时才共用存储单元 ( D)型参是虚拟的,函数在没有被调用时,不占
19、用存储单元 50 以 下正确的叙述是 _。 ( A) C语言允许 main函数带形参,且形参个数和形参名均可由用户指定 ( B) C语言允许 main函数带形参,形参名只能是 argc和 argv ( C)当 main函数带有形参时,传给形参的值只能从命令行中得到 ( D)若有说明: main(int argc,char *argv),则形参 argc的值必须大于 1 51 实现算法所需的存储单元多少和算法的工作量大小分别称为算法的【 】。 52 数据结构包括数据的逻辑结构、数据的【 】以及对数据的操作运算。 53 一个类 可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【
20、 】。 54 面向对象的模型中,最基本的概念是对象和【 】。 55 软件维护活动包括以下几类:改正性维护、适应性维护、【 】维护和预防性维护。 56 下面程序的输出是【 】。 main() int arr10,i,k=0; for(i=0;i 10;i+) arri=i; fov(i=1;i 4;i+) k+=arri+i; printf(“%dn“,k); 57 若 a=10, b=20,则表达式 !(a b)的值是【 】。 58 有以下程序 int fa(int x)return x*x; int fb(int x)retum x*x*x; int f(int(*f1)(),int(*f2
21、)(),int x) return f2(x)-f1(x); main() int i;i=f(fa,fb,2);printf(“%dn“,i); 程序运行后,输出结果是【 】。 59 下面程序的输出是【 】。 main() enum ernem1=3,em2=1,em3; char *aa=“AA“,“BB“,“CC“,“DD“; printf(“%s%s%sn“,aaem1,aaem2,aaem3); 60 若想通过以下输入语句使 a=5.0, b=4, c=3,则输入数据的形式应该是【 】。 int b,c; float a; scanf(“%f,%d,c=%d“, dp=x*x-y*y
22、; main() int a=4,b=3,c=5,d=6; t(a,b,c,d); printf(“%d%dn“,c,d); 62 下面程序的输出结果是【 】。 char b=“ABCD“; main() char b30; strcpy( strcpy( strcpy( printf(“%sn“,b); 63 有以下定义和语句,则 sizeof(a)的值是 【 】 ,而 sizeof(a.share)的值是 【 】 。 struct date int day; int mouth; int year; union int share1; float share2; share; a; 64
23、下述函数用于统计一行字符中的单词个数,单词之间用空格分隔。 word_num(str) char str; int i,num=0,word=0; fo(i=0;stri!=【 】 ;i+) if(【 】 =)word=0; else if(word=0) word=1; 【 】 ; return(num); 65 有一个已排好序的数组,今输入一个数,要求按原来的顺序规律将它插入到数组中。算法是:假设排序顺序是从小到大,对输入的数,检查它在数组中哪个数之后,然后将比这个数大的数顺序后移一个位置,在空出的位置上将该数插入。请在程序中的空白处填上一条语句或一个表达式。 #define N 100
24、main() float aN+1,x; int i,p; for(i=0;i N;i+) scanf(“%f“ scanf(“%f“, for(i=0,p=N;i N;i+) if(x ai) 【 】 ; break; for(i=N-1;【 】 ;i-) ai+1=ai; ap=x; for(i=0;【 】 ;i+) printf(“%8.2f“,ai); if(i%5=0) printf(“n“); 国家二级( C语言)笔试模拟试卷 63答案与解析 1 【正确答案】 B 2 【正确答案】 A 【试题解析】 CD=12*16+13=192+13=205。 3 【正确答案】 C 4 【正确答
25、案】 B 【试题解析】 (1010010)2=(165)10=(A5)16。 5 【正确答案】 B 【试题解析】 顺序结构中,第 n个元素的地址为 An=A0+(n-1)*L (A为地址, L为元素长度 )。 6 【正确答案】 C 【试题解析】 二分法中查找时间 t与查找次数 m呈比例关系, 2m=n(n为极限查找个数 ), m=log2n,所以查找时间复杂度与 log2n相关。 7 【正确答案】 D 【试题解析】 线性表查找和树型查找都是利用了数据元素之间的关系进行查找,只有散列查找是利用关键词值与存储位置来进行查找。 8 【正确答案】 A 【试题解析】 软件工程的第一个阶段是软件分析阶段
26、。软件分析阶段的工作是由软件分析员和用户一起来做的。软件分析的结果是分析人员写出的分析报告,该分析报告实际上就是软件系统的系统总体设计方案。 9 【正确答案】 C 【试题解析】 数据字典是对数据定义的信息的集合,是对数据流图中包含的所有元素定义的集合。数据流图和数据字典共同构成系统的逻辑模型,没有数据流图则数据字典难以发挥作用,没有数据字典则数据流图就不严格。 10 【正确答案】 A 【试题解析】 在关系型数据库管理系统中,基本的关系运算有选择、投影和联接3种操作。选择,指的是从二维关系 表的全部记录中,把那些符合指定条件的记录挑选出来。对于投影,是指从所有字段中选取一部分字段及其值进行操作,
27、它是一种纵向操作。投影操作可以改变关系的结构。而联接运算则通常是对两个关系进行投影操作来连接生成一个新的关系。当然,这个新的关系可以反映出原来两个关系之间的联系。 11 【正确答案】 C 【试题解析】 本题中运算符优先级顺序从高到低依次是: ”说明 ptr是一个指向函数的指针,返回值是整型。*ptr两边的括号非常关键,表示 *和 ptr组合成一个指针变量,然后再和后边的圃括号结 合,表示该指针变量 *ptr是一个指向函数的指针变量。如果没有 *ptr两边的括号, “int*ptr();”表示 ptr是个函数,该函数返回指向整型数据的指针。 28 【正确答案】 C 【试题解析】 p是一个指向字符
28、的指针,在定义时,指向 a5。执行 -p时, p就指向了 a4,那么 *-p就是 5。 29 【正确答案】 D 【试题解析】 字符在进行数学运算时取其 ASC 码值, “b”的 ASC 码为 98,则 D项中表达式的值不为 1。 30 【正确答案】 D 【试题解析】 给二维数组赋 初值时,若所赋初值不足,则给后面的元素自动补初值 0。 31 【正确答案】 C 【试题解析】 C语言中如果逻辑与运算符左边的表达式为假,右边的表达式就不再运算了, (+a 0)=(0 0)=0,所以逻辑与右边的表达式就不参与运算,没有改变 b的值。因此输出 b=1, a=0。 32 【正确答案】 C 【试题解析】 C
29、语言中函数首部中的各参数必须分开单独定义,因此选项 C才是正确的。而选项 A和 D是其他语言的函数定义方式。 33 【正确答案】 C 【试题解析】 本题要注意静态变量 d。第 1次执 行 fun(d),即 fun(1),在函数fun里对静态变量赋初值 5,得到 d=d+p=5+1=6并输出,返回 6;第 2次执行fun(a+fun(d),即 fun(3+6)=fun(9),在函数 fun中直接执行 d=d+p=6+9=15并输出,然后返回 15再一次输出。 34 【正确答案】 A 【试题解析】 p是指向结构 aa的结构指针, +(p- x)是对 p的 x成员的值进行加 1。 p=aa使得 p指
30、向 aa的首地址, p- x的值为 50,那么 +(p- X)就等于51。 35 【正确答案】 B 【试题解析】 p是指向整型变量的指针,并赋初值指向了数组 a的首地址,*p=1,选项 A中 *p+9=10,选项 C的 “*p+=9”的值为 10。而 p+8是指向数组 a的第 9个元素的地址,只有 *(p+8)才是数组 a的第 9个元素。 36 【正确答案】 B 【试题解析】 argc=3, argv1=hello, argv2=good。注意: printf格式串中是 %c,因此输出 argv1和 argv2的第一个字符,即 hg。 37 【正确答案】 C 【试题解析】 C语言中如无特别说明
31、,函数的隐 含存储类别为外部 extern类别。 38 【正确答案】 B 【试题解析】 第 1个循环对数组 a进行赋值:第 2个循环对数组 p进行赋值;第3个循环对 k进行累加, k的初值等于 5,第 1次循环, k=k+p0*2=5+0*2=5,第2次循环, k=k+p1*2= 5+2*2=9,第 3次循环, k=k+p2*2=9+6*2=21并输出。 39 【正确答案】 A 【试题解析】 函数 strcpy(s1,s2)的返回结果是指针 s1的新值 “1234“,因此求串长函数的结果为 4。 40 【正确答案】 C 【试题解析】 p是一个指向整型数据的指针,执行 p=a后, p指向 a0。
32、指针运算比算术运算的级别高,先运算 *p,得到 1,然后执行加 9,结果等于 10。 41 【正确答案】 D 【试题解析】 本题考查对字符串进行处理的函数 strcat()和 strcpy(),其中strcat(P1,p2)是把字符串 p2连至 p1后面, strcpy(p1,p2)是把 p2指向的串复制到p1指向的空间。 42 【正确答案】 A 【试题解析】 对于函数 strcat(ss,hh),把字符串 hh(若遇空格,舍去 后面的部分,并重新赋给 hh)连至字符串 ss的后面。 43 【正确答案】 A 【试题解析】 本题首先定义了一个数组并附初值 ,然后通过两个 for循环计算 3、 4
33、、 5、 6的累加值,并用 s保存。 44 【正确答案】 B 【试题解析】 本题考查的是共用体变量的引用。 45 【正确答案】 C 【试题解析】 共用体变量中的所有成员共享一段公共存储区,并非同时存放于共用体变量中,如共用体变量中有两个成员, int型成员占两个字节, float型成员占4个字节,则该共用体变量占 4个字节,并非 2+4=6个 字节。 46 【正确答案】 D 【试题解析】 程序中用 #define定义后, PI代表一串字符。 47 【正确答案】 D 【试题解析】 根据宏定义知: X=5, Y=X+1=6, Z=Y*X/2=X+1*X/2=7,a=Y=6, -a=5。 48 【正
34、确答案】 A 【试题解析】 本题考查的知识点: 异或运算:参与运算的两个运算数中相对应的二进制位上,若数相同,则为 0;否则为 1。即 “同 0异 1”; 左移运算:左移时,右端补 0,左端移出的部分舍弃。 49 【正确答案】 D 【试题解 析】 形参在个数和类型上要与实参匹配,形参在未被调用之前,不占用存储单元。 50 【正确答案】 C 【试题解析】 C语言通常允许 main()函数带有两个参数,可由用户自己命令,但类型是固定的。第一个参数是整型,第二个参数是一个指向字符型指针数组的指针或一个基本类型为字符型的指针数组,此时传给形参的值只能从命令行中得到。 51 【正确答案】 空间复杂度和时
35、间复杂度 【试题解析】 算法的复杂性是捐对一个在有限步骤内终止算法和所需存储空间大小的估计。算法所需存储空间大小是算法的空间复杂性,算法 的计算量是算法的时间复杂性。 52 【正确答案】 存储结构 【试题解析】 数据结构包括 3个方面,即数据的逻辑结构、数据的存储结构及对数据的操作运算。 53 【正确答案】 可重用性 【试题解析】 继承的优点:相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余,提高软件的可重用性。 54 【正确答案】 类 【试题解析】 面向对象模型中,最基本的概念是对象和类。对象是现实世界中实体的模型化:将属性集和方法集相同的所有对象组合在一起,可以构成一个类。
36、 55 【正确答案 】 完善性 【试题解析】 软件维护活动包括以下几类;改正性维护、适应性维护、完善性维护和预防性维护。完善性维护是指为了满足用户对软件提出的新功能与性能要求,需要修改或再开发软件,以扩充软件功能、增强软件睦能、改进加工效率、提高软件的可维护性。 56 【正确答案】 12 【试题解析】 本题通过第一个 for循环将数组 arr0=arr9分别赋值为 0-9,通过第二个 for循环的三次循环累加,求出结果为 12,具体分析如下: i=1:k=0+arr1+1 即 k=2; i=2:k=2+arr2+2 即 k=6; i=3:k=6+arr3+3 即 k=12: 57 【正确答案】
37、 0 【试题解析】 已知 a=10, b=20,所以逻辑表达式 a b的值为 true,即为 1,在这个表达式前面有 个逻辑运算符 !,表示反操作,所以整个语句的值应当为false,即为 0。 58 【正确答案】 4 【试题解析】 在主函数中调用函数 f,函数 f有三个参数,形参 f1与 f2分别是两个指向函数的指针。在 f中执行 f2(x)-f1(x),实际上是执行了 fb(2)-fa(2),故执行i=(fa,fb,2)后 i的值为 23-22=4。 59 【正确答案】 DDBBCC 【试题解析】 c语言对枚举的定义规定定:在枚举中声明的各个枚举元素,如果没有明确指出某个枚举元素的值,它的上
38、一个元素存在并有明确值的情况下,这个枚举元素的值为其上一个元素的值 +1。在本题中,没有明确说明枚举元素 em3的值,则 em3=em2+1=1+1=2,进而可知,在 printf()打印函数中,要打印的数组元素是 aa3、 aa1、 aa2,因此最后的打印结果应当为 “DDBBCC”。 60 【正确答案】 5.0,4,c=3 【试题 解析】 scanf(掐式控制,地址列表 ),如果在 “格式控制 ”字符串中除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同的字符。所以此题中输入数据的形式是 5.04, c=3。 61 【正确答案】 56 【试题解析】 本题中 a, b, c,
39、d是实参, x, y, cp, dp是形参。 C语言规定,实参变量对形参变量的数据传递是 “值传递 ”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。在内存中,实参单元与形参单元是不同的单元。在调用函数时,绐形参分配存储单元,并将实参对应的值传递给形参,调用结束后,形参单元被释放,实参单元仍保留并维持原值。因此,程序的输出结果是56。 62 【正确答案】 GGGH 【试题解析】 由于在函数 main中定义了数组变量 b,其将屏蔽全局变量 b。对于一维数纽变量,其值为一常数,等于数组首元素地址。 strcpy(插入排序的第二部是将大于待插入元素的所有元素都向后移动 位,故在循环时,要从最后一个元素到第 p个元素都要后移一位,因此第二空应填 i=p。最后一个循环是将 N+1个元素都输出,故最后一空应为 i =N。 (注:本题有多种答案,以上仅提供一种 )