教材98页基础题:一到四大题(湛江专升本培训中心)计算机基础与程序设计
一、选择题
1.【精析】】B C语句规定,else子句总是与它上面最近的未配对的if配对。
2.【精析】 B题中的‘"if(a赋值为1,然后执行“c=b;”语句将c赋值为1,else子句没有执行,所以a值不变,选项B正确。
技
技巧点拨
在if……else选择结构中,若条件表达式为真则执行if子句中的语句,否则执行else子句中的语句。
3.【精析】C 选项A中if语句的执行体是一条空语句,正确;选项B中if语句的执行体是由逗号表达式组成的一条语句,正确;选项C中"i=0,"不正确,应该是"i=0;",选项D中if语句的执行体是"i=j;",正确。
4.【精析】B^{\dagger}" i f(a > b)c = a ;”是一条if语句,因为a>b不成立,所以跳过语句"c=a;",直接执行赋值语句"a=b;"和"b=c;",因此a=20,b=30,c=30.
5.【精析】C选项B和选项D的if语句中都是复合语句,由于a>b条件不成立,所以复合语句不执行,a、b、c保持原值;选项A中,"c=a,a=b,b=c;"只有一个分号,是由逗号表达式构成的一条语句,又由于a>b条件不成立,所以该语句不执行,a、b、c保持原值;选项C中有3条语句,其中“if(a>b)c=a;”是一条if语句,由于a>b条件不成立,”c=a;”没有执行,但语句”a=b;b=c;”是执行的,a和b的值变为6和3,故选C.
6.【精析】B选项A中由于条件a为假,不会执行“i++;”语句;选项B中:a=b是一个赋值表达式,其值为赋值后变量a的值4,条件为真,执行“i++;”语句;选项C中由于条件为假,不会执行“i++;”语句;选项D中b-a等于4,!(b-a)为0,条件为假,不会执行“i++;”语句。
7.【精析】D由于if下面的两条语句未加花括号,这样“if(a==6)a=a+2;”是一条独立的语句,后面的else部分找不到对应的if部分,因此,有语法错误。
8.【精析】A ?:为条件运算符,在语句“xx的值,否则返回(x,y)的值;x=100,y=200,x
9.【精析】B表达式( 表示的意思是 ,如果从键盘输入的字符满足该条件(表示输入的是英文小写字母),则条件表达式( 的值为真,执行printf("%c\n",x-32)语句(小写字母的ASCII值比大写的ASCII值多32),将小写字母转换成大写字母后输出,否则执行printf("%c\n",x)语句,输出原字符。选项B正确。
二、判断题
1.【精析】×在if语句中可以包含一个或多个if语句,称为if语句的嵌套。
2.【精析】×if语句有两种形式,一种是不带else子句的;另一种是带else子句的,所以else子句不是if语句的必选项。
3.【精析】×else子句不能作为语句单独使用,它必须是if语句的一部分,与if配对使用,但if语句可单独使用。
4.【精析】×if…else语句是一种分支结构,当条件满足时,有“if语句”和“else语句”两条分支,可以根据条件执行其中一个。
特别注意 :
表达式的值在逻辑上只有真和假,故if和else在执行流程上是互斥的,执行且只能选择执行两者中的一个。
5.【精析】×switch选择结构中可以没有default语句,此时如果没有与switch表达式相匹配的case常量,则不执行任何语句,程序转到switch的下一条语句。
6.【精析】√ 复合语句在语法上是一条语句,但包含若干条语句,这些语句需要用{}括起来。
7.【精析】√ 在switch选择结构中,每一个case常量必须互不相同,否则就会出现互相矛盾的现象(对switch表达式的同一个值,有两种或多种执行方案)。
8.【答案】√
9.【精析】×执行if语句时,首先对括号内的表达式求解,若表达式的值为0,即为“假”,此时条件不成立,if语句不执行,若表达式的值为非0,即为“真”,条件成立,执行if语句。
10.【精析】×用switch语句编写的程序可以实现多分支选择结构,也可以使用if的嵌套来处理,但过多的if嵌套语句会造成程序冗长易出错,可读性降低。一般不建议使用if嵌套来实现多分支选择结构。
11.【答案】√
三、填空题
1.复合语句
2. switch
3. if 4.嵌套
四、简答题
1.【参考答案】C语言中用“1”表示“真”,用“0”表示“假”。系统在判断时,一般是当表达式的值非“0”时,即表示“真”;仅当表达式的值为“0”时,表示“假”。
2.【参考答案】if选择结构一般用于单分支选择结构,根据判断的结果决定执行哪种操作。switch语句一般用于实现多分支选择结构,可以根据表达式的值,使流程跳转到不同的语句。