C语言笔试题带答案6doc

合集下载

c语言笔试选择题和答案解析

c语言笔试选择题和答案解析

c语言笔试选择题和答案解析c语言笔试题及答案(1)算法的时间复杂度是指_______。

A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数答案:C评析:所谓算法的时间复杂度,是指执行算法所需要的计算工作量。

(2)下列叙述中正确的是________。

A)线性表是线性结构B)栈与队列是非线性结构C)线性链表是非线性结构D)二叉树是线性结构答案:A评析:一般将数据结构分为两大类型:线性结构与非线性结构。

线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。

(3)下面关于完全二叉树的叙述中,错误的是_________。

A)除了最后一层外,每一层上的结点数均达到最大值B)可能缺少若干个左右叶子结点C)完全二叉树一般不是满二叉树D)具有结点的完全二叉树的深度为[log2n]+1答案:B评析:满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。

完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干子结点(叶子结点)的二叉树。

(4)结构化程序设计主要强调的是_________。

A)程序的规模B)程序的易读性C)程序的执行效率D)程序的可移植性答案:B评析:结构化程序设计主要强调的是结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。

(5)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是________。

A)概要设计B)详细设计C)可行性分析D)需求分析答案:D评析:需求分析是对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。

编写软件规格说明书及初步的用户手册,提交评审。

(3)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

下列图符名标识的图符不属于数据流图合法图符的是_________。

A)控制流B)加工C)数据存储D)源和潭评析:数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。

C语言概述 笔试题及答案

C语言概述 笔试题及答案

第一章C语言概述笔试题【题1.1-1.5】 ACDCB【题1.6】函数【题1.7】主函数(或:main函数)【题1.8】【1】/* 【2】*/【题1.9】【1】scanf 【2】printf第三章数据类型、运算符与表达式【题3.1-3.43】 ACBAB CCADB BABCD CDACC AADDB ADADA ABCAA DDBCC DDC【题3.44】【1】1 【2】2【题3.45】【1】4 【2】8【题3.46】 -16【题3.47】 -32768 ~ 32767【题3.48】【1】单精度型(或:float)【2】双精度型(或:double)【题3.49】【1】整型【2】字符型【3】枚举类型【题3.50】 1【题3.51】 26【题3.52】【1】12 【2】4【题3.53】【1】6 【2】4 【3】2【题3.54】 -60【题3.55】 2【题3.56】【1】10 【2】6【题3.57】 5.500000【题3.58】 3.500000【题3.59】 1【题3.60】 1【题3.61】 0【题3.62】 9【题3.63】【1】字母【2】数字【3】下划线【题3.64】 f【题3.65】 X*(X*(X*(X*(X*(X*(5*X+3)-4)+2)+1)-6)+1)+10【题3.66】 8.000000【题3.67】 13.700000【题3.68】整型(或:int)【题3.69】双精度型(或:double)第四章最简单的C程序设计【题4.1-4.25】 DD(BC)DC DADA(BB) DDBDB DADAA BBBAD【题4.26】 i:dec=-4,oct=177774,hex=fffc,unsigned=65532【题4.27】 *3.140000,3.142*【题4.28】 c:dec=120,oct=170,hex=78,ASCII=x【题4.29】 *d(1)=-2*d(2)=-2*d(3)=-2**d(4)=177776*d(5)=177776*d(6)=177776*【题4.30】 *d(1)=-2*d(2)=-2*d(3)=-2**d(4)=fffe*d(5)=fffe*d(6)=fffe*【题4.31】 *d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=3.500e+00**d(4)=-3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00* 【题4.32】 x=1 y=2 *sum*=310 Squared is: 100【题4.33】 (1) 10(2) □□□□10(□表示空格)(3) 56.100000(4) □□□□□□3.141600(5) 5.68100e+02(6) □□□3.14160e+00(7) 3.1416(8) □□□□□□3.1416【题4.34】 (1) 123.456000(2) □□□□□□□123.457(3) 123.4560(4) 8765.456700(5) □□□□□□8765.457(6) 8765.4567(7) 8765.4567【题4.35】【1】可以使同一输出语句中的输出宽度得以改变。

C语言笔试题目及答案

C语言笔试题目及答案

C语言笔试题目及答案下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)算法的空间复杂度是指________。

A)算法程序的长度B)算法程序中的指令条数C)算法程序所占的存储空间D)算法执行过程中所需要的存储空间答案:D评析:一个算法的空间复杂度,一般是指执行这个算法所需的内存空间。

一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。

(2)下列关于栈的叙述中正确的是________。

A)在栈中只能插入数据B)在栈中只能删除数据C)栈是先进先出的线性表D)栈是先进后出的线性表答案:D评析:栈是限定在一端进行插入与删除的线性表。

栈是按照“先进后出”的或“后进先出”的原则组织数据的,因此,栈也被称为“先进后出”表或“后进先出”表。

(3)在深度为5的满二叉树中,叶子结点的个数为________。

A)32 B)31 C)16 D)15答案:C评析:所谓满二叉树是指除最后一层外,每层上的所有结点都有两个子结点。

也就是说,在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第K层上有2K-1个结点,且深度为m的满二叉树有2m个结点。

在满二叉树中,最后一层的结点个数就是叶子结点的个数,本题中深度为5,故叶子结点数为25-1=24=16。

(4)对建立良好的程序设计风格,下面描述正确的是________。

A)程序应简单、清晰、可读性好B)符号名的命名要符合语法C)充分考虑程序的执行效率D)程序的注释可有可无答案:A评析:要形成良好的程序设计风格,主要应注重和考虑下述一些因素:符号名的命名应具有一定的实际含义,以便于对程序功能的理解;正确的注释能够帮助读者理解程序;程序编写应优先考虑清晰性,除非对效率有特殊要求,程序编写要做到清晰第一,效率第二。

(5)下面对对象概念描述错误的是________。

c语言笔试题目及答案

c语言笔试题目及答案

c语言笔试题目及答案C语言是一门通用计算机编程语言,应用广泛。

C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

下面是c语言笔试题目及答案,请参考。

c语言笔试题目及答案一、选择题((1)~(10)每小题2分,(11)~(50)每小题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)数据的存储结构是指________。

A)存储在外存中的数据 B)数据所占的存储空间量C)数据在计算机中的顺序存储方式 D)数据的逻辑结构在计算机中的表示答案:D评析:数据的逻辑结构在计算机存储空间中的存放形式形式称为数据的存储结构(也称数据的物理结构)。

(2)下列关于栈的描述中错误的是________。

A)栈是先进后出的线性表B)栈只能顺序存储C)栈具有记忆作用D)对栈的插入与删除操作中,不需要改变栈底指针答案:B评析:栈是一种特殊的线性表,又称先进后出表(FILO—First In Last Out)。

(3)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是________。

A)冒泡排序为n2 B)冒泡排序为nC)快速排序为n D)快速排序为n(n一1)/2答案:D评析:假设线性表的长度为n,则在最坏情况下,冒泡排序需要经过n/2遍的从前往后扫描和n/2遍的从后往前扫描,需要比较次数为n(n-1)/2。

快速排序法的最坏情况比较次数也是n(n-1)/2。

(4)对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为________。

A)log2n B)n/2 C)n D)n+l答案:C评析:顺序查找过程中,如果被查找的元素是线性表中的最后一个元素,或者元素不在线性表中,则需要与线性表中所有的元素进行比较。

对长度为n的线性表进行顺序查找,在最坏情况下需要比较n次。

C笔试题目及答案c语言笔试题目及答案

C笔试题目及答案c语言笔试题目及答案

C笔试题目及答案c语言笔试题目及答案c笔试题目及答案:c语言笔试题目及答案c笔试题目汇总篇11.谋下面函数的返回值(谷歌)intfunc(x){intcountx=0;while(x){countx++;x=x&(x-1);}returncountx;}假定x=。

答案:8思路:将x转变为2十进制,看看所含的1的个数。

2.什么是“引用”?申明和使用“引用”要注意哪些问题?请问:提及就是某个目标变量的“别称”(alias),对应用领域的操作方式与对变量轻易操作方式效果完全相同。

言明一个提及的时候,切勿必须对其展开初始化。

提及声明完后,相等于目标局部变量存有两个名称,即为该目标原名称和提及名,无法再把该提及名做为其他局部变量的别称。

声明一个提及,不是崭新定义了一个变量,它只则表示该提及名就是目标局部变量的一个别称,它本身不是一种数据类型,因此提及本身不占到存储单元,系统也不给提及分配存储单元。

无法创建数组的提及。

3.将“引用”作为函数参数有哪些特点?(1)传达提及给函数与传达指针的效果就是一样的。

这时,被调函数的形参就沦为原来主调函数中的实参变量或对象的一个别称去采用,所以在被调函数中对形参变量的操作方式就是对其适当的目标对象(在主调函数中)的操作方式。

(2)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;如果传递的是对象,还将调用拷贝构造函数。

因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率和所占空间都好。

(3)采用指针做为函数的参数虽然也能够达至与采用提及的效果,但是,在被调函数中同样必须给形参分配存储单元,且须要重复使用"*指针局部变量"的形式展开运算,这很难产生错误且程序的写作性极差;另一方面,在主调函数的调用点处,必须用变量的地址做为实参。

c语言笔试题(答案)

c语言笔试题(答案)

c语言笔试题(答案)笔试题一、填空题(每个空4分,共28分)1)struct tagABC{char name[10];char sex;long sno;float score[4];}*pAbc;(四字节对齐)pAbc=NULL;那么,执行pAbc+=2;之后pAbc的值为(64 )2)如下代码,最终value的值是(8)int *p1,*p2;int value;p1=(int*)0×400;p2=(int*)0×408;value = p2-p1;3)如下代码,printf的结果为(2)#include〈stdio.h〉#include〈string.h〉void main(void){char acNew[20]= “\\0\0”;printf(“%d\n”,strlen(acNew));}4) 有如下程序段,运行该程序的输出结果是(33)main (){int y=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}5)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后,n的值为(2)6)struct tagAAA{Unsigned char ucId:1;Unsigned char ucPara0:2;Unsigned char ucState:6;Unsigned char ucTail:4;Unsigned char ucAvail;Unsigned char unTail2:4;Unsigned long ulData;}AAA_S问:AAA_S在字节对齐分别为1,4情况下,占用的空间大小分别是多少?( 9)(12 )二、选择题(每题2分,共34分)1)若有说明int(*p)[3];以下叙述正确的是( D )A:p是指针数组B:(*p)[3]和*p[3]等价C:p是指向一维数组中任何一个元素的指针D:p是指向含有3个整型元素的一维数组的指针2)以下关于单元测试的描述,哪些是对的?(D)A:黑盒测试针对软件的功能,不考虑功能的实现细节;B:白盒测试针对源代码的测试,从程序功能的具体实现上找错;C:路径覆盖是黑盒测试的一种方法,编写测试用例使程序的每条语句都能走到;D:条件覆盖是百盒测试的一种方法, 编写测试用例使程序的每个判断的各种情况都能到3)以下可以用于任务间通信的有(ABCD)A:共享内存 B:信号量C:消息队列和管道 D:socket调用4)有关结构,以下哪些描述是对的?(BC)A:为了测试方便,尽量把一个结构的功能设计得多一些B:不同结构间的关系不要过于复杂C:结构中的各元素应代表同一事务的不同侧面,而不应把描述没有关系或关系很弱的不同事务的元素放到同一结构中D:结构中元素的布局与排列顺序可以随意设计5)关于强制类型转化,下面说法正确的是(ABCD)A:当目的结构的空间大于源结构的空间时,要重点关注内存访问超过源结构范围的情形,可能越界;B:当目的结构的空间小于源结构的空间时,要重点关注对目的结构赋值不能完全覆盖源结构范围的情形,可能遗漏;C:结构体之间的强制类型转换时,其成员字段的数据类型的差异也是要格外小心的; D:与结构体之间的强制类型转换相比,基本数据结构的强制类型转换更容易出现上面描述的情况,使用的时候,一定要慎之又慎;6)正确的使用assert,软件系统不会对人为原因造成的错误进行处理。

C 经典笔试题(附答案)

C  经典笔试题(附答案)

8:下列多重继承时的二义性问题如何解决?class A{ //类A的定义public:void print () {cout<<"Hello, this is A"<<endl;}};class B{ //类B的定义public:void print () {cout<<"Hello, this is B"<<endl;}};class C : public A, public B{ //类C由类A和类B共同派生而来public:void disp () {print ();}//编译器无法决定采用A类中定义的版本还是B类中的版本};解答:若两个基类中具有同名的数据成员或成员函数,应使用成员名限定来消除二义性,如:void disp () {A: : print () ; //加成员名限定A::}print()但更好的办法是在类C中也定义一个同名print函数,根据需要调用A::还是Bprint(),从而实现对基类同名函数的隐藏::9:下列公共基类导致的二义性如何解决?class A{ //公共基类public: //public 成员列表void print(){cout << "this is x in A: " <<endl;}class B: public A{};class C: public A{};class D : public B, public C{};void main(){D d;//声明一个D类对象dA* pa=(A*) &d; //上行转换产生二义性d.print () ; //print ()具有二义性,系统不知道是调用B类的还是C类的print ()函数}注意:把子类的指针或引用转换成基类指针或引用是上行转换,把基类指针或引用转换成子类指针或引用是下行转换。

C语言笔试题带参考答案

C语言笔试题带参考答案

一、选择题(1)~(10)每小题2分,? (11)~(50)每小题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)在数据结构中,从逻辑上可以把数据结构分为_______。

A)动态结构和静态结构??? ??B)紧凑结构和非紧凑结构C)线性结构和非线性结构??? D)内部结构和外部结构答案:C评析:非线性(2)。

A)1,4,C)3,1,答案:C评析:l先于2 (3)_______。

A)答案:A评析:(4),所需的关键码比较次数为_______。

A)2??? ??B)3?????? C)4 ???????D)5答案:C评析:二分法查找是用关键码与线性表的中间元素比较,然后根据比较结果来判断是结束查找,还是在左边或者右边子表按相同的方法继续查找。

本题中,与ll比较的关键码分别为15,8,10,12四个。

(5)对于n个结点的单向链表(无表头结点),需要指针单元的个数至少为_______。

答案:C评析:在n个结点的单向链表(无表头结点)中,每个结点都有一个指针单元(即指针域),加上头指针,至少需要n+1个指针单元。

(6)在软件开发过程中,软件结构设计是描述_______。

A)数据存储结构?? ??B)软件体系结构??? C)软件结构测试??? D)软件控制过程答案:B评析:从工程管理角度来看,软件设计分两步完成:概要设计和详细设计。

概要设计(又称结构设计)(7)的一类是A)答案:D评析:能内聚。

(8)A)答案:D评析:(9)A)答案:D评析:数据模型的完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态及其状态的变化,以保证数据的正确性、有效性和相容性。

(10)关系代数运算是以_______为基础的运算。

A)关系运算??? B)谓词运算??? C)集合运算???? D)代数运算答案:C评析:关系代数运算是以关系代数作为运算对象的一组高级运算的集合。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2014-06-13 06:30:01 阅读( 135 )标签:一、选择题(1)~(10)每小题2分,(11)~(50)每小题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)在数据结构中,从逻辑上可以把数据结构分为_______。

A)动态结构和静态结构 B)紧凑结构和非紧凑结构C)线性结构和非线性结构D)内部结构和外部结构答案:C评析:逻辑结构反映数据元素之间的逻辑关系,线性结构表示数据元素之间一对一的关系,非线性结构表示数据元素之间一对多或多对一的关系。

(2)若进栈序列为l,2,3,4,进栈过程中可以出栈,则下列不可能的一个出栈序列是_______。

A)1,4,3,2 B)2,3,4,lC)3,1,4,2 D)3,4, 2,1答案:C评析:栈是一种后进先出表,选项c中,先出栈的是3,说明此时栈内必然有1,2,由于l 先于2进栈,所以l不可能在2之前出栈,故选项C这种出栈序列是不可能的。

(3)排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为_______。

A)希尔排序B)冒泡排序C)插入排序D)选择排序答案:A评析:希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。

(4)在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值11,所需的关键码比较次数为_______。

A)2 B)3 C)4 D)5答案:C评析:二分法查找是用关键码与线性表的中间元素比较,然后根据比较结果来判断是结束查找,还是在左边或者右边子表按相同的方法继续查找。

本题中,与ll比较的关键码分别为15,8,10,12四个。

(5)对于n个结点的单向链表(无表头结点),需要指针单元的个数至少为_______。

A)n-1 B)n C)n+l D)2n答案:C评析:在n个结点的单向链表(无表头结点)中,每个结点都有一个指针单元(即指针域),加上头指针,至少需要n+1个指针单元。

(6)在软件开发过程中,软件结构设计是描述_______。

A)数据存储结构 B)软件体系结构C)软件结构测试D)软件控制过程答案:B评析:从工程管理角度来看,软件设计分两步完成:概要设计和详细设计。

概要设计(又称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式。

(7)模块本身的内聚是模块独立性的重要性度量因素之一。

在7类内聚中,具有最强内聚的一类是_______。

A)顺序性内聚 B)过程性内聚 C)逻辑性内聚D)功能性内聚答案:D评析:内聚性是一个模块内部各元素间彼此结合的紧密程度的度量。

内聚共有7类,它们之间的内聚性由弱到强排列顺序为:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚和功能内聚。

(8)数据存储和数据流都是_______,仅仅是所处的状态不同。

A)分析结果B)事件C)动作D)数据答案:D评析:数据流图有4种成分:源点或终点、处理、数据存储和数据流。

数据存储是处于静止状态的数据,数据流是处于运动中的数据。

(9)数据的完整性是指数据的正确性、有效性和_______。

A)可维护性B)独立性C)安全性D)相容性答案:D评析:数据模型的完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态及其状态的变化,以保证数据的正确性、有效性和相容性。

(10)关系代数运算是以_______为基础的运算。

A)关系运算B)谓词运算C)集合运算D)代数运算答案:C评析:关系代数运算是以关系代数作为运算对象的一组高级运算的集合。

它的基本操作是并、交、差、笛卡尔积,另外还包垂直分割(投影)、水平分割(选择)、关系的结合(连接)等。

(11)能将高级语言程序转换成目标语言程序的是_______。

A)调试程序B)解释程序C)编译程序D)编辑程序答案:C评析:用高级语言编写的程序称为“源程序”,而计算机只能识别和执行由0和l组成的二进制指令,所以高级语言必须先用一种称为“编译程序”的软件,把源程序翻译成二进制形式的“目标程序”。

(12) _______是构成c语言程序的基本单位。

A)函数B)过程C)子程序D)子例程答案:A评析:c程序是由函数构成的。

一个c源程序至少包含一个main函数,也可以包含一个main 函数和若干个其他函数,因此,函数是c程序的基本单位。

(13)可以在C语言中用做用户标识符的是_______。

A)void B)as_b3 C)for D)2cdefine _123 -abc DoWORD If cas SIG答案:B评析:c语言规定,标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。

另外还需要注意的是关键字不能作标识符。

选项A中void,C中for都为关键字,D中2c以字母开头。

(14)若有以下类型说明语句:char w;int x;float y,z;则表达式w*x+z-y的结果为________类型。

A)float B)char C)int D)double答案:A评析:在进行运算时,不同类型的数据参加运算,需要先将其转换成同一类型的数据,然后再进行运算。

转换的顺序由低到高为:char,short→int→unsigned→long→double→float,故结果为float型。

(15)main((){ float x=123A56;printf(“%-5.2f\n”,x);}以上程序输出的结果是________。

A)123.4 B)123.5 C)123.45 D)123.46答案:D评析:f格式符,用来输出实数,以小数形式输出。

“%-m.nf”的含义是:输出数据共占m 列,其中n位小数,如果输出位数小于m。

则右端补空格。

如果总长度大于列数,则按实际情况四舍五入输出。

(16)下面语句的输出结果是________。

Printf(“%d\n”,strlen(“\t\”\065\xff\n”));A)14 B)8C)5 D)输出项不合法,无正常输出答案:C评析:在c语言中,以“\”开头的字符均为转义字符,其中“\”后可跟l~3位八进制数或在“\”后跟字母x及l~2位十六进制数,以此来代表一个特定的字符。

(17)下列程序的输出结果是________。

main(){ int a=0,b=0,c=0;if(++a>0lI++b>0)++c;printf(“\na=%d,b=%d,c=%d”,a,b,C);}A)a=0,b=0,c=0 B)a=l,b=l,c=1C)a=l,b=O, c=I D)a=0, b=1.c=1答案:C评析:“︱︱”是或运算,它有个“短路”的特点需特别注意,当“︱︱”运算符左边的表达式的值为真时,则程序就不再对“︱︱”右边的表达式的值进行运算,而是使得整个表达式的值直接为真。

(18)下列程序的输出结果是_________。

Main(){ int i;for(i=1;i+l;i++){ if(i>4){printlf(”%d”,i++);break;}}printf(“%d”,i++);}A)55 B)56C)程序错误,没有输出D)循环条件永远为真,死循环答案:B评析:本程序中有个for循环,但注意到for循环的条件是“i+l”,也就是只要i+l的值为真(非零值均为真),就执行循环。

当i=l的时,i+l的值为真,判断if条件不成立,执行i++,输出i的值为5。

(19)下列程序的输出结果是_________。

#define A 100main(){ int i=O,sum=O;do{ if(I==(i/2)*2)continue;sum+=i;}while(++i<A);printf(“%d\n”,sum);}A)2500 B)2050 C)4 D)O答案:A评析:本题程序的功能是求1到_99之问(包括1和99)所有奇数之和。

程序中的while循环的终止条件为++i=100,在while循环体内,如果i是偶数,则执行continue,跳过这一次循环,执行下一次循环,否则求和。

最后输出的值是1到99之间(包括l和99)所有奇数之和(1+99)*50/2=2500。

(20)下列程序的输出结果是_________。

main(){ int I=3;switch(i){ case 1:case 2:printf(”%d”,i);case 3:case 4:break;default:printf(”OK”);}}A)0 B)3 C)OK D)没有任何输出答案:D评析:在题中,i的值为3,由于“case 3:”后面没有break语句,所以继续向下执行“case 4:”后面的语句,由于“case 4:”后面的语句为break强行退出switch语句,所以,本题没有任何输出。

(21)下列程序执行后的输出结果是________。

main(){ int m[][3]={1,4,7,2,5,8,3,6,9};int i,k=2:for(I=0;i<3;i++){printf(”%d”,m[k][i]);}}A)456 B)258 C)369 D)789答案:C评析:根据二维数组的定义得出:m[O][O]=1,m[O][1]=4,m[O][2]=7,m[1][0]=2,rail][1]=5,m[1][2]=8,m[2][0]=3,m[2][l]=6,m[2][2]=9,所以本题的输出是第3行的值m[2][0],m[2][1],m[2][2],即369。

(22)设已定义洱口k为int类型变量,则以下for循环语句_________。

for(i=0;k=-1,k=1;i++,k++)printf(”****\n”);A)判断循环结束的条件不合法B)是无限循环C)循环一次也不执行 D)循环只执行一次答案:B评析:本题定义了一个for循环,循环变量是i,但由于本题并没有设置循环条件,所以循环的条件永远默认为真,即无限次执行循环。

(23)下面程序的输出结果是___________。

unsigned fun(unsigned num){ unsigned k=1;do{k*=num%lO;num/=lO;}while(num);return(k);}main(){ unsigned n。

26;printf(”%d\n”,fun(n));}A)0 B)4 C)12 D)无限次循环答案:C评析:本题定义了一个fun函数,用于num求和,具体执行过程如下:num=26:k=k*(num%10)=1*(26%10),所以k=6,num=num/10=2;num=2:k=k*(num%10)=6*(2%10),所以k=12,num=num/lO=O;num=O:while条件不成立,所以返回k的值12.(24)已知字母A的ASCII码值是65,字母a的ASCII码值是97,以下程序_______。

相关文档
最新文档