GESP一级(二)
基本运算
算术运算符
+ - * / % //取余 ++ //自增 -- //自减
关系运算符
> < == >= <= != //不等于
逻辑运算符
&& //and || //or ! // !000 = 1
条件运算符(三目运算符
a ? b : c if (a) { b; } else { c; }
逗号运算符
, (a , b , c , 1+1)
题
在c++中 任意一个!=0的数都表示true 为0就是false
B (a == b) = 1 ; ∵1 != 0 ∴(a == b == c) = false
C 假设 a = 0 , b = 0 --> !a = true ; !b = true ; true && true = true
D a == 0 -> true = 1 ; b == 0 -> true = 1 ; 1 + 1 = 2
A (a == b) = 1 ; ∵1 != 0 ∴(a == b == c) = false
√B 假如a = 0 , b = 0 -> (false || false) -> !0 = 1 -> 1 -> true ;;;
假设 a或b其中一个为0或都为0 -> (a || b) = 1 -> !1 = 0 -> false
C 假设a = -1 , b = 1 , a + b = 0 , a != b 由此可得 错
D (a == 0) = 1 , (b == 0) = 1 , 1 + 1 = 2 -->true
(a != 0) = 0 , (b == 0) = 1 , 0 + 1 = 1 -->true 由此可得 错
answer B
假设 N = 3 , !N = 0 -> !N = 1 不是原来得值 -> X
answer B
% 取余运算符两边都不能为浮点数
answer B
'1' + '1' != '2' -> flag = 2;
flag的值为2
flag == 2的值为1
选择结构
if
if(bool)//如果 { //那么 }
if-else
int a; cin >> a; if(a == 1)//如果 { //输出周一 } //选择性添加 else if(a == 2) { //输出周二 } //……周三周四!@#)@!%¥ else //否则 { //不存在 }
switch
int n ; cin >> n; switch(n) { case 1 ; /*输出周一*/ ; break; case 2 ; /*输出周二*/ ; case 3 ; /*输出周三*/ ; case 4 ; /*输出周四*/ ; break; ……………… case 7 ; /*输出周日*/ ; break; default ; /*输出错误*/ ; }
题
answer B
int a = 1 -> true √
int a = 0 -> false √
N % 3 = 1 -> true 排除B D
print("xxx%nd" , xxxx) //n表示字符数
循环结构
循环结构
for
for(控制变量 初始化表达式 ; 条件~~~ ; 增量)
while
while(同条件表达式)//成立执行
do-while
do { cout << 1 << endl; } while()
循环控制语句
break;//结束当前循环
continue;//跳过本次循环
return ; // 主要用在函数 返回值
题
一 i = 1 ; tnt + 1 = 1
i + 2 = 3
二 i = 3 ; tnt + 3 = 4
i + 2 = 5 , i != 5 结束循环
循环变量是n,n在循环外赋值了,在for中可以省略
因为是除以10的余数 直接排除 A,B
求平方和 要乘 得 D
初始化 n = 5 , 因为n != 0所以第一次循环就S了 直接结束
answer A
A 在N = 2时 i = 1, i< 2成立 cnt++ , cnt = 1 所以 cnt != 0;
B 在N = 3时 :
i = 1 , i < 3 , cnt + 1 = 1
i = 2 , i < 3 , cnt + 1 = 2
i = 3 , i不小于3 ,over
32
C,D 由B得
Sum += i++:
先执行Sum += i 再自增(执行 i++
i = 0 , i < 10 , Sum + 0 = 0;
i = 1 ,..., Sum + 1 = 1;
i = 2,..., Sum + 2 = 3;
i = 3,..., Sum + 3 = 6;
i = 4 ,..., Sum + 4 = 10;
i = 5,..., Sum + 5 = 15;
i = 6,..., Sum + 6 = 21;
i = 7 ,..., Sum + 7 = 28;
i = 8,..., Sum + 8 = 36;
i = 9,..., Sum + 9 = 45;
i = 10
answer C
综合题
因为if中的是判断语句 所以计算得S 排除 C D
据自己算得 B
没初始化
answer D
i是局部变量 只能在for循环使用 循环外报错:未定义
2
4
6
8
10
12
14
16
18
answer B
0 1 2 4 5 8
不可以为3或7的倍数 综上得D
因为在N = 1时会运行N-1 -> N = 0 ,因为0÷3的余数为0 所以会输出0
据我算得 AB对