初识C语言(三)
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来表示。其求值规则如下:
- 与运算(&&)
参与运算的两个变量都为真时,结果才为真,否则为假。例如:5>=5 && 7>5 ,运算结果为真;
- 或运算(||)
参与运算的两个变量只要有一个为真,结果就为真。 两个量都为假时,结果为假。例如:5>=5||5>8,运算结果为真;
- 非运算(!)
参与运算的变量为真时,结果为假;参与运算量为假时,结果为真。例如:!(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语言(三)的更多相关文章
- 初识 go 语言:数据类型
目录 数据类型 指针 结构体 数组 切片 切片的方法 映射 函数闭包 结束语 前言: go语言的第三篇文章,主要讲述go语言中的数据类型,包括指针,结构体,数组,切片,映射,函数闭包等,每个都提供了示 ...
- 初识 go 语言
目录 go简介 安装 hello world 函数 变量 常量 可见性规则 结束 前言: 最近组内要试水区块链,初步方案定为使用fabirc来弄,而fabric的智能合约就是用go写的,借此机会正好学 ...
- 《Go并发编程实战》读书笔记-初识Go语言
<Go并发编程实战>读书笔记-初识Go语言 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在讲解怎样用Go语言之前,我们先介绍Go语言的特性,基础概念和标准命令. 一. ...
- 01_初识C语言
第一章 - 初识C语言 基本了解C语言的基础知识,对C语言有一个大概的认识. 每个知识点就是简单认识,不做详细讲解. 1. 什么是C语言? C语言是一门通用计算机编程语言,广泛应用于底层开发.C语言的 ...
- 初识 go 语言:方法,接口及并发
目录 方法,接口及并发 方法 接口 并发 信道 结束语 前言: go语言的第四篇文章,主要讲述go语言中的方法,包括指针,结构体,数组,切片,映射,函数闭包等,每个都提供了示例,可直接运行. 方法,接 ...
- 初识 go 语言:语法
目录 语法 for 循环 if 语句 switch 语句 defer 语句 defer 栈 结束 前言: go语言系列第二篇,主要讲述go语言的语法,如循环,if判断,swich语句,defer语句, ...
- 第二百五十八节,Tornado框架-逻辑处理get()方法和post()方法,初识模板语言
Tornado框架-逻辑处理get()方法和post()方法,初识模板语言 Tornado框架,逻辑处理里的get()方法,和post()方法 get()方法,处理get方式的请求post()方法,处 ...
- C语言 三目运算
C语言 三目运算 功能:为真后可根据条件选择成立两个不同的表达式 如果表达式1值为真选择表达式2 如果表达式1值为假选择表达式3 案例 #define _CRT_SECURE_NO_WARNINGS ...
- tn文本分析语言(三):高级语法
标签(空格分隔): 未分类 高级操作 1.脚本表达式 用双引号包含的脚本被称为脚本表达式,目前支持嵌入Python. 脚本表达式只能在顺序表达式中使用.代码可以在三个位置存在: |位置|功能|例子| ...
随机推荐
- Vue.js 2.x笔记:表单绑定(3)
1. 基础用法 v-model 指令:在表单 input 和 textarea 元素上创建双向数据绑定. 1.1 单行文本(Text) <div id="app"> & ...
- PLC 数据类型
类型 长度(位) 取值范围 描述 BOOL 1 0/1 布尔型 BYTE 8 0x00~0xFF 十六进制数 WORD 16 0~65535 无符号整数 DWORD 32 0~4294967295 无 ...
- [2019.03.25]Linux中的查找
TMUX天下第一 全世界所有用CLI Linux的人都应该用TMUX,我爱它! ======================== 以下是正文 ======================== Linu ...
- Docker 命令查询
Docker — 从入门到实践 Docker 命令查询 基本语法 Docker 命令有两大类,客户端命令和服务端命令.前者是主要的操作接口,后者用来启动 Docker Daemon. 客户端命令:基本 ...
- torch.view()详解及-1参数是什么意思
经常可以看到调用torch.view(-1,28*28)之类的调用,那么这里的-1是什么意思呢,经过查看文档view()得到了一下结果: view()返回的数据和传入的tensor一样,只是形状不同 ...
- [BJOI2019]勘破神机(斯特林数,数论)
[BJOI2019]勘破神机(斯特林数,数论) 题面 洛谷 题解 先考虑\(m=2\)的情况. 显然方案数就是\(f_i=f_{i-1}+f_{i-2}\),即斐波那契数,虽然这里求出来是斐波那契的第 ...
- CENTOS手动安装修复python ,YUM
CENTOS手动安装修复YUM
CENTOS手动安装修复YUM 2019年3月8日 杨宇 Comments 0 Comment 目录 [hide] 一.问题场景 二.手动修复 2.1 下载 rpm 包 2.2 安装 rpm 包 ...
- (Python3 自定义函数实现数字金字塔 代码
def kzkz(ceng): for i in range(1,ceng+1): print(" "*(ceng-i),end='') n=i while(n>=1): p ...
- python学习07
函数中的模块及包管理1)1.模块查找的顺序:运行代码时当前目录 -> PYTHONPATH ->系统环境变量PATH设置的路径2.导入模块的书写规范:内置模块-------第三方模块--- ...
- Java(16)接口
一.接口:特殊的抽象类 1.1 语法 public interface 接口名 extends 接口1,接口2{ //1.常量 //2.抽象方法 } 1.2 特点 a.用interface修饰 b.接 ...