这是C#题目,答案在最下方。
- //第一题
- int i=10;
- if(i=5){
- Console.WriteLine("equals");
- }else{
- Console.WriteLine("not equals");
- }
- //第二题
- bool b=false;
- if(b=true){
- Console.WriteLine("true");
- }else{
- Console.WriteLine("false");
- }
- //第三题
- bool b = true;
- if (b = false) {
- Console.WriteLine("1");
- } else if (b) {
- Console.WriteLine("2");
- } else if (b != false) {
- Console.WriteLine("3");
- } else if (!b == false) {
- Console.WriteLine("4");
- } else if (!b != false) {
- Console.WriteLine("5");
- } else {
- Console.WriteLine("6");
- }
第一题:编译出错!
讲解:在C#和Java中,if语句中必须是布尔值,而i=5是赋值语句,结果是int类型,导致编译出错。
第二题:true
讲解:b=true,是赋值语句,b的结果是bool值,所以编译不错,而且b为true后,执行if内容。
第三题:5
第一个if,b=false,赋值为false,不执行
第二个if,b,结果为false,不执行
第三个if,b!=false,判断b不是false,结果返回false,不执行
第四个if,!b==false,!b为true,结果返回false,不执行
第五个if,!b!=false,!运算符优先级高于!=,所以先做!b(true),true!=false,结果返回true,执行这个语句块,所以输出5。