计算机国二C选择错题笔记(一)
1 二进制按位异或与位移运算符
>>a为把一个二进制数向左位移a个单位 如二进制数 10向右位移一个单位变成1 <<为向左位移
2.else只和离他最近的if配对 多个if语句如果第一个if语句没有else是拦不住的 执行完后还会进入第二个if语句
这一页笔记的下方 3区分局部变量和全局变量 实参和形参 不用引用和指针是没法用函数形参与实参结合改实参的 局部变量生命周期只在所定义在函数内部
这题变得是形参n不是实际参数a 只是把实际参数a的值拷贝给形式参数n而已 a的值本身没有变相当于a的分身进去了函数 a本体一直没变始终都是1
这题数组也是同理看似在交换实际由于最后打印的是实际参数对应的数字C等于啥都没变 答案还是 123567890 4数组名就是指针指向首地址
c是单个字符 s是字符串注意打印格式 5 C语言求素数的函数(return具有立即结束函数下面所有语句的功能)
这一题很明显a选项是对的 如果检验到一个2到a/2的数可以把a整除 那么立刻排除a是素数的可能返回0结束循环验证过程 我们接下来讲一下为何C选项不对 C选项和A是十分相似的 我们代入a=9试一下 显然我们知道9不是素数 但是带入a=9 if判断条件9/2余数是不为0的由于没有return 所以进入else 满足else的条件 所以return1循环结束了 1代表是素数 但是9明显不是 实际上C这里else多余了 导致循环只能验证第一个i的值就会结束 7程序员内部的逻辑测试为白盒测试