1第1章认识C语言二、习题(一)、是非题1.程序是指挥计算机进行各种信息处理任务的一组指令序列。A.对B.错2.机器语言与硬件平台相关,但汇编语言和硬件平台无关。A.对B.错3.编译型高级语言明显优于解释型高级语言。A.对B.错4.C语言把高级语言的基本结构和低级语言的实用性紧密结合起来,不仅适合编写应用软件,而且适于编写系统软件。A.对B.错5.面向对象的程序设计方法明显优于面向过程的程序设计方法。A.对B.错6.计算机算法要有一个明确的起点和确定的步骤序列。A.对B.错7.main函数是C程序的入口,由计算机系统负责调用。A.对B.错8.在C语言中,同一行上可以写一条或多条语句,但一条语句不能写在多行上。A.对B.错9.在C语言中,扩展名为.h的文件称为头文件,常用于组织C标准函数库中的函数。A.对B.错10.注释语句会增加编译结果的复杂性,因此要尽量减少注释语句的数量。A.对B.错(注释语句在预处理阶段被删除,不影响编译)11.声明变量的含义是通知编译系统为变量分配合适大小的存储空间。A.对B.错12.C语言不允许使用关键字作为变量的名称,但可以使用保留字为变量命名。A.对B.错13.符号常量提高了程序的可读性,但降低了程序维护的方便性。A.对B.错14.变量声明把一个具体的标识符名称和计算机内存中的一个特殊的位置联系起来,同时确定了该位置存储的信息类型。A.对B.错15.C语言允许在同一条语句中定义多个相同类型的变量,其间用分号进行分隔。A.对B.错216.在ISO/ANSI1999规定中,允许将变量声明放在程序中的任何位置。A.对B.错17.不同类型的数据在内存中所占存储单元的大小不同,内部存储方式不同,取值范围不同,甚至能够参与的运算种类也不相同。A.对B.错18.有符号和无符号整数的区别仅在于对数据最高位的解释不同。若最高位解释为数据位,则为signed类型;若最高位解释为符号位,则为unsigned类型。A.对B.错19.默认形式的实数常量的数据类型为float类型。A.对B.错20.实型变量能表示的数字的有效位数是有限的。A.对B.错21.sizeof()是C语言提供的标准库函数,用于测试数据类型在系统中所占的字节数。A.对B.错22.使用转义字符可输出ASCII码表中的任一字符。A.对B.错23.char类型数据内部采用整数存储方式,因此它和int型数据可以互为通用。A.对B.错24.在C语言中,保存字符串“B”实质上是保存字符'B'和'\0'两个符号。A.对B.错25.在C语言中,允许对两个字符型数据进行加法运算。A.对B.错(二)、选择题1.C语言是一种______。A.汇编语言B.“解释型”语言C.“编译型”语言D.面向对象语言2.下列说法中,正确的是______。A.机器语言与硬件相关,但汇编语言与硬件无关B.不同的计算机类型,其能理解的机器语言相同C.汇编语言采用助记符提高程序的可读性,但同样属于低级语言D.汇编源程序属于低级语言程序,计算机可以直接识别并执行3.下面有关高级语言的说法中,正确的是______。A.高级语言编写的程序可读性好,执行效率也最高B.高级语言程序必须翻译成机器语言程序,计算机才能执行C.解释方式和编译方式相比,具有占用内存少、执行速度快的特点D.C语言是一种解释型高级语言4.下面有关C语言特点的说法中,错误的是______。A.C语言编写的代码较为紧凑,执行速度也较快B.C语言不仅适合编写各种应用软件,还适于编写各种系统软件C.C语言是一种模块化和结构化的语言3D.C语言编写的程序通常不具备移植性5.下面有关程序设计技术的说法中,错误的是______。A.机器语言和汇编语言编程通常采用面向计算机的程序设计方式B.面向过程的程序设计方法通常采用结构化和模块化设计方法C.面向对象的程序设计方法采用客观世界的描述方式D.C语言是一种兼顾面向过程和面向对象的高级程序设计语言6.下面有关C程序操作过程的说法中,错误的是______。A.C源程序经过编译,得到的目标文件即为可执行文件B.C源程序的链接实质上是将目标代码文件和库函数等代码进行连接的过程C.C源程序不能通过编译,通常是由于语法错误引起的D.导致不能得到预期计算结果的主要原因是程序算法考虑不周7.一个C语言程序是由________组成。A.主程序B.子程序C.函数D.过程8.C源程序中不能表示的数制是______。A.二进制B.八进制C.十进制D.十六进制9.一个C语言程序总是从__________开始执行。A.主程序B.子程序C.主函数D.函数10.以下叙述中正确的是_______。A.在C程序中,main函数必须位于程序的最前面B.C程序的每一行中只能写一条语句C.在对一个C程序进行编译的过程中,可发现注释中的拼写错误D.C语言本身没有输入输出语句11.以下叙述中正确的是_________。A.C程序的基本组成单位是语句B.C程序中的每一行中只能写一条语句C.C语句必须以分号结束D.C语句必须在一行内写完12.以下叙述中错误的是_________。A.函数是C程序的基本组成单位B.函数体一般由一组C语句序列组成C.printf是C语言提供的输出语句D.函数通常分为库函数和用户自定义函数两种13.以下程序的输出结果是______。#includestdio.hvoidmain(){inta=2,b=3,c=4;printf(%d,%d,%d\n,c,b,a);}A.432B.2,3,4C.4,3,2D.23414.C语言中,最基本的数据类型是_________。A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型15.下面有关变量声明的说法中,正确的是_________。A.C语言中不用先声明变量,需要时直接使用即可B.每个变量的存储空间大小由数据类型和编译环境共同决定4C.在VC++6.0环境下,为int型变量分配的存储空间大小为2个字节D.变量声明时,不能进行赋值操作16.若x和y为整型变量,对于scanf(a=%d,b=%d,&x,&y);语句,可使x和y的值分别为10和20的正确输入方法是_________。A.1020B.10,20C.a=10b=20D.a=10,b=2017.下列标识符中,不合法的用户标识符为_________。A.aBaB._11C.a_1D.a&b18.下列标识符中,合法的用户标识符为_________。A.monthB.5xyC.intD.yourname19._________是C语言提供的合法的数据类型关键字。A.BooleanB.signedC.integerD.Char20.不合法的字符常量是_________。A.'\678'B.'\'C.''D.'\4'21.不正确的字符串常量是_________。A.'abc'B.12'12C.0D.22.关于下面的程序,正确的说法是_________。#includestdio.hvoidmain(){floata=b=2,result;result=a/b;printf(result=%f\n,result);}A.程序可正常编译,结果为result=1.000000B.共有1处语法错误C.共有2处语法错误D.共有3处语法错误23.下面变量声明的语句中,错误的是_________。A.charc=B;B.inta=3C.charc=65;D.floatarea=0;24.关于下面的程序,正确的说法是_________。#includestdio.hvoidmain(){intx,y,z;x=y=z=1;printf(x=%d,y=%d,z=%d\n,x,y,z);}A.程序无误,能正常通过编译B.#includestdio.h有误,需改为#includestdio.hC.intx,y,z;有误,需改为intx;y;z;D.x=y=z=1;有误,需改为x=1;y=1;z=1;25.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'2';后,c2中的值为__________。A.69B.CC.DD.E26.为了计算s=10!,则定义变量s时应该使用的数据类型是________。A.intB.unsigned5C.longD.以上三种类型均可27.以下选项中合法的标识符是________。A.1_1B.1-1C._11D.1_28.下列关于C语言用户标识符的叙述中正确的是________。A.用户标识符中可以出现下画线和中划线(减号)B.用户标识符中不可以出现中划线,但可以出现下画线C.用户标识符中可以出现下画线,但不可以放在用户标识符的开头D.用户标识符中可以出现下画线和数字,它们都可以放在用户标识符的开头29.以下选项中,能用作数据常量的是________。A.0119B.o126C.2.5e2.5D.119L30.以下关于short、int和long类型数据占用内存大小的叙述中正确的是________。A.均占4个字节B.根据数据的大小决定所占内存的字节数C.由用户自己定义D.由C语言编译系统决定31.若已定义charc='\010',则变量c所占的字节数为__________。A.1B.2C.3D.432.要定义双精度实型变量a和b,并初始化为数值7,则正确的语句是__________。A.doublea,b;a=b=7;B.doublea=b=7;C.doublea=b=7;D.doublea=7,b=7;33.已知字符a的ASCII码值为97,则以下程序的输出结果是__________。#includestdio.hvoidmain(){charch='c';printf(%c%d\n,ch,ch);}A.c99B.c98C.c97D.编译出错34.以下程序运行后的输出结果是_________。#include“stdio.h”voidmain(){charc;c='B'+32;printf(%c\n,m);}A.BB.bC.B32D.b3235.以下程序运行后的输出结果是_________。#includestdio.hvoidmain(){charc1,c2;c1='a';c2='b';c1=c1-32;c2=c2-32;printf(%c%c\n,c1,c2);printf(%d%d\n,c1,c2);}6A.ABB.ABC.abD.ab656697986566979836.如果将一个函数的返回值类型说明为void,则表示_________。A.该函数可以返回任意类型的值B.该函数不能返回任何值C.该函数可以返回基本类型的值D.该函数是main函数,是程序运行的起点37.对于int型常量,不正确的是__________。A.029B.-25C.0x2AD.-0X2838.下列整型常量,错误的是__________。A.025B.285LC.-285u(u表示无符号,怎么还有负号)D.285lu39.以下有关整型变量的定义中,错误的是___________。A.shortintx;B.longx;C.unsignedx;D.shortx;40.下列实型常量,错误的是__________。A.3.2fB.-2.2E-2FC.-12.0D.e341.在VC++6.0环境下,sizeof(int)和sizeof(float)的值分别为__________。A.2,2B.2,4C.4,4D.4,842.对于浮点型数据,下列说法中不正确的是______。A.浮点数在存储时存在舍入误差B.程序设计时,不能直接对两个浮点型数据进行相等比较C.将一个很小的浮点数和一个很大的浮点数进行相加,结果可能不正确D.C语言中的浮点型变量有float和double两种43.若ch为字符型变量,则不能使ch表示字符'B'的语句是__________。A.ch=B;B.ch=66;C.ch='\102';D.ch='\x42';44.以下程序运行