您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 计算机二级练习题答案
C语言的结构171.函数,主(main)函数,main函数,函数。函数是C语言中最重要的概念之一。2.模块化,结构化。这是程序设计两大思想之一,另外一个想法就是面向对象的程序设计。3.文件包含命令,头文件。文件包含属于编译预处理方面的内容。4.doubles;,{}。考生需要清楚C语言的源程序的基本格式是什么。5.大,不太严格,好,直接。这些就是C语言的特点,也是C语言相对于其他语言的特别之处。6.C。main函数在C语言源程序中的地位是非常特别的。数据类型及其运算1.构造,指针,字符型、实型,结构体,共用体。C语言提供了丰富的数据类型,这也是C语言比较灵活的原因之一。2.B。字符常量的书写形式要求是单引号而非双引号,所以D不对;ab不是字符而是字符串,所以C不对;八进制084超出了字符范围,也是错误的;只有B是合法的字符常量。3.结合性,自左至右,自右至左。运算符的优先级和结合性是比较重要的知识点,一些常用运算符的优先级和结合性必须熟悉。4.A。%前后要求是整型数据,其他均无此要求。5.A。在C语言中,逻辑与运算是通过运算符&&来实现的。6.C。这里涉及到数据类型的转换问题。7.A。C语言规定,在一个数据之后加一个L就表示该数据是长整型数据。8.D。自减运算符--的结合性是自右至左。X--表示在使用x之后,使x减1;--x表示在使用x之前先使x减1。基本语句1.函数调用,表达式,复合,空。C语言的语句共有5类,如题所示。2.B。C语句有特定的格式,从这一点来考查就可以看出A和C是错误的,对于赋值语句,需要有赋值方和被赋值方,只有选项B适合。3.B。C语言的输入语句需要用到特定的输入函数scanf,在使用该函数时,需要注意函数的两个方面:格式控制和地址表列。4.D。注意,使用输入函数scanf输入数据时不能规定精度,也就是说,如同选项D这种形式的写法是错误的。5.D。输入函数scanf的输入项不能是任何形式的常量,而必须是地址,并且地址项是必须存在的,而不能是可有可无的,即输入数据时必须指定变量地址。186.C。这是一个空语句的典型例子。例子中还使用了函数调用语句调用标准函数getchar()。选择结构程序设计1.A。选择结构给出了两种可选情况。2.B。对于不同的x给出了两种情况,在这两种情况下分别进行不同的运算。3.C。条件运算符要求有3个操作对象,所以称其为三目运算符,这是C语言中惟一的一个三目运算符。条件表达式(mz)?m:z的执行顺序是:如果(mz)条件为真,则条件表达式取值m,否则取值z。4.A。对于本题,首先要清楚运算符的优先级。非(!)运算符最高,然后是算术运算符、关系运算符和逻辑与和逻辑或、赋值运算符等。5.A。switch语句是多分支选择语句。循环结构程序设计1.A。对于一个循环,需要注意的是循环变量赋初值、循环条件和循环变量增值这三方面。循环也可以嵌套,在这种情况下循环次数的计算要将两个循环体的次数相乘。2.D。首先要确定循环变量赋初值、循环条件和循环变量增值这3个起始条件,然后可以判断循环结束后i和j分别处于什么状态。3.B。同样要确定循环变量赋初值、循环条件和循环变量增值这三方面。4.D。本题包含一个循环语句和选择语句。对于循环语句,需要清楚循环条件;对于选择语句,需要明确选择的各个分支。5.D。本题包含do-while循环结构。考生同样需要清楚循环变量赋初值、循环条件和循环变量增值这三方面。6.D。对于do-while语句构成的循环,考生要分清它和for循环等语句的区别,特别是结束循环的条件之间的区别。数组的定义和引用1.D。在数组初始化时,如果花括弧中提供的初值个数大于数组长度,则做语法错误处理,如果小于数组长度,则其余的元素自动定为空字符。2.D。printf函数不能直接输出字符串。3.C。数组x的长度定义中包含一个空字符'\0',而数组y中则不包含该空字符。4.9,0数组的下标使用方法。5.C。对数组初始化或者赋值是有一定的规则的,选项A和B均是错误的赋值语句,而选项D的错误在于输入函数scanf不能这样使用。6.C。对字符数组不能使用赋值语句对其整体赋值。7.C。关于数组元素的引用方法。函数1.B。函数的实参是指用逗号分开的几个实体,而并不包括各个实体中的具体内容。以本题为例,由逗号分开的实体有两个,而在这两个实体中的内容则不必理会。192.C。分清函数调用和表达式之间的区别。sizeof所构成的仅仅是一个表达式而已,并不是函数调用。同时要清楚,sizeof得到的值是double类型的字节数,所以是一个整型数据,而非双精度数据。3.C。本题需要清楚库函数strcpy的调用方法。具体可以参见库函数手册。4.C。函数的类型即函数返回值的类型。该函数的返回值是执行函数printf正确与否,正确则返回1,错误则返回0,所以该函数的类型是int型。5.A。函数既可以直接递归调用也可以间接递归调用。6.A。调用函数就是将实参的值传给形参,但形参的值是不能返回给实参的。函数可以递归调用,但不能嵌套定义。函数不必一定有返回值,可以是void类型的。有调用关系的函数不必在一个源文件中,只要在主函数中说明即可。7.C。在C语言中,外部变量的隐含类别是静态存储类别。编译预处理1.宏定义,文件包含。考生应清楚C语言提供的预处理功能,并且清楚其概念。2.答案略。编译预处理是C语言特有的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分做处理,处理完毕自动进入对源程序的编译。编译预处理是在进行编译的第一遍扫描(词法扫描和语法分析)之前所做的工作。3.MYSWAP(c,a,b)根据宏定义的展开规则,本题不难作答。4.D。本题同样需要清楚宏定义的展开规则。5.C。宏定义的展开是编译预处理一章的考查重点,考生务必要对其熟悉。指针1.A。将一个整型变量赋给一个指针类型的变量,只能是将整型变量的地址赋给指针变量。利用取地址运算符&得到变量x的地址,从而将其赋给指针变量pb。2.B。比较字符串s和t的大小。3.C。说明int(*ptr)[m];的含义就是定义一个数组指针,该数组指针指向一个具有m个整型元素的一维数组。4.D。该题涉及到类型转换问题。如果要将某一类型的数据转换成指针类型的数据,要用诸如(类型说明符*)这种形式来实现。5.A。显然是求字符串x的长度。6.D。对数组元素的引用,需要清楚的是数组的指针就是数组的首地址,也就是数组第一个元素的地址,然后可以在此基础上进行运算找到数组中某一指定的元素。7.C。在本题中定义了指针类型的函数,即函数的返回值为一个指针。同时题目中使用了类型转换使得函数无返回值。结构体与共用体1.构造,分量,域表。20结构体的定义。2.B。结构体变量的引用需要用到成员(分量)运算符“.”。一般引用形式是:结构体变量名.成员名。在本题中字符'a'属于结构体数组中某一成员的一个分量,对它的引用如同选项B所示的方式。3.B。结构体变量的定义方法有3种,题目中给出了其中的一种。在这个定义中,struct是结构体类型的关键字;x,y,z都是结构体成员名;structex是结构体类型;example是结构体变量名而不是结构体类型名。4.B。结构体变量的定义方法有3种,选项B是其中的一种。选项A因为有了typedef关键字,所以它是类型定义,而不是结构体变量的定义;选项D同样是类型定义;选项C的错误在于语法错误,结构体类型定义中缺少分号“;”。5.C。共用体是使用覆盖技术,让几个变量互相覆盖,也就是使得几个不同的变量共占同一段内存。对于共用体来说,系统并不是为每一个共用体成员分配一个内存空间,而是所有成员公用同一段内存空间,这样一来,共用体变量所占的内存长度等于最长的成员的长度。位运算1.二目,整型,字符型。位运算符的形式。2.结构体,位数。位段的含义。3.D。逻辑运算符“||”和位运算符“|”在逻辑关系上是相同的,即参与运算的两个操作数只要其中一个为1,则结果就是1。但这两个运算符在用法上却是不同的。位运算符“|”要求其两边必须是以“位”为单位的数据,可以是整型或者字符型的数据,但不能是其他普通类型的数据。并且在处理这些数据时是以“位”为单位进行的。4.A。“左移”运算符的性质是将一个数的各二进位全部左移若干位。左移的位数是由“”右边的数指定的。左移后溢出的高位丢弃,不足的低位补0。本题需要注意位运算符的优先级。5.D。字符型数据和整型数据是相同的,所以字符型数据的存储形式就是整型数据的存储形式。文件操作1.B。标准函数fgets(s,n,f)的功能是从f所指向的文件读出一个长度为(n−1)的字符串,存入起始地址为s的内存空间。2.A。用“r(read)”方式打开文件只能用来向计算机内存读入数据而不能用来向该文件输出数据。并且该文件必须是已经存在的文件,即不能打开一个并不存在的文件,否则程序会显示出错信息。3.bi.dat,W在使用文件之前必须先将文件打开。程序中if语句的作用就是将文件打开并将文件信息赋给文件指针fp。while语句的作用是将从终端输入的文本写入文件,这就需要指定文件要以只写的方式打开。214.A。在main()函数中,有两次调用子函数fun。解答本题的关键就是要清楚这两次调用之间的关系。在fun子函数中规定了打开文件的方式是“只写(w)”。以这种方式打开文件时,如果原来不存在该文件,在打开时就自动新建立一个以指定名字命名的文件;如果原来已经存在一个以该文件命名的文件,打开时就将其自动删除而重新建立一个新文件。因为两次调用的文件名是相同的,所以当第二次调用fun函数时,就自动将第一次建立的文件删除而创建了一个新的空文本文件,然后就将数据“hello,”写入文件。5.(!feof(fp))在while语句里,逐个读取字符,每读取一个字符就使得变量num自加一,这样就可以得到整个文件的字符个数。判断while语句停止的方法是,当读取的字符为文件结束标志时即跳出循环。6.aaaabbbbccccmain函数是可以带有它自己的参数的,当它跟文件指针结合起来后就可以在命令行对文件进行操作。附录8练习和习题答案第2章答案【选择题】1.C2.C3.A4.D5.B6.A7.B8.C9.D10.B53311.D12.D13.C14.D15.C16.C17.C18.D19.B20.A21.A22.B23.D24.D【填空题】1.处理器(中央处理器)存储器输入设备输出设备2.系统软件和应用软件3.VGA4.中央处理器内存储器5.只读存储器随机存储器6.软盘软盘驱动器控制器适配卡7.1.44MB8.10249.格式化10.高11.键盘鼠标12.激光打印机13.开机、关机14.4月26日15.引导区16.电子布告栏系统17.局域网、广域网环行网、星形网、总线型双绞线网、同轴电缆网、光纤网、卫星网基带网、宽带网第3章答案【选择题】1.D2.C【填空题】1..EXE2..C.OBJ.EXE3.顺序结构、选择结构、循环结构第4章答案1.短整型无符号型2.十进制数指数3.算术逻辑条件指针求字节数4.C5.65,896.C534第5章答案【选择题】1.C2.B3.A4.D5.C6.C7.C8.C9.A10.C11.A12.D13.B14.C15.C16.A17.B18.D19.A【填空题】1.(1)4(2)52.5.0,4,c=33.1234□54.65第6章答案【选择题】1.C2.C3.C4.B5.A6.B7.A8.C9.A10.A【填空题】1.if(a=B){x=1;printf(####x=%d\n,x);}else{y=2;printf(****y=%d\n,y);}2.23.204.a0&&ab第7章答案【选择题】1.B2.A3.B4.D5.A6.A7.C8.B9.C10.B11.D12.C13.B14.B15.C16.B17.D18.B19.B20.C【填空题】1.s=32.(1)1(2)y=1,x=03.3,1,−1,3,1,−
本文标题:计算机二级练习题答案
链接地址:https://www.777doc.com/doc-2098031 .html