新编C程序设计教程 课件 教学PPT 作者 赵忠孝 新编C程序设计教程习题集参考答案.docx
新编C程序设计教程习题集第1章 习 题一选择题1. 用高级语言编写的源程序要转换成等价的目标程序,必需经过【 】CA) 汇编 B) 编辑 C) 编译 D) 说明2. 计算机硬件能干脆识别和执行的只有【 】DA) 高级语言 B) 符号语言 C) 汇编语言 D) 机器语言3. 在同等状况下,计算机执行【 】速度最快。BA)高级语言程序 B) 机器语言程序 C) 汇编语言程序 D) 源程序4. 以下说法错误的选项是【 】C A)高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式 B)计算机只能处理由0和1的代码构成的二进制指令或数据 C)C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE的二进制文件 D)每一种高级语言都有它对应的编译程序 5. 以下表达中错误的选项是 【 】AA)用户所定义的标识符允许运用关键字;B)用户所定义的标识符应尽量做到“见名知意;C)用户所定义的标识符必需以字母或下划线开头;D)用户定义的标识符中,大, 小写字母代表不同标识;6. 以下选项中属于合法C语言关键字的是 【 】D。A) VAR B)interger C)floaT D)default 7. 以下字符串不是标识符的是【 】D A) sum B) Average C) Day_night D) M.C)JOHN8. 正确的C语言自定义标记符是【 】A。 A)file_bak B)abc(10) C)continue D)class+39. 一个 C程序的执行是从【 】AA)本程序的main函数开场,到main函数完毕;B)本程序文件的第一个函数开场,到本程序文件的最终一个函数完毕;C)本程序的main函数开场,到本程序文件的最终一个函数完毕;D)本程序文件的第一个函数开场,到本程序main函数完毕;10. 以下表达中正确的选项是【 】A A)构成C程序的根本单位是函数 B)可以在一个函数中定义另一个函数 C)main()函数必需放在其他函数之前 D)全部被调用的函数确定要在调用之前进展定义 11. 以下表达不正确的选项是【 】DA)一个C源程序可由一个或多个函数组成;B)一个C源程序必需包含一个main函数;C)C程序的根本组成单位是函数;D)在C程序中,注释说明只能位于一条语句的后面;12. 以下表达中正确的选项是【 】CA)用C语言实现的算法必需要有输入和输出操作;B)用C语言实现的算法可以没有输出但必需要有输入;C)用C程序实现的算法可以没有输入但必需要有输出;D)用C程序实现的算法可以既没有输入也没有输出;13. 以下说法错误的选项是【 】C A)一个算法应包含有限个步骤 B)在计算机上实现的算法是用来处理数据对象的 C)算法中指定的操作,不能通过已经实现的根本运算执行有限次后实现 D)算法的目的是为了求解 14. 算法是指为解决某个特定问题而实行的确定且有限的步骤,下面不属于算法的五个特性的是【 】B A)有零个输入或多个输入 B)高效性 C)有穷性 D)确定性 二推断题15. 一个C程序的执行总是从该程序的main函数开场,在main函数最终完毕。【 】16. main函数必需写在一个C程序的最前面。 【 × 】17. 一个C程序可以包含假设干的函数。【 】18. C程序的注释局部可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。但是可以增加程序的可读性。【 】19. C程序的注释只能是一行。【× 】20. C程序的注释不能是中文文字信息。【× 】21. 可以运用Turbo C来编译和连接一个C程序。【 】22. 可以运用Turbo C来运行一个C程序。【 】23. 可以运用Turbo C来实时调试(即动态调试)一个C程序。【 】三问答题24. c语言程序的总体构造是怎样的?答:一个完整的语言程序,是由一个main()函数又称主函数和假设干个其它函数结合构成,或仅由一个main()函数构成。25. c语言程序的根本单位是什么它的构造又如何答:函数是语言程序的根本单位,每个源文件可由一个或多个函数组成。C语言的任何函数包括主函数main()都是由函数首部和函数体两局部组成。函数的一般构造如下:函数类型 函数名(函数参数表) 函数首部 函数体 说明语句局部; 执行语句局部; 26. 主函数main()在程序中的地位如何。程序总是从哪个函数开场执行,到哪个函数执行完后完毕答:一个源程序不管由多少个文件组成,都只能有一个main函数,即主函数。main()函数的作用,相当于其它高级语言中的主程序。其它函数的作用,相当于子程序。不管主函数在程序中的位置如何,C语言程序总是从main()函数开场执行,也是在main()函数终止执行。当主函数执行完毕时,整个程序也执行完毕。习惯上,将主函数main()放在程序的最前面。27. 什么是算法?算法的根本特征是什么?答:算法Algorithm是为解决某个问题而实行的方法和步骤,是程序的灵魂。一个算法应当具有以下五个重要的特征: 1.有穷性算法的有穷性是指算法必需能在执行有限个步骤之后终止,不能是无限的。2.精确性算法的每一步骤必需有精确的定义,而不能是模糊的,模棱两可的。3.可行性算法中的全部计算步都可以被分解为有限次的根本运算,即每个计算步都可以在有限时间内完成。4.有0个或多个输入一个算法有0个或多个输入,以刻画运算对象的初始状况。所谓0个输入是指算法本身定出了初始条件。 5. 有一个或多个输出一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的。28. 构造化程序设计接受方法是什么?答:构造化程序设计方法的主要原那么可以概括为:1自顶向下。程序设计时,应先考虑总体,后考虑微小环节。2逐步求精。对困难问题,应设计一些子目标作为过渡,逐步细化。 3模块化。一个困难问题,确定是由假设干个稍简洁的问题构成4每种程序构造允许有一个入口和一个口。5严格限制GOTO语句的运用。29. 程序设计的一般一那几个步骤?答:程序设计的一般步骤如下:对要解决的问题,首先必需分析清楚,明确问题的要求,列出全部量,找出问题的求解范围, 解的精度等。对实际问题进展分析之后,找出它的内在规律,就可以建立数学模型。建立数学模型后,还不能着手编程序,必需依据数据构造,选择解决问题的算法。一般选择算法时要留意:(1) 算法的逻辑构造尽可能简洁。(2) 算法所要求的存储量应尽可能少。(3) 防止不必要的循环,削减算法的执行时间。(4) 在满足问题要求条件下,使所需的计算量最小。 把整个程序看作一个整体,先全局后局部,自顶向下,一层一层分解处理。假如某些子问题的算法一样,而仅仅是参数不同,可以用函数来表示。 准备多组试验数据,调试运行。对程序中的错误进展修改,使程序能运行出结果。对试验数据计算的结果进展分析,看是否正确。假如不正确,返回修改程序,再调试运行。主要是对程序中的变量, 函数或过程作必要的说明。说明编程思路,画出框图,探讨运行结果等。30. 执行一个c语言程序的一般过程是什么答:一个简洁C程序的上机执行过程如以下图所示。 1)启动Tc,进入Tc集成环境。 2)编辑(或修改)源程序。 3)编译。假如编译成功,那么可进展下一步操作;否那么,返回2)修改源程序,再重新编译,直至编译成功。 4)连接。假如连接成功,那么可进展下一步操作;否那么,依据系统的错误提示进展相应修改,再重新连接,直至连接成功。 5)运行。通过视察程序运行结果,验证程序的正确性。 6)退出Tc集成环境,完毕本次程序运行。编辑并保存编译连接运行新建一个程序文件源程序.c文件目标文件.obj可执行.exe文件.obj语法错误逻辑错误图 C程序的上机执行过程第2章习 题一选择题1. 不合法的字符常量是【 】B 。A) t B) “B C) a D)x322. 合法的字符常量是【 】D 。A) 084 B) 84 C) ab D)x4A3. C语言供应的合法的数据类型关键字是【 】DB。A) Float B) signed C) integer D)chara4. 属于合法的C语言长整型常量的是【 】B 。A)2736 B)0L C)2E10 D)(long)58762735. 下面选项中,不是合法整型常量的是【 】B。A)160 B)0xcdg C)01 D)0x48a6. 以下所列的C语言常量中,错误的选项是【 】B 。A)0xFF B)0.5 C)2L D)727. 下面四个选项中,均是不正确的8进制数或16进制数的选项是【 】D 。A)016 0x8f 018 B)0abc 017 0xaC)010 -0x11 0x16 D)0a12 7ff -1238. 下选项中不属于C语言的类型是【 】D。A)signed short int B)unsigned long intB)unsigned int D)long short9. 推断int x = 0xaffb1。x的结果是【 】B 。A)赋值非法 B)溢出 C)为affb D)为ffbc10. 下面选项中,是合法浮点数的是【 】B。A)+1e0.5 B).60 C)123e D)e311. 在C语言中,要求参加运算的数必需是整数的运算符是【 】C 。A)/ B)* C)% D) =12. 在C语言中,字符型数据在内存中存放形式是【 】D。A)原码 B)BCD码 C)反码 D)ASCII码13. 以下语句中,不符合语法的赋值语句是【 】A 。A)a=7+b+c=a+7; B)a=7+b+ ;C)a=(7+b,b+,a+7); D)a=7+b,c=a+7; 14. 下面非法的C语言转义字符是【 】B。A)b B)0xf C)037 D)15. 有字符串如下,"n407as1"xabc",那么字符串的长度为【 】DA)6 B)7 C)8 D)916. 对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的推断中,正确的选项是【 】B。A)语法错误 B)f为5.0 C)f为0.0 D)17. 及代数式 不等价的C语言表达式是【 】A。A)x*y/u*v B)x*y/u/v C)x*y/(u*v) D)x/(u*v)*y18. 在C语言中,数字029是一个【 】D 。A)八进制数 B)十六进制数 C)十进制数 D)非法数19. C语言中整数-8在内存中的存储形式为【 】A。A) B)C)000000000001000 D)20. 对于char cx=039;语句,正确的选项是【 】A 。A)不合法 B)cx的ASCII值是33C)cx的值为四个字符 D)cx的值为三个字符21. 在C语言中,不正确的short类型的常数是 【 】B 。A)123 B)32768 C)037 D)0xAF22. 假设int k=7,x=12;那么能使值为3的表达式是【 】D。A)x%=(k%=5) B)x%=(kk%5)C)x%=kk%5 D)(x%=k)(k%=5)23. 假定x和y为double型,那么表达式x=2,y=x+3/2的值是【 】D。A)3.500000 B)3 C)2.000000 D)24. 设以下变量均为int类型,那么值不等于7的表达式是【 】C。A)(x=y=6,x+y,x+1) B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y) D)(y=6,y+1,x=y,x+1)25. 在16位C编译系统上,假设定义long a;,那么能给a赋40000的正确语句是【 】D。A)a=20000+20000。 B)a=4000*10。C)30000+10000。 D)a=4000L*10L。26. 7/9*9 在C语言中的计算结果是 【 】C。A)1 B)7 C)0 D)以上都不是27. 以下能正确定义且赋初值的语句是【 】B A)int n1=n2=10; B)char c=32; C)float f=f+1.1; D)double x=12.3E2.5; 28. 假设有定义:int a=7;float x=2.5,y=4.7;那么表达式x+a%3*(int)(x+y)%2/4的值是【 】AA)2.500000 B) C)3.500000 D) 29. 假设有运算符<<,sizeof,&=,那么它们按优先级由高至低的正确排列次序是【 】BA)sizeof,&=,<<, B)sizeof,<<,&=C),<<,sizeof,&= D)<<,&=,sizeof30. 设变量a是int型,f是float型,i是double型,那么表达式10+a+i*f值的数据类型为【 】C A)int B)float C)double D)不确定二填空题1. 在C语言中(以16位PC机为例),一个char数据在内存中所占字节数为【 1 】,其数值范围为【 0 】【255 】。一个int数据在内存中所占字节数为【 2 】 ,其数值范围为【-32768 】 【 32767 】。一个long数据在内存中所占字节数为【 4 】,其数值范围为【-214783648】 【 214783647 】。一个float数据在内存中所占字节数为【 4 】,其数值范围为【-3.4×1038】 【3.4×1038 】。2. C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必需为【字母或下划线】。3. 字符常量运用一对【单引号】界定单个字符,而字符串常量运用一对【双引号】来界定假设干个字符的序列。4. 在C语言中,不同运算符之间运算次序存在【优先级】的区分,同一运算符之间运算次序存在【结合性 】的规那么。5. 设x,i,j,k都是int型变量,表达式x=(i=4,j=16,k=32)计算后,x的值为【 32 】 。6. ,那么x+a%3*(int)(x+y)%2/4为【 2 】。7. 设a=2,b=3,x=3.5,y=2.5,那么表达式(float)(a+b)/2+(int)x%(int)y的值为【 】。8. 数学式子的C语言表达式为【exp(3)+sqrt(2*x+3*y) 】。9. 数学式子的C语言表达式为【 abs(x-y)+(x+y)/(3*x) 】 。10. 数学式子的C语言表达式为【 (-b+sqrt(b*b-4*a*c)/(2*a) 】 。11. :char a=a,b=b,c=c,i;那么表达式i=a+b+c的值为【 294 】。12. int a=12,n=5;那么:a+=a; a-=2;a*=2+3 ;a/=a+a ;n%=(n%=2) ;a+=a-=a*=a ;表达式运算后a的值各为【 0 】。13. 设int a; float f; double i ;那么表达式10+a+i*f值的数据类型是【double 】。14. 假设a为int型变量,那么表达式 (a=4*5,a*2) ,a+6的值为【 40 】。15. 假设全部变量均为整型,那么表达式(a=2,b=5,a+,b+,a+b)的值为【 9 】。16. a,b,c是一个十进制数x的百位,十位,个位,那么计算该a,b,c数的表达式是【 a=x/100,b=(x-x/100*100)/10,c=x%10 】。17. 定义:double x=3.5,y=3.2;那么表达式(int)x*0.5的值是【 】,表达式y+=x+的值是【 】。18. 定义:int m=5,n=3;那么表达式m/=n+4的值是【 0 】,表达式m=(m=1,n=2,n-m)的值是【 1 】,表达式m+=m-=(m=1)*(n=2)的值是【-2 】。19. 表达式5%(-3)的值是【 2 】,表达式-5%(-3)的值是【 -2 】。20. 假设a是int变量,那么执行表达式a=25/3%3后,a的值是【 2 】。三推断题1. 在C程序中对用到的全部数据都必需指定其数据类型。【 】2. 一个变量在内存中占据确定的存储单元。【 】3. 一个实型变量的值确定是精确的。【 × 】4. 对几个变量在定义时赋初值可以写成:int a=b=c=3;【 × 】5. 自增运算符(+)或自减运算符(-)只能用于变量,不能用于常量或表达式。【 】6. 在C程序的表达式中,为了明确表达式的运算次序,常运用括号“()。【 】7. %运算符要求运算数必需是整数。【 】8. 假设a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。【× 】9. 在C程序中,逗号运算符的优先级最低。【 】10. C语言不允许混合类型数据间进展运算。【× 】 四简答题1. 为什么C语言的字符型可以进展数值运算? 答:C语言将字符character以其ASCII码的值进展存储和处理,因此可以参加数值运算。2. 简述a和“a的区分。答:字符常量由单引号括起来,字符串常量由双引号括起来。例如:'a'和 "a"是不同的。'a'是字符常量,占一个字节;"a"是字符串常量,占2个字节。3. 程序:int m=12; m=15;为什么整型变量m的值在运算后不是当时的12,而是15? 答:int m=12;是在定义变量时进展初始化,m=15;是程序运行时对变量重新赋值,原来的值也就随之变更。4. 将下面各数用八进制和十六进制数表示:十进制 32 1 32768 2002 128 0八进制 040 0177777 0100000 03722 0177600 00十六进制0x20 0xffff 0x8000 0x7d2 0xff80 0x05. 华氏温度F及摄氏温度c的转换公式为:c=(F-32)*5/9 ,那么float c,F; c=5/9*(F-32)是其对应的C语言表达式吗?假如不是,为什么?答:对五程序阅读题1. 写出以下程序运行的结果。void main( ) char c1='a',c2='b',c3='c',c4='101',c5='102' printf("a%c b%ctc%ctabcn",c1,c2,c3); printf("tb%c %c",c4,c5);2. 写出以下程序运行的结果。void main( ) int i,j,m,n; i=8; j=10; m=+i; n=j+; printf(“%d,%d,%d,%d,i,j,m,n); 9,11,9,10 第3章习题一选择题1. printf函数中用到格式符“5s,其中数字5表示输出的字符串占用5列。假如字符串长度小于5,那么输出按方式【 】C。A)从左起输出该字串,右补空格 B)按原字符长从左向右全部输出C)右对齐输出该字串,左补空格 D)输出错误信息2. 已有定义int a=-2;和输出语句:printf(“%8lx,a);以下正确的表达是【D 】。A)整型变量的输出格式符只有d一种B)x是格式符的一种,它可以适用于任何一种类型的数据C)x是格式符的一种,其变量的值按十六进制输出,但8lx是错误的D)8lx不是错误的格式符,其中数字8规定了输出字段的宽度3. 以下程序的输出结果是 【 】D。main() int a=3; printf("%dn",(a+=a-=a*a) ); A) -6 B)12 C) 0 D) -12 4. putchar函数可以向终端输出一个【 】D。A)整型变量表达式值 B)实型变量值C)字符串 D)字符或字符型变量值5. 假设x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是【 】D。A)scanf(“%d%lx,%le,&x,&y,&z);B)scanf(“%2d*%d%lf,&x,&y,&z);C)scanf(“%x%*d%o,&x,&y);D)scanf(“%x%o%,&x,&y,&z);6. 已有如下定义和输入语句,假设要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开场输入数据时,正确的数据输入方式是【 】A。int a1,a2; char c1,c2;scanf(“%d%c%d%c,&a1,&c1,&a2,&c2);A)10A20B<CR> B)10 A 20 B<CR>C)10 A20B<CR> D)10A20 B<CR>7. 已有定义int x; float y;且执行scanf(“%3d%f,&x,&y);语句,假设从第一列开场输入数据12345 678<回车>,那么x的值为【 】B。A)12345 B)123C)45D)3458. 已有定义int x; float y;且执行scanf(“%3d%f,&x,&y);语句,假设从第一列开场输入数据12345 678<回车>,那么y的值为【 】B。A)无定值 B) C) D)9. 阅读以下程序,当输入数据的形式为25,13,10<CR>正确的输出结果为【D 】。main()int x,y,z;scanf(“%d%d%d,&x,&y,&z);printf(“x+y+z=%dn,x+y+z);A)x+y+z=48 B)x+y+z=35C)x+z=35 D)不确定值10. 逻辑运算符两侧运算对象的数据类型【 】D。A)只能是0或1 B)只能是0或非0正数C)只能是整型或字符型数据 D)可以是任何类型的数据11. 以下关于运算符优先依次的描述中正确的选项是【 】C。A)关系运算符<算术运算符<赋值运算符<逻辑及运算符B)逻辑及运算符<关系运算符<算术运算符<赋值运算符C)赋值运算符<逻辑及运算符<关系运算符<算术运算符D)算术运算符<关系运算符<赋值运算符<逻辑及运算符12. 以下运算符中优先级最高的是【 】B。A)<B)+C)&&D)!=13. 能正确表示“当x的取值在1,10和200,210范围内为真,否那么为假的表达式是【 】C。A) (x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B) (x>=1)|(x<=10)|(x>=200)|(x<=210)C) (x>=1)&&(x<=10)|(x>=200)&&(x<=210)D) (x>=1)|(x<=10)&&(x>=200)|(x<=210)14. 能正确表示逻辑关系:“a10或a0”的C语言表达式是【 】D。A)a>=10 or a<=0 B)a>=0|a<=10C)a>=10 &&a<=0 D)a>=10a<=015. 设int x=1,y=1;表达式(!x|y-)的值是【 】BA)0 B)1 C)2 D)-116. 有如下程序段int a=14,b=15,x;char c=A;x=(a&&b)&&(c<B);执行该程序段后,x的值为【 】DA)ture B)false C)0 D)1 xa b c17. 表示图中坐标轴上阴影局部的正确表达式是【 】C。A) (x<=a)&&(x>=b)&&(x<=c)B) (x<=a)|(b<=x<=c)C) (x<=a)|(x>=b)&&(x<=c)D) (x<=a)&&(b<=x<=c)18. 推断char型变量ch是否为大写字母的正确表达式是【 】C。A)A<=ch<=ZB)(ch>=A)&(ch<=Z)C)(ch>=A)&&(ch<=Z)D)(A<=ch)AND(Z>=ch)19. 设x, y和z是int型变量,且x=3,y=4,z=5,那么下面表达式中值为0的是【D 】。A) x&&y B)x<=yC)x|y+z&&y-z D)!(x<y)&&!z|1)20. x=43,ch=A,y=0;那么表达式(x>=y&&ch<B&&!y)的值是【 】C。A)0 B)语法错 C)1 D)“假21. 假设渴望当A的值为奇数时,表达式的值为“真,A的值为偶数时,表达式的值为“假,那么以下不能满足要求的表达式是【 】C。A)A%2=1 B)!(A%2=0) C)!(A%2) D)A%222. 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为【 】B。A)1 B)2 C)3 D)423. 推断char型变量c1是否为小写字母的正确表达式是【 】D。A)a<=c1<=zB)(c1>=a)&&(c1<=z)C)(a>=c1)|(z<=c1)D)(c1>=a)&&(c1<=z)24. x,y,z均为整型变量,且值均为1,那么执行语句+x|+y&&+z;后,表达式x+y的值为【 】CA)1 B)2 C)3 D)425. 以下程序的运行结果是【 】B。#include “stdio.hmain() int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d,a,b);A)6,1 B)2,1 C)6,0 D)2,026. 以下不正确的if语句形式是【 】C。A)if(x>y&&x!=y);B)if(x=y) x+=y;C)if(x!=y) scanf(“%d,&x) else scanf(“%d,&y);D)if(x<y) x+; y+;27. char ch='C' ;那么以下表达式的值是【 】。Dch=(ch>='A' && ch<='Z')(ch+32):ch;A)A B)a C)Z D)c28. int x=10,y=20,z=30;以下语句:if(x>y)z=x; x=y; y=z;执行后x,y,z的值是【 】。BA)x=10,y=20,z=30 B)x=20,y=30,z=30C)x=20,y=30,z=10 D)x=20,y=30,z=2029. 以下if语句语法正确的选项是【 】B。A) if(x>0)printf(“%f,x)else printf(“%f,-x);B)if(x>0)x=x+y; printf(“%f,x); else printf(“%f,-x);C)if(x>0)x=x+y; printf(“%f,x); ;else printf(“%f,-x);D)if(x>0)x=x+y; printf(“%f,x) else printf(“%f,-x);30. 有如下程序main()float x=2.0,y; if()y=0.0; else if()y=1.0/x; else y=1.0; printf("%fn",y);该程序的输出结果是【 】。CA)0.000000 B) C)0.500000 D)31. 假设int k=8;那么执行以下程序后,变量k的正确结果是【 】D。main()int k=8; switch(k) case 9:k+=1; case 10:k+=1; case 11:k+=1;break; default:k+=1; printf("%dn",k);A)12 B)11 C)10 D)9 32. 对表达式for(表达式1; 表达式3)可理解为 【 】。BA)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3) C)for(表达式1;表达式1;表达式3) D)for(表达式1;表达式3;表达式3) 33. 下面有关for循环的正确描述是【 】D。 A)for循环只能用于循环次数已经确定的状况 B)for循环是先执行循环体语句,后推断表达式 C)在for循环中,不能用break语句跳出循环体 D)for循环的循环体语句中,可以包含多条语句,但必需用花括号括起来 34. 设有程序段int k=10;while(k=0) k=k-1;那么下面描述中正确的选项是【 】C。A)while循环执行10次B)循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次35. 设有以下程序段int x=0,s=0;while(!x!=0) s+=+x;printf(“%d,s);那么【 】B。A)运行程序段后输出0 B)运行程序段后输出1C)程序段中的限制表达式是非法的 D)程序段执行无限次36. 语句while(!E);中的表达式!E等价于【 】A。A)E=0B)E!=1C)E!=0D)E=137. 下面程序段的运行结果是【 】A。a=1; b=2; c=2;while(a<b<c) t=a; a=b; b=t; c-;printf(“%d,%d,%d,a,b,c);A)1,2,0B)2,1,0C)1,2,1D)2,1,138. 下面程序段的运行结果是【 】D。x=y=0;while(x<15) y+,x+=+y;printf(“%d,%d,y,x);A)20,7B)6,12C)20,8D)8,2039. int t=0; while(t=1) . 那么以下表达正确的选项是 【 】。 BA)循环限制表达式的值为0 B)循环限制表达式的值为1 C)循环限制表达式不合法 D)以上说法都不对 40. 下面程序段的运行结果是【 】C。int n=0;while(n+<=2); printf(“%d,n);A)2B)3C)4D)有语法错41. 设有程序段t=0;while(printf(“*)t+; if(t<3) break;那么下面描述正确的选项是【 】D。A)其中循环限制表达式及0等价 B)其中循环限制表达式及0等价C)其中循环限制表达式是不合法的 D)以上说法都不对42. C语言中while和do-while循环的主要区分是【 】A。A)do-while的循环体至少无条件执行一次B)while的循环限制条件比do-while的循环限制条件严格C)do-while允许从外部转到循环体内D)do-while的循环体不能是复合语句43. 以下描述中正确的选项是【 】C。A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能运用复合语句B)do-while循环由do开场,用while完毕,在while(表达式)后面不能写分号C)在do-while循环体中,确定要有能使while后面