C语言2021-10-24
习题内容:
答案:ABD
A.或 (一个为1则为1)
B.异或 (不同为1,相同为0)
C.与 逻辑运算符(两边条件为真则真,是对条件操作,不是对位操作)
D.左位移
E.逻辑非
F.运算取余
答案:B
考查三目运算符。
题意为:如果M为真则返回’Y’,如果假则返回’N’。
注意:非0均为真,而不是只有等于1的时候为真,A为易错选项。
答案:AD
A.小数不允许向左位移
B.合法运算
C.允许这样计算 但是不常用
D.浮点值不可以进行位操作
答案:BC
A.do while循环语句的循环体至少执行一次
B.几种循环语句可以相互转换
C.continue可以出现在各种循环体内
D.可以出现在循环体中,作用是跳出循环
答案:B
考查前置++,和后置++的区别;还有三目运算符的计算。
i=0 ,a=0(先用i的值,再给i++)得到i=1;
b=++a (用的是a++后的结果) a=1赋值给b ,b=1;
c=a+b=2;
表达式的意思为:如果a为真则输出b否则输出c 由上述计算可知a为真故输出b=1;
答案:A
x^6 +4x^4 + 2x^3+x+1 = x^3( x^3+x+x+x+x)+x+1
x^ 3相当于2次乘法 括号内相当于是个1次乘法
总共3次乘法。
答案:D
本题细看实则与给出的21无关
1的二进制为0000 0001 向左位移五位:0010 0000 十进制为32
32-1=31。
答案:B
在编程中不允许连续去比较 所以本题中只能进行判断比较 先比较一部分 再比较后面那一部分
a=5>b=4 所以为真 进行下一次比较的前一值为1
c=3 1<3不满足所以进行到else if 中
c-1=2>=d(d=2)进行输出d+1=3。
答案:C
break关键词可以使用在循环中 不可以使用在if语句
答案:B
此题注意是判断赋值语句能否赋值成功,而不是i的值等于1
所以可以循环执行无线次。
答案:C
do-while的循环体至少无条件循环一次是本质区别。
答案:BC
switch()中不允许的类型浮点型和字符串;允许整型数据
而布尔类型属于mini整型所以是允许的。答案:C
考查进制的转换
答案:B
&& (且) 两边都为真
|| (或) 有一个为真则为真 后面不用执行
a=0,++a=1>0 为真
b=0,++b=1>0 为真,后面不用执行 c=0;
所以a++=2,b++=2,c++=1
答案:C
18^1+5=13 135=65
1*8^2+1=65
所以为八进制 答案:A
取巧计算即可 计算最后一位 和第一位
答案:
a=1 < b=2为真返回 a=1
答案:D
代码中没有break 就一直执行switch赋值到最后 赋值为0 退出即可
答案:D
a=1,b=2,c=3
M(1+2,2+3,3+1)
执行定义:1+2*2+3+3+1=12。
答案:A
arr[3]=4,arr[7]=0
所以arr[3]*arr[7]=0