《新编C程序设计教程课件教学PPT作者赵忠孝新编C程序设计教程习题集(参考答案).pdf》由会员分享,可在线阅读,更多相关《新编C程序设计教程课件教学PPT作者赵忠孝新编C程序设计教程习题集(参考答案).pdf(100页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、新编C 程序设计教程习题集第 1 章 习 题一.选择题1.用高级语言编写的源程序要转换成等价的目标程序,必须经过【】cA)汇编 B)编辑 C)编译 D)解释2.计算机硬件能直接识别和执行的只有【】DA)高级语言 B)符号语言 C)汇编语言 D)机器语言3.在同等情况下,计算机执行【】速度最快。BA)高 级 语 言 程 序 B)机 器 语 言 程 序 C)汇编语言程序 D)源程序4.以下说法错误的是【】CA)高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式B)计算机只能处理由。和 1 的代码构成的二进制指令或数据C)C 语言源程序经过C 语言编译程序编译之后生成一个后缀为.EXE
2、的二进制文件D)每一种高级语言都有它对应的编译程序5.以下叙述中错误的是【】AA)用户所定义的标识符允许使用关键字;B)用户所定义的标识符应尽量做到“见名知意”;C)用户所定义的标识符必须以字母或下划线开头;D)用户定义的标识符中,大、小写字母代表不同标识;6.下列选项中属于合法C 语言关键字的是【】D。A)VAR B)interger C)floaT D)default7.下列字符串不是标识符的是【】DA)sum B)Average C)Day_night D)M.C)JOHN8.正确的C 语言自定义标志符是 】AoA)file_bak B)abc(10)C)continue D)class
3、+39.一 个 C 程序的执行是从【】AA)本程序的main函数开始,到 main函数结束;B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束;C)本程序的main函数开始,到本程序文件的最后个函数结束;D)本程序文件的第一个函数开始,到本程序main函数结束;10.以下叙述中正确的是 】AA)构成C 程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前进行定义11.以下叙述不正确的是【】DA)一个C 源程序可由一个或多个函数组成;B)一个C 源程序必须包含一个main函数;C)C 程序的基本组成单位是函
4、数;D)在 C 程序中,注释说明只能位于一条语句的后面;12.以下叙述中正确的是 】CA)用 C 语言实现的算法必须要有输入和输出操作;B)用 C 语言实现的算法可以没有输出但必须要有输入;C)用 C 程序实现的算法可以没有输入但必须要有输出;D)用 C 程序实现的算法可以既没有输入也没有输出;13.以下说法错误的是【】CA)一个算法应包含有限个步骤B)在计算机上实现的算法是用来处理数据对象的C)算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现D)算法的目的是为了求解14.算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的 是【】BA)有零个输入或多个输
5、入B)高效性C)有穷性D)确定性二.判断题1.一个C 程序的执行总是从该程序的main函数开始,在 main函数最后结束。4 2.main函数必须写在一个C 程序的最前面。X 3.一个C 程序可以包含若干的函数。4 4.C 程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。但是可以增加程序的可读性。【5.C 程序的注释只能是一行。X 6.C 程序的注释不能是中文文字信息。X 7.可以使用Turbo C 来编译和连接一个C 程序。4 8.可以使用Turbo C 来运行一个C 程序。4 9.可以使用Turbo C 来实时调试(即动态调试)一个C 程序。4 三.问 答 题1.
6、c 语言程序的总体结构是怎样的?答:一个完整的C 语言程序,是由一个main。函 数(又称主函数)和若干个其它函数结合构成,或仅由一个main。函数构成。2.c 语言程序的基本单位是什么?它的结构又如何?答:函数是C 语言程序的基本单位,每个源文件可由一个或多个函数组成。C语言的任何函数(包括主函数main。)都是由函数首部和函数体两部分组成。函数的一般结构如下:函数类型函数名(函数参数表)函数首部说明语句部分;执行语句部分;函数体3 .主函数m a i n。在程序中的地位如何。程序总是从哪个函数开始执行,到哪个函数执行完后结束?答:一个源程序不论由多少个文件组成,都只能有一个m a i n函
7、数,即主函数。m a i n。函数的作用,相当于其它高级语言中的主程序。其它函数的作用,相当于子程序。不论主函数在程序中的位置如何,C语言程序总是从m a i n。函数开始执行,也是在m a i n()函数终止执行。当主函数执行完毕时,整个程序也执行完毕。习惯上,将主函数m a i n。放在程序的最前面。4 .什么是算法?算法的基本特征是什么?答:算 法(A lg or i t h m)是为解决某个问题而采取的方法和步骤,是程序的灵魂。一个算法应该具有以下五个重要的特征:1.有穷性算法的有穷性是指算法必须能在执行有限个步骤之后终止,不能是无限的。2.确切性算法的每一步骤必须有确切的定义,而不能
8、是含糊的,模棱两可的。3.可行性算法中的所有计算步都可以被分解为有限次的基本运算,即每个计算步都可以在有限时间内完成。4.有0 个或多个输入个算法有0个或多个输入,以刻画运算对象的初始情况。所谓。个输入是指算法本身定出了初始条件。5.有一个或多个输出一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的。5 .结构化程序设计采用方法是什么?答:结构化程序设计方法的主要原则可以概括为:(1)自顶向下。程序设计时,应先考虑总体,后考虑细节。(2)逐步求精。对复杂问题,应设计一些子目标作为过渡,逐步细化。(3)模块化。一个复杂问题,肯定是由若干个稍简单的问题构成(4)每种
9、程序结构允许有一个入口和一个口。(5)严格控制GOT O语句的使用。6.程序设计的一般一那几个步骤?答:程序设计的一般步骤如下:1.分析问题对要解决的问题,首先必须分析清楚,明确问题的要求,列出所有已知量,找出问题的求解范围、解的精度等。2.建立数学模型对实际问题进行分析之后,找出它的内在规律,就可以建立数学模型。3.选择算法建立数学模型后,还不能着手编程序,必须根据数据结构,选择解决问题的算法。一般选择算法时要注意:(1)算法的逻辑结构尽可能简单。(2)算法所要求的存储量应尽可能少。(3)避免不必要的循环,减少算法的执行时间。(4)在满足问题要求条件下,使所需的计算量最小。4.编写程序把整个
10、程序看作一个整体,先全局后局部,自顶向下,一层一层分解处理。如果某些子问题的算法相同,而仅仅是参数不同,可以用函数来表示。5.调试运行准备多组试验数据,调试运行。对程序中的错误进行修改,使程序能运行出结果。6.分析结果对试验数据计算的结果进行分析,看是否正确。如果不正确,返回修改程序,再调试运行。7.写出程序的文档主要是对程序中的变量、函数或过程作必要的说明。解释编程思路,画出框图,讨论运行结果等。7.执行一个c 语言程序的 般过程是什么?答:一个简单C 程序的上机执行过程如下图所示。1)启动T c,进入T c 集成环境。2)编辑(或修改)源程序。3)编译。如果编译成功,则可进行下一步操作;否
11、则,返回2)修改源程序,再重新编译,直至编译成功。4)连接。如果连接成功,则可进行下一步操作;否则,根据系统的错误提示进行相应修改,再重新连接,直至连接成功。5)运行。通过观察程序运行结果,验证程序的正确性。6)退出T c 集成环境,结束本次程序运行。图C程序的上机执行过程第 2 章 习 题一.选择题1 .不合法的字符常量是1】B。A)t B)B C)a D)x 3 2 2 .合法的字符常量是【】D。A)0 8 4 B)8 4 C)a b D)x 4 A 3 .C 语言提供的合法的数据类型关键字是【】B。A)F l o a t B)s i g n e d C)i n t e g e r D)c
12、 h a r a4.属于合法的C 语言长整型常量的是【】B。A)2 7 3 6 B)O L C)2 E 1 0 D)(l o n g)58762 735.下面选项中,不是合法整型常量的是【】B。A)1 60 B)-0 x c d g C)-0 1 D)-0 x 48a6.以下所列的C 语言常量中,错误的是【】B 。A)O x F F B)1.2 e 0.5 C)2 L D)72 7.下面四个选项中,均是不正确的8 进制数或1 6进制数的选项是【】D。A)0 1 6 0 x 8f 0 1 8 B)O a b c 0 1 7 O x aC)0 1 0 -O x l l 0 x 1 6 D)0 a
13、l 2 7f f -1 2 38.下选项中不属于C 语言的类型是【】D。A)s ig n e d s h o r t in t B)u n s ig n e d l o n g in tB)u n s ig n e d in t D)l o n g s h o r t9 .判 断 in t x =O x a f f b l o x的结果是【】B 。A)赋值非法 B)溢出 C)为 a f f b D)为 f f b c1 0 .下面选项中,是合法浮点数的是【】B。A)+l e O.5 B)-.6O C)1 2 3e D)e 31 1 .在 C 语言中,要求参加运算的数必须是整数的运算符是 】C。
14、A)/B)*0%D)=1 2 .在 C 语言中,字符型数据在内存中存放形式是【】D。A)原码 B)B CD码 C)反码 D)A S C H 码1 3.下列语句中,不符合语法的赋值语句是【】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;1 4.下面非法的C 语言转义字符是 】B A)b B)O x f C)0 37 D)1 5.有字符串如下,n 40 7a s l x a b c,则字符串的长度为【】DA)6 B)7 C)8 D)91 6.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,正确的是 】
15、B。A)语法错误 B)f 为 5.0 C)f 为 0.0 D)f 为 2.01 7.与代数式把 不等价的C 语言表达式是【】.A。uvA)x*y/u*v B)x*y/u/v C)x*y/(u*v)D)x/(u*v)*y1 8.在C 语言中,数字0 2 9 是一个【】D。A)八进制数 B)十 六 进 制 数 C)十进制数 D)非法数1 9 .C 语言中整数-8在内存中的存储形式为【】A。A)1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 B)1 0 0 0 0 0 0 0 0 0 0 1 0 0 0C)0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 D)1 1 1 1
16、 1 1 1 1 1 1 1 1 0 1 1 12 0 .对 于 c h a r c x=0 39;语句,正确的是 】A 。A)不合法 B)c x 的 A S CII值是330 e x 的值为四个字符 D)c x 的值为三个字符2 1 .在 C 语言中,不正确的s h o r t 类 型 的 常 数 是【1 B。A)1 2 3 B)32 768 C)0 37 D)O x A F2 2 .若 in t k=7,x=1 2;则能使值为3 的表达式是 】D。A)x%=(k%=5)B)x%=(k-k%5)C)x%=kk%5 D)(x%=k)(k%=5)2 3.假定x 和 y 为 d o u b l e
17、 型,则表达式x=2,y=x+3/2 的值是【】D。A)3.50 0 0 0 0 B)3 C)2.0 0 0 0 0 0 1)3.0 0 0 0 0 02 4.设以下变量均为in t 类型,则值不等于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)2 5.在 1 6位 C 编译系统匕若定义l o n g a;,则能给a赋 40 0 0 0 的正确语句是【】D。A)a=2 0 0 0 0+2 0 0 0 0。B)a=40 0 0*1 0。C)30 0 0 0+1 0 0 0 0
18、c D)a=40 0 0 L*1 0 L2 6.7/9*9 在 C 语言中的计算结果是A)1 B)7 C)0 D)以上都不是2 7.以下能正确定义且赋初值的语句是【】BA)in t n l=n 2=1 0;B)c h a r c=32;C)f l o a t f=f+l.1;D)d o u b l e x=1 2.3E 2.5;2 8.若有定义:in t a=7;f l o a t x=2.5,y=4.7;则表达式乂+2 烧*(储。&+丫)%2/4的值是【】AA)2.50 0 0 0 0 B)2.750 0 0 0 C)3.50 0 0 0 0 D)0.0 0 0 0 0 02 9 .若有运算
19、符*,s iz e o f j,&=,则它们按优先级由高至低的正确排列次序是【】BA)s iz e o f,B)s iz e o f,&=C),s iz e o f,&=D),*,&=,s iz e o f30 .设变量a是 in t 型,f 是 f l o a t 型,i 是 d o u b l e 型,则表达式1 0+a +i*f 值的数据类型为【1CA)in t B)f l o a t C)d o u b l e D)不确定二.填空题1 .在 C 语言中(以1 6位 P C机为例),一个c h a r 数据在内存中所占字节数为1 1 ,其数值范围为【0 】1【25 5】。一 个 in t
20、 数据在内存中所占字节数为【2】,其数值范围为32 768 32 767】。一 个 l o n g 数据在内存中所占字节数为【4】,其数值范围为1-2 1 4783648 2 1 4783647,一个f l o a t 数据在内存中所占字节 数 为【4】,其数值范围为-3.4X 1 0,3.4X 1 038 2 .C 语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为【字母或下划线,3.字符常量使用一对【单引号】界定单个字符,而字符串常量使用一对【双引号】来界定若干个字符的序列。4.在 C 语言中,不同运算符之间运算次序存在【优先级】的区别,同一运算符之间运算次序存
21、在【结 合 性】的规则。5.设 x,i,j,k都 是 in t 型变量,表达式x=(i=4,j=1 6,k=32)计算后,x的值为 32 。6,设 x=2.5,a=7,y=4.7,则 x+a%3*(in t)(x+y)%2/4 为【2 】。7.设 a=2,b=3,x=3.5,y=2.5,则表达式(f l o a t)(a+b)/2+(in t)x%(in t)y 的值为3.5 8.数学式子/+必西的C 语言表达式为【e x p(3)+s q r t(2*x+3*y)9 .数学式子 1 3 x的 C 语言表达式为【a b s(x-y)+(x+y)/(3*x)】。1 0 .数学式子 2 a 的 C
22、 语言表达式为【(-b+s q r t(b*b-4*a*c)/(2*a)。1 1 .已知:c h a r a=a ,b=b ,c=c ,i;则表达式 i=a+b+c 的值为【2 9 41 2 .已知 in t a=1 2,n=5;则:a+=a;a-=2;a*=2+3;a/=a+a ;n%=(n%=2);a+=a-=a*=a ;表达式运算后a的值各为【0】。1 3.设 in t a;f l o a t f;d o u b l e i;则表达式 1 0+a +i*f 值的数据类型是【d o u b l e1 4.若a为in t 型变量,则表达式(a=4*5,a*2),a+6的值为【4 0】。1 5
23、.假设所有变量均为整型,则表达式(a=2,b=5,a+,b+,a+b)的值为【9】。1 6.已知a,b,c 是一个十进制数x的百位,十位,个位,则计算a,b,c的表达式是【a=x/1 0 0,b=(x-x/1 0 0*1 0 0)/1 0,c=x%1 01 7.定义:d o u b l e x=3.5,y=3.2;则表达式(in t)x*0.5 的值是【1.5,表达式y+=x+的值是 6.7 11 8.定义:in t m=5,n=3;则表达式m/=n+4的值是【0,表达式m=(m=l,n=2,n-m)的值是1,表达式m+=m-=(m=l)*(n=2)的值是【-21 9 .表达式5%(-3)的值
24、是2,表达式-5%(-3)的值是【-2 2 0 .若 a是 in t 变量,则执行表达式a=2 5/3%3后,a的值是【2 1三.判断题1 .在 C 程序中对用到的所有数据都必须指定其数据类型。J 2 .一个变量在内存中占据一定的存储单元。V 3 .一个实型变量的值肯定是精确的。X 4 .对几个变量在定义时赋初值可以写成:i n t a=b=c=3;X 5 .自增运算符(+)或自减运算符(一)只能用于变量,不能用于常量或表达式。J 6 .在 C程序的表达式中,为了明确表达式的运算次序,常使用括号“()。J 7 .%运算符要求运算数必须是整数。V 8 .若 a 是实型变量,C 程序中允许赋值a=
25、10,因此实型变量中允许存放整型数。义 9 .在 C程序中,逗号运算符的优先级最低。J 10.C语言不允许混合类型数据间进行运算。【X】四.简答题1.为什么C语言的字符型可以进行数值运算?答:C 语言将字符(c h ar ac t e r)以其A S C I I 码的值进行存储和处理,因此可以参加数值运算。2 .简 述 a和“a”的区别。答:字符常量山单引号括起来,字符串常量由双引号括起来。例如:a和 a是不同的。a是字符常量,占一个字节;a是字符串常量,占 2个字节。3 .程序:i n t m=12;m=15;为什么整型变量m的值在运算后不是当初的12,而 是 15?答:i n t m=12
26、;是在定义变量时进行初始化,m=15;是程序运行时对变量重新赋值,原来的值也就随之改变。4 .将下面各数用八进制和卜六进制数表示:十进制 3 2 -1-3 2 7 6 8 2 002 -12 8 0八进制 04 0 017 7 7 7 7 0100000 03 7 2 2 017 7 6 00 00十六进制 0 x 2 0 O x f f f f 0 x 8 000 0 x 7 d 2 0 x f f 8 0 0 x 05 .华氏温度F与摄氏温度c的转换公式为:c=(F-3 2)*5/9,则 f l o at c,F;c=5/9*(F-3 2)是其对应的C语言表达式吗?如果不是,为什么?答:对
27、五.程序阅读题1.写出以下程序运行的结果。v o i d m a i n()c h ar c l=,a,c 2=b,c 3=c,c 4=101,c 5=102;p r i n t f (a%c b%c t c%c t ab c n/,,c l,c 2,c 3);p r i n t f (,zt b%c%c”,c 4,c 5);)aa bb cc_ABabc2 .写出以下程序运行的结果。v o i d m a i n()i n t i,j,m,n;i=8;j=10;m=+i;n=j+;p r i n t f (%d,%d,%d,,i,j,m,n);)9,11,9,10第 3 章习题一.选择题1.
28、p r i n t f函数中用到格式符“5 s”,其中数字5表示输出的字符串占用5歹人如果字符串长度小于5,则输出按方式【A)从左起输出该字串,右补空格 B)按原字符长从左向右全部输出0右对齐输出该字串,左补空格 D)输出错误信息2 .已有定义i n t a=-2;和输出语句:p r i n t f (“烧l x”,a);以下正确的叙述是)。A)整型变量的输出格式符只有%d 一种B)%x是格式符的一种,它可以适用于任何一种类型的数据0%x是格式符的一种,其变量的值按十六进制输出,但%81 x是错误的D)%8 1 x不是错误的格式符,其中数字8规定了输出字段的宽度3 .以下程序的输出结果是【】D
29、。m ai n ()i n t a=3;pri n t f(dn,(a+=a-=a*a);A)-6 B)1 2 C)0 D)-1 24 .pu t ch ar函数可以向终端输出一个【】D。A)整型变量表达式值 B)实型变量值C)字符串 D)字符或字符型变量值5 .若 x,y 均定义为i n t 型,z 定义为do u bl e型,以下不合法的s can f 函数调用语句是【】D A)s can f (u%d%l x,%l ew,&x,&y,&z);B)s can f(,&x,&y,&z);C)s can f(%x%*d%o ,&x,&y);D)s can f(a%x%o%6.2 f“,&x,&
30、y,&z);6 .已有如下定义和输入语句,若要求al,a2,cl,c2 的值分别为1 0,2 0,A 和 B,当从第一列开始输入数据时,正确的数据输入方式是【】A。i n t al,a2;ch ar cl,c2;s can f(u%d%c%d%c ,&al,&cl,&a2,&c2);A)1 0 A 2 0 B B)1 0 A 2 0 B C)1 0 A 2 0 B D)1 0 A 2 0 B 7 .已有定义i n t x;f l o at y;且执行s can f(“%3 d%f”,&x,&y);语句,若从第一列开始输入数 据 1 2 3 4 5 6 7 8 回车,则 x 的值为【】B。A)1
31、 2 3 4 5 B)1 2 3 C)4 5 D)3 4 58.已有定义i n t x;f l o at y;且执行s can f (%3 d%f”,&x,&y);语句,若从第一列开始输入数 据 1 2 3 4 5 6 7 8 回车,则 y 的值为【】B。A)无定值 B)4 5.0 0 0 0 0 0 C)6 7 8.0 0 0 0 0 0 D)1 2 3.0 0 0 0 0 09.阅读以下程序,当输入数据的形式为2 5,1 3,1 0 正确的输出结果为【Dm ai n()(i n t x,y,z;s can f(rt%d%d%dw,&x,&y,&z);pri n t f(x+y+z=%dn”
32、,x+y+z);)A)x+y+z=4 8 B)x+y+z=3 5C)x+z=3 5 D)不确定值1 0 .逻辑运算符两侧运算对象的数据类型【1D 。A)只能是0或 1 B)只能是0或非0正数C)只能是整型或字符型数据 D)可以是任何类型的数据1 1 .以下关于运算符优先顺序的描述中正确的是 】C。A)关系运算符(算术运算符(赋值运算符 逻辑与运算符B)逻辑与运算符 关系运算符 算术运算符 赋值运算符0赋值运算符(逻辑与运算符(关系运算符(算术运算符D)算术运算符 关系运算符 赋值运算符 逻辑与运算符1 2 .下列运算符中优先级最高的是【】B。A)=l)&(x=2 0 0)&(x=l)|I(x=
33、2 0 0)I|(x=l)&(x=2 0 0)&(x=l)|(x=2 0 0)|(x=1 0 o r a=0|a=1 0&a=1 0 II a=01 5 .设i n t x=l,y=l;表达式(!x|y一)的值是【】BA)0 B)1 C)2 D)-l1 6 .有如下程序段i n t a=1 4,b=1 5,x;ch ar c=A ;x=(a&b)&(c B );执行该程序段后,x的值为 】1)A)t u re B)f al s e C)0 D)11 7 .表示图中坐标轴上阴影部分的正确表达式是 】C a b cA)(x=b)&(x=c)B)(x=a)|I(b=x=c)C)(x=b)&(x=c)
34、D)(x=a)&(b=x=c)1 8.判断ch ar型变量c h是否为大写字母的正确表达式是 】C。A)A =A)&(ch =A)&(ch=Z )D)(A =ch)1 9.设x、y和z是i n t型变量,且x=3,y=4,z=5,则下面表达式中值为0的 是【D 1 A)x&y B)x=yC)x|y+z&y-z D)!(x=y&ch d)后n的值为【】B。A)1 B)2 C)3 D)42 3 .判断ch ar型变量c l是否为小写字母的正确表达式是 】D。A)a =cl =a)&(cl =cl)i|(,z,=,a )&(cl y&x!=y);B)if(x=y)x+=y;C)if(x!=y)sca
35、nf(%d,&x)else scanf(%d,&y);D)if(xy)x+;y+;)27.已知char ch=C;则以下表达式的值是 】。Dch=(ch=A&chy)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语句语法正确的是 】BA)if(x0)printf(,x)else printf(%f,-x);B)if(x0)x=x+y;printf(“f”,x);else printf(u%fM,-x);C)if(x0)x=x+y;print
36、f(断,x);else printf(%f,-x);D)if(x0)x=x+y;printf(“疵”,x)else printf(,-x);30.有如下程序main()(float x=2.0,y;if(x0.0)y=0.0;else if(x10.0)y=l.0/x;else y=l.0;printf(%fn,y);)该程序的输出结果是【】。CA)0.000000 B)0,25 0000 C)0.5 00000 D)1.00000031.若 int k=8;则执行下列程序后,变量k 的正确结果是 】Domain()i n t k=8;s wi t ch(k)cas e 9:k+=l;cas
37、e 1 0:k+=l;cas e 1 1:k+=l;break;def au l t:k+=l;)pri n t f(%dn ,k);)A)1 2 B)l l C)1 0 D)93 2 .对表达式f o r(表达式1;表达式3)可 理 解 为 】BA)f o r(表达式1;0;表达式3)B)f o r(表达式1;1;表达式3)C)f o r(表达式1;表达式1;表达式3)D)f o r(表达式1;表达式3;表达式3)3 3 .下面有关f o r循环的正确描述是 】D oA)f o r循环只能用于循环次数已经确定的情况B)f o r循环是先执行循环体语句,后判断表达式C)在f o r循环中,不能
38、用break语句跳出循环体D)f o r循环的循环体语句中,可以包含多条语句,但必须用花括号括起来3 4.设有程序段i n t k=1 0;w h i l e(k=0)k=k-l;则下面描述中正确的是【A)w h i l e循环执行1 0次C)循环体语句一次也不执行3 5 .设有以下程序段i n t x=0,s=0;w h i l e(!x!=0)s+=+x;p r i n tf(%d ,s);则【】BoA)运行程序段后输出0B)循环是无限循环D)循环体语句执行一次B)运行程序段后输出10程序段中的控制表达式是非法的D)程序段执行无限次3 6.语 句w h i l e(!E);中的表达式!E等
39、 价 于 】A。A)E=0 B)E!=1 C)E!=0 D)E=13 7.下面程序段的运行结果是【】A oa=l;b=2;c=2;w h i l e(ab c)t=a;a=b;b=t;c;p r i n tf(%d,%d,%d”,a,b,c);A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,13 8.下面程序段的运行结果是【】D。x=y=0;w h i l e(x1 5)y+,x+=+y;p r i n tf(%d,%d”,y,x);A)2 0,7 B)6,1 2 C)2 0,8 D)8,2 03 9.已知i n t t=0;w h i l e(t=l)(.)则以下叙述正确的是【A
40、)循环控制表达式的值为0C)循环控制表达式不合法4 0.下面程序段的运行结果是【o BB)循环控制表达式的值为1D)以上说法都不对C oi n t n=0;w h i l e(n+=2);p r i n tf(a%dn,n);A)2 B)3 C)4 D)有语法错41 .设有程序段t=0;w h i l e(p r i n tf(a*n)t+;i f(t3)b r eak;)则下面描述正确的是 】D A)其中循环控制表达式与0等价 B)其中循环控制表达式与0 等价C)其中循环控制表达式是不合法的 D)以上一说法都不对4 2 .C 语言中w h i l e和 do-w h i l e循环的主要区别
41、是 】A。A)do-w h i l e的循环体至少无条件执行一次B)w h i l e的循环控制条件比do-w h i l e的循环控制条件严格C)do-w h i l e允许从外部转到循环体内D)do-w h i l e的循环体不能是复合语句43 .以下描述中正确的是 】CA)由于do-w h i l e循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B)do-w h i l e循环山do 开始,用w h i l e结束,在 w h i l e(表达式)后面不能写分号C)在 do-w h i l e循环体中,一定要有能使w h i l e后面表达式的值变为零(“假”)的操作
42、D)do-w h i l e循环中,根据情况可以省略w h i l e4 4 .若 i 为整型变量,则以下循环执行次数是 】B。fo r(i=2;i=0;)p r i n tf(“d”,i-);A)无限次 B)0 次 C)1 次 D)2 次45 .以下fo r 循环的执行次数是 】Cofo r(x=0,y=0;(y=1 2 3)&(x+y;x=i+)i=x;B)fo r(;x+=i);C)w h i l e(l)x+;D)fo r(i=1 0;i 一)s um+=i;47.下面程序段的运行结果是【】Cfo r(y=l;y 1 0;)y=(x=3*y,x+1),x-1);p r i n tf(x
43、=%d,y=%d”,x,y);A)x=2 7,y=2 7 B)x=1 2,y=1 3 C)x=1 5,y=1 4 D)x=y=2 74 8.下面程序段的运行结果是 】Dofo r(x=3;x1 0 0)b r eak;)B)fo r(;);C)i n t k=0;do +k;w h i l e(k=0);D)i n t s=3 6;w h i l e(s)-s;5 0 .执行语句fo r(i=l;i+4;);后变量i的值是1 CoA)3 B)4 05 D)不定5 1 .以下正确的描述是【】。BA)co n ti n ue语句的作用是结束整个循环的执行B)只能在循环体内和s w i tch语句体
44、内使用b r eak语句C)在循环体内使用b r eak语句或co n ti n ue语句的作用相同D)从多层循环嵌套中退出时,只能使用go to语句5 2 .下面程序段【】D ofo r(t=l;t=1 0 0;t+)(s can f(,&x);i f(x0)co n ti n ue;p r i n tf(%3 d ,t);)A)当x=0时什么也不输出0 p r i n tf函数永远也不执行 D)最多允许输出1 0 0个非负整数5 3 .下面程序段【】Cox=3;doy=x;i f(!y)p r i n tf(x );co n ti n ue;p r i n tf(#”);w h i l e
45、(l=xb)?a:b;。i f(ab)m ax=a;el s e m ax=b;4.以下程序输出的结果是 0 】。m ai n ()i n t a=5,b=4,c=3,d;d=(ab c);p r i n tf(%dn,d);)5 .若从键盘输入5 8,则以下程序输出的结果是【5 85 85 8 。m ai n()i n t a;sc a nf&a);i f(a5 0)p r i n tf(级d”,a);if(a 4 0)print f a);i f(a3 0)p r i n tf(z z%dz z,a);)6.阅读下面语句,则程序的执行结果是【1,0 1 otti n cl ude s td
46、i o.h m ai n()i n t a=-l,b=l,k;i f(+a0)&!(b ,i,i,i,i);)8.以下程序的输出结果为*3.1 40 0 0 0,3.1 42*。m ai n()Ip r i n tf(“*%f,%4.3 f*n”,3.1 4,3.1 41 5);)9.以下程序的输出结果为 c:dec=1 2 0,o ct=1 70,h ex=78,A SCI I=x m ai n()ch ar c=x;p r i n tf(c:dec=%d,o ct=%o,h ex=%x,A S C H=%cn”,c,c,c,c);1 0 .以下程序的输出结果为【】。x=l y=2 *s u
47、m*=31 0 Sq uar ed i s:1 0 0m ai n()(i n t x=l,y=2;p r i n tf(i(x=%d y=%d*s um*=%dn ,x,y,x+y);p r i n tf(u1 0 Sq uar ed i s:%dn ,1 0*1 0);)1 1 .以下程序段的输出结果为【】。i n t x=72 81;p r i n tf(u(l)p r i n tf(u(2)p r i n tf(3)x=%3 d,x=%6d,x=%6o,x=%6x,x二%6un ,x,x,x,x,x);x=%-3 d,x=%-6d,x=$%-0 6d,x=$%0 6d,x=%0 6dn
48、w,x,x,x,x,x);x=%+3 d,x=%+6d,x=%+0 8dn ,x,x,x);p r i n tf(u(4)x=%o,x=%#o n”,x,x);p r i n tf(x=%x,x二 翻x n ,x,x);12345%b c的值是【0】。18 .当a=5,b=4,c=2时,表达式a b!=c的值是【1】。19.在C语言中,表示逻辑“真 值 用【1】。20.设i,j,k均 为i n t型变量,则执行完下面的f o r语句后,k的值为【10】。f o r(i=0,j=10;i =j;i+,j-)k=i+j;21.卜列程序的功能是输入一个整数,判断是否是素数,若为素数输出1,否则输出0
49、,请填空。mai n()i n t i,x,y=l;scan f(d ,&x);f o r(i=2;i =x/2;i+)i f (x%i=O)y=O;b re ak;p ri n tf(%d n ,y);)22.阅读下面程序,则执行后程序的结果为15,16 i n clud e std i o.h mai n ()i n t a=0,b=0;wh i le(a 15)a+;wh i le(b+0&(x 0|y 0|z B&OA|A B&!O B 的值是【0】。27 .若 6,14=2,则表达式!6-13)+5 1&处+”2 的值是【1】。28 .若 a=6,b=4,c=3,则表达式a&b+c|
50、b-c的值是【1】。29.若 a=5,b=2,c=l,则表达式 a b c|b=c 的值是0。30.条 件 2 x 3或 x -10”的 C语言表达式是 2 x&x 3|x c)后;n 的值是【0】,m 的值 是【1】。32.执行下面程序段后,k 值是 36 ok=l;n=26 3;d o k*=n%10;n/=10;wh i le(n);33.下面程序段中循环体的执行次数是【3】。a=10;b=0;d o b+=2;a-=2+b;wh i le(a=0);34.下面程序段的运行结果是*ox=2;d o p ri n tf(“*”);x ;wh i le(!x=0);35 .下面程序段的运行结