【黑马程序员】C语言运算符

原创 2015年11月17日 16:11:17


------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


1.运算符的概念及分类

运算符就是告诉编译程序执行指定算数或逻辑操作的符号


2.分类

按照功能划分:算数运算符,关系运算符,逻辑运算符,按位运算符

运算符根据参与运算的操作数的个数分为: 

单目运算:只有一个操作数 如 : i++ ! sizeof 

双目运算:有两个操作数 如 : a+b 

三目预算:C语言中唯一的一个,也称为问号表达式 a>b ? 1 : 0 


3.求余运算符(%)

 

求余的规则

int m = 10,n = 3;

m%n   m除以n之后,取得余数部分

m = 0  可以的,0

n = 0   不可以,无意义

m>n正常取余

m<n结果m


求余的注意事项:

1.m和n都不能为小数

2.m<0结果为负数

2.n<0正负取决于m


4.赋值运算符


1.什么是表达式

将同类型的数据(如常量、变量、函数等)用运算符号按一定的规则连接起来的,有意义的式子称为表达式。

2.表达式分类

算术表达式  关系表达式逻辑表达式

3.表达式的特点

*表达式是一个有意义的式子,一定有返回值


5、自增 自减运算符

1.运算符介绍

在程序设计中,经常遇到“i=i+1”和“i=i-1”这两种极为常用的操作。C语言为这种操 作提供了两个更为简洁的运算符,即++和--,分别叫做自增运算符和自减运算符。,是从右 向左结合的算术运算符。 

2.自增自减运算符的求值过程

 1)前缀表达式:++x,—x;其中x表示变量名,先完成变量的自增自减1运算,再用x的值作为表达式的值

2)后缀表达式:x++,x—先用x的当前值作为表达式的值,再进行自增自减1运算。


*注意:1.不管是a++,还是++a,最终执行完了以后,a的值都会被+1

  2.自增自减只能用在单个变量,不能用于表达式或者常量


6.sizeof运算符

1.介绍

sizeof是c语言的一种单目操作符。sizeof操作符以字节形式给出了其操作数的存储大小。sizeof不是一个函数!(计算常量、变量、数据类型 在内存中占用的字节数)


2.用法:sizeof(常量/变量)


*注意:sizeof用在常量和变量的时候,是可以省略括号的  sizeof 2.3   sizeof d1

  用在数据类型的时候不能省略括号  sizeof(int)


7、逗号运算符

1.基本概念

在C语言中逗号’,’也是一种运算符,称为逗号运算符。其功能是把两个表达式连接起来组成一个表达式,称为逗号表达式。


a = (a+b,c+2)

其一般形式为:

表达式1,表达式2...


2.求值过程

分别求每个表达式的值,并且以表达式n作为表达式的值


*注意:1.逗号  运算符可以嵌套使用:(a++,(a+3,b+5,z=a+b))

  2.简化了代码:    a++,b++   写在一行就可以

  3.并不是所有出现逗号的地方都能组成逗号表达式,比如定义多个变量的时候


8、关系运算符(左结合)


1.C语言中的真假性

在C语言中所有的数值都有真假性,非零即真,只有0为假,关系运算符返回值只有两个,要么是真要么是假


2.关系运算符

比较两个量的运算符称为关系运算符。


3.关系表达式:用关系运算符连接的式子


9、逻辑运算符

1.逻辑运算符的概念

&&(与运算)

||(或运算)

!(非运算)


2.逻辑表达式(用逻辑运算符连接的表达式)


逻辑表达式的一般形式为:


表达式  逻辑运算符  表达式


逻辑表达式的返回值为真或者假。

3.逻辑表达式的值


1)与运算符(&&):同真伪真 一假则假

2)逻辑或 (||) 一真为真 同假则假

3)非运算(!) 真变假假变真


10、三目运算符


1.概念

三目运算符(条件运算符)为?和: 他是一个三木运算符,即有三个操作参数与运算的量。

其一般的形式为:

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



用户从键盘上输入三个整数,找出最大值,然后输出最大值

//  main.c
//  三目运算符应用举例
//
//  Created by Brisinga on 15/11/14.
//  Copyright © 2015年 yan. All rights reserved.
//

#include <stdio.h>

int main(int argc, const char * argv[]) {
    int a,b,c,max;
    printf("请输入三个整数\n");
    scanf("%d%d%d",&a,&b,&c);
    max = (a>b?a:b)>c?(a>b?a:b):c;
    printf("最大值为%d\n",max);
    return 0;
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

C语言之各种运算符

异或的符号是⊕。按位异或运算, 对等长二进制模式按位或二进制数的每一位执行逻辑按位异或操作. 操作的结果是如果某位不同则该位为1, 否则该位为0. xor运算的逆运算是它本身,也就是说两次异或同一个...
  • xlhcgd
  • xlhcgd
  • 2015年03月28日 15:35
  • 894

第三章 C语言运算符与表达式

C语言运算符与表达式
  • ITTechnologyHome
  • ITTechnologyHome
  • 2016年05月30日 22:10
  • 5367

C语言运算符:(一)

C语言操作符众多,主要包括:算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符、单目运算符、条件运算符、逗号运算符...C语言众多的运算符是它为人诟病的一个原因,但也是它众多的运算符提供了其他语...
  • wenjinxingwen
  • wenjinxingwen
  • 2016年10月18日 00:46
  • 421

C语言中的所有运算符用法及总结

1
  • sigma_inf
  • sigma_inf
  • 2017年03月26日 16:45
  • 1917

C语言:位异或运算符^

C语言:位异或运算符^  位运算符家族中,最常用的,某过于异或运算符。 异或运算符是指: 参与运算的两个值,如果两个相应位相同,则结果为0,否则为1。即:0^0=0, 1^...
  • u014427196
  • u014427196
  • 2014年10月31日 10:39
  • 6515

C语言运算符表达式

一、分类 C语言一共有34种运算符,10种运算类型:算术运算符(+、-、*、/、%)、关系运算符(>、>=、==、!=、>、 二、运算符的结合性和优先级 1. 运算符的结合性 在C语言的运算符...
  • qq_31059475
  • qq_31059475
  • 2016年04月19日 23:15
  • 3629

黑马程序员——C语言基础篇---基础语法

黑马程序员学习日志,C语言的基础学习
  • liufeng124
  • liufeng124
  • 2015年04月13日 22:10
  • 521

黑马程序员——c语言学习---第一个程序

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------  从今天开始我漫长的编程之旅,提前预祝自己成功! 1、开发条件 a、mac...
  • qq_25842885
  • qq_25842885
  • 2015年02月05日 12:46
  • 360

C语言之左移和右移运算符

左移运算符() 左移运算符是用来将一个数的各二进制位左移若干位,移动的位数由右操作数指定(右操作数必须是非负值),其右边空出的位用0填补,高位左移溢出则舍弃该高位。 右移运算符(>>) 右移...
  • hanwang3
  • hanwang3
  • 2015年09月13日 00:58
  • 6648

黑马程序员-----c语言基础与重点第一篇——C知识基础

------- android培训、java培训、IOS培训.Net培训、、期待与您交流! ----------     本系列博客主要描述c语言基础与OC语言基础。大家可随时沟通交流。根据学习做一...
  • u010864317
  • u010864317
  • 2015年08月17日 16:07
  • 328
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【黑马程序员】C语言运算符
举报原因:
原因补充:

(最多只允许输入30个字)