二级C语言笔试30

上传人:仙*** 文档编号:85008807 上传时间:2022-05-05 格式:DOC 页数:12 大小:185.50KB
收藏 版权申诉 举报 下载
二级C语言笔试30_第1页
第1页 / 共12页
二级C语言笔试30_第2页
第2页 / 共12页
二级C语言笔试30_第3页
第3页 / 共12页
资源描述:

《二级C语言笔试30》由会员分享,可在线阅读,更多相关《二级C语言笔试30(12页珍藏版)》请在装配图网上搜索。

1、二级 C 语言笔试 30( 总分: 84.00 ,做题时间: 90 分钟 )一、 B 选择题 /B( 总题数: 50,分数: 50.00)1. 下列模式中, 是用户模式。(分数: 1.00 )A. 内模式B. 外模式 VC. 概念模式D. 逻辑模式解析: 评析 数据库管理系统的三级模式结构由外模式、模式和内模式组成。外模式,指数据库用户所看 到的数据结构,是用户看到的数据视图。模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有 用户所见到的数据视图的总和。内模式是指数据在数据库系统内的存储介质上的表示,即对数据的物理结 构和存取方式的描述。2. 若 fp 是指向某文件的指针,且已读到此文

2、件的末尾,则函数 feof(fp) 的返回值是 。(分数: 1.00 )A. EOFB. 0C. 非零值 VD. NULL解析: 评析 函数 feof 是用来判断文件是否已读到末尾,如果已读到末尾则返回非零值,否则返回0。3. 请读程序:#include #include vstring.h main() char*s1=AbCdEf ,*s2=aB ; s1+; s2+; printf(%d/n,strcmp(s1,s2); 上面程序的输出结果是 。(分数: 1.00 )A. 正数 VB. 负数C.零D. 不确定的值解析:评析strcmp(X1 , X2)是串比较函数,本题中“ s1”、“s

3、2”分别表示这两个串中第一个字符的地 址,S1+和s2+是将指针指向串的第二个字符,则*s1为“bCdEf, *s2为“B。在字符串比较中,戈卩、的确定是各个字符串相应位置字符的ASCII码值的大小决定的,s1 s2,返回值为正数。4. 下面程序的输出结果是 。 union un int a4; long b ; char c6; main() union unu; printf(%d%d , sizeof(u),sizeof(uA) ); (分数: 1.00 )A. 82B. 88 VC. 188D. 182解析: 评析 sizeof 函数计算已知类型所占的字节数。共用体变量所占的内存长度等

4、于最长的成员的长 度。5. 下列可用于C语言标识符的一组是。(分数: 1.00 )A. void WORD defineB. a 6$sys ForC. 2a sizeof abcD. Int define sizeofV解析: 评析 C 语言规定标识符只能由字母、数字和下戈线三种字符组成,且第一个字符必须为字母或下 划线。注意,大写字母和小写字母被认为是两个不同的字符。C语言中的关键字不能用作标识符。6. 以下说法中正确的是 。(分数: 1.00 )A. C 语言程序总是从第一个函数开始执行B. 在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始

5、执行 VD. C语言程序中的main()函数必须放在程序的开始部分解析: 评析 C 语言的程序是由主函数 main() 开始运行,由主函数来调用其他函数,函数必须是并列的, 定义后使用,不能在一个函数中定义其他函数, main() 函数不一定要放在程序的开始部分,故选 C。7. 在C语言中,不正确的int类型的常数是 。(分数: 1.00 )A. 32768VB. 0C. 037D. 0xAF解析:评析C语言中int类型的常数的范围是:-3276832767。C整常数可用三种形式表示:十进制整 数,八进制整数,十六进制整数。选项 A 超出范围,不正确。8. 假定下面程序可执行文件名prg.ex

6、e,则该程序所在的子目录下输入命令行:prg hello goodv回车后,程序的输出结果是 。main(int argc , char*argv) int i; for(i=1 ; i v argc ;i+)printf(%c,argvi); (分数: 1.00 )A. hello goodB. hg VC. helD. hellogood解析: 评析 带参数的 main() 函数常用形式为: main(int argc,char*argv) ,其中,整型变量 argc 用 来记录命令行中的参数个数。参数的个数由C程序运行时自动计算出来。字符型指针数组argv的第一个元 素存放命令名,其后各

7、个元素依次存放命令行中各个参数的首地址,数组的大小由argc 确定。 for 循环语句实现输出各参数的第一个字母。9. 以下数据结构属于非线性数据结构的是 。(分数: 1.00 )A. 队列B. 线性表C. 二叉树 VD. 栈解析: 评析 线性表、栈和队列等数据结构所表达和处理的数据以线性结构为组织形式。栈又称后进先出表(Last In First Out);队列又称先进先出表(First In First Out)。二叉树的数据结构是树型结构,结构中数据元素之间存在着一对多的关系,因此它是一种非线性数据结构。10. 以下选项中属于C语言的数据类型是。(分数: 1.00 )A. 复数型B. 逻

8、辑型C. 双精度型 VD. 集合型解析: 评析 C 语言的数据类型分为基本类型、构造类型、指针类型、空类型四大类。其中,基本类型分 为整型、字符型、实型三类。实型又称浮点型,包括单精度型和双精度型两种类型。11. 以下程序的运行结果是 。 #include stdio.h main() int a=1 , 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12; int *p=a+5,*q=NULL ; *q=*(p+5); printf(%d %d/n, *p, *q) ; (分数: 1.00 )A. 运行后报错 VB. 6 6C. 6 12D. 5 5解析:评析题目中没有给q分

9、配存储单元,只是简单的给它赋了一个值,所以程序的运行结果是 6 11 NULLpointer assignment ,也就是运行后报错。12. 下面叙述正确的是 。(分数: 1.00 )A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令 (或语句 ) 的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止VD. 算法的时间复杂度是指执行算法程序所需要的时间解析: 评析 算法的设计可以避开具体的计算机程序设计语言,但算法的实现必须借助程序设计语言中提 供的数据类型及其算法。数据结构和算法是计算机科学的两个重要支柱。13. 在使用程序流程图来表示算法时,菱形用

10、来表示 。(分数: 1.00 )A. 输入与输出B. 子程序C. 判断分支 VD. 循环边界解析:评析美国国家标准化协会 ANSI规定了一些常用的流程图符号,其中椭圆框表示起止框,方框表 示处理框,菱形框表示判断分支,箭头表示流程线。14. 以下程序的输出结果是 。 main() int w=5;fun(w) ;printf(/n); fun(int k) if(k 0) fun(k-l) ; printf(%d ,k) ; (分数: 1.00 )A. 5 4 3 2 1B. 0 l 2 3 4 5VC. 1 2 3 4 5D. 5 4 3 2 1 0解析: 评析 函数的递归调用就是在调用一个

11、函数的过程中又出现直接或间接地调用该函数本身。fun 函数共被调用 6 次,即 fun(5) 、fun(4) 、fun(3) 、 fun(2) 、fun(1) 、fun(O) 。其中 fun(5) 是 main 函数调用 的。15. 设有 static char str=Beijing; 则执行 printf(%d/n , strlen(strcpy(str,China);后的输出结果为 。(分数: 1.00 )A. 5VB. 7C. 12D. 14解析: 评析 在执行 printf() 函数前,数组 str 的长度是 7,但是当使用 strcpy() 函数将新的值赋给 str 后, strl

12、en() 函数返回的应当是现在的 str 字符串的字符个数,即是5。16. 以下概念中,不属于面向对象方法的是 。(分数: 1.00 )A. 对象、消息B. 继承、多态C. 类、封装D. 过程调用 V解析: 评析 面向对象方法是一种运用对象、类、封装、继承、多态和消息等概念来构造、测试、重构软 件的方法。面向对象方法从对象出发,发展出对象、类、消息、继承等概念。17. 若有以下说明和语句,请选出哪个是对c数组元素的正确引用 。int c45,(*cp)5; cp=c;(分数: 1.00 )A. cp+1B. *(cp+3)C. *(cp+1)+3D. *(*cp+2)V解析:评析cp=c这个语

13、句是将数组第 0行的地址赋给了 cpcp+1使指针指向二维数组 c的第一行;*(cp+3) 是数组c的第三行的第0列的地址值;*(cp+1)+3是数组c的第一行第三列的地址值。18. 在一棵二叉树上第 8 层的结点数最多是 (分数: 1.00 )A. 8B. 16C. 128 VD. 256解析:评析根据二叉树的性质:二叉树第j(i 1)层上至多有21个结点。得到第8层的结点数最多是128。19. 设有以下语句 char a=3,b=6,c; c=aAb 2;贝U c的二进制值是 。(分数: 1.00 )A. 00011011VB. 00010100C. 00011100D. 00011000

14、解析:评析“”是C语言中规定的左移运算符,a是异或运算符,所以,c的二进制值应为00011011。20. 下面描述中,不符合结构化程序计风格的是 。(分数: 1.00 )A. 使用顺序、选择和重复 ( 循环)三种基本控制结构表示程序的控制逻辑B. 自顶向下C. 注重提高程序的执行效率 VD. 限制使用 goto 语句解析:评析结构化程序设计方法的四条原则是:1自顶向下;2 逐步求精;3.模块化;4 限制使用goto 语句。21. 设变量x为float型且已经赋值,则以下语句中能够将 x中的数值保留到小数点后面两位,并将第三位四舍五入的是 。(分数: 1.00 )A. x=x*l00+0.5/1

15、00.0B. x=(x*100+5)/100C. x=(in(x*100+0.5)/100.0VD. x=(x/100+0.5)*100.0解析: 评析 本题通过算术表达式的运算实现小数保保留两位并四舍五入的操作,其中(int)(x*100+0.5)是指将 (x*100+0.5) 的值强制转换成整型。22. 下列选项中不能正确定义结构体的是 。(分数: 1.00 )A. typedef structB. structcolor cl int red; int red; int green; int green; int blue; int blue; COLOR; ;COLOR cl; VC.

16、 struct colorD. struct int red; int red ; int green; int green ; int blue ; int blue ; cl ; cl ;解析: 评析 将一个变量定义为标准类型与定义为结构体类型不同之处在于:后者不仅要求指定变量为结构体类型,而且要求指定为某一特定的结构体类型(例如, struct color) ,不能只指定结构体名。其中可以不出现结构体名,答案D就是缺省结构体名的隋况。而变量名歹婊必须放在成员列表后面,所以B答案不能正确将 cl 定义为结构件变量。23. 下面能正确定义数组,并正确赋值的语句是 。(分数: 1.00 )A.

17、 int N=5 , bB. int a12=1, 3C. int c2=1,2,3,4D. int d32=1,2, 34 V解析: 评析 可以用下面的方法对二维数组初始化:1、分行给二维数组赋初值。如int a 34=1,2, 3, 4, 5, 6, 7,8 , 9, 10, 11, 12 ;。 2、将所有数据写在一个花括弧内,按数组排列的顺序对 各元素赋初值。如 int a34=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12;。 3、对部分元素赋初值。如int a34=1, 5 , 9;,它的作用是只对各行第一列的元素赋初值,其余元素值自动为 0。4、如果对全

18、部元素都赋初值 (即提供全部初始数据 ) ,则定义数组时对第一锥的长度可以不指定,但第二锥的 长度不能省。 如 int a34=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ;与下面的定义等价: int a4=1,2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12;。24. 有如下程序 float fun (int x,int y)return(x+y) ; main() int a=2,b=5 , c=8; printf(%3.Of/n ,fun(int)fun(a+c,B) ,(a-C) ) 程序运行后的输出结果为 。(分数: 1.00 )A

19、. 编译出错B. 9VC. 21D. 9.0解析:评析本题中先执行(int)fun(a+c , b)函数的调用,值为整型数值 15;然后再执行fun(15,(a-c) 函数调用,值为单精度实型数值 9.000000 。输出为 %3.of, 即有效数长度为 3,没有小数位数,所以最后结 果为 9。25. 下列描述中不正确的是 。(分数: 1.00 )A. 字符型数组中可以存放字符串B. 可以对字符型数组进行整体输入、输出C. 可以对整型数组进行整体输入、输出 VD. 不能在赋值语句中通过赋值运算符“ =”对字符型数组进行整体赋值解析: 评析 C 语言规定只能逐个引用数组元素而不合下次引用整个数组

20、。字符数组的输入、输出可以将 整个字符串一次输入或输出。所以,选项C的说法是不正确的。26. 请选出司用作C语言用户标识符的一组标识符 。(分数: 1.00 )A. voidB. a3 b3VC. ForD. 2a define 123 abc OO WORD IF case sizeof解析: 评析 C 语言规定标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。选项A中的void是C语言的关键字,不合法;选项C中的case和C语言的关键字重名,不合法; 选项D中的2a是数字打头而且sizeof和C语言的关键字重名,不合法。27. 以下程序的输出结果是 。main(

21、) int a=-1, b=1, k; if(+a 0)&!(b- main() int i ; for(i=1 ; i v5;i+) if(i%2)printf(*); else continue; printf(#); printf($/n); (分数: 1.00 )A. *#*#*#$B. #*#*#*$C. *#*#$ VD. #*#*$解析: 评析 当 i 不可以整除 2 时打印“ * ”然后打印“ #”, 不能整除 2 则执行 continue ,跳挝 printf(#) 语句,结束本次循环,返回到循环的起始点。当循环结束后,打印“$”。34. 运行以下程序后,如果从键盘上输入 c

22、hina# v回车,贝愉出结果为 。 #include main() int v1=0, v2=O; ch ar ch ; while(ch=getchar()!=#) switch(ch) casea: caseh :default :v1+; caseO :v2+; printf(%d,%d/n,v1,v2); (分数: 1.00 )A. 2,0B. 5,0C. 5,5VD. 2,5解析: 评析 执行完一个 case 后面的语句后,流程控制移到下一个 case 继续执行。 “case 常量表达式” 只是起语句标号作用,并不是在该处进行条件判断。在执行 switch 语句时,根据 switc

23、h 后面表达式的值 找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。35. 在结构化方法中,用数据流程图 (DFD) 作为描述工具的软件开发阶段是 。(分数: 1.00 )A. 可行性分析B. 需求分析 VC. 详细设计D. 程序编码解析: 评析 软件开发阶段包括需求分析、总体设计、详细设计、编码和测试五个阶段。其中需求分析阶 段常用的工具是数据流图和数据字典。36. 数据库系统的核心是 。(分数: 1.00 )A. 数据模型B. DBMS VC. 软件工具D. 数据库解析:评析数据库管理系统 DBMS是数据库系统的核心。DBMS是负责数据库的建立、使用和维护的软件。DBMSt立在操

24、作系统之上,实施对数据库的统一管理和控制。用户使用的各种数据库命令以及应用程序的 执行,最终都必须通过DBMS。37. 请读程序: #include func(int a,int b) int c; c=a+b; return c ; main() intx=6,y=7,z=8,r, r=func(x-,y+ , x+y),z-) ; printf(%d/n,r); 上面程序的输出结果是 。(分数: 1.00 )A. 11B. 20C. 21 VD. 31解析: 评析 函数 func() 的作用是返回两个形参的和,第一个形参是 x、 y 分别自减和自增后的和,其中 (x- , y+, x+y)

25、 是一个逗号表达式,它的值应该等于 x+y ,所以整个表达式 (x- , y+, x+y) 的值为 13,而 第二个形参的值为 8( 根据语法规则,应当先使用,后自增 ),所以 func() 的返回值为 13+8=21。38. 请读程序片段 ( 字符串内没有空格字符 ): printf(%d/n,strlen(ATS/n012/1/);上面程序片段的输出结果是 。(分数: 1.00 )A. 11B. 10C. 9 VD. 8解析: 评析 这个语句的目的是输出“ ATS/n012/1/ ”这个串的长度,在串中“ / ”代表一个“ /”,而“/1”代表数字1,也占一个字符,“ /n”是回车换行符,

26、也占一个字符,加上A、T、S 0、1、2,共g个字符。39. 能正确表示 a 和 b 同时为正或同时为负的逻辑表达式是 。(分数: 1.00 )A. (a =0|b =0)&(a 0&b =0)&(a 0&b0)&(a+b 0 V解析:评析选项A中,表达式表示的是 a,b为异号;选项B中,表达式表示的是 0,因为没有满足条 件的值;选项C中,表达式表示的是 0,因为没有满足条件的值;选项D表示的是a和b为同号。40. 请读程序: #include main() int a,b; for(a=1 ,b=1;a=20)break ;if(b%3 =1” b+=3; continue ; b=5 ;

27、 printf(%d/n,A); 上面程序的输出结果是 。(分数: 1.00 )A. 7B. 8 VC. 9D. 10解析: 评析 break 语句的作用是用刊曲循环体; Continue 语句的作用是用于跳出本次循环。执行第一次 循环时,(b%3= 1)为真,b=4,继续下一次循环,如此反复,当b=22时结束循环,共循环 8次,即a=8。41. 有以下程序 #include main() int c; while(c=getchar()!=/n)switch(c-2)caseO: case1 : putchar(c+4) ; case 2:putchar(c+4); braeak ; cas

28、e3 : putchar(c+3); default :putchar(c+2);break ; 从第一列开始输入以下数据,J代表一个回车符。2473J程序的输出结果是 。(分数: 1.00 )A. 668977 VB. 668966C. 66778777D. 6688766解析: 评析 getchar() 函数是从键盘接受一个字符输入;当用户键入的字符不是回车符时,会进入一个 多分支选择语句,根据 C-2 的值进行分支选择; putchar() 是在屏幕上打印一个字符,最后的结果应当为 668977。42. 请读程序: #include main() int a=5,b=7, c=9; pi

29、ntf(%d,%d,a,b,C) ;printf(%d , %d,a,D); 上面程序的输出结果是 。(分数: 1.00 )A. 5,7,9,5,7B. 5,7,5 , 7C. 5, 7,不定 7,9D. 5, 7, 5, 7,不定 V解析: 评析 printf 函数按格式控制符的个数输出表列中对应的数据,若输出表列的个数大于格式控制 符个数,则输出与格式控制符对应的输出表列的数据,输出表列中多的则省略;若格式控制符个数大于输 出表列的个数,则输出与格式控制符对应的输出表列的数据,格式控制符多的部分输出的数据是随机的。43. 以下选项中,能定义 s 为合法的结构件变量的是 。(分数: 1.00

30、 )A. typedef struct abc double a; char b10; s ;B. struct double a; char b10; s VC. struct ABC double a ; char b10; ABCs ;D. typedef ABC double a; char b10; ABCs ;解析:评析定义一个结构体类型的变量,可采用三种方法:先定义结构体类型,再定义变量名;在 定义类型的同时定义变量;直接定义结构类型变量,即不出现结构体名;选项B符合第三种定义方法。44. 请选出以下程序的输出结果 。#include sub(int*s,inty) static

31、 int t=3,y=st;t-; main() int a=1,2,3,4,i,x=0; for(i=0 ; i se) ;解析:评析在C语言中,结构体变量的引用有三种等价方式:1、结构体变量成员名;2、(*p).成员名;3、p- 成员名。因为std . name是字符数组名,本身代表地址,其前面不应该使用“&符号,所以选项B 错误。48. 软件生命周期中所花费用最多的阶段是 。(分数: 1.00 )A. 详细设计B. 软件编码C. 软件测试D. 软件维护 V解析: 评析 软件生命周期分为软件定义、软件开发及软件运行维护 3个骱段。本题中详细设计、软件编 码和软件测试都属于软件开发阶段;维护

32、是软件生命周期的最后一个阶段。49. 下列程序段中,不是死循环的是 。(分数: 1.00 )A. int i=100; VB. unsigned k=0 ; while(1) do i=i%100+1; +k if(i =100)break ; while(k =0);C. for(;);D. int s=3379; while(s+%2+s%2)s+ ;解析:评析 当表达式为非 0 值时,执行 while 语句中的内嵌语句, 可用 break 语句跳出循环, 用 continue 语句结束本次循环。选项 A不是死循环,当i=100时跳出循环。选项 C为空循环语句。50. C 语言中下列叙述正

33、确的是 。(分数: 1.00 )A. 不能使用 d while 语句构成的循环B. d while 语句构成的循环,必须用 break 语句才能退出C. dwhile 语句构成的循环,当 while 语句中的表达式值为非零时结束循环D. d while 语句构成的循环,当 while 语句中的表达式值为零时结束循环 V解析:评析选项A是错误的,C语言支持dowhile语句;选项B是错误的,dowhile 构成的循环, 当while语句中的表达式值为零时结束循环,而不是非零;选项C也是错误的。二、 B 填空题 /B( 总题数: 17,分数: 34.00)51. 算法的复杂度主要包括时间复杂度和

34、U【1】 /U 复杂度。(分数: 2.00 )填空项 1: (正确答案:空间)解析: 评析 习惯上常常把语句重复执行的次数作为算法运行时间的相对量度,称作算法的时间复杂度。 算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。52. 数据的物理结构在计算机存储空间中的存放形式称为数据的 U【2】 /U。(分数: 2.00 )填空项 1: (正确答案:内模式 或 物理模式 或 存储模式)解析: 评析 一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据库内部的表示方 法。例如,记录的存储方式是顺序存储、索引按照什么方式组织;数据是否压缩存储,是否加密等。53. 若按功能划分,

35、软件测试的方法通常分为 U【3】 /U 测试方法和黑盒测试方法。(分数: 2.00 )填空项 1: (正确答案:白盒)解析: 评析 软件测试的方法有三种:动态测试、静态测试和正确性证明。设计测试实例的方法一般有两 类:黑盒测试方法和白盒测试方法。54. 数据库三级模式体系结构的划分,有利于保持数据库的 U【4】 /U。(分数: 2.00 )填空项 1: (正确答案:数据独立性)解析: 评析 数据库的三级模式体系结构把数据的组织管理工作进行了划分,把数据的具体组织留给 DBMS管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式,保证 了数据的独立性。55. 在

36、关系运算中,查找满足一定条件的元组的运算称之为 U【5】 /U。(分数: 2.00 )填空项 1: (正确答案:选择)解析:评析在关系数据库中,选择运算也是一个元运算,关系R通过选择运算(并由该运算给出所选择的逻辑条件)后仍为一个关系。这个关系是由R中的那些满足逻辑条件的元组所组成。56. 在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为4 :一个double型数据在内存中所占的字节数为 U【6】 /U。(分数: 2.00 )填空项 1: (正确答案: 8)解析:评析在一般16位PC机中,一个float型数据在内存中占4个字节(32位),一个double型数据 占

37、8 个字节。57. 设有以下变量定义,并已赋确定的值, char w ;int x ; floaty ; double Z ; 则表达式: w*x+z-y 所 求得的数据类型为上 U 【7】 /U 。(分数: 2.00 )填空项 1: (正确答案: double 型 或双精度型)解析:评析先进行w*x的运算,先将字符型 W转换成整型,运算结果为整型;再将 w*x的结果与z 相加,要先将第一步的整型转换为double型,运算结果为double型;最后将 w*x+z的结果与y相减,要先将 float 型 y 转换成 double 型,结果为 double 型。58. 若运行时给变量 x 输入 12

38、,则以下程序的运行结果是 U 【8】/U ; main() int x,y ; scanf(%d&x); y=x 12?x+10: x-12 ; printf(%d/n,y) ; (分数: 2.00 )填空项 1: (正确答案: 0)解析: 评析 三目运算符的形式为 ( 表达式 1)?( 表达式 2) : ( 表达式 3) 。当 ( 表达式 1) 值为真时,返回 ( 表 达式2)的值;为假时,返回(表达式3)的值。题中因为x 12为假,所以结果为x-12,即为0。59. 四条语句:x+;、+x ;、x=x+1 ;、x=1+x;,执行后都使变量 x中的值增1,请写出一条同一功能的赋值语句 ( 不

39、得与列举的相同 )U【9】 /U 。(分数: 2.00 )填空项 1: (正确答案: x+=1 ;)解析:评析题面中的四条语句的作用是使x的值加1,在C中有多种方法可以对变量进行加1操作,这里可以利用C的复合赋值运算符+=实现,本题答案为x+=1 ;。60. 设有以下定义和语句,则 *(*(P+2)+1) 的值为 U 【10】 /U。int32=10,20,30,40,50,60,(*p)2; p=a;(分数: 2.00 )填空项 1: (正确答案: 60)解析:评析本题定义了一个3行2列的二维数组a,并定义了一个指向两个元素的一维数组指针p,让p指向二维数组a的首行。*(*(p+2)+1)是

40、引用a21,其值是60。61. 若要使指针p指向一个double类型的动态存储单元,请填空。p=U【11】/Umalloc(sizeof(double);(分数: 2.00 )填空项 1: (正确答案: (double*) )解析: 评析 函数 malloc 返回的是 void* , 所以若要使指针指向一个 double 类型,则必须进行类型转 换,类型转换格式为: ( 数据类型 *) 。62. 下面程序的功能: 输出 100以内能被 3整除且个位数为 6的所有整数, 请补充完整。 main() int i,j;for(i=0;U【12】 /U; i+) j=i*10+6; if(U【13】

41、/U)continue ; printf(%d ,j); (分数: 2.00 )填空项1: (正确答案:12 i v 10)解析: 13i%3 !=0 评析 本题要求输出 100以内能被 3整除且个位数为 6的所有整数, 程序中 j=i*10+6 ; 语句是求个位数为6的整数,由此可得出程序的循环次数为i v 10。然后通过if语句判断整数是否能被 3整除,若不能则继续下一次循环,若能则输出该整数,所以逻辑表达式为j%3!=0。63. 函数 mycmp(char*s,char*t) 的功能提比较字符串 s 和 t 的大小,当 s 等于 t 时返回 0,当 st 返回正值,当 svt 时返回负值

42、。请填空。 mycmp(char*s,char*t) while(*s=*t) if(*s=/0)return0;+s;+t; return(U【14】 /U) (分数: 2.00 )填空项 1: (正确答案: *s-*t 或 -*t+*s)解析:评析函数的两个形参是两个字符指针变量,字符串的首地址是指针变量的值,*s和*t表示字符串数组 s 和 t 的第一个字符,在 while 循环中,是通过 s 和 t 值的不断变化来改变指针所指向的字符,要 改变s和t所指不同字符的ASCII码的差值,必须使用“ *s -*t ”得出。64. 以下程序运行后的输出结果是U【15】/U 。void fun(

43、) static int a=0; a+=2; printf(%d,A) ; main() int cc ; for(cc=1 ; cc 4, cc+)fun() ; printf(/n); (分数: 2.00 )填空项 1: (正确答案: 2 4 6 )解析: 评析 static 声明的外部变量只限于被本文件引用,而不能被其他文件引用。用static 来声明一个变量的作用有:对局部变量用static声明,则为该变量分配的空间在整个程序执行期间始终存在; 全部变量用 static 声明,则该变量的作用域只限于本文件模块 (即被声明的文件中 )。65. 下列程序的运行结果是 U【 16】 /U

44、。 main() union EXAMPLE struct int x; int y; in;int a; int b; e: e.a=1 ;e.b=2 ; ; ; (分数: 2.00 )填空项 1: (正确答案: 4, 8)解析: 评析 C 语言规定,共用体中各个成员变量在内存中占用同一段内存单元,即和 e.a、e.b占用同一段内存单元, 由于 和 e.a、e.b 占用的是同、 段内存单元, 所以程序最后的打印结果为“ 4, 8”。66. 在对文件进行操作的过程中, 若要求文件的位置回到文件的开头, 应当调用的函数是 U【17】 /U函数。(分数: 2.00 )填空项 1: (正确答案: N

45、Nrewind 或 fseek )解析: 评析 在对文件进行操作的过程中, 若要求文件的位置回到文件的开头, 可以调用 rewind 或 fseek 函数。其中 rewind 函数的作用是将位置指针重新返回文件的开头, 而 fseek 函数可以实现文件指针的定位。67. 以下函数用于求出一个2X4矩阵中的最大元素值。max_value(arr) int arr4; int i,j,max;max=arrO0 ; for(i=0;i max)max=U 【 20】 /U; return(max) ; (分数: 2.00 )填空项 1: (正确答案: 18 j 4)解析: 19 arrij 20 arrij 评析 2*4 矩阵实际上就是一个二维数组, 结合本题应为 arr24,所以在第一个循环中应当填写“ 4”;第二个横线处是要判断当前的数组元素值是否大于max,所以应填写arrij;第三个横线处是要将当前大于 max的数组元素的值赋给变量 max,所以应当填写“ arrij ”。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!