浙江大学C语言同步练习册题与解答.pdf
《浙江大学C语言同步练习册题与解答.pdf》由会员分享,可在线阅读,更多相关《浙江大学C语言同步练习册题与解答.pdf(145页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、、,.-1 刖 B学习计算机高级程序设计语言是一个概念性和实践性都很强的学习过程。特别是学习C语言就有这两个方面的问题:一方面,在语言的组成成份中有许多基本概念,有的甚至于涉及计算机的硬件知识,有的需要记忆;另一方面,是编程方法和程序设计及上机实践的问题。为了能学好这两个方面的问题,只有通过多做习题多上机,通过多练习可以巩固和提高所学的教材中各章节的基本概念和知识,从而自然而然地记住了这些概念和规则,通过多练习也逐渐掌握了程序设计和编程方法。本书是为配合高等教育自学考试中,以 C语言为高级语言的 高级语言程序设计课程而写的同步练习册。其内容编排按教材的章节编写,与学习者的学习过程同步。学习者在
2、学习大纲、教材的过程中,每学完一定内容后,就可及时做一定数量的练习题。通过学练结合较好地完成学习任务。本书的编写原则是:在每章的习题前,都有对本章在学习和解题过程中的重要疑难问题进行通俗的条理的说明。然后是按考试大纲规定的题型选用教材的全部习题,同时增加几乎近一倍的根据作者多年的教学积累的精选习题,练习题的安排与教材的安排顺序同步。另外,增加了综合练习题部分,为了读者能全面交叉引用前面学过的所有知识,以及对付自学考试而进行的总复习时,可做一定数量的习题,既能巩固所学的知识,又能及时发现问题并采取有效的补救措施。最后,按大纲规定的考核目标和题型编制了三套综合自测题并给出评分标准和参考答案。所有的
3、练习题都有答案,对一些较难的题目在答案中还加上解题过程的说明,所有答案的程序都已在计算机上运行通过。在本书的编写过程中,参考了大量有关c语言程序设计书籍和资料以及浙江大学、浙江工业大学的一些考试题,编者在此对这些参考文献的作者表示感谢。由于编者水平有限,书中难免存在错误和不当之处,敬请广大读者不吝赐教。编者2 0 0 0 年 1 2 月第1章 概 述学习和解题要点1.C 语言是什么样的语言?早期的计算机语言是二进制的语言(又称机器指令)。目前的计算机语言有:汇编语言(又称符号语言)、高级语言(又称面向问题的语言)、面向对象语言(如面向对象C+语言)和面向对象可视化语言(如 Visual C+)
4、C 语言属于高级语言。2.C 程序的基本结构程序文件名.c(源程序)#include m ain().语句一个完整模块)int a;函数名0()(一个完整模块).函数名n(.)(一个完整模块3.C 程序和语句中用到的符号大小写英文字母。数字字符。可直接键盘输入的符号(33个)。转义字符:如 n、b、t 等相当于打Enter键、Backspace键、Tab键所起的作用。n 字符 被“反斜杠字符()”转义了。标识符:C 程序中经常要取一些名字,如变量名、数组名、函数名等,称为标识符。C 语言的取名规则是:由字母或下划线开头(一定要这二类字符开头,不能用数字开头)的字母、数字、下划线组成的一串字符(
5、不能有其他字符)。保留字:如 in t、ch ar、struct英语单词等虽然符合取名规则,但是C 语言把它“保留”作为特殊含义使用。练习题一、单项选择题1.机器指令是属于()。A.低级语言 B.高级语言C.面向问题语言D.汇编语言2.下列语言中不属于面向问题的语言是()oA.高级语言 B.低级语言C.c语言D.BA S I C 语言3.高级语言编写的程序称为()。A.高级程序 B.源程序c.目标程序D.编译程序4.下列字符中属于键盘符号的是()。A.B.nc.tD.b5.下列字符中不属于键盘可输入的符号是(:)oA.A B.c.1D.r6.下列不正确的转义字符是()。A.B.c.0 7 4D
6、.o7.下列正确的转义字符是()。A.7 7 7 B.8 2 1c.x h hD.x ff8.下列正确的转义字符是()。A.ddd B.x fgc.x ffD.%9.不是C语言提供的合法关键字是()。A.s w i t c h B.c h erc.c a s eD.defa u l t1 0.C语言提供的合法关键字是()。A.n ex t B.s t r i n gc.do c a s eD.s t r u c t1 1.正确的标识符是()。A.?a B.a=2C.;a,3D.a _ 31 2.正确的标识符是()。A.i n t _ a B.a _ 2C.a 3*4D.3 x y1 3.不正确
7、的标识符是()。A._ a l B.a i C.a 2 _ iD.i n t1 4 .下列说法中正确的是()。A.由于C源程序是高级语言程序,因此一定要在T C 软件中输入B.由于C源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C.由于C程序是高级语言程序,因此输入后即可执行D.由于C程序是高级语言程序,因此它由命令组成1 5 .下列说法中正确的是()。A.C语言程序由主函数和0 个到多个函数组成B.C语言程序由主程序和子程序组成C.C语言程序由子程序组成D.C语言程序由过程组成1 6 .下列说法中错误的是()。A.主函数可以分为两个部分:主函数说明部分和主函数体B.主函数
8、可以调用任何非主函数的其它函数C.任何非主函数可以调用其它任何非主函数D.程序可以从任何非主函数开始执行二、填充题1.汇编语言属于面向 语言,高级语言属于面向 语言。2.用 高 级 语 言 编 写 的 程 序 称 为 程序,它可以通过 程序翻译一句执行一句的方式执行,也可以通过 程序一次翻译产生 程序,然后执行。3.在 C 语 言 程 序 中 允 许 出 现 的 字 符 集 是、和4.转义字符是由 符号开始的单个字符或若干个字符组成的。5.C语言的程序中有特殊含义的英语单词称为 o6.标识符是用户 的一种,通常用来表示程序中需要辨认的对象。7.C语言中,标识符的定义规则是。8.C语 言 词 类
9、 主 要 分 为、和 等 6 类。9.C语言的语句主要分为 语句、语句、语句、语句、语句、语句、语句和 语句等8 类。10.C 程序是由函数构成的。其中有并且只能有 个主函数。C 语言程序的执行总是由 函数开始,并且在 函数中结束。IL C语言程序的注释可以出现在程序中的任何地方,它总是以 符号作为开始标记,以 符号作为结束标记。第 2 章 基本数据类型和运算学习和解题要点1 .数据类型c 语言中的数据类型比别的语言丰富。要学好这部分内容,首先要掌握c 语言的数据在内存中的表示。整型数据:以二进制的形式表示(1)i n t 类型正数:如 1 2 3 (+1 2 3)用 1 6 位二进制(二个字
10、节)表示原码反码(原码同)补 码(原码同)最大正整数215-I=211+213+212+211+210+29+2827+26+25+2,1+23+22+2I+20=32767原码|I|O|O|O|O|O|O|O|C|I|I|I|I|O|I|I|t符号位1表示负反码(符号位不动,户号四号)I 1 业1 1 1 1 0 0 0 0 1 0补码(补码力口 1)_ _ _ _ _,_ _ _ _ _ _ _己知补码求原负数 符号位不动,其它取反加1取反 1 ()0()()0 0 0 0|1 1 1 1。1 0 加 1 1 0 0 0()o o o o l 1 i l l l l o 1 1 1最大负整
11、数 L-L J-UX4-L J-UUULUJ-U-2 1 5=3 2 7 6 8 因 为-21 5 -(21 5-1)所以用-2 化 而 不 用-(21 5-1)(2)u n s i g n e d(i n t)类型称为无符号整数,它不是指不带“+或-”号的整数,而是指内存表示这类数时没有符号位,1 6 位二进制都用来表示数,因此最大数|1 1 1 1|1 1 1|)1 1|12 1 5+2 M+2 1 3+2 1 2+2 展亦版做秸端2 2+2 1+2 0=6 5 5 3 5最 小 数 0|楠 刚 桃 南 神 阚 可(3)l o n g (i n t)类型用 3 2 位二进制(四个字节)表示
12、,其 他 同 i n t 型(4)s h o r t 类型有的计算机(小型、中型、大 型 机)i n t 即 是 l o n g ,而 s h o r t 用 1 6 位二进制(二个字节)表示。因此C语言中,s h o r t 一定是短整型,l o n g 一定是长整型,而 i n t 因不同的系统而不同。P C 5 8 6 机 i n t 即 s h o r t,所以一般不用s h o r t。(5)在 C语言中,整型常量有三种形式的写法:十进制整数(0 -9)表示。通常整数的写法。八进制整数(0 -7)表示。在整数的前面加数字0。十六进制整数(0 -f)表示。在整数的前面加O x。长整型常
13、量表示方法:在整数的后面加L 或 1。字符型数据:以二进制的形式表示ch a r 型 用 8位二进制(一个字节)表示1一 ,对呈序中要用单引号表示,输出时无单引号,内存中表示为o|l|l|do l do|l|2 6+2 5+2 0=9 7 即 A S C I I 码 9 7实型数据:以二进制的形式表示(1)f l o a t 类型如 1 2 3.4 5 (+1 2 3.4 5)用 3 2 位二进制(四个字节)表示为0.1 2 3 4 5 X 1 0 3-n 位-3 2-n 位-(.1 2 3 4 5 的二进制表示|o 1 3 的二进制表示个小数分0.1 2 3 4 5个 个指 数 符 指 数I
14、 I+1 03不同的系统,n的位数有不同,n长,精度高,但可表示的指数小,能表示的数的范围小。反之,则能表示的数的范围大,但精度低。f l o a t 类型又称为“浮点”类型,把实数的小数点都看成在第一位,而用指数位“浮动”小数点。(2)do u b l e 类型与 f l o at 同只不过用6 4 位二进制(八个字节)表示。因此精度高,称双精度。2 .变量的概念C语言中的变量可以理解成计算机内存的一个空间,它必须有一个名字(标识符),可放什么样的数据类型(如定义时前面加i n t、f l o at、ch ar 等),它是开辟在内存的一般数据区(又称静态数据区)还是开辟在内存的堆栈区(又称动
15、态数据区),这可由程序中用s t at i c或 au t o(可缺省)来规定。同时,一个变量有它的有效的使用范围,称之为作用域。最后,每个变量都有地址,这在指针类型时要用到。变量可以一边定义一边赋初值,在程序运行时可以使它发生变化,因此称之为变量。3 .运算符的注意事项(1)双目运算符外的两边一定是要整数,运算结果是整除后的余数,也是整数,注意2%5 得 2而 不 是 0 o(2)双目运算符/的两边如果是整数,则结果也是整数,5/2 结 果 为 2而 不 是 2.5 ,即 使 是 f l o at x;x=l/2;x中也只有0.0 ,要人为的写成x=l/2.0 或 x=l.0/2 ,x中才是
16、 0 5。(3)单目运算符+-放在运算对象的前面时,称 为“先 加(减)1,后使用”,这一般不会搞错。当放在运算对象的后面时,称 为“先使用,后 加(减)1”,这时要注意什么时候“使用”。如 i=3;(i+)+(i+)+(i+)结果是9而不是1 2,这里,三 个 i 相加是“使用”,使用后才三次加1,i 成为6,“使用”是以整个表达式为准。而 i=3;(+i)+(+i)+(+i)结果是1 8 而不是1 5,这里,三 个 i依次加1成 为 6,然后再“使用”。也是以整个表达式为准。又 如 i=l;i f(i-)p r i n t f (%(!”,i);输出是0而不是1。这是因为i f 0中 i
17、一 是整个表达式,先 用 i 为 1,用 于“判断”成立,这 算“使用”了,然 后 i 减 1 成为0,输出时i已为0 o 同理 ch ar c=A ;s w i t ch(c+)cas e A :p r i n t f c);b r eak;.,输出为 B。(4).算术自反赋值运算符中,注 意=赋值号右边是一个整体,如 c%=a-3 是 c=c%(a-3)而 不 是 c=c%a-3(5).关系运算符中,注意等于比较运算符“=与 赋 值 运 算 符“=”容易疏忽,二者是绝然不同的,不然会引起很大的错误。如:i=0;i f(i=l)判断得结果应该是不成立,若写成:i f(i=D 则变成给i 赋
18、予 1,赋值表达式的结果也是1,判断结果是成立的。(6).应该熟记运算符及其优先级汇总表,熟记运算符之间的运算次序及结合方向。4.表达式注意的问题(1).在算术表达式中应注意各类数值型数据间的混合运算问题,如下:A d ou ble V-f loa t f loa t 型一定先转换成d ou ble 型参加运算。Jlon g|运算对象不同时转换方向。u n s i gn e d1一i n t -c h a r,s h or t c h a r,s h or t 型一定先转换成i n t 型参加运算。(2).C语言无“真假值”,判断成立则结果为1,不成立则结果为0。而当表达式的值为非 0则认为“
19、真”,当表达式的值为0则认为“假”。(3).关系表达式中,数学上的0 x10 不能写成0 x10 而应写成0 x&x10,不然会引起很大的错误。如:当 x=20 时,数学上0 x10 是不符合的,但在C程序中认为成立。这是因为C程序从左向右判别,0 b)&(n=a b)”后,田,n的 值 是()。A.0 LB.0 821C.40 0 0 0 D.0 x2a9.下列数据中不属于“字符常量”的 是()oA.a B.160 C.0 70 D.0 7010.c h a r 型常量在内存中存放的是()。A.A S C H 代码值B.B C D代码值C.内码值 D.十进制代码值11.设整型变量m,n,a,
20、b,c,d 均为0,执行(m=a=b)(n=c=d)后,m,n的 值 是()A.0,0B.0,1C.1,0 D.1,130.设 a为整型变量,不能正确表达数学关系:10 a 3?2:215.执行语句“x=(a=3,b=a 一)”后,x,a,b 的值依次为()oA.3,3,2 B.3,2,2 C.3,2,3D.2,3,216.i n t b=0,x=l;执行语句“i f(x+)b=x+l;”后,x,b 的值依次为()oA.2,3 B.2,0 C.3,0D.3,217.设有语句i n t a=3;,则执行了语句a+=a-=a*a;后,变量a的 值 是(:)oA.3 B.0 C.9D.-1218.设
21、有语句i n t a=3;,则执行了语句a+=a-=a*=a;后,变量;a 的值是()oA.3 B.0 C.9D.-1219.i n t a=4,b=3,c=-2,d=2;逻辑表达式 a 0&b&c 0 的 值 是()oA.1 B.0 C.-1D.出错20.在以下一组运算符中,优先级最高的运算符是()。A.=B.=C.%D.&21.设整型变量i 的值为3,则计算表达式i-i 后表达式的值为()oA.0 B.1 C.2D.表达式出错22.设整型变量i,j=3;则计算表达式i=j+j 后 i,j的 值 为()oA.4,4 B.6,6 C.4,6D.6,423.设整型变量a,b,c 均为2,表达式a
22、+b+c+的结果是()oA.6 B.9 C.8D.表达式出错24.设整型变量i 值为2,表达式(+i)+(+i)+(+i)的结果是()oA.6 B.12 C.15D.表达式出错25.设整型变量i,j 值均为3执行了“j=i+,j+,+i”后,i:.j的 值 是()。A.3,3 B.5,4 C.4,5D.6,626.若已定义x 和 y 为 d ou ble 类型,则表达式;x=l,y=x+3/2的 值 是()OA.1 B.2 C.2.0D.2.527.s i z e of (d ou ble)的结果值是()。A.8 B.4 C.2D.出错2 8.表达式“l?(0?3:2):(10?l:0)”的
23、值 是()。A.3 B.2 C.1D.029.设 a=l,b=2,c=3,d=4,则表达式:a b?a:c d?a:d 的结果为()oA.4 B.3 C.2D.1A.10 a 10&a 15B.a=ll|a=12|a=13|a=14D.!(a =15)31.i n t a=0 i f(a=l)a+=10;结果的值是(A.0 B.1110 D.出错32.下列表达式中符合C语言语法的赋值表达式是()。A.a=7+b+c=a+7 B.a=7+b+=a+7 C,a=(7+b,b+,a+7)D.a=7+b,c=a+733.设 f 是实型变量,下列表达式中不是逗号表达式的是()。A.f=3.2,1.0 B
24、.f 0,f d ou ble d,则表达式a*b+d-c 值的类型是()。A.f loa t B.i n t C.c h a r36.i n t n;f loa t f=13.8;执 行 n=(i n t)f)%3后,n 的 值 是(A.1 B.4 C.4.33333337.用十进制数表示表达式“12|0 12”的运算结果是()。A.1 B.0 C.1 438.设有整型变量a=35,表达式“(x&15)&(x|15)的 值 是()A.0 B.1 C.15D.d ou ble)OD.4.6D.1 2D.3539.设字符型变量a=3,b=6,计算表达式c=(a b)2 后 c的二进制值是().A
25、.0 0 0 1110 0 B.0 0 0 0 0 111 C.0 0 0 0 0 0 0 1 D.0 0 0 10 10 040 .设 a,b 和 c都 是 i n t 型变量,且 a=3,b=4,c=5,则下面的表达式中值为0的 是()。A.a&b B.a =b C.a|b+c&b-c D.!(a =A&c h=Z )?(c h+32):c hA.A B.a C.Z D.z44.设有整型变量i、j、k,i 值为3,j 值为6。计算表达式“k=i-j 3;”后,k的值是()。A.56 B.51 C.40 D.2745.设有无符号短整型变量i、j、k,i 值为0 13,j 值为0 x13。计算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江大学 语言 同步 练习 解答
限制150内