黑马程序员---C基础2【运算符】

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

【运算符】

1、运算符:

链接两个操作数的符号。

分类:

1)功能划分  算数运算符:+、—、*、/

关系运算符:=,《,》

逻辑运算符:&&、||

按位运算符:

2)根据参与运算的操作数的个数分:

单目运算:i++

双目运算:a+b

三目运算:a>b?a:b;

优先级:

2、算术运算中类型转换:

隐式类型转换 int——》float

(显式) 强制类型转换 (int)(s+b);

    从下到上转换。

   注意事项:

用一个大数加一个小数,如果使用float会有问题,有效数位只有7位。会造成数据丢失。

强制类型转换,此处是临时转换,不会改变原值。

3、赋值运算符:

复合赋值运算符:a+=3——>a=a+3;

4、自增自减运算符:

    单目运算

  

++a先加再用,b++先用再加;

不管怎么样最后a的值都会加1;++a+b+a++;其中a加了两次是5;

不能用再常量上;++(a+3)是不对的,表达式a+3都有一个常量返回值;

运算技巧:

r=a+++b++;这个r=表达式1+表达式2;其中表达式1值为a,表达式2值为b;

p=i+++i+++i++;

5/6   6/7  7/8

先看的是变量,表达式值就是变量的值,i的值+1;i++

先看到的是++,先让i的值+1,i的值+1;++i

5、sizeof运算符:

    单目运算符,是以字节的形式给出了操作数占用存储空间的大小。

用法:sizeof(常量/变量)不是一个函数,是一个操作符。

char占1个字节,-128-127;

char类型的常量存储,97以int类型的数据进行存储;’a’

char类型的变量以把字符串的ASCII码转换为二进制(1个字节)进行存储;

sizeof运算符计算变量在内存中占用的字节数:括号可以省略;

sizeof用于计算某一种数据类型在内存中占用的字节数:

sizeof(int)

6、逗号运算符:

一般形式:a=(a+b,c+2)表达式1,表达式2;

求值过程:

分别求每个表达式的值,最后表达式为最终值;

使用注意:

不是所有,号都是逗号表达式,逗号运算符可以嵌套使用;

7、关系运算符;  

    比较两个数或者表达式之间的关系。

c语言真假性;非0既是真,则返回真,假。

     

    关系运算符的优先级和结合性,双目运算,左结合;

只有优先级相同的情况下才说结合性;

8、逻辑运算符

    概念:逻辑上成立与不成立;&&与运算、||或运算、!非运算

    表达式:表达式    逻辑运算符   表达式     a&&b  值为1,0。

    逻辑与运算&&:参与运算的两个量都为真时,结果才为真,否则为假(表示多个条件同时成立“并且、且、同时”)同真为真,一假则假  。11级优先级左结合。

    逻辑或运算||:当有多个条件时只要有一个成立及为真,否则为假。或者

           一真为真,同假为假。   12级优先级,  左结合;

    逻辑非运算! :取反  真变假,假变真。二级优先级 ,右结合;

    逻辑运算的短路问题:

        一假为假,a&&b 如果a为假则结果为假,就不执行b,这就是逻辑与短路。

        一真为真,a&&b如果a为真则结果为真,就不执行b,这就是逻辑或短路。

              

9、三目运算符

有三个操作数参与运算的量。

一般形式:表达式1?表达式2:表达式3

求值规则:表达式1进行批判,如果为真则用表达式2的值作为整个运算的值,如果表达式1为假则用表达式3的值作为运算的值。

13级优先级,结合性从右到左。

时间: 2024-10-12 12:49:04

黑马程序员---C基础2【运算符】的相关文章

黑马程序员----java基础之运算符、键盘录入、if switch语句、附相关面试题

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 1:运算符(掌握) (1)算术运算符 A:+,-,*,/,%,++,-- 注意事项:整数相除只能得到整数,如果想得到小数,必须先把数据变化为浮点数类型.如3/4结果为0,3*0.1/4=0.75 B:+的用法 a:加法 b:正号 c:字符

黑马程序员--java基础学习笔记5

黑马程序员--java基础学习笔记6 一.笔记内容概述: 数组-第二种定义格式.数组-常见操作-遍历-最值-选择排序-冒泡排序-排序位置置换代码提取.数组-排序的性能问题.数组-常见功能-查找-折半查找.进制转换-查表法-整合. 二.常用内容介绍: 1.数组初始化的三种方式: int[] arr = new int[3]; int[] arr = new int[]{1,2,3}; int[] arr = {1,2,3}; 2.查表法: 如果数据中出现了对应关系,而且对应关系的一方是有序的数字编

黑马程序员——Java基础---IO(下)

黑马程序员——Java基础---IO(下) ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java除了基本的字节流.字符流之外,还提供了File类.properties类.打印流.序列流等和输入输出相关的类,它们能够帮助我们更好的处理信息.下面将对它们进行简单的介绍. 一.正

黑马程序员_JAVA 基础加强学习笔记

一.面向对象 (一)继承  1.继承的好处: (1) 提高了代码的复用性. (2) 让类与类之间产生了关系,提供了另一个特征多态的前提. 注意: 子类中所有的构造函数都会默认访问父类中的空参数的构造函数,因为每一个子类构造内第一行都有默认的语句super();  如果父类中没有空参数的构造函数,那么子类的构造函数内,必须通过super语句指定要访问的父类中的构造函数. 如果子类构造函数中用this来指定调用子类自己的构造函数,那么被调用的构造函数也一样会访问父类中的构造函数. 2.final特点

黑马程序员——Java基础---集合框架工具类

黑马程序员——Java基础<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java为操作Set.List和Map提供了一系列工具类,主要有Collections和Arrays.这两个工具类的特点:类中的方法都是静态的,不需要创建对象,直接使用类名调用即可.Collections:是集合对象

黑马程序员_Java基础加强(下)

8.注解类 注解相当于一种标记,加了注解就等于打上了某种标记,没加就等于没打特殊标记,开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记,看你有什么标记就去干什么事,标记可以加在包.类.字段.方法,方法的参数以及局部变量上. 注解的应用结构图: 为注解增加属性 定义基本类型的属性和应用属性 在注解类中增加String color(); @MyAnnotation(color = "red") 用反射方式获得注解对应的实例对象后,再通过该对象调用属性对应的方法 MyAnno

黑马程序员_Java基础加强(上)

1.静态导入 静态导入是jdk1.5版本以后出现的新特性,一般是指导入静态方法,如:import static java.lang.System.out 是指导入系统输出的静态方法. 例: import static java.lang.System.out //导入java.lang包下的System类的静态方法out public class StaticImport { public static void main(String[] args) { int x=1; x++; out.p

黑马程序员-正则表达式基础

正则表达式是一种描述字符串集的方法,它是以字符串集中各字符串的共有特征为依据的.正则表达式可以用于搜索.编辑或者是操作文本和数据.它超出了 Java 程序设计语言的标准语法,因此有必要去学习特定的语法来构建正则表达式.正则表达式的变化是复杂的,一旦你理解了它们是如何被构造的话,你就能解析或者构建任意的正则表达式了..正则表达式由一些普通字符和一些元字符组成. 普通字符包括大小写的字母和数字,而元字符则具有特殊的含义.在最简单的情况下,一个正则表达式看上去就是一个普通的查找串.例如,正则表达式"a

黑马程序员——java基础——多线程

 黑马程序员--java基础--多线程 ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 进程:是一个正在执行中的程序.每一个进程执行都有一个执行顺序.该顺序是一个执行路径,或者叫一个控制单元. 线程:就是进程中的一个独立的控制单元.线程在控制着进程的执行.一个进程中至少有一个线程. 一个进程至少有一个线程在运行,当一个进程中出现多个线程时,就称这个应用程序是多线程应用程序,每个线程在栈区中都有自己的执行空间,自己的方法区.自己的变量.

黑马程序员——java基础---IO(input output)流字符流

黑马程序员——java基础---IO(input output)流字符流 ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- io(input output)流特点: 1,io流用来处理数据之间的传输 2,java对数据的操作是通过流的方式: 3,java用于操作流的对象都在io包中: 4,流按操作数据分为两种:字节流和字符流: 5,流按流向分为:输入流和输出流. 注意:流只能操作数据,而不能操作文件. 3.IO流的常用基类: 1)字节流的抽象