c语言题集(二)答案.doc

上传人:F****n 文档编号:98063360 上传时间:2019-09-08 格式:DOC 页数:8 大小:82.50KB
返回 下载 相关 举报
c语言题集(二)答案.doc_第1页
第1页 / 共8页
c语言题集(二)答案.doc_第2页
第2页 / 共8页
c语言题集(二)答案.doc_第3页
第3页 / 共8页
c语言题集(二)答案.doc_第4页
第4页 / 共8页
c语言题集(二)答案.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《c语言题集(二)答案.doc》由会员分享,可在线阅读,更多相关《c语言题集(二)答案.doc(8页珍藏版)》请在金锄头文库上搜索。

1、第3章 顺序结构1. B解析: 在C语言中,当一次输入多个数据的时候,数据之间要用间隔符,合法的间隔符可以是空格、制表符和回车符。逗号不是合法的间隔符。2. B解析: 本题中a的值为6,b的值为8,最后s的值为8,s*=s等价于ss*s。3. C解析: printf函数的浮点数缺省输出格式:在printf函数的输出中,若无输出宽度限制,每种数据都有一个缺省的输出宽度,一般浮点数的小数位数则是6位,不管输出格式是%f或%lf皆如此。printf函数的浮点数宽度限制输出:以%mf或%mlf格式输出浮点时,如果指定的宽度大于实际数据宽度,按指定宽度输出,且多余数补以空格;如果指定的宽度小于实际数据宽

2、度,浮点数的整数部分将以实际数据(位数)输出。小数部分按指定数输出,且对数据做四舍五入处理。printf的整数限宽输出:没有宽度制的整数原数输出。在宽度限制于数的实际位数时,宽度说明无效,按数的实际位数输出。4. D解析: 在C语言所有的运算符中,逗号运算符的优先级最低。C语中区分大小,所以APH和aph是两个不同的变量。赋值表达式a=b表示将b的值付给a,而b本身的值保持不变;通过键盘可以向计算机输入允许的任何类型的数据。选项D)中当从键盘输入数据时,对于整型变量可以输入整型数值和字符,对于实型变量可以输入实型数和整型数值等。5. C解析: 本题中,程序先执行语句 x=1.2;,根据赋值运算

3、的类型转换规则,先将double型的常量1.2转换为int型,即取整为1,然后将1赋值给变量x。接下来执行语句y=(x+3.8)/5.0;根据运算符的优先级,先计算小括号内,再计算除法,最后执行赋值运算。小括号内的运算过程:先将整型变量x的值1转换为double型1.0,然后与3.8进行加法运算,得到中间结果4.8。接着进行除法运算4.8/5.0,其结果小于1.0,这里没有必要计算出精确值,因为接着进行赋值运算,赋值号左边的变量y的类型为整型,于是对这个小于1.0的中间结果进行取整,结果为0,于是变量y的值为0,d*y的值也为0。6. C解析: 在C语言中,对于不同类型的数据用不同的格式字符,

4、其中,“%d”是按整型数据的实际长度输出,“%md”中,m为指定的输出字段的宽度,如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。7. D解析: 整型变量的输出形式有:%d,%o,%x,%u等,%x是以十六进制无符号形式输出整数。十六进制数同样也可以想%md一样按%mlx输出指定宽度的长整型数。8. A解析: 该题考查的是C语言中自减运算符和逗号表达式的应用。自减运算符位于变量之前时,先使变量的值减1,再进行赋值运算。逗号表达式的一般形式为:表达式1,表达式2,其求解过程是:先求解表达式1,再求解表达式2,整个逗号表达式的值是表达式2的值。9. B解析: 本题中,“%d %d

5、 %d”表示按整型数形式输入数据,输入数据时,在两个数据之间以一个或多个空格间隔,也可以用回车键或Tab键。选项B)中不应该使用逗号。10. B解析: scanf函数的一般格式是:scanf(格式控制,地址表列)该格式中,地址表列中应是变量地址,而不是变量名。11. D解析: 在C语言中,自增1运算符记为“+”,其功能是使变量的值自增1。自减1运算符记为“-”,其功能是使变量值自减1。自增1,自减1运算符均为单目运算,都具有右结合性。可有以下几种形式:+i i 自增1后再参与其他运算。-i i 自减1后再参与其他运算。i+ i 参与运算后,i的值再自增1。i- i 参与运算后,i的值再自减1。

6、在理解和使用上容易出错的是i+和i-。 特别是当它们出在较复杂的表达式或语句中时,常常难于弄清,因此应仔细解析。12. B解析: 对于逗号表达式中的第一个表达式等价为a=15;第二个表达式的值为154=60,此时变量a的值仍未改变还是15,第三个表达式的值为b的值。13. A解析: 此题考查有关标准设备的知识。在多数C语言版本中,stdio.h文件至少定义了四种标准设备文件,可以直接引用不必含有打开操作,包括:标准输入文件指针 stdin缺省为键盘;标准输出文件指针 stdout缺省为显示器;标准错误输出文件指针 stderr缺省为显示器;标准打印输出文件指针 stdprn指打印机;此外,还可

7、能包括如辅助设备等标准文件指针,且多数文件指针可以被重新定向到其他设备。14. C解析: 在使用scanf函数时,我们必须要注意以下问题:在用scanf函数给普通变量输入数据时,在变量名前没有写地址运算符&。如scanf(dd, x, y);是错误的。正确的应为scanf(dd, &x, &y);。2)在scanf函数调用语句中,企图规定输入实型数据的小数位。如执行以下语句:scanf(6.2f, &a);C语言规定是不允许指定输入数据的宽度的。3)是错误不允许输入数字宽度。用scanf函数输入数据时,必须注意要与scanf语句中的对应形式匹配。如:scanf(d,d,&x, &y);若按以下

8、形式输入数据:2 4是不合法。数据2和4之间应当有逗号。本题选项A)中后面省略了符号&,其他选项也有省略逗号的错误,只要明白了以上解析,可以说,scanf函数的重要用法已经在我们掌握之中了。15. A解析: 本题中,x原指定为float型,进行强制类型运算后得到一个int型的中间变量,它的值等于x的整数部分,而x的类型不变,仍为float型16. B【命题目的】考查格式化输出函数的掌握情况。【解题要点】表达式n=(k%m,k/m)实际上是将k/m的结果赋值给了n。【错解分析】逗号表达式中最后一个表达式的值是该逗号表达式的值,所以输出结果为k/m。17. C【命题目的】考查格式化输入函数的掌握情

9、况。【解题要点】若在scanf的格式控制串中插入了其他字符,则在输入时要求按一一对应的位置原样输入这些字符。【错解分析】由于scanf的格式控制串中插入了a、逗号和b=等字符,所以输入时候应该一一对应地在对应位置上输入这些字符。【考点链接】格式化输出也是在对应的位置上输出对应的插入的其他字符。填空题:1. 解析: 在%与格式符之间插入一个整形数来指这输出宽度,并不影响数据的完整性,当插入的宽度小于实际的宽度时,则实际的宽度输出。2. 16解析: 赋值表达式的值就是所赋值变量的值,本题中a+=8相当于a=a+8,对表达式逐步进行求解:a+=(a=8)此时,a的值由于赋值为8,而不是0a+=8a=

10、a+8a=16第4章 选择结构选择题:1. A解析: 该题目的关键是要搞清楚该程序执行了哪几条语句。由于x的值等于1,所以switch结构中,程序从case 1后面的语句开始执行,又因为case 1后面的语句没有以break结束,所以程序要继续往下执行case 2后面的语句。所以,该程序共执行了这三条语句:a+;a+;b+;因此,变量a和b最后的值应该为2和1。2. C解析: 该题目的关键是要搞清楚“&”和“|”两个逻辑运算符的运算功能。运算符“&”和“|”是双目运算符,要求有两个运算量。且规定逻辑与运算中,只有前面运算量的值为真时,才需要判别后面的值。只要前面为假,就不必判别后面的值。而逻辑

11、或则为只要前为真,就不必判别后面的值;只有前为假,才判别后。本题中j+值为真,不进行k+的运算,所以k的值保持不变。3. C解析: 该题目测验考生对if.else if结构的理解,比较简单。x的值满足x12的结果为假,所以执行的语句是x-12,最终y的值应该是0。6. A解析: 在C程序中,判断逻辑值时,用非0表示真,用0表示假。逻辑表达式计算时,逻辑表达式值为真是用1表示的,若逻辑表达式的值为假,则用0表示。7. C解析: 此题综合考查多种运算符的使用;首先计算表达式a=25 &b-=2 &c的值,很容易看出b-=2的值为假,因此表达式为假;根据三目运算的特点,由于前面的表达式为假,应执行p

12、rintf(“#a=%d,b=%d,c=%dn”,a,b,c),应注意a的值依然为25,b的值经过b-运算后改变为13,而c的值仍为19。8. D解析: 本题考查if语句中的一种表达方式,即:ifelse if。该表达式的语句是:if(表达式1)语句1else if(表达式2)语句2else if(表达式3)语句3else语句4本题执行else y=1.0,并且以“%f”输出。9. D解析: 选项D)为两条语句。10. D解析: 本题考查C语言的逻辑表达式及逻辑或(“|”)运算符的用法。“|”表示或的意思,“|”是按位或的意思,“&”是并且的意思,C语言中没有“or”。11. C解析: if语

13、句嵌套使用时,应当注意if 与else的配对关系,else总是与它上面的最近的if配对。因此,本题中先判断(ab),表达式值为0,则不执行下面的if语句,直接跳到printf语句中(c的值不变)。12. D解析: 该题考查逻辑与“&”和逻辑或“|”以及逻辑非“!”符号的用法。选项A)即3&4为真,选项B)即3=4为真,选项C)是一个逻辑或与逻辑与的混合运算,只要执行了逻辑或左半部分,程序将直接停止执行逻辑或右半部分程序,因为x的值为真,此时选项C)变为1&-1为真。选项D)不用计算,括号内逻辑或右边的值为1,因而括号内的值为1,再进行逻辑非运算得0。13. B解析: 条件运算符要求有三个操作对

14、象,称三目(元)运算符,它是C语言中惟一的一个三目运算符。条件表达式的一般形式为:表达式1?表达式2:表达式3其求解顺序是:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。并且注意+、-的用法。14. A解析: 本题考查的是逻辑与“&”,逻辑或“|”,逻辑非“! ”,表达式的应用。逻辑与运算符“&”,当参与运算的两个量都为真时,结果才是真,否则为假;逻辑或运算符“|”,当参与运算的两个量有一个为真时,结果是真,否则为假;逻辑非运算符“! ”,当参与运算的量为真时,结果才是假,否则为真。15. B解析: 本题考查逻辑与运算的运算规则。其规则是:当运算符前后两个条件表达式都满足时,其最终结果才为真。当发现第一个表达式的值为假后,计算机将不再执行后面表达式的运算。本题中,由于前一个表达式的值为“假”,所以,后面的表达式不再进行运算,因而n的值保持不变,仍为2。16. C解析: 逻辑或表达式是先执行左边,再执行右边语句。如果左边等式为真,则不执行右边语句,本题中+x成立,不执行+y语句,所以,y的值不变。17. C解析: 本题考查简单的ifelse语句。先执行条件if(ab),显然不成立,则执行else

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号