




已阅读5页,还剩150页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 江苏省计算机等级考试二级C语言笔试辅导 2 笔试概况 考试时间 2小时合格 优秀成绩要求内容题型及分值信息技术选择题 20分 C语言选择题 10分 填空题 30分 简单填空 5分 阅读程序 13分 完善程序 12分 答题策略 3 语法考试要求及考题解析 2007秋 2010春 1 C语言基本概念 源程序格式 风格和结构 main函数特性 C程序保存 注释位置 考题解析 填空题 在一个C语言源程序中 必不可少的是 答案 main函数定义 单选题 以下叙述中正确的是 A 在编译时可以发现注释中的拼写错误B C语言程序的每一行只能写一条语句C main 必须位于程序的开始D C语言程序可以由一个或多个函数组成答案 D 4 单选题 在一个源程序中main函数的位置 A 必须在最开始B 必须在最后C 必须在预处理命令的后面D 可以在其他函数之前或之后答案 D 单选题 下列叙述中正确的是 A main函数必须出现在其他函数之前B main函数中至少必须有一条语句C C程序总是从main函数的第一条语句开始执行D C程序总是在执行完main函数的最后一条语句后结束答案 C 5 单选题 以下叙述中正确的是 A C语言系统以函数为单位编译源程序B main函数必须放在程序开始C 用户定义的函数可以被一个或多个函数调用任意多次D 在一个函数体内可以定义另外一个函数答案 C 全国选择题 以下叙述中正确的是 A C语言程序将从源程序中第一个函数开始执行B 可以在程序中由用户指定任意一个函数作为主函数 程序将从此开始执行C C语言规定必须用main作为主函数名 程序将从此开始执行 在此结束D main可作为用户标识符 用以命名任意一个函数作为主函数答案 C 6 全国选择题 以下叙述中正确的是 A C程序中的注释只能出现在程序的开始位置和语句的后面 B C程序书写格式严格 要求一行内只能写一个语句C C程序书写格式自由 一个语句可以写在多行上D 用C语言编写的程序只能放在一个程序文件中答案 C 全国选择题 以下叙述中正确的是 A C程序的基本组成单位是语句B C程序中的每一行只能写一条语句C 简单C语句必须以分号结束D C语句必须在一行内写完答案 C 7 基本类型数据的表示及使用 系统预定义类型标识符 类型修饰符的使用 基本类型常量的表示及使用 字符串常量形式 关键字 标识符 符号常量的定义与使用 基本类型变量的声明 初始化 直接引用变量 考题解析 单选题 在C语言源程序中 不带任何修饰符的浮点数直接量 例如 3 14 都是按类型数据存储的 答案 double 单选题 已知sizeof int 的值为2 为将10 的值存储到变量f中 10 3628800 变量f的类型应声明为 A longintB intC shortintD unsignedint答案 A 8 单选题 以下常量表示中正确的是 22 A xffB 5LC aEbD 3 14U答案 B 单选题 以下语句中有语法错误的是 printf d 0e B printf f 0e2 C printf d 0 x2 D printf s 0 x2 答案 A 9 单选题 以下选项中不能用作变量名的是 A floatB switchC sumD 123答案 B 填空题 在C语言系统中 如果一个变量能正确存储的数据范围为整数 32768 32767 则该变量在内存中占 3 个字节 答案 2 单选题 以下选项中 不能用作标识符的是 printB FORC 时输出到屏幕的结果为 22 答案 byye101A 10 学校单选题 表达式 1e 8 2 1 0f 值的数据类型是 3 intB longC floatD double答案 D 学校单选题 以下局部变量声明中正确的是 2 intchar 2 B voida 0 C inta b 0 D inta b a 0 答案 D 11 运算符和表达式的表示及使用 赋值表达式 赋值运算符的左值要求 算术表达式 运算符左值要求 溢出 关系表达式与逻辑表达式 逻辑表达式优化处理 逗号表达式 条件表达式 表达式运算中操作数类型自动转换与强制转换 考题解析 单选题 若有声明 doublex 3 c a 答案 C 12 单选题 若有声明 charss 8 Red 则sizeof ss 的值是 A 8B 4C 3D 1答案 A 单选题 设有定义和声明如下 defined2intx 5 floaty 3 83 charc d 以下表达式中有语法错误的是 x B y C c D d 答案 D 单选题 数学式在C程序中正确的表示形式为 A sqrt a 2 bB sqrt a 2 bC sqrt a 2bD sqrta 2 b 答案 B 13 单选题 已知有声明 longx y 且x中整数的十进制表示有n位数字 4 n 10 若要求去掉整数x十进制表示中的最高位 用剩下的数字组成一个新的整数并保存到y中 则以下表达式中能正确实现这一功能的是 A y x 10 n 1 B y x 10 n 1 C y x long pow 10 n 1 D y x 10 n 1 答案 C 填空题 若有声明 doublex 10 y 5 则计算xy的库函数调用形式是 答案 pow x y 或pow 10 5 填空题 若有声明 intx 且sizeof x 的值为2 则当x值为时 x 1 x 为假 答案 32767 14 填空题 若有声明 floaty 3 14619 intx 则计算表达式 x y 100 0 5 y x 100 0 后y的值是 答案 3 15 单选题 已知有声明 inta 3 b 4 c 则执行语句 c 1 2 a b 后 c的值为 A 0B 3C 3 5D 4答案 A 填空题 若有声明 inta 5 b 2 则表达式 b float a b 2 运算后b的值为 答案 5 填空题 已知有声明 charch g 则表达式ch ch a A 的值为字符的编码 答案 G 15 单选题 已有声明 inta 3 b 3 c 2 以下选项中值为0的表达式是 a 则下列关系表达式中有语法错误的是 x y 2 z y x x y 1 x x 0 y 1 z 2 答案 A 16 填空题 数学式对应的C语言表达式为 答案 sqrt fabs x 4 a b c 或sqrt fabs x 4 a b c 单选题 已知有声明 inta 12 b 15 c 则执行表达式 c a b a 后 变量b和c的值分别为 A 3 1B 15 12C 15 1D 3 12答案 C短路 填空题 数学式所对应的C语言表达式为pow x 答案 1 0 3 填空题 若有声明 inta 15 b 20 c 25 e 则执行语句 e a b c c 后变量e的值是 答案 26 17 单选题 以下选项中 不能表示函数功能的表达式是 A s x 0 1 x0 1 0 C s x0 1 x 0 0 1答案 C 单选题 若有程序段 charc 256 inta c 则执行该程序段后a的值是 256B 65536C 0D 1答案 C 18 填空题 设有声明 inta 3 b 4 floatx 4 5 y 3 5 则表达式 float a b 2 int x int y 的值是 答案 4 53 5 4 3 4 5 填空题 若有声明 intr 2 则执行语句 printf d sizeof 2 3 14 r 时输出 答案 8 单选题 已知有声明 intn floatx y 则执行语句 y n x 3 89 后 y的值为 3B 3 0C 3 89D 4 0答案 Bx 3 89 n 3 y 3 0 单选题 已知有声明 inta 3 b 4 下列表达式中合法的是 A a b 7B a b C a b 0D a 答案 C 学校单选题 已知有声明 inta 1 b 2 执行语句 while a 0 后变量a b的值是 0 2B 0 1C 1 1D 2 2答案 A短路运算 b不执行 19 2 语句 实现顺序结构的语句 表达式语句 空语句 复合语句 函数调用语句 标准输入输出库函数printf scanf getchar putchar gets puts 考题解析 单选题 已知int类型数据在内存中存储长度为2个字节 以下语句中能正确输出整数32768的是 printf d 32768 B printf ld 32768 C printf f 32768 D printf c 32768 答案 B 20 学校单选题 已知某编译系统中sizeof int 的值为2 在该编译系统中执行以下 10 语句时输出结果不是39999 A printf u 39999 B printf d 39999 C printf ld 39999 D printf lu 39999 答案 B 单选题 若有声明 floatf 123 45678 则执行语句 printf 3f f 后 输出结果是 1 23e 02 123 457 123 456780 1 234e 02答案 B 21 单选题 已知有声明 chars 80 若需要将键盘输入的一个不含空格的字符串保存到s数组中 则下列语句中正确的是 scanf s s B scanf s s 0 C s gets D s getchar 答案 A 填空题 已知有声明和语句 inta scanf a d 答案 D 22 实现选择结构的语句 if else switch 考题解析 单选题 若在一个C语言源程序中 e1 和 e3 是表达式 s 是语句 则下列选项中与语句 for e1 e3 s 功能等同的语句是 A e1 while 10 s e3 B e1 while 10 s e3 C e1 while 10 e3 s D while 10 e1 s e3 答案 B 单选题 已知有声明 intx y 若要求编写一段程序实现 当x大于等于0时y取值1 否则y取值 1 则以下程序段中错误的是 A if x 0 y 1 elsey 1 B y x 0 1 1 C switch D switch x abs x casex 0 y 1 break case0 y 1 break default y 1 default y 1 答案 C 23 学校单选题 已知有声明 inta 1 b 2 c 0 执行语句 if a b c a a b b c 后变量a b的值是 21 答案 2 0 24 阅读程序 下列程序运行后的输出结果第一行是 1 第二行是 2 includemain inti a 0 c 2 for i 0 i 2 i switch a a c case1 printf 1 case2 printf 2 case3 printf 3 n break default printf other n 答案 1 23 2 other 25 阅读程序 以下程序运行时输出结果为 6 includevoidmain inti sum 0 for i 0 i 5 i switch i case0 case1 sum case3 sum case4 sum break printf d n sum 答案 1 26 实现循环结构的语句 while do while for goto 考题解析 单选题 若有声明 inti k 1 unsignedj 则下列语句执行时会出现无限循环的语句是 for j 15 j 0 j 2 k B for j 0 j0 i 2 k 答案 A 学校单选题 以下语句中有语法错误的是 for B do while 1 C while D p gotop 答案 C 27 阅读程序 以下程序运行时输出结果最后一行是 includevoidmain inta 1 b 1 i for i 1 i 2 i a a b printf d d b a b a b printf d d n a b printf n 答案 3 5 5 8 28 阅读程序 以下程序运行时输出结果是 includemain ints 1 n 235 do s n 10 n 10 while n printf d n s 答案 30 29 跳转语句 break continue return 考题解析 全国选择题 有以下程序 include includemain intx 8 for x 0 x if x 3 printf d x continue printf d x 程序的运行结果是 A 7 4 2 B 8 7 5 2 C 9 7 6 4 D 8 5 4 2 答案 D 30 3 构造类型数据 基本类型数组 一维 二维 数组声明及初始化 数组存储结构 使用数组名引用数组元素 考题解析 单选题 以下声明中错误的是 A inta 2 B inta 0 1 C inta 3 0 D inta 3 4 0 答案 C 全国单选题 下列选项中 能正确定义数组的语句是 A intnum 0 2008 B intnum C intN 2008 D defineN2008intnum N intnum N 答案 D 31 单选题 设有声明 intp 10 1 2 i 0 以下语句中与 p i p i 1 i 等价的是 A p i p i B p i p i C p i p i 1 D i p i 1 p i 答案 D 全国单选题 已知有声明 intm 5 4 3 2 1 i 0 下列对m数组元素的引用中 正确的是 m i B m 2 2 C m m 0 D m m i 答案 B 32 填空题 若有声明 chars1 10 ABCDE s2 10 A 0 则语句 printf d strlen strcpy s1 s2 的输出结果是 答案 3 全国选择题 有以下程序 includemain inta 5 1 2 3 4 5 b 5 0 2 1 3 0 i s 0 for i 0 i 5 i s s a b i printf d n s 程序运行后的输出结果是 A 6B 10C 11D 15答案 C 33 单选题 已知有声明 chars 20 Hello 在程序运行过程中 若要想使数组s中的内容修改为 Good 则以下语句中能够实现此功能的是 A s Good B s 20 Good C strcat s Good D strcpy s Good 答案 D 34 单选题 已知有声明 inta 4 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 若需要引用值为12的数组元素 则下列选项中错误的是 A a 2 3B a 2 3 C a 2 3 D a 2 3 答案 A 35 阅读程序 以下程序运行时输出结果中第一行是 1 第三行是 2 include defineN5voidmain staticchara N N inti j t start 0 end N 1 charstr 123 ch for t 0 tstart i a i j ch for j end j start j a i j ch if start end a start end ch start end 生成矩阵 1111112221123211222111111 for i 0 i N i for j 0 j N j printf c a i j printf n 答案 1 11111 2 12321 36 阅读程序 以下程序运行时输出结果的第一行是 1 第三行是 2 includevoidmain inti j a 3 3 for i 0 i 3 i for j 0 j 3 j if i j a i j 1 elsea i j i j 1 for i 0 i 3 i for j 0 j 3 j printf 4d a i j printf n 生成矩阵 111211321 答案 1 111 2 321 37 结构类型变量与数组 定义结构类型 结构类型变量 数组声明及初始化 用变量名引用结构变量 结构数组元素 的全体成员 用变量名引用结构变量 结构数组元素 的基本类型成员 考题解析 单选题 若有结构类型定义 typedefstructtest intx y 2 TEST 则以下声明中正确的是 27 A structtestx B structx C testx D structTESTx 答案 A 38 单选题 以下结构变量stu1的声明形式中 错误的是 typedefstructstu charname 10 floatscore STU STUstu1 defineSTUstructstuSTU charname 10 floatscore stu1 structstu charname 10 floatscore stu1 structstu charname 10 floatscore STU STUstu1 答案 D 学校单选题 若有定义 structc doublex y c1 1 2 1 3 c2 1 2 1 3 c3 structd doublex y d1 1 2 1 3 d2 1 2 1 3 d3 则以下表达式中正确的是 c3 0B c1 c2C c3 c1D d3 c1答案 C 39 阅读程序 以下程序运行后的输出结果第一行是 1 第二行是 2 includestructnum intx y st 1 10 2 20 3 30 4 40 1 1 s1 2 s2 2 main inti 0 j 0 k for k 0 st k x 1 k if st k x 2 s1 i st k elses2 j st k printf d n d n s1 0 y s2 0 y 答案 1 10 2 20 40 4 指针类型数据 基本类型变量的指针操作 基本类型变量地址的获取与保存 指向基本类型变量的指针变量声明 初始化与赋值 引用指针变量指向的基本类型变量 使用运算符 考题解析 填空题 若有声明char p d d n inta 1 b 2 则执行语句 printf p a b 时输出 4 答案 1 2 全国选择题 若有定义语句 doublex y px py 执行了px 答案 C 41 全国选择题 有以下程序 includemain intm 1 n 2 p 程序运行后的输出结果是A 1 2 1 2B 1 2 2 1C 2 1 2 1D 2 1 1 2答案 B 42 全国选择题 有以下程序 include includeintfun intn int p p int malloc sizeof int p n return p main inta a fun 10 printf d n a fun 10 程序的运行结果是 0B 10C 20D 出错答案 C 43 2 基本类型数组的指针操作 基本类型数组元素地址的获取 保存与算术运算 引用指针变量指向的基本类型数组元素 二维数组行地址的获取 保存及算术运算 行指针变量的声明 初始化 引用行指针变量指向的基本类型数组元素 考题解析 单选题 设指针变量占2个字节的内存空间 若有声明 char p 123 intc 则执行语句 c sizeof p 后 c的值为 A 1B 2C 3D 4答案 B 全国选择题 若有定义语句 doublex 5 1 0 2 0 3 0 4 0 5 0 p x 则错误引用x数组元素的是 pB x 5 C p 1 D x答案 B 44 单选题 若有声明 intx 10 0 1 2 3 4 5 6 7 8 9 p 则值不为4的表达式是 A p x p 4 B p x 4 p C p x 3 p D p x 3 p答案 C 单选题 已知有程序段 charstr 10 Aoyun Beijing p 则执行printf语句后输出为 A BeijingB AoyunC ingD ng答案 A 45 单选题 已知有声明 inti a 10 p a 现需要将1 10保存到a 0 a 9 中 以下程序段中不能实现这一功能的是 for i 0 i 10 i a i i 1 B for i 0 i 10 i p i i 1 C i 1 while p a 10 p i D i 1 while p a 10 a i 答案 D 填空题 已知有声明 inta 3 2 1 2 3 4 5 6 p a 0 则执行语句 printf d n p 4 后的输出结果为 答案 5 单选题 若有声明 inta 3 4 p a 0 q 4 a 则下列叙述中错误的是 a 2 3 与q 2 3 等价 a 2 3 与p 2 3 等价 a 2 3 与 p 11 等价 a 2 3 与p p 11 p等价答案 B 46 单选题 已知有声明 inta 3 3 0 p1 a 1 p2 3 a 以下表达式中与 a 1 1 1 不等价的表达式是 A p1 1 1B p1 1 1 1C p2 1 1 1D p2 1 1 1答案 B 填空题 若有声明 chars 10 remind 执行 puts s 2 后的输出结果是 答案 mind 单选题 已知有声明 chara Itismine p Itismine 下列叙述中错误的是 A strcpy a yes 和strcpy p yes 都是正确的B a yes 和p yes 都是正确的C a等于 pD sizeof a 不等于sizeof p 答案 B 47 全国完善程序 以下程序的功能是 借助指针变量找出数组元素中的最大值所在数组元素的下标值 includemain inta 10 p s for p a p a s s printf index d n s a 答案 p 48 3 结构类型变量 数组的指针操作 结构变量地址 结构数组元素地址的获取与保存 指向结构变量指针变量的声明 初始化与赋值 引用指针指向的结构类型变量 结构类型数组元素 的基本类型成员结构变量成员的地址 结构数组元素成员的地址获取与保存 指向结构变量成员的指针变量声明 初始化与赋值 考题解析 49 单选题 已知有结构定义和变量声明如下 structstudent charname 20 intscore structstudent h stu p int q 以下选项中错误的是 A p 答案 C 50 阅读程序 以下程序运行时输出结果的第一行是 1 第二行是 2 includestructs intx y p intd 5 10 20 30 40 50 structsa 5 100 答案 1 100101 2 1020 51 单选题 设有结构定义及变量声明如下 structproduct charcode 5 floatprice y 4 100 100 以下表达式中错误的是 A y code 0 2 B y 0 code 0 2 C y price 10 D y price 10 答案 D 52 4 指针类型数组的声明和使用 考题解析 全国单选题 有以下程序 includemain char a abcd ef gh ijk inti for i 0 i 4 i printf c a i 程序运行后输出的结果是A aegiB dfhkC abcdD abcdefghijk答案 A 全国单选题 若有定义语句 inta 4 10 p q 4 且0 i 4 则错误的赋值是 A p aB q ac q 0 aD p a 2 1 答案 B 53 全国填空题 有以下程序 includemain inta 1 2 3 4 5 6 k 3 i 0 while i 3 k i 程序运行后的输出的结果是 答案 135 54 5 函数 函数定义 函数声明 函数调用 2 函数调用时基本类型实参的传递与使用 实参与形参的类型兼容性要求 实参类型的自动转换 考题解析 单选题 以下函数定义中正确的是 25 A doublefun doublex doubley B doublefun doublex doubley C doublefun doublex doubley D doublefun doublex y 答案 A 55 单选题 以下选项均为fun函数定义的头部 其中错误的是 A intfun intx inty B intfun intx inty x C intfun intx inty 3 D intfun intx int y 答案 B 学校单选题 已知函数fun定义的头部为 voidfun intx inty 以下fun函数声明中正确的是 voidfun intx inty B voidfun intx int y voidfun int int D voidfun int int 答案 C 单选题 若有声明 longfun int x intn long s inta 4 1 2 3 4 longb c 则以下函数调用形式中正确的是 A c fun a 4 b B c fun a 4 答案 D 56 单选题 若函数调用时的实参为变量 则以下关于函数形参和实参的叙述中正确的是 A 实参和其对应的形参占用同一存储单元B 形参不占用存储单元C 同名的实参和形参占用同一存储单元D 形参和实参占用不同的存储单元答案 D 全国选择题 函数调用语句func f2 v1 v2 v3 v4 v5 v6 max v7 v8 中func函数的实参个数是 A 3B 4C 5D 8答案 A 57 阅读程序 以下程序运行时输出结果是 includevoidfunc intb inta a b b 10 voidmain inta 10 b 20 func b printf d d a b 答案 10 20 58 阅读程序 以下程序运行时输出到屏幕的结果是 includevoidswap inta intb intt if a b t a a b b t voidmain intx 13 y 11 z 12 if x y swap x y if x z swap x z if y z swap y z printf d t d t d n x y z 答案 8 131112 59 阅读程序 以下程序运行时输出结果是 includeintf intx inty returnx y voidmain doublea 5 5 b 2 5 printf d f a b 答案 7 60 阅读程序 以下程序运行后的输出结果是 includeintfun intw1 intw2 returnw2 w1 main intw 1 k k fun fun w 1 w w printf d n k 答案 2 61 全国选择题 有以下程序 includevoidfun inta intb intt t a a b b t main intc 10 1 2 3 4 5 6 7 8 9 0 i for i 0 i 10 i 2 fun c i c i 1 for i 0 i 10 i printf d c i printf n 程序的运行结果是 A 1 2 3 4 5 6 7 8 9 0 B 2 1 4 3 6 5 8 7 0 9 C 0 9 8 7 6 5 4 3 2 1 D 0 1 2 3 4 5 6 7 8 9 答案 A 62 3 函数调用时结构类型实参的传递与使用 阅读程序 以下程序运行时输出到屏幕的结果第一行是 1 第二行是 2 includetypedefstruct intx y direction intvisible directions directionA directionB directionC directionp1 p2 intd p1 x B x A x p1 y B y A y p2 x C x A x p2 y C y A y d s x p1 x p2 x s y p1 y p2 y printf 4d n d returnd 0 voidmain char ss invisible visible directions 1 1 T 1 1 A 0 0 B 2 1 puts ss visible s T A B 答案 1 1 2 invisible 63 4 函数调用时指针类型实参的传递与使用 考题解析 单选题 若需要通过调用f函数得到一个数的平方值 以下f函数定义中不能实现该功能的是 A voidf double a a a a B voidf doublea double b b a a C voidf doublea doubleb b a a D doublef doublea returna a 答案 C 64 全国选择题 有以下程序 includevoidfun int a int b int c c a a b b c main intx 3 y 5 P 程序运行后的输出结果是A 3 5 5 3B 3 5 3 5C 5 3 3 5D 5 3 5 3 答案 B 65 阅读程序 以下程序运行时输出结果是 includevoidchange intx inty int z intt t x x y y z z t voidmain intx 18 y 27 z 63 change x y 答案 x 18 y 27 z 18 66 全国选择题 有以下程序 includevoidfun inta intn inti t for i 0 i n 2 i t a i a i a n 1 i a n 1 i t main intk 10 1 2 3 4 5 6 7 8 9 10 i fun k 5 for i 2 i 8 i printf d k i printf n 程序的运行结果是A 345678B 876543C 1098765D 321678答案 D 67 阅读程序 以下程序运行时输出结果中第一行是 1 第二行是 2 includevoidfun intx intp int n inti j 0 for i 1 i x 2 i if x i 0 p j i n j voidmain intx a 10 n i fun 27 a 答案 1 139 2 3 68 阅读程序 以下程序运行时输出结果中第一行是 1 第二行是 2 includeintfun char a char b intm 0 n 0 while a m 0 m while b n a m b n m n a m 0 returnm voidmain chars1 20 yes s2 5 no printf d n fun s1 s2 puts s1 答案 1 5 2 yesno 69 阅读程序 以下程序运行时输出到屏幕的结果第一行是 1 第二行是 2 includevoidfun char p1 char p2 voidmain inti chara 54321 puts a 2 fun a a 4 puts a voidfun char p1 char p2 chart while p1 p2 t p1 p1 p2 p2 t p1 2 p2 2 答案 1 321 2 14325 70 完善程序 以下程序的功能是 求a数组中前4个元素之和及后6个元素之和 includeintfsum int array intn inti s 0 for i 0 1 i s array i return s voidmain void inta 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 intsumh sumt sumh fsum a 4 sumt 2 printf d d n sumh sumt 答案 1 i n 2 fsum a 9 6 或fsum a 9 6 71 5 函数返回值的产生 考题解析 填空题 已知有函数定义 intfun return 3 4 则调用fun后的函数返回值是 1 答案 4 全国选择题 以下叙述中错误的是 A 用户定义的函数中可以没有return语句B 用户定义的函数中可以有多个return语句 以便可以调用一次返回多个函数值C 用户定义的函数中若没有return语句 则应当定义函数为void类型D 函数的return语句中可以没有表达式答案 B 72 全国选择题 以下关于return语句的叙述中正确的是 A 一个自定义函数中必须有一条return语句B 一个自定义函数中可以根据不同的情况设置多条return语句C 定义成void类型的函数中可以有带返回值的return语句D 没有return语句的自定义函数在执行结束语句时不能返回到调用处答案 B 73 6 全局变量 局部变量与形式参数的作用域 考题解析 阅读程序 以下程序运行时输出结果是 includeintt intsub int s s 1 t s returnt main inti for i 1 i 4 i printf 4d sub 答案 26 74 7 局部变量 形式参数的存储类型和生存期 考题解析 单选题 已知在函数f中声明了局部变量x 如果希望f函数第一次被调用返回后变量x中存储的数据保持到下次f函数被调用时仍可以使用 则在声明x时必须指定其存储类型为 30 A autoB registerC staticD extern答案 C 填空题 声明局部变量时若缺省存储类别 该变量的存储类别是 答案 auto 填空题 可以改变局部变量的生存期 但不能改变它的作用域的存储类别是 答案 static 75 阅读程序 以下程序运行时输出结果的第一行是 1 第二行是 2 includeintf1 staticinti 0 f 1 returnf i intf2 inti 0 f 1 returnf i voidmain printf d n f1 f1 printf d n f2 f2 答案 1 3 2 2 76 阅读程序 以下程序运行时输出到屏幕的结果第一行是 1 第二行是 2 第三行是 3 includeintg intx inty returnx y intf intx inty staticintx 2 if y 2 x x x y x elsey x 1 returnx y voidmain inta 3 printf d n g a 2 printf d n f a 3 printf d n f a 2 答案 1 5 2 7 3 8 77 6 函数高级应用 1 递归函数执行过程 考题解析 阅读程序 以下程序运行时输出结果是 8 includevoidf longx if x 100 printf d x 10 else f x 100 printf d x 100 10 main f 123456 答案 135 78 阅读程序 以下程序运行后的输出结果第一行是 13 includevoidprint intn voidprint n intn main print 4 voidprint intn if n 0 return print n n if n 0 print n 1 voidprint n intn if n 0 return printf d n if n 1 print n n 1 elseprintf n 答案 4321 79 阅读程序 以下程序运行时输出结果是 include includevoidsf char s1 char s2 if s1 s2 sf s1 1 s2 1 voidmain chara 20 ABC b 20 xyz sf a strlen a b puts a 答案 ABCxyz 80 阅读程序 以下程序运行时输出结果是 include includeintcount chars inti 0 if s i 0 return0 while isalpha s i i while isalpha s i 答案 4 81 阅读程序 以下程序运行时输出到屏幕的结果是 includevoidfun intm intn if m n printf d m elsefun m 1 n printf d m voidmain fun 1 2 答案 221 82 2 函数的指针操作 函数地址的获得及保存 指向函数的指针变量声明 初始化 赋值 调用指针变量指向的函数 考题解析 全国填空题 请将以下程序中的函数声明语句补充完整 includeint main intx y p p max printf 答案 max inta intb 或max int int 83 全国选择题 设有以下函数 voidfun intn char s 则下面对函数指针的定义和赋值均正确的是A void pf pf fun B void pf pf fun C void pf pf fun D void pf int char pf fun 答案 D 学校单选题 若已有如下程序 includedoubleg doublea double p double returnp a p a main doublex 2 y g函数调用语句位置 现需要在main函数中调用g函数 以下选项中正确的g函数调用语句是 A y g x exp B y g x exp x C y g x exp D y g doublex doubleexp 答案 A 84 3 返回指针类型值的函数以下程序运行结果是 include includeint fun intn int p p int malloc sizeof int p n 10 returnp main int p p fun 10 printf d n p 答案 20 85 7 单向链表 结点数据类型定义 使用malloc 函数 free 函数动态申请 释放结点存储区 基本操作 建立链表 遍历链表 查找结点 插入新结点 删除结点 数据统计 链表倒序 86 建立链表关键操作需声明指针变量 head 指向链表首结点 p1 指向新申请结点 p2 指向链表末结点 while 仍有数据需保存到链表 p1 structnode malloc sizeof structnode p1 成员名 数据 if head 0 head p2 p1 else p2 next p1 p2 p1 p2 next NULL returnhead 87 遍历链表 输出结点数据 统计结点数据 关键操作需声明指针变量p或直接用形参p head 指向链表首结点 while p NULL 查找结点数据 输出结点数据 统计结点数据p p next 88 插入结点到链表关键操作需声明指针变量 p 指向待插入新结点 head 指向链表首结点 p1 指向插入位置之前结点 p2 指向插入位置之后结点 申请新结点并保存数据到结点p structnode malloc sizeof structnode p 成员 数据 p next NULL 若要求将新结点插入链表第一个结点前if head NULL head pelse p next head head p returnhead 89 若要求将新结点插入有序链表中if 新结点应插入到链表首结点之前 p next head head p returnhead else p1 head p1指向链表第一个结点p2 head next p2指向链表第二个结点while p2 NULL if 新结点应插入到p2指向结点之前 立即终止循环else p1 p2 p2 p2 next if p2 NULL p1 next p 新结点添加到末结点之后else p next p2 p1 next p 新结点插入p2指向结点之前 returnhead 90 从链表中删除结点关键操作需声明指针变量 head 指向链表首结点 p1 指向需删除结点之前结点 p2 指向需删除结点 if 首结点需要删除 即head 成员 给定值 p head head head next 或head p next free p else p1 head p1指向链表第一个结点p2 head next p2指向链表第二个结点while p2 NULL if p2指向结点需删除 立即终止循环else p1 p2 p2 p2 next ifp2 NULL puts notfound 未找到结点else p1 next p2 next free p2 删除p2指向结点 returnhead 91 考题解析 插入新结点 完善程序 以下程序的功能是 函数structnode insert structnode head structnode p 将p指向的结点作为首结点插入head指向的链表中 main函数接收从键盘输入的一行字符 每接收一个字符后 申请一个新结点保存该字符 并调用insert函数将新结点插入链表中 最后从表头开始依次输出该链表各结点成员c的值 试完善程序以达到要求的功能 include includestructnode charc structnode next 92 voidmain structnode insert structnode head structnode p charch structnode head p head NULL while ch getchar n p structnode malloc sizeof structnode 1 ch p next NULL 2 p head while p NULL printf c p c 3 structnode insert structnode head structnode p if head NULL head p else 4 head p returnhead 答案 1 p c 2 head insert head p 3 p p next 4 p next head 93 数据统计 完善程序 以下程序创建一个链表并实现数据统计功能 函数WORD create chara 20 intn 创建一个包含n个结点的单向链表 结点数据来自a指向的数组中存储的n个单词 字符串 函数voidcount WORD h 统计h指向的单向链表中不同单词各自出现的次数 将统计结果保存到局部数组c中并输出 2009春 程序运行时输出结果为 red 1green 2blue 3 include stdio h include stdlib h include string h typedefstructw charword 20 structw next WORD 94 WORD create chara 20 intn WORD p1 p2 h 0 inti for i 0 inext p1 p2 p1 p2 next 2 returnh 答案 1 p1 word 2 0或NULL 95 voidcount WORD h struct charword 20 intnum c 6 0 intm 0 i while h if m 0 strcpy c 0 word h word c 0 num 1 m else
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 咨询服务方案的工作计划
- 鄂州的栈桥施工方案
- 团队活动方案策划奖品
- 息烽公司培训活动策划方案
- 咨询客服优化方案
- 药品执法培训课件
- 建筑山石开挖方案设计
- 班级搞野餐活动方案策划
- 建筑竞标方案设计费
- 税务咨询客户服务方案
- 员工大会制度
- 智能城市垃圾分类处理系统合同
- GB/T 44311-2024适老环境评估导则
- 人教版 九年级历史上册 第一、二单元 单元测试卷(2024年秋)
- 教科版五年级科学上册全册同步课时练习【含答案全册】
- JTS-204-2008水运工程爆破技术规范-PDF解密
- NBT 10643-2021 风电场用静止无功发生器技术要求与试验方法-PDF解密
- 初中英语单词表(For-Junior)2182个 带音标
- 《朝花夕拾》读书分享交流
- 无人机理论知识无人机理论基础
- 智能手机基础知识培训课件
评论
0/150
提交评论