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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文([计算机类试卷]国家二级(C语言)机试历年真题试卷汇编17及答案与解析.doc)为本站会员(ownview251)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[计算机类试卷]国家二级(C语言)机试历年真题试卷汇编17及答案与解析.doc

1、国家二级( C语言)机试历年真题试卷汇编 17及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 ( B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 ( C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 ( D)循环队列中元素的个数是由队头指针和队尾指针共同决定的 2 下列各序列中不是堆的是 ( )。 ( A) (91, 85, 53, 36, 47, 30, 24, 12) ( B) (91, 85, 53, 47, 36, 30, 24, 12) ( C) (47, 91, 53,

2、85, 30, 12, 24, 36) ( D) (91, 85, 53, 47, 30, 12, 24, 36) 3 设循环队列为 Q(1: m),其初始状态为 front=rear=m。经过一系列入队与退队运算后, front=15, rear=20。现要在该循环队列中寻找最大值的元素,最坏情况下需要比较的次数为 ( )。 ( A) 4 ( B) 6 ( C) m一 5 ( D) m一 6 4 定义无符号整数类为 UInt,下面可以作为类 UInt实例化值的是 ( )。 ( A)一 369 ( B) 369 ( C) 0 369 ( D)整数集合 1, 2, 3, 4, 5 5 一个栈的初

3、始状态为空。现将元素 1、 2、 3、 4、 5、 A、 B、 C、 D、 E依次入栈,然后再依次出栈,则元素出栈顺序是 ( )。 ( A) 12345ABCDE ( B) EDCBA54321 ( C) ABCDE12345 ( D) 54321EDCBA 6 如下所示的系统结构图的最大出扇数是 ( )。( A) n ( B) 1 ( C) 3 ( D) 4 7 软件设计中模块划分应遵循的准则是 ( )。 ( A)低耦 合、低内聚 ( B)高耦合、高内聚 ( C)低耦合、高内聚 ( D)内聚与耦合无关 8 软件的生命周期是指 ( )。 ( A)软件产品从提出、实现、使用维护到停止使用退役的过

4、程 ( B)软件从需求分析、设计、实现到测试完成的过程 ( C)软件的开发过程 ( D)软件的运行维护过程 9 在数据库设计中,描述数据间内在语义联系得到 E R图的过程属于 ( )。 ( A)逻辑设计阶段 ( B)需求分析阶段 ( C)概念设计阶段 ( D)物理设计阶段 10 一个运动队有多个队员,一个队员仅属于一个 运动队,一个队一般都有一个教练,则实体运动队和队员的联系是 ( )。 ( A)一对多 ( B)一对一 ( C)多对一 ( D)多对多 11 以下叙述中错误的是 ( )。 ( A)使用三种基本结构构成的程序只能解决简单问题 ( B)结构化程序由顺序、分支、循环三种基本结构组成 (

5、 C) C语言是一种结构化程序设计语言 ( D)结构化程序设计提倡模块化的设计方法 12 C源程序中不能表示的数制是 ( )。 ( A)十进制 ( B)八进制 ( C)二进制 ( D)十六进制 13 关于 C语言标 识符,以下叙述中错误的是 ( )。 ( A)标识符可全部由数字组成 ( B)标识符可全部由下画线组成 ( C)标识符可全部由小写字母组成 ( D)标识符可全部由大写字母组成 14 若有定义语句: int x=10;,则表达式 x一 =x+x的值为 ( )。 ( A) 10 ( B)一 20 ( C) 0 ( D)一 10 15 以下叙述中正确的是 ( )。 ( A)分支结构是根据算

6、术表达式的结果来判断流程走向的 ( B)在 C语言中,逻辑真值和假值分别对应 1和 0 ( C)对于浮点变量 x和 y,表达式: x=y是非法的,会出编译错误 ( D)关系运算符两边的运算对象可以是 C语言中任意合法的表达式 16 与数学表达式 x =y =z对应的 C语言表达式是 ( )。 ( A) (x =y) (y =x) ( B) (x =y =z) ( C) (x =y)!(y =z) ( D) (x =y)&(y =z) 17 有以下程序: #include main() int a=010, b=0X10, c=10; printf(“ d, d, d n“, a, b, c);

7、 程序的运行结果是 ( )。 ( A) 10, 10, 10 ( B) 8, 16, 10 ( C) 8, 10, 10 ( D) 8, 8, 10 18 设有定义: int a, b; float x, y;,则以下选项中对语句所做的注释叙述错误的是 ( )。 ( A) scanf(“ d d“, &a, &b, &x); *多余的输入项不能获得输入数据 * ( B) scanf(“ d d f“, a, &b); *多余的格式符 f完全不起作用 * ( C) scanf(“ d f d“, &a, &b, &x); *输入项与格式符类 型不匹配,变量 b和 x得不到正确的输入数据 * (

8、D) scanf(“Input: d d“, &a, &b); *格式串中允许加入格式符以外的字符串 * 19 有以下程序: #include main() int x=1, y=0; if(!x)y+; else if(x=0) if(x)y+=2: else y+=3; printf(“ d n“, y); 程序运行后的输出结果是 ( )。 ( A) 0 ( B) 2 ( C) 1 ( D) 3 20 若有以下程序: #include main() int s=0, n; for(n=0; n main() int a=1, b=1; while(a一一 ) b一一: printf(“ d

9、 d n“, a, b); 程序的运行结果是 ( )。 ( A)一 1 1 ( B) 0 0 ( C)一 1 0 ( D) 1 1 24 以下数组定义中错误的是 ( )。 ( A) int x23=1, 2, 3, 4, 5, 6; ( B) int x3=0; ( C) int x3=1, 2, 3, 4, 5, 6; ( D) int x23=1, 2, 3, 4, 5, 6; 25 有以下程序: #include main() char *p1=0: int *p2=0: float *p3=0: printf(“ d d d n“, sizeof(p1), sizeof(p2), si

10、zeof(p3); 程序运行后的输出结果是 ( )。 ( A) 4 4 4 ( B) 1 4 8 ( C) 1 2 4 ( D) 1 1 4 26 设已有定义: float x则以下对指针变量 p进行定义且赋初值的语句中正确的是 ( )。 ( A) float *p=&x; ( B) int *p=(float)x; ( C) float p= x; ( D) float *p=1024; 27 设有定义: char*c;。以下选项中能够使字符型指针 c正确指向一个字符串的是 ( )。 ( A) char str=“string“; c=str ( B) scanf(“ s“, c); ( C

11、) c=getchar(); ( D) *c=“string“; 28 有以下 程序 (说明:字母 A的 ASCII码值是 65): #include void fun(char *s) while(*s) if(*s 2)printf(“ c“, *s); s+; main() char a=“BYTE“: fun(a); printf(“ n“); 程序运行后的输出结果是 ( )。 ( A) BY ( B) BT ( C) YT ( D) YE 29 以下叙述正确的是 ( )。 ( A) C语言函数不可以单独编译 ( B) C语言程序是由过程和函数组成的 ( C) C语言函数可以嵌套调用,

12、例如: fun(fun(x) ( D) C语言中除了 main函数外,其他函数不可作为单独文件形式存在 30 有以下程序: #include int f(int x); main() int n=1, m; m=f(f(f(n); printf(“ d n“, m); int f(int x) return x*2; 程序运行后的输出结果是 ( )。 ( A) 4 ( B) 2 ( C) 8 ( D) 1 31 有以下程序: #include void fun(int a, int n) int i, t; for(i=0; i #include char *scrap(char *s1, c

13、har *s2) if(strcmp(s1, s2) typedef struct stu char name10; char gender; int score; STU; void f(STU a, STU *b) *b=a: printf(“ s c d“, b一 name, b一 gender, b一 score); main() STU a=“Zhao“, M, 290, b=“Qian“, f, 350; f(a, &b); printf(“ s c d n“, b name, b gender, b score); 程序运行后的输出结果是 ( )。 ( A) Zhao m 290

14、 Zhao m 290 ( B) Qian f 350 Zhao m 290 ( C) Qian f 350 Qian f 350 ( D) Zhao m 290 Qian f 350 40 以下程序用来统计文件中字符的个数 (函数 feof用于检查文件是杏结束,结束时返回非零 ): #include main() FILE *fp; long num=0; fp=fopen(“fname dat“, “r“); while(_) fgetc(fp); hum+; printf(“num= d n“, num); fclose(fp); 下面选项中,填入横线处不能得到正确结果的是 ( )。 (

15、 A) feof(fp)=NULL ( B) !feof(fp) ( C) feof(fp) ( D) feof(fp)=0 二、程序填空题 41 下列给定程序中,函数 fun的功能是建立一个 NXN的矩阵。矩阵元素的构成规律是:最外层元素的值全部为 1;从外向内第 2层元素的值全部为 2;第 3层元素的值全部为 3, 以此类推。例如,若 N=5,生成的矩阵为: 1 1 1 1 1 1 2 2 2 1 1 2 3 2 1 1 2 2 2 1 1 1 1 1 1 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构 ! 试题程序: #

16、include #define N 7 *found* void fun(int(*a)【 1】 ) int i, j, k, m; if(N 2=0)m=N 2; else m=N 2+1; for(i=0; i #include long fun(int k) *found* if k1 return(k*fun(k一 1); return 1; void main() int k=10: printf(“ d!= 1d n“, k, fun(k); 四、程序设计题 43 编写一个函数,该函数可以统计一个长度为 2的字符串在另一个字符串中出现的次数。 例如,假定输入的字符串为 “asd a

17、sasdfgasd as zx67 asd mklo”,子字符串为 ”as”,则应当输出 6。 注意:请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语句。 试题程序: #include #include #include #include int fun(char *str char *substr) void main() FILE *wf; char str81, substr3; int n; system(“CLS“); printf(“输入主字符串: “); gets(str); printf(“输入子字符串: “); gets(subst

18、r); puts(str); puts(substr); n=fun(str, substr); printf(“n= d n“, n); * wf=fopen(“out dat“, “w“); n=fun(, “asd asasdfg asd as zx67 asdmklo“, “as“); fprintf(wf, “ d“, n); fclose(wf); * 国家二级( C语言)机试历年真题试卷汇编 17答案与解析 一、选择题 1 【正确答案】 D 【试题解析】 循环队列有队头和队尾两个指针,但是循环队列仍是线性结构,因此 A错误;在循环队列中需要队头与队尾两个指针来共同反映队列中元素的

19、动态变化情况,因此 B与 C错误,故本题答案为 D。 2 【正确答案】 C 【试题解析】 堆可以看成一棵完全二叉树:任一根节点 =左右孩子 (或者=)(大的叫大根堆,小的叫小根堆 )。注意一个堆中的这种性质有一致性,不能既有大于又有小于情况存在。本题可以这么做,把结点按照完全二叉树画出来就一目了然了。这个题目很明显 91是最大的根,而 C选项是 “左根右 ”的排序,那么 91的左边只有 47,其他都在右边,而右边无法按照此顺序排列,故选 C。 3 【正确答案】 A 【试题解析】 初始状态为 front=rear=m,说明初始状态为空。经过一系列入队与退队运算后, front=15, rear=

20、20,则当前共有 5个元素,在最坏情况下,需要比较的次数为 4次,答案选 A。 4 【正确答案】 B 【试题解析】 只有 B选项 369可以用无符号整数来表示和存储。 A选项一 369有负号, C选项 0 369是小数,都不能用无符号整数类存储。 D选项是一个整数集合,得用数组来存储。 5 【正确答案】 B 【试题解析】 栈按 “后进先出 ”的原则组织数据,因此入栈最晚的最先出栈,因此本题答案为 B。 6 【正确答案】 A 【试题解析】 系统结构图的扇出数指的是一个模块直接调用的其他模块数,图中的最大扇出数为 n,答案选 A。 7 【正确答案】 C 【试题解析】 软件设计中,模块划分应遵循高内

21、聚、低耦合的准则,答案选 C。 8 【正确答案】 A 【试题解析】 一般将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到 该软件产品不能使用为止的整个时期都属于软件生命周期。 9 【正确答案】 C 【试题解析】 数据库设计的需求分析阶段是数据库设计的第一阶段,这一阶段收集到的基础数据和一组数据流图是下一步设计概念结构的基础。数据库概念设计的目的是分析数据间内在的语义关联,在此基础上建立一个数据的抽象模型。数据库的逻辑设计主要工作是将 ER图转换成指定的关系数据库中的关系模式。数据库物理设计的主要目标是对数据库内部物理结构做出调整并选择

22、合理的存取路径,以提升数据库访问速度及有效利用存储空间。所以本题答案选 C。 10 【正确答案】 A 【试题解析】 一个运动队有多个队员,表明在运动队表中的每个队与队员表中的一个或多个队员相关;一个队员仅属于一个运动队,表明队员表中的每个队员只可以与运动队表中的一个队相关,为一对多关系。故正确答案为 A。 11 【正确答案】 A 【试题解析】 使用顺序、选择 (分支 )、循环 3种基本结构构成的程序可以解决所有问题,而不只是解决简单问题,因此 A选项错误。 12 【正确答案】 C 【试题解析】 在 C语言中整型常量可以用十进制、八进制和十六进制等形式表示,但不包括二进制。因 此选择 C。 13

23、 【正确答案】 A 【试题解析】 C语言标识符只能由字母、数字、下画线构成,且只能以字母、下画线开头,故选项 A不正确。 14 【正确答案】 D 【试题解析】 算术运算符 +的优先级高于一 =,且一 =的结合方向为自右向左,因此表达式 x一 =x+x可以表示成 x=x一 (x+x)=10一 (10+10)=一 10,所以选择 D。 15 【正确答案】 D 【试题解析】 C语言中,运算符两侧的运算对象可以是任意合法的表达式,选项D正确;非 0和 0分别对应逻辑真值和假值,选项 B错;关系运算 符 “=”两侧的运算对象只要为合法的表达式就可以编译通过,选项 C错;分支结构是根据 if或者 else

24、 if后面的圆括号内的表达式 (不仅仅是算术表达式,还有赋值表达式、逗号表达式、关系表达式、逻辑表达式等 )的值来判定流程走向的,选项 A错误;所以答案选 D。 16 【正确答案】 D 【试题解析】 本题考查关系表达式和逻辑表达式。 y小于等于 x,同时 y大于等于 z,因此 x =y和 y =z是逻辑与的关系。故 D选项正确。 17 【正确答案】 B 【试题解析】 本题考查进制转换以及 printf函数输出格式。 题中 a, b, c是以十进制格式输出,而 010是八进制 (常以数字 0开头,八进制一位对应二进制的三位 ),转换为十进制是 8; 0X10是十六进制 (以 0X或 0x开头,

25、0为数字, x不区分大小写 ),转换为十进制是 16; 10是十进制。所以最后输出结果是 8, 16, 10。 18 【正确答案】 B 【试题解析】 考查 scanf函数的格式输入, “格式控制串 ”中允许有非格式字符,只不过输入时也要输入该非格式字符,选项 D正确。输入的数据与输出类型不一致时,编译依然能通过,只不过输出结果有可能不正确,选项 C正确。输入多个数据时, 系统等待接收的数据个数与 “格式控制串 ”中的格式控制符的个数一致,然后把接收的数据依次赋值给后面的变量,若变量个数多于格式控制符个数,则多余的变量不获取数据,若少于,系统会在接收完额定数目的数据之后报错,答案选 B。 19

26、【正确答案】 A 【试题解析】 在该题中,选择结构的表达式都不成立,所以整个选择语句都没有执行, y值没有发生改变,答案选 A。 20 【正确答案】 D 【试题解析】 第一次 for循环, n的值为 0,所以从 default后面的语句开始执行, s+=4, s+=1, s+=2, s+=3, s的值为 10。进入第二次 for循环, n的值为 1,所以执行 s+=1, s+=2, s+=3, s的值为 16。进入第三次 for循环, n的值为 2,所以执行 s+=2, s+=3, s的值为 21。进入第四次 for循环, n的值为 3,所以执行a+=3, s的值为 24。 21 【正确答案】

27、 D 【试题解析】 while语句的一般形式为: while(表达式 )语句;,其中表达式是循环条件,语句为循环体。 while语句的语义是计算表达式的值,当值为真 (非 0)时,执行循环体语句。该题中如要执行语句 s,则 !E应为真,因此 E应等于 0, 故D选项正确。 22 【正确答案】 A 【试题解析】 C语言中,循环嵌套可以多层,选项 B错;循环嵌套时建议采用缩进形式书写,这是为了增加代码的可读性,但是不会产生编译错误,选项 C错误; for语句的圆括号内的三个表达式在语法上都可以省略,但是两个分号 “; ”不能省略,选项 D错;选项 A的表述正确,所以答案选 A。 23 【正确答案】

28、 C 【试题解析】 while循环的判定条件为 “a一一 ”,即 a先作为循环条件判定,然后再自减 1。第一次循环判定条件为真,执行完毕后 a=0, b=0,第二次循环判定条件为 假,循环不成立,所以只执行判定表达式 “a一一 ”,所以最终 a=一 1,b=0,答案选 C。 24 【正确答案】 D 【试题解析】 二维数组的第一维数据表示行数,第二维数据表示列数,所以x23中的数据应为两行三列,和定义内容不符,选项 D错误,答案选 D。 25 【正确答案】 A 【试题解析】 注意 sizeof是一个运算符,它是运算数据所占单元数量,故答案为4。 26 【正确答案】 A 【试题解析】 指针是用来存

29、放地址的变量,用 “类型名 *指针变量名 ”的形式定义。赋值时应将某个变量地 址即 &x赋给指针变量,因此选择 A。 27 【正确答案】 A 【试题解析】 B项中 scanf()函数是将 c定义为一个字符数组的数组名, C项中是将 c定义为一个字符型变量, D项是在指针定义时为它赋值,否则是不合法的。 A项定义字符数组 str,再将字符数组 str的首地址赋给字符型指针 c,所以 A正确。 28 【正确答案】 D 【试题解析】 函数只会输出 ASCII码值为奇数的字母,执行 fun(a)时,依次取出a中的字母,因为 B的 ASCII码值为 66,所以不会输出 B,字母 Y的 ASCII码值为

30、89,字 母 T的 ASCII码值为 84,字母 E的 ASCII码值为 69,所以最后输出字母 YE。 29 【正确答案】 C 【试题解析】 一个 C语言程序由一个或多个函数组成,选项 B错误;一个 C程序可以有一个或多个程序文件,每个程序文件可以有一个或多个函数,并且每个程序文件可以单独编译,所以选项 A、 D错误;函数之间可以相互调用,函数体内调用自身的函数为递归函数,答案选 C。 30 【正确答案】 C 【试题解析】 考查函数的递归调用。 m=f(f(f(n)=f(f(2)=f(4)=8,答案选 C。 31 【正确答案】 D 【试题解析】 函数 fun()的功能是把数组 a中的前 n个

31、元素逆序排列,所以调用函数 fun(k, 5)结束后,数组 k中的数据为 5, 4, 3, 2, 1, 6, 7, 8, 9, 10,输出数组第 3个到第 8个元素之间的数据,所以选项 D正确。 32 【正确答案】 B 【试题解析】 考查指针的用法。指针变量存储的是其指向的变量的地址, *p表示的是 p指向的变量的值,自加运算符 (+)的优先级要高于取值运算符 (*)的优先级, *p+表示的是先将指针 p指向下一个地址,然后再取该地址的值,所以得到的结果并 不是把 year的值增至 2010,选项 B错误,答案选 B。 33 【正确答案】 B 【试题解析】 本题主要考查函数调用和字符串大小的比

32、较。 strcmp(s1, s2)用来比较两个字符串的大小,比较方式是两个字符串自左向右逐个字符进行比较 (按ASCII值大小相比较 ),直到出现不同的字符或遇 0为止。当 s1 s2时,返回值为负数;当 s1=s2时,返回值为 0;当 s1 s2时,返回值为正数。 gets()函数用来输入字符串, for循环用来控制逐个输入字符串。当分别输入字符串 abcd、 abba和 abc后,执行 程序 strcpy(string, scmp(str0, str1),然后调用 scmp函数,此时返回 str1的地址 (因为字符串 abcd的第三个字符 c的 ASCII码值大于字符串abba的第三个字符

33、 b的 ASCII码值 ),并把该地址存放到 string中。接着执行语句strcpy(string, scmp(string, str2),结果是把字符串 string,即 abba的地址存放到 string中,最后执行 printf()函数,输出当前字符串 string,即 abba。 34 【正确答案】 D 【 试题解析】 一维数组的定义、初始化为:类型符数组名 常量表达式 )。类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;常量表达式是指数组的长度 (数组中包含元素的个数 ),其值只能是整数,不可以是变量,而且从 1开始计数。 A选项,常量表达式只能放在中括号中; B选项,

34、只有在对数组初始化(即赋值 )的时候才可以省略数组的长度, B中并未对 a进行初始化; C选项,常量表达式不能为变量。故 D选项正确。 35 【正确答案】 A 【试题解析】 p是 char类型数组, sizeof(p)计算的是数组 p中所有元素所占用 的字节数,而不是 char型数据所占字节数。 36 【正确答案】 C 【试题解析】 本题考查字符串处理函数 strlen、 stract、 strcmp。 A选项中不能用关系运算符进行大小比较,可以使用 strcmp; B选项中 strlen返回的是字符串 s实际占用内存大小加上结尾符; D选项中当使用连接函数 stract时,内存空间会减少一个

35、字符位置。 37 【正确答案】 D 【试题解析】 本题考查局部变量和全局变量作用域。 A选项错误,因为可以定义静态局部变量。 B选项中局部变量也有作用域; C选项中,函数内 部定义的也可能是全局变量。故 D选项正确。 38 【正确答案】 A 【试题解析】 本题考查 malloc函数,题目中要求 p指向一个 int型的动态存储单元,那么就应该将分配的存储单元转化为 int类型,故 A选项正确。 39 【正确答案】 A 【试题解析】 考查结构体和结构体成员的引用。 40 【正确答案】 C 【试题解析】 本题考查文件的定位。 feof函数的用法是从输入流读取数据,如果到达文件末尾 (遇文件结束符 )

36、, feof函数值为非零值,否则为 0。 while判断条件应是如果没有到达文件 末尾,所以选项 C不能得到正确结果。 二、程序填空题 41 【正确答案】 (1)N (2)i (3)i+1 【试题解析】 填空 1:参数传递时将实参的值赋给形参,实参和形参是一一对应的,因此该空应该填写 N。 填空 2:第二重 for循环中 aij和 aNi一 1j表示第一行和最后一行数组aNN的值,因而此空应该填写 i。 填空 3:第三重 for循环代表地是 aNN中每一列的值,因此此空应该填写i+1。 三、程序修改题 42 【正确答案】 if(k 1) 【试题解析】 本题考查: if语句,考生需要根据题意来确

37、定 if语句是否是正确的, if条件语句经常考,做题的时候应该细心读程序。该程序中 if语句语法错误, if条件表达式应写在小括号内。 四、程序设计题 43 【正确答案】 int fun(char *str, char *substr) int i, j=0; for(i=0; stri+1!= 0; i+) *如果一个长度为 2的子字符串在主字符串中出现一次,则 j+1,如此循环 * if(stri=substr0&stri+1=substr1) j+; return j; *返回子字符串在主字符串中出现的次数 * 【试题解析】 本题考查:遍历字符串,实现字符串的比较运算。 该题中 substr只有两个字符,所以可以用 if语句直接进行判断。要注意 if语句中 str数组的下标为 i和 i+1,即比较当前字符及其后面的一个字符是否分别与substr中的字符对应相同,若都相同则表示出现了一次。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1