C语言中的运算符

C语言中的运算就是对数据进行操作、处理的过程。运算符就是指定该运算的处理方式。

C语言中的运算符:

  • 算术运算符

  • 赋值运算符

  • 关系运算符

  • 逻辑运算符

  • 三目运算符

算数运算符

C语言中的算数运算符包括:

  • 在除法运算中

如果相除的两个数都是整数的话,则结果也为整数,小数部分省略,如8/3 = 2;而两数中有一个为小数,结果则为小数,如:9.0/2 = 4.500000。

  • 在取余运算中

该运算只适合用两个整数进行取余运算,如:10%3 = 1;而10.0%3则是错误的;运算后的符号取决于被模数的符号,如(-10)%3 = -1;而10%(-3) = 1。

注释:C语言中没有乘方这个运算符,也不能用×,÷等算术符号。取余运算和乘法运算和除法运算是同级运算。

#include <stdio.h>
int main()
{
int x,y;
x = 10;
y = -3;
printf("x+y=%d\n",x+y);
printf("x-y=%d\n",x-y);
printf("x*y=%d\n",x*y);
printf("x/y=%d\n",x/y);
printf("x%%y=%d\n",x%y);
return 0;
}
输出结果;
x+y=7
x-y=13
x*y=-30
x/y=-3
x%y=1

注释:%符号在C语言里面有特殊用途,和其它的符号组合表示特定的意义。比如%d表示整数,%c表示字符,而%%表示%本身。

自增和自减运算符

自增运算符为“++”,其功能是使变量的值自增1;自减运算符为“--”,其功能是使变量值自减1。它们经常使用在循环中。自增自减运算符有以下几种形式:



注释:无论是a++还是++a都等同于a=a+1,在表达式执行完毕后a的值都自增了1,无论是a--还是--a都等同于a=a-1,在表达式执行完毕后a的值都自减少1。

实例:

#include <stdio.h>
int main()
{
int a=100;
printf("%d\n", a++);
printf("%d\n", ++a);
printf("%d\n", --a);
printf("%d\n", a--);
printf("%d\n", a+1);
printf("%d\n",a);
}

输出结果:

#include <stdio.h>
int main()
{
int x = 0;
printf("x=%d\n",x++);
printf("x=%d\n",++x);
return 0;
}

输出结果:



注释:x++ 是取值后再运算,所以打印出来的结果是运算前的数值,++x是运算后再取值,所以打印出来的运算后的结果。

赋值运算符

赋值运算符为“=”

#include <stdio.h>
int main()
{
int a,b,c;
a = 10; //给a赋值为10
b = 7; //给b赋值为
c = a+b; //计算a+b的值赋值给c
}

C语言中赋值运算符分为简单赋值运算符和复合赋值运算符,简单赋值运算符为“=”,复合赋值运算符就是在简单赋值符“=”之前加上其它运算符构成,例如+=、-=、*=、/=、%=。

实例:

int a = 3;
a += 5;

分析:定义整型变量a并赋值为3,a += 5;这个算式就等价于a = a+5; 将变量a和5相加之后再赋值给a。

注意:复合运算符中运算符和等号之间是不存在空格的。

关系运算符

下面是C语言中的关系运算符:



关系表达式的值是“真”和“假”,在C程序用整数1和0表示。如:

int a = 10;
int b = 4;
printf("%d\n", a>b); //10>4,为真,输出结果为1
printf("%d\n", a==b); //10==4,为假,输出0// z是否小于等于x

输出结果:



注释:>=,<=,==,!=这种符号之间不能存在空格。

实例:

#include <stdio.h>
int main()
{
int x=5;
int y=5;
int z=10;
printf("x是否大于y:%d\n",x>y); //x是否大于y
printf("y是否大于等于x:%d\n",y>x); //y是否大于等于x
printf("y是否小于z:%d\n",y<z); //y是否小于z
printf("z是否小于等于x:%d\n",z<x); //z是否小于等于x
printf("z是否等于x+y:%d\n",z!=x+y); //z是否等于x+y
return 0;
} 输出结果:
x是否大于y:0
y是否大于等于x:0
y是否小于z:1
z是否小于等于x:0
z是否等于x+y:0

逻辑运算符

C语言中的逻辑运算符:



逻辑运算的值也是有两种分别为“真”和“假”,C语言中用整型的1和0来表示。其求值规则如下:

  1. 与运算(&&)

参与运算的两个变量都为真时,结果才为真,否则为假。例如:5>=5 && 7>5 ,运算结果为真;

  1. 或运算(||)

参与运算的两个变量只要有一个为真,结果就为真。 两个量都为假时,结果为假。例如:5>=5||5>8,运算结果为真;

  1. 非运算(!)

参与运算的变量为真时,结果为假;参与运算量为假时,结果为真。例如:!(5>8),运算结果为真。

实例:

#include <stdio.h>
int main()
{
int height = 175; //身高为175cm
double money = 1500000; //银行存款为150万
printf("是否符合条件:%d\n",height>=180&&money>=1000000); //填写算式
return 0;
} 输出结果:
是否符合条件:0

三目运算符

C语言中的三目运算符:“?:”,其格式为:

表达式1 ? 表达式2 : 表达式3;

执行过程是:

先判断表达式1的值是否为真,如果是真的话执行表达式2;如果是假的话执行表达式3。

实例:

#include <stdio.h>
int main()
{
//定义我们能接受该商品的心里价位
int money = 100;
//定义该商品的单价
int price = 120;
//输出y我们就买,输出n我们就不买
printf("%c\n", price<=money ? 'y' : 'n');
return 0;
}

输出结果:

运算符大比拼之优先级比较

运算符号的顺序:



优先级别为1的优先级最高,优先级别为10的优先级别最低。

实例:

int a = 11;
int b = (a>3)*a-(a+3)%3;
printf("b=%d\n", b);

解析:C语言中运算符中最高等级的为(),因此执行过程为:

1、先计算a>3和a+3的结果,计算后算式为1*a-14%3;

2、再计算1*a和14%3的结果,计算后算式为11-2;

3、最后算出结果为9。

初识C语言(三)的更多相关文章

  1. 初识 go 语言:数据类型

    目录 数据类型 指针 结构体 数组 切片 切片的方法 映射 函数闭包 结束语 前言: go语言的第三篇文章,主要讲述go语言中的数据类型,包括指针,结构体,数组,切片,映射,函数闭包等,每个都提供了示 ...

  2. 初识 go 语言

    目录 go简介 安装 hello world 函数 变量 常量 可见性规则 结束 前言: 最近组内要试水区块链,初步方案定为使用fabirc来弄,而fabric的智能合约就是用go写的,借此机会正好学 ...

  3. 《Go并发编程实战》读书笔记-初识Go语言

    <Go并发编程实战>读书笔记-初识Go语言 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在讲解怎样用Go语言之前,我们先介绍Go语言的特性,基础概念和标准命令. 一. ...

  4. 01_初识C语言

    第一章 - 初识C语言 基本了解C语言的基础知识,对C语言有一个大概的认识. 每个知识点就是简单认识,不做详细讲解. 1. 什么是C语言? C语言是一门通用计算机编程语言,广泛应用于底层开发.C语言的 ...

  5. 初识 go 语言:方法,接口及并发

    目录 方法,接口及并发 方法 接口 并发 信道 结束语 前言: go语言的第四篇文章,主要讲述go语言中的方法,包括指针,结构体,数组,切片,映射,函数闭包等,每个都提供了示例,可直接运行. 方法,接 ...

  6. 初识 go 语言:语法

    目录 语法 for 循环 if 语句 switch 语句 defer 语句 defer 栈 结束 前言: go语言系列第二篇,主要讲述go语言的语法,如循环,if判断,swich语句,defer语句, ...

  7. 第二百五十八节,Tornado框架-逻辑处理get()方法和post()方法,初识模板语言

    Tornado框架-逻辑处理get()方法和post()方法,初识模板语言 Tornado框架,逻辑处理里的get()方法,和post()方法 get()方法,处理get方式的请求post()方法,处 ...

  8. C语言 三目运算

    C语言 三目运算 功能:为真后可根据条件选择成立两个不同的表达式 如果表达式1值为真选择表达式2 如果表达式1值为假选择表达式3 案例 #define _CRT_SECURE_NO_WARNINGS ...

  9. tn文本分析语言(三):高级语法

    标签(空格分隔): 未分类 高级操作 1.脚本表达式 用双引号包含的脚本被称为脚本表达式,目前支持嵌入Python. 脚本表达式只能在顺序表达式中使用.代码可以在三个位置存在: |位置|功能|例子| ...

随机推荐

  1. MonkeyRunner API简介

    MonkeyRunner工具主要有三个类: MonkeyRunner MonkeyDevice MonkeyImage 官方API文档 :http://www.android-doc.com/tool ...

  2. CTFcracktools——非常实用的CTF解密工具

    做bugku的crypto题时偶然发现了这个,吐血推荐!! 十分全面好用 整合了常见的解码.进制转换等CTF常用的工具: 下载地址: https://github.com/0Linchen/CTFCr ...

  3. Centos 利用yum安装卸载软件常用命令[转载]

    一.使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的. 安装的命令是,yum install ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲 ...

  4. ICPC China Nanchang National Invitational -- D. Match Stick Game(dp)

    题目链接:https://nanti.jisuanke.com/t/38223 题意:有一堆火柴构成了一个加减法式子,你可以把火柴重新组合,要求数字个数和原来一样多,每个数字的位数和对应原数字位数一样 ...

  5. HFSS在进行仿真时端口与激励设置细则

    最近发现在使用HFSS仿真天线时候在设置端口激励求解的时候,由于端口激励面积的大小和放置方式的不通最终的求解结果也有很多不同 在进行CPW结构的天线仿真中分别尝试了waveport 和lumpedpo ...

  6. JS学习笔记Day21

    一.mySQL数据库 (一)数据库的概念 1.概念:可以存储数据的一个仓库 2.结构化数据:以表格的形式展现,结构更清晰,这样的数据称之为结构化数据 (二)数据库管理软件 1.一种对数据库文件进行管理 ...

  7. (转) qt: usb热插拔(linux);

    #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> ...

  8. Transformer【Attention is all you need】

    前言 Transfomer是一种encoder-decoder模型,在机器翻译领域主要就是通过encoder-decoder即seq2seq,将源语言(x1, x2 ... xn) 通过编码,再解码的 ...

  9. Python菜鸟快乐游戏编程_pygame(1)

    Python菜鸟快乐游戏编程_pygame(博主录制,2K分辨率,超高清) https://study.163.com/course/courseMain.htm?courseId=100618802 ...

  10. 用python3读CSV文件,出现UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 0: invalid con

    使用pd.read_csv()读csv文件时,出现如下错误: UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xd0 in position ...