基本运算

  • 算术运算符

    +
    -
    *
    /
    % //取余
    ++ //自增
    -- //自减
    
  • 关系运算符

    >
    <
    ==
    >=
    <=
    != //不等于
    
  • 逻辑运算符

    && //and
    || //or
    !  // !000 = 1
    
  • 条件运算符(三目运算符

    a ? b : c
    if (a)
    {
        b;
    }
    else
    {
        c;
    }
    
  • 逗号运算符

    ,
    (a , b , c , 1+1)
    

image-20240825004940936

在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


image-20240825005559906

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 由此可得 错


image-20240825010127698

answer B

假设 N = 3 , !N = 0 -> !N = 1 不是原来得值 -> X


image-20240825010315998

answer B

% 取余运算符两边都不能为浮点数


image-20240825010446926

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 ; /*输出错误*/ ;
    }
    

image-20240825011553212

answer B

int a = 1 -> true √

int a = 0 -> false √


image-20240825011708233

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 ; // 主要用在函数 返回值

image-20240825012452969

一 i = 1 ; tnt + 1 = 1

i + 2 = 3

二 i = 3 ; tnt + 3 = 4

i + 2 = 5 , i != 5 结束循环


image-20240825012723275

循环变量是n,n在循环外赋值了,在for中可以省略

因为是除以10的余数 直接排除 A,B

求平方和 要乘 得 D


image-20240825012912472

初始化 n = 5 , 因为n != 0所以第一次循环就S了 直接结束

answer A


image-20240825013047229

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得


image-20240825013515277

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

综合题

image-20240825014059258

因为if中的是判断语句 所以计算得S 排除 C D

据自己算得 B


image-20240825014319263

image-20240825014345734

没初始化

answer D


image-20240825014409203

i是局部变量 只能在for循环使用 循环外报错:未定义


image-20240825014556653

2
4
6
8
10
12
14
16
18

image-20240825020428010

answer B


image-20240825020545106

0 1 2 4 5 8 

不可以为3或7的倍数 综上得D


image-20240825020816921

因为在N = 1时会运行N-1 -> N = 0 ,因为0÷3的余数为0 所以会输出0


image-20240825021030428

据我算得 AB对