2016-9C语言习题汇总.doc_第1页
2016-9C语言习题汇总.doc_第2页
2016-9C语言习题汇总.doc_第3页
2016-9C语言习题汇总.doc_第4页
2016-9C语言习题汇总.doc_第5页
已阅读5页,还剩383页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

该第11张图片了1、C语言源程序名的后缀是_。A. .obj B. .C C. .exe D. .cp答案:B评析:本题的考查点是C语言源程序名的后缀。 C语言源程序名的后缀是.c,对源程序进行编译后得到一个后缀为.obj的目标程序,然后把目标程序进行连接操作,则可得到一个后缀为.exe的可执行文件。 故本题答案为B。以下定义语句中正确的是A)char A=65+1,b=b;B)int a=b=0;C)float a=1,*b=&a,*c=&b;D)double a=0.0,b=1.1;答案:A若变量x,y已正确定义并赋值,以下符合C语言语法的表达式是A)+x,y=x-B)x+1=yC)x=x+10=x+yD)double (x)/10答案:A设有定义: int a;float b; 执行 scnaf(“%2d%f”,&a,&b);语句执行时,若从键盘输入 876 543.0 则a和b的值分别是A)87和6.0B)876和543.0C)87和543.0D)76和543.0答案:A2、结构化程序设计所规定的三种基本控制结构是_。A. 输入、处理、输出B. 树形、网形、环形C. 顺序、选择、循环D. 主程序、子程序、函数答案:C评析:顺序,选择和循环是结构化程序的三种基本结构。结构化程序设计方法学说出现以后,大多数高级语言都提供这三种控制结构。 本题答案为C。3、算法具有五个特性,以下选项中不属于算法特性的是_。A. 有穷性 B. 简洁性 C. 可行性 D. 确定性 答案:B评析:本题考查的是算法的特性。 有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性是算法的五大特性。 故本题答案为B。4、一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是_。A. 有零个或多个输入 B. 有零个或多个输出 C. 有穷性 D. 可行性答案:B评析:算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作;此外,一个算法还具有下列五个重要特性: (1)有穷性:一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有穷时间内完成; (2)确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生二义性,并且,在任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得出相同的输出; (3)可行性:一个算法是能行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的; (4)输入:一个算法有零个或多个的输入,这些输入取自于某个特定的对象的集合; (5)输出:一个算法有一个或多个的输出,这些输出是同输入有着某些特定关系的量。 故本题答案为B。5、以下叙述中错误的是_。A. C语言源程序经编译后生成后缀为.obj的目标程序B. C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C. 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令答案:D评析:本题考查的是C语言程序的基本组成。 在C语言中,注释是用于协助读者更好地理解程序,它不会被系统转换成二进制,所以非执行语句是不会被转换成二进制的机器指令。 故本题答案为D。6、以下叙述中错误的是_。A. 算法正确的程序最终一定会结束 B. 算法正确的程序可以有零个输出C. 算法正确的程序可以有零个输入 D. 算法正确的程序对于相同的输入一定有个相同的结果答案:B评析:本题考查的是算法的概念。 算法的目的是为了求解,解就是输出。算法的输出不一定就是计算机的打印输出,一个算法得到的结果就是算法的输出。没有输出的算法是没有意义的。 故本题答案为B。7、以下叙述中错误的是_。A. 计算机不能直接执行用C语言编写的源程序B. C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C. 后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D. 后缀为.obj和.exe的二进制文件都可以直接运行答案:D评析:本题考查的是C语言的特征。C语言被称为计算机的高级语言,我们把由高级语言编写的程序称为源程序,对于计算机本身来说,它并不能直接识别由高级语言编写的程序。C程序经C编译程序编译后,生成后缀为.obj的二进制文件 (称为目标文件)。最后还要由称为连接程序(Link)的软件,把此.obj文件与C语言提供的各种库函数连接起来生成一个后缀为.exe的可执行文件。.obj文件是目标文件不可以直接执行,所以选项D错误。 故本题答案选D。8、以下叙述中正确的是_。A. C程序的基本组成单位是语句B. C程序中的每一行只能写一条语句C. 简单C语句必须以分号结束D. C语句必须在一行内写完答案:C评析:本题的考查点是C程序的基本概念。 C程序是由函数构成的。一个C源程序至少包含一个main函数,也可以包含一个main函数和若干个其他函数。因此,函数是C程序的基本单位,故选项A错误;C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上,故选项B、D错误;C语言规定,每个语句和数据定义的最后必须有一个分号,分号是C语句的必要组成部分,故选项C正确。 故本题答案为C。9、计算机能直接执行的程序是_。A. 源程序 B. 目标程序 C. 汇编程序 D. 可执行程序答案:D评析:本题的考查点是C程序的基本概念。 我们把由高级语言编写的程序称为源程序,由二进制代码表示的程序称为目标程序,由汇编语言编写的程序称为汇编程序。对于计算机本身来说,它并不能直接识别由高级语言编写的程序,只能识别和执行由0和1组成的二进制指令。为了把源程序转换成机器能接受的目标程序,软件工作者编制了一系列软件,通过这些软件可以把用户按规定语法写出的语句一一翻译成二进制的机器指令,这种具有翻译功能的软件称为编译程序。然后将编译后的目标程序与系统的函数库和其他目标程序连接起来,形成可执行程序由计算机直接执行。 故本题答案为D。10、C源程序中不能表示的数制是_。A. 二进制 B. 八进制 C. 十进制 D. 十六进制答案:A评析:本题的考查点是C语言的数制表示。 C源程序中的整型常量可用三种形式表示:十进制数;八进制数:以0开头的数是八进制数;十六进制数:以0x开头的数是十六进制数。 故本题答案为A。11、以下叙述中正确的是_。A. 程序设计的任务就是编写程序代码并上机调试B. 程序设计的任务就是确定所用数据结构C. 程序设计的任务就是确定所用算法D. 以上三种说法都不完整答案:D评析:本题主要考查了程序设计相关概念。 程序设计一般包括以下5部分: 1、确定数据结构:根据任务书提出的要求、指定的输入数据和输出结果,确定存放数据的数据结构。 2、确定算法:针对存放数据的数据结构来确定解决问题、完成任务的步骤。 3、编码:根据确定的数据结构和算法,使用选定的计算机语言编写程序代码,输入到计算机并保存在磁盘上。 4、在计算机上调试程序:消除由于疏忽而引起的语法错误或逻辑错误;用各种可能的输入数据对程序进行测试,使之对各种合理的数据都能得到正确的结果,对不合理的数据能进行适当的处理。 5、整理并写出文档资料。 所以本题选项A、B、C的说法都不完整。 故本题答案为D。12、以下叙述正确的是_。A. C语言程序是由过程和函数组成的B. C语言函数可以嵌套调用,例如:fun(fun(x)C. C语言函数不可以单独编译D. C语言中除了main函数,其他函数不可作为单独文件形式存在答案:B评析:本题的考查点是C语言函数。 C语言程序是由函数构成的,所以选项A错误;C语言不能嵌套定义函数,但可以嵌套调用函数,所以选项B正确;C语言中的main()函数可以单独进行编译,所以选项C错误;除了main函数每个函数都需要被其他函数调用才能执行,函数不可以单独执行,但是可以作为单独文件形式存在,所以选项D说法错误。 故本题答案为B。13、以下关于简单程序设计的步骤和顺序的说法中正确的是_。A. 确定算法后,整理并写出文档,最后进行编码和上机调试B. 首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C. 先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D. 先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构答案:B评析:本题的考查点是程序设计步骤。简单的程序设计一般包含以下几个部分: 1、确定数据结构。根据任务书提出的要求、指定的输入数据和输出结果,确定存放数据的数据结构。 2、确定算法。针对存放数据的数据结构来确定解决问题,完成任务的步骤。 3、编码。根据确定的数据结构和算法,使用选定的计算机语言编写程序代码,输入到计算机并保存在磁盘上,简称编程。 4、在计算机上调试程序。消除由于疏忽而引起的语法错误或逻辑错误;用各种可能的输入数据对程序进行测试,使之对各种合理的数据都能得到正确的结果,对不合理的数据能进行适当的处理。 5、整理并写出文档资料。 故本题答案为B。14、以下叙述中错误的是_。A. C程序在运行过程中所有计算都以二进制方式进行B. C程序在运行过程中所有计算都以十进制方式进行C. 所有C程序都需要编译链接无误后才能运行D. C程序中整型变量只能存放整数,实型变量只能存放浮点数答案:B评析:本题的考查点是程序运行。 C程序在运行过程中所有计算都以二进制方式运行,所以选项A正确,选项B错误。C语言编写的源程序必须经过编译无误后才能执行,所以选项C正确。C程序中整型变量只能存放整数,实型变量只能存放浮点数。 故本题答案为B。15、计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是_。A. C语言程序仅可以编译执行B. C语言程序仅可以解释执行C. C语言程序既可以编译执行又可以解释执行D. 以上说法都不对答案:A评析:本题的考查点是C语言的执行方式。 解释执行和编译执行是计算机语言的执行方式。解释执行由解释器现场解释执行,不生成目标程序。如BASIC便是解释执行,一般解释执行效率较低,低于编译执行。编译执行由编译程序将目标代码一次性编译成目标程序,再由机器运行目标程序。如:PASCAL,C,C+,delphi等语言。效率高于解释执行。 故本题答案为A。16、以下叙述中错误的是_。A. C语言的可执行程序是由一系列机器指令构成的B. 用C语言编写的源程序不能直接在计算机上运行C. 通过编译得到的二进制目标程序需要连接才可以运行D. 在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件答案:D评析:本题的考查点是C语言的风格特点。 C语言编写的程序代码称为源程序,对于计算机本身来说,它并不能直接识别由高级语言编写的程序。C语言程序经C语言编译程序编译后,生成后缀为.obj的二进制文件 (称为目标文件)。此.obj文件必须与系统提供的各种库函数连接起来生成一个后缀为.exe的可执行文件才可以执行。C语言的可执行文件由一系列机器指令构成的。因此选项A、B、C说法正确。C程序可以在不同环境下运行,例如:(1)Turbo C集成开发环境可以运行C源程序生成. exe文件;(2)在UNIX操作系统下可以运行C程序;(3)在DOC下用Microsoft C 6.0编译程序可以运行C程序。 故本题答案为D。17、以下叙述错误的是_。A. C语言编写的函数源程序,其文件名后缀可以是.CB. C语言编写的函数都可以作为一个独立的源程序文件C. C语言编写的每个函数都可以进行独立的编译并执行D. 一个C语言程序只能有一个主函数答案:C评析:本题的考查点是C语言的特点。 用C语言编辑的程序代码为源程序,C语言源程序的文件扩展名是.C。C语言编写的函数都可以作为一个独立的源程序文件,但是只有main函数可以单独进行编译。一个C语言程序只能有一个主函数。因此选项A、B、D叙述正确,选项C叙述错误。 故本题答案为C。18、以下选项中关于程序模块化的叙述错误的是_。A. 把程序分成若干相对独立的模块,可便于编码和调试B. 把程序分成若干相对独立的模块、功能单一的模块,可便于重复使用这些模块C. 可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序D. 可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序答案:C评析:本题的考查点是结构化程序设计方法。 结构化程序设计方法的主要原则有(1)逐步求精:对复杂的问题,应设计一些子目标作过渡,逐步细化。(2)自顶向下:程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。(3)模块化:一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块,而可复用是面向对象程序设计的一个优点。C语言允许对函数单独进行编译,从而可以实现模块化,而且提供了丰富的数据类型。 故本题答案为C。19、针对简单程序设计,以下叙述的实施步骤顺序正确的是_。A. 确定算法和数据结构、编码、调试、整理文档B. 编码、确定算法和数据结构、调试、整理文档C. 整理文档、确定算法和数据结构、编码、调试D. 确定算法和数据结构、调试、编码、整理文档答案:A评析:本题的考查点是程序设计步骤。 简单的程序设计一般包含以下几个部分: 1、确定数据结构。根据任务书提出的要求、指定的输入数据和输出结果,确定存放数据的数据结构。 2、确定算法。针对存放数据的数据结构来确定解决问题,完成任务的步骤。 3、编码。根据确定的数据结构和算法,使用选定的计算机语言编写程序代码,输入到计算机并保存在磁盘上,简称编程。 4、在计算机上调试程序。消除由于疏忽而引起的语法错误或逻辑错误;用各种可能的输入数据对程序进行测试,使之对各种合理的数据都能得到正确的结果,对不合理的数据能进行适当的处理。 5、整理并写出文档资料。 故本题答案为A。20、以下关于算法的叙述中错误的是_。A. 算法可以用伪代码、流程图等多种形式来描述B. 一个正确的算法必须有输入C. 一个正确的算法必须有输出D. 用流程图描述的算法可以用任何一种计算机高级语言编写成程序代码答案:B评析:本题的考查点是算法的特性。 算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作;此外,一个算法还具有下列五个重要特性: (1)有穷性:一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有穷时间内完成; (2)确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生二义性,并且,在任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得出相同的输出; (3)可行性:一个算法是能行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的; (4)输入:一个算法有零个或多个的输入,这些输入取自于某个特定的对象的集合; (5)输出:一个算法有一个或多个的输出,这些输出是同输入有着某些特定关系的量。 故本题答案为B。21、以下叙述中正确的是_。A. 在C语言程序中,main函数必须放在其他函数的最前面B. 每个后缀为.C的C语言源程序都可以单独进行编译C. 在C语言程序中,只有main函数才可单独进行编译D. 每个后缀为.C的C语言源程序都应该包含一个main函数答案:B评析:本题的考查点是程序设计的基本概念。 C语言并未对main()函数的位置作要求,因此选项A是错误的。 C语言允许对函数单独进行编译,从而可以实现模块化。因此选项C是错误的。 每一个可执行的C程序都必须有且只有一个main()函数,但一个C程序可以由多个程序文件组成,所以并非每一个C程序文件都必须要有一个main()函数。因此选项D是错误的。 故本题答案为B。第二章 1、请选出合法的C语言赋值语句_。A. a=b=58 B. i+; C. a=58,b=58; D. k=int(a+b);答案:C评析:本题的考查点是赋值语句。 选项A没有用分号表示语句结束,不合法; 选项B为i=i+1;,这并不是赋值语句; 选项D,函数名和C语言的关键字重名,不合法。 故本题答案为C。2、若执行下面的程序时从键盘上输入3和4, main() int a,b,s; scanf(%d %d,&a,&b); s=a; if(ab)s=b; s=s*s; printf(%dn,s); 则输出是_。A. 14 B. 16 C. 18 D. 20 答案:B评析:本题的考查点是给变量赋值。 用户输入的3和4分别赋给了a和b,在if语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*s=16,最后的打印结果为16。 故本题答案为B。3、设a、b和c都是int型变量,且a=3、b=4、c=5,则下面的表达式中,值为0的表达式是_。A. a&b B. a=b C. a|+c&b-c D. !(ab)&!c|1) 答案:D评析:本题的考查点是几种运算符的使用。 选项A:a&b是字符a与b的相与,故不为0; 选项B:a=b,由题中变量赋值可知,结果为1。 选项C:a|+c&b-c,此表达式先做算术运算b-c,结果为-1,而+c属于单目运算符,由于c初值为5,经过单目运算符运算后,还是5,下面再进行逻辑与的运算,即-1&5结果为1(因为C语言中除0代表假外,其它任一个数都代表真),最后a|1,结果为1。 选项D:!(ab)&!c|1),此表达式先运算最外面括号内的表达式(ab)&!c|1,然后再进行非运算,由于(ab)&!c|1中先算小括号内的ab结果为1,再按逻辑运算符的运算顺序:!,&,|,进行运算后得(ab)&!c|1的值为1,所以最后再进行非运算知D选项的运算结果为0。 本题答案为D。4、设int a=12,则执行完语句a+=a-=a*a后,a的值是_。A. 552 B. 264 C. 144 D. -264 答案:D评析:本题的考查点是赋值表达式的求解。 第一步:a*a=144 ;(此时a=12) 第二步:a-=144相当于a=a-144,a=a-144=-132; (此时a=-132) 第三步:a+=a相当于a=a+a,a=a+a=-264; 所以该表达式最后的值应当为-264。 故本题答案为D。5、下列语句中,符合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+7; 答案:D评析:本题的考查点是赋值语句。 选项A和B中,7+b+c和7+b+中是表达式,而赋值语句中赋值号的左边应为变量,所以不正确; 选项C中由于没有;,所以不是语句,因为语句必需以分号结束。 故本题答案为D。6、以下选项中可作为C语言合法常量的是_。A. -80. B. -080 C. -8e1.0 D. -80.0e答案:A评析:本题考查的是常量表示法。 C语言的常量分为整型常量、实型常量和字符型常量。本题中只包含整型常量和实型常量。选项B从形式上来看属于整型常量中的八进制整数,以0开头,但只能用0-7表示八进制数,所以选项B不合法;选项C和D从形式上看属于实型常量,用指数形式表示的实型常量需要注意一点:e(或E)之前必需有数字,且e后面的指数必须为整数,所以选项C和D中e后面为小数和没有数字的形式都不合法;选项A属于实型常量中的十进制小数形式的表示法,是合法的。 故本题答案为A。7、可在C程序中用作用户标识符的一组标识符是_。A. and _2007 B. Date y-m-d C. Hi Dr.Tom D. case Bigl答案:A评析:本题的考查点是C语言的用户标识符。 在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。C 语言规定,标识符只能是字母(AZ,az)、数字(09)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。本题选项B中包含了横线(-),所以不合法;选项C中包含了点号(.),所以不合法;选项D中case和C语言的关键字重名,所以不合法。 故本题答案为A。8、以下选项中,合法的一组C语言数值常量是_。A. 028 .5e-3 -0xfB. 12. 0Xa23 4.5e0C. .l77 4e1.5 0abcD. 0x8A 10,000 3.e5答案:B评析:本题的考查点是C语言数值常量。 数值常量分为不同的类型:整型常量、实型常量、字符常量。整型常量就是整常数。在C语言中,使用的整常数有八进制、十六进制和十进制三种。十进制整常数:十进制整常数没有前缀,其数码取值为09;八进制整常数:八进制整常数必须以0开头,即以0作为八进制数的前缀,数码取值为07,八进制数通常是无符号数;十六进制整常数:十六进制整常数的前缀为0X或0x,其数码取值为09,AF或af。 实型常量也称为实数或者浮点数。在C语言中,实数只采用十进制。它有二种形式:十进制小数形式、指数形式。十进制小数形式:由数码09和小数点组成;指数形式:由十进制数加阶码标志e或E以及阶码(阶码只能为整数,可以带符号)组成。其一般形式为:a E n(a为十进制数,n为十进制整数)。 本题中由于以0开头的常量为八进制,且八进制常量的数码取值为07,所以选项A中028与选项C中0abc的表示均不正确;由于指数形式的实型常量的阶码只能为整数,所以选项C中4e1.5的表示不正确;由于十进制整常数的数码取值为09,所以选项D中10,000的表示不正确。 故本题答案为B。9、以下叙述中正确的是_。A. C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束B. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C. main可作为用户标识符,用以命名任意一个函数作为主函数D. C语言程序将从源程序中第一个函数开始执行答案:C评析:本题的考查点是C语言源程序。 一个C语言源程序可以由一个或多个源文件组成,每个源文件可由一个或多个函数组成。一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数,C语言程序是从main()函数开始执行。 故本题答案为C。10、以下关于long、int和short类型数据占用内存大小的叙述中正确的是_。A. 均占4个字节B. 由C语言编译系统决定C. 根据数据的大小来决定所占内存的字节数D. 由用户自己定义答案:D评析:本题的考查点是C语言数据类型所占内存。 C语言标准只规定了char类型占用内存大小为1,而long、int、short等类型数据占用内存大小由编译系统决定。如在TC编译环境下,long、int和short类型数据占用内存大小分别为4、2和2,而在VC+的编译环境下,long、int和short类型数据占用内存大小分别为4、4和2。 故本题答案为D。11、若变量均已正确定义并赋值,以下合法的C语言赋值语句是_。A. x+n=i;B. x=5=4+1;C. x=n%2.5;D. x=y=5;答案:A评析:本题的考查点是C语言赋值语句。 赋值语句是由赋值表达式再加上分号构成的表达式语句。其一般形式为:变量=表达式;由于在赋值符=右边的表达式也可以又是一个赋值表达式,因此,形式变量=(变量=表达式);是成立的,从而形成嵌套的情形,故选项A是正确的;选项D看上去是嵌套形式,而实际上,并非是一个正确的赋值表达式,因为赋值表达式=的左边只能是变量,不能为常量或表达式,所以4+1的值不能赋值给常量5,所以选项D错误,选项C也是错误的;由于求余运算符%的两侧必须为整型数据,所以选项B错误。 故本题答案为A。12、已有定义:char c;,程序前面已在命令中包含ctype.h文件。不能用于判断c中的字符是否为大写字母的表达式是_。A. c=(z-32)&(a-32)=cB. A=c&c=ZC. A=c=ZD. isupper(c)答案:C评析:本题的考查点是C语言运算优先级。 选项A中isupper(int ch)的功能是检查ch是否是大写字母。是,返回1,不是,返回0;选项C中表达式的功能是将字符A与c中的字符比较,将比较出的结果再与字符Z进行比较,不管字符A与c中的字符比较的结果为1还是为0,则再与字符Z比较,其结果总为1,所以选项B的表达式并不能判断出c中的字符是否为大写。 故本题答案为C。13、以下程序的输出结果是_。 #include #include main() int a=1,b=4,c=2; float x=10.5,y=4.0,z; z=(a+b)/c+sqrt(double)y)*1.2/c+x; printf(%fn,z); A. 14.000000 B. 15.400000 C. 13.700000 D. 14.900000 答案:C评析:本题的考查点是sqrt()函数的应用。 函数sqrt(x)是一个标准的数学函数,用于求x的二次方根,知道这一点以后就好做了,将各变量的值带入程序求解即可,另外,程序中的(double)是强制类型转换,将原来为float型的y强制转换成double型变量。 故本题答案为C。14、指针s所指字符串的长度为_。 char*s=t1NameAddressn; A. 19 B. 15 C. 18 D. 说明不合法 答案:B评析:本题的考查点是字符串长度的计算。 观察题目,t表示的一个TAB,长度为1,1表示的一个字符1,长度为1,Name的长度为4,代表的是一个符,长度为1,Address的长度为7,n是一个换行符,长度为1,所以整个字符串的长度应当为1+1+4+1+7+1=15。 故本题答案为B。15、以下选项中不能作为合法常量的是_。A. 1.234e04 B. 1.234e0.4 C. 1.234e+4 D. 1.234e0答案:B评析:本题考查的是常量表示法。 本题选项中的几个常量都属于指数形式的实型常量。此种类型的常量要求字母e(或E)之前必需有数字,且e后面的指数必须为整数,所以本题中选项B非法。 故本题答案为B。16、若变量已正确定义并赋值,下面符合C语言的表达式是_。A. a:=b+1B. a=b=c+2C. int 18.5%3D. a=a+7=c+b答案:B评析:选项A和C明显错误;对于选项D中表达式a=a+7=c+b,是先执行赋值表达式a+7=c+b,再把这个表达式的值赋给a,显然,表达式a+7=c+b非法,因为赋值表达式的左值不能为常量或表达式。 本题答案为B。17、若变量a、i已正确定义,且i已正确赋值,合法的语句是_。A. a=1B. +i;C. a=a+=5D. a=int(i); 答案:B评析:选项D中若要表示将i的值强制类型转换的话,则应如此表示:a=(int)i;,故选项D错误。而选项A没有分号结束,不是C语句;a+=5违反了赋值表达式左值必须为一个变量(不能是常量或表达式)的规定. 本题答案为B。18、有如下程序main() int y=3,x=3,z=1; printf(%d %dn,(+x,y+),z+2);运行该程序的输出结果是_。A. 3 4B. 4 2C. 4 3D. 3 3答案:D评析:逗号表达式(+x,y+)的值应该是y+的值,由于y+是先引用后自增,所以y+的值是3。 本题答案为D。19、有以下程序main() int a,b,d=25; a=d/10%9; b=a&(-1); printf(%d,%dn,a,b);程序运行后的输出结果是_。A. 6,1B. 2,1C. 6,0D. 2,0答案:B评析:本题考查的是算术运算符。 如果算术运算符/中参与运算的变量都是整型变量,则/表示整除运算,%表示求余。本题中a=d/10%9;的值为25/10%9=2;b=a&(-1);为2&(-1)=1(注意:-1表示真,只有0才表示假),所以a,b的值分别为2,1。 故本题答案为B。20、有如下程序段int a=14,b=15,x;char c=A;x=(a & b) & (cB);执行该程序段后,x的值为_。A. trueB. falseC. 0D. 1答案:D评析:C语言中没有逻辑型数据,以1代表真,以0代表假。 a&b的值为为真,cB的值也为真,所以(a&b) & (cB)的值为真。所以x的值应为1。 本题答案为D。21、下列叙述中正确的是_。A. C语言编译时不检查语法B. C语言的子程序有过程和函数两种C. C语言的函数可以嵌套定义D. C语言的函数可以嵌套调用答案:D评析:选项A的错误在于编译过程中是检查语法的,若发现源程序有语法错误,则系统会提示出错信息;选项B的错误在于C语言中,子程序的作用是由函数来完成的,无过程的概念;选项C的错误在于函数不可以嵌套定义,但可以嵌套调用。 本题答案为D。22、以下_是不合法的C语言常量。A. OxFFB. 1.2e0.5C. 2LD. 72答案:B评析:C语言中的指数形式,字母E之前必须有数字,且E后面指数必须为整数。 本题答案为B。23、设x、y、t均为int型变量,则执行语句:x=y=3;t=+x|+y;后,y的值为_。A. 不定值B. 4C. 3D. 1答案:C评析:C语言中做逻辑或运算时,自左向右判断各个参加或运算的表达式,一旦运算到某式的值为非零时,表明整个表达式定为真,余下的语句则不再进行运算。本题中,+x的值为真,则+y并没有进行运算,所以y值不变。 本题答案为C。24、若变量已正确说明为float类型,要通过语句scanf(%f %f %f,&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式是_。A. 102233B. 10.0,22.0,33.0C. 10.022.0 33.0D. 10 2233答案:B评析:C语言中,数据输入时,必须严格按照scanf语句中的格式符来进行输入,不需要分隔符,否则作为有效字符读入。选项B中的逗号将被做为有效字符读入。 本题答案为B。25、若执行以下程序时从键盘上输入9,则输出结果是_。 main() int n; scanf(%d:,&n); if(n+10) printf(%dn,n); else printf(%dn,n-); A. 11B. 10C. 9D. 8答案:B评析:n+是在语句结束后再加一,因此,if语句中相当于判断的是910,执行else后面的语句,而这时,因为if语句被执行,n的值也被加一,所以在打印时,n值为10,而n-是在printf语句执行完毕后再减一的。 本题答案为B。26、若变量c为char类型,能正确判断出c为小写字母的表达式是_。A. a=c=a)|(c=z)C. (a=c)D. (c=a)&(c=a)和(c=z)的关系应该是逻辑与的关系。 本题答案为D。27、在C语言中,合法的长整型常数是_。A. OLB. 4962710C. 324562&D. 216D答案:A评析:本题考查C语言数据类型。C语言中长整型数为在数值后加上一个L或l字符。 本题答案为A。28、以下有4组用户标识符,其中合法的一组是_。A)FOR B)4d C)f2_G3 D)WORD-sub DO IF voidCase Size abc defineA. A)B. B)C. C)D. D)答案:C评析:本题考查C语言标识符。C语言的标识符的定义为:以字母或下划线开头的由字母、数字字符、下划线组成的字符串。而且标识符不能与关键字相同。 本题答案为C。29、以下选项中合法的字符常量是_。A. BB. 010C. 68D. D答案:B评析:本题考查C语言字符常量。C语言中,字符常量是以单引号括起来的单个字符,或为以与三位八进制数值或两位十六进制数值代替单个字符。 本题答案为B。30、假定X和Y为double型,则表达式X=2,Y=X+3/2的值是_。A. 3.500000B. 3C. 2.000000D. 3.000000答案:D评析:本题考查C语言数据类型。本题中X,Y为双精度浮点型数,3/2为整型相除结果为1,所以本题结果为3.000000。 本题答案为D。31、以下合法的赋值语句是_。A. X=Y=100B. D-;C. X+Y;D. C=INT(A+B)答案:B评析:本题考查C语言的赋值语句。本题中的选项A与D都缺少语句结束标志;,而选项C中,表达式是不能独立成为语句的,选项B使用了C语言的自减运算符,它相当

温馨提示

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

评论

0/150

提交评论