【C语言基础复习】05-运算符

1. 运算符分类

1. 算术运算符

先假设变量 A 的值为 10,变量 B 的值为 20

在这里注意后两个运算符  ++  和  --  在赋值运算时他们的位置会影响结果

下面以++为例

A++:

先使用变量A的当前值,然后将其值+1,在表达式中返回的是自增前的值。

int  A = 5 ;
int  B = A++ ;

printf("%d  %d",B,A) ;  // B的值为5,A的值为6

// 将A初始值赋给B后,A才自增

++A:

先将变量A加1,然后再赋值给新变量,在表达式中返回的是自增后的值。

int  A = 5 ;
int  C = A++ ;

printf("%d  %d",C,A) ;  // C的值为6,A的值为6

// A先自增后,再将值赋给C

2. 关系运算符


3. 逻辑运算符


4. 位运算符

先引入真值表:

其中,p ^ q 是指 异或  相异为1,相同为0

下面列举常见位运算符:

假设变量 A 的值为60,变量 B 的值为13

60  二进制  0011 1100

13  二进制  0000 1101

下面的操作是 每一位 单独运算后再合在一起得到的。


5. 赋值运算符(重要)

前 7 行较为常见,赋给自己的

一般先执行第一个符号,再执行第二个符号


6. 其他运算符

指针部分后续会出

此处补充 三目运算符:

格式:

条件表达式 ? 表达式1 : 表达式2 ;

若条件表达式为真,则表达式值为 表达式1 的值,反正为 2 的值。

举两个例子:最大值二选一、奇偶判断

// 最大值二选一
int  a = 10 , b = 20 ;
int  max = (a > b) ? a : b ;
// 如果a>b,则返回a的值


// 奇偶判断
int  num = 7 ;
printf("The number is %s.",(num % 2 = 0) ? "even" : "odd");
// 是偶数则余数为0,为even,反之为odd

2. 练习

小乐乐定闹钟(牛客BC24)

输入描述:输入现在的时刻以及要睡的时长k(单位:minute),中间用空格分开。

输入格式:hour:minute k(如hour或minute的值为1,输入为1,而不是01)

(0 ≤ hour ≤ 23,0 ≤ minute ≤ 59,1 ≤ k ≤ 10的9次方)

输出描述

对于每组输入,输出闹钟应该设定的时刻,输出格式为标准时刻表示法(即时和分都是由两位表示,位数不够用前导0补齐)。

输入:0:0 100

输出:01:40

#include <stdio.h>

int main() 
{

    int hour, minute, k ;
    scanf("%d:%d %d",&hour,&minute,&k);

    hour = (hour + (k + minute) / 60) % 24; // 24小时循环
    minute = (minute + k) % 60 ;

    printf("%02d:%02d",hour,minute);
    return 0;

}

本题注意:

1. 输入的格式以题目要求为准

2. 注意小时是24小时循环,且在计算小时hour时注意加上起始的minute

3. 输出时域宽为2,空位补0,使用 “ %02d


本文主要介绍各种运算符,注意赋值运算符的运用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值