教材101页第四章第五题计算题《计算机基础与程序设计》-湛江专升本全科培训中心
计算机教材101页第四章第五题计算题《计算机基础与程序设计》
1.【精析】(1)0,6,7 (2)0,0,6
(1) if条件成立,执行“j=k++;”语句,先把k的值6赋给j,所以j的值为6,执行k++操作后,k的值变为7,i值无变化,输出结果为0,6,7。
(2)修改条件为“if(i>0&&j>=0)”,则if条件不成立,程序不执行任何操作,原样输出i,j,k的值。
2.【精析】(1)-3 (2)m!=0
(1)执行第一条if语句时,因为!n为真,所以x被赋值为-1;m=0,第二条if语句条件为假,不执行;第三条if语句的条件为真,x被赋值为-3后输出。
(2)当m!=0时,第二条if语句条件为真,程序执行“x=x+1;”语句。
3.【精析】(1)6 (2)7
对于条件表达式(x--<7),先使用x的值7进行判断,7<7不成立,所以执行else部分的语句,再执行x--操作,x的值变为6;执行“printf(”%d\n”,x++)”语句时,先使用x的值6进行输出,再进行自增(x变为7)。
4.【精析】(1)m=7 (2)6
先使用m的值6进行判断,if条件为假,执行m++操作后,m=7;执行else子句,m--表达式先取m的值7输出后再使m自减1,即输出结果为m=7,此时m的值为6。
5.【精析】(1)0 (2)1
(1)在if···else语句中,else总是和最近的且未配对的if配对,由于(!x)不成立,接着判断(x==0),又不成立,所以对y未进行任何操作,其值仍为初始值0。
(2)当x=0时,(!x)为真,条件成立,执行“y++;”语句,输出y的值为1。
6.【精析】(1)跳出循环 (2)12
表达式k+1的值为11(但k的值仍为10),满足case 11分支,执行“++k;”语句,因其后无break语句,继续执行case 12分支中的“++k;”语句,执行完成后k的值为12,此时遇到 break语句结束分支语句,输出k的值。
7.【精析】(1)end (2)3end
(1)该程序中,需要注意if···else语句的实际配对关系,a>b条件不成立,执行“printf("end\n");”语句。所以,该程序的最后输出为end。
(2)a>b条件成立,a>c条件成立,执行“printf("%d",a);”语句,输出a的值。然后执行“printf("end\n");”语句,输出end。