iOS学习(C语言)知识点整理笔记

1、运算符

一、算术运算符

1)表达式由变量、常量、运算符构成,有确定的类型和值

2)算术运算符包括: +(加),-(减),*(乘),/(除),%(模)

3)算术运算符优先级 括号()> * ,/ ,%  >+,-

4)%表示取余、取模  a%b 表示a除以b取余数

5)整数相除保留两位小数处理方法如: printf(“%.2f”,(float)14/9);

6)自增自减运算符:++;- -

7)a++ 与 ++a 的区别: ++a 返回值是a+1, b=++a 相当于a=a+1然后b=a ; a++ 返回值是 a ,b=a++ 相当于b=a 然后a=a+1

二、关系运算符

1)关系运算符包括: >, >=, <, <=, ==, !=

2)关系运算符比较结果成立是 1(true),不成立结果是0(false)

三、逻辑运算符

1)逻辑运算符包括:

&&(逻辑与/并且,要2者都成立才为真);

||(逻辑或/或者 只要一个条件满足即为真);

!(逻辑非/不是)  !(真)=假  !(假)=真  非0=真 逻辑运算符 一般与if连用

四、三目运算符

1)三目运算组成结构:(条件表达式)?(语句1):(语句2)

例如:c= a>b?a:b; 表示 取a b两者中的最大值赋值给c

五、赋值运算符

1)赋值运算符包括:=,+= ,-=,*=,/=,%=

2)+= 表示前变量等于变量原有的值加上后面的值 例如:a+=b 表示 a=a+b;

六、逗号运算符

1)逗号运算符优先级最低 例如 (表达式1、表达式2,.....,表达式n)=表达式n 取最后一个表达式

七、位(单bit)操作运算符

1) 按位与 &  ;  按位或  | ;按位取反 ~ ;位移操作

2)代码实例:

 1    int a=0xff;
printf(“%d\n”,a&0x0f)//结果为:0x0f=15
/*
分析:
1111,1111
0000,1111
——————————
0000,1111(0为假 1为真 &条件下 假&真=假 真&真=真 )
*/
a = 0xf0;
printf("%d\n",a|0x0f);//结果:0xff
/*
1111,0000
0000,1111
*/
/*把a的第三个bit设置成0,从 第bit算起*/
a = 0xcc;//0b11001100
a = a&0xf7;
/*
1100,1100
1111,0111 //0b1100,0100 0xc4=196
*/
/*
把a的第三个bit设置成1
*/
a = ;
a = a|0x8;
/*
0000,0000
0000,1000 =0x8;
*/
printf("a=%d\n",a);
a = 0b110;
printf("%d\n",a<<);//结果:0b1,1000=24
a = 0b0110;
/*
分析:
int=4字节=32bit
即 a=0b0110=0b 0000,0000,0000,0000,0000,0000,0000,0110
按位取反后的结果:1111,1111,1111,1111,1111,1111,1111 ,1001
*/
printf("~a=0x%x=%d\n",~a,~a);//按位取反,0xfffffff9=-7

八、各类运算符的优先级比较

1、 括号(可以嵌套)>单目(++,- -,!)>算术> 关系>逻辑>赋值

九、数据类型转换

 int main()
{
int a = 0xfff1;
7 char c = a;//隐式转化
printf("%d=0x%x\n",c,c);//截断,取低8bits
printf("%f\n",(float)/);//强制类型转换,14转成float
/*
1、与long运算,转成long
2、float参与运算,转成double运算
3、char 和short运算的时候,转成 int
4、有符号->无符号
*/
float f = 3.14;
printf("3.14+2000=%f\n",f+);
char ch1 = -;//0x80
int i = ch1;//char->int.位扩展:负数补1,正数补0
//0x80(char)-> 0xffff,ff80
printf("i=%d=0x%x\n",i,i);
ch1 = ;//0x8
i = ch1;//char->int.位扩展:负数补1,正数补0
printf("i=%d=0x%x\n",i,i);
return ;
}

十、宏定义

1)宏定义一般都为大写 格式:#define 别名 (大写) 表达式/ 参数

2)宏定义的作用是 增强代码可读性,方便数值修改

3)例如 通过宏定义求两数最大值 方法:

   #define MAX(a,b) a>b?a:b
#include <stdio.h>
int main(){
printf("请输入两个数:\n");
scanf("%d%d",&a,&b);
printf("最大值是:%d",MAX(a,b));
return ;
}

十一、输入输出

1) scanf()/getchar()  用于接收用户输入  printf()/putchar() 用于输出信息

2)scanf(“格式化字符串”,参数地址列表)  scanf 输入参数必须加上“& ”取地址符号,字符串数组除外; scanf根据回车键执行,

根据Tab或空格来分隔字符,回车表示接收结束,scanf 接收输入是也可指定长度,如果输入信息大于指定长度

则从右向左截取; 例如:int a=12345;scanf(“%3d”,&a)  printf(“%d”,a)输出结果为 123 ;输入信息小

于指定宽度则无影响。

3)printf(“格式化字符串”,输出信息); printf 中可通过格式化字符串中置入数字来设定输出宽度 ;

例如:printf(“%8d”,19) 向右推移8个长度输出19 ;如果输出数据大于指定宽度则不起作用

4)解决scanf输入缓冲区问题 即:当输入为char(%c)类型 前面有输入时会直接跳过本次的输入。

代码实例:

     short s;
printf("输入一个Short\n");
scanf("%hd",&s);
printf("输出一个Short值%hd\n",s);
char c,last;
printf("输入一个char\n");
scanf("%c",&c);//方法一 输入缓冲区里面残留一个回车符 %c作为有效输入
scanf("%c",&c);
//last=getchar();//方法二 getchar()从里面取走一个字符
17 printf("输出一个char值%c\n",c);

iOS阶段学习第三天笔记(运算符)的更多相关文章

  1. iOS 阶段学习第三天笔记(运算符)

    iOS学习(C语言)知识点整理笔记 1.运算符 一.算术运算符 1)表达式由变量.常量.运算符构成,有确定的类型和值 2)算术运算符包括: +(加),-(减),*(乘),/(除),%(模) 3)算术运 ...

  2. iOS阶段学习第四天笔记(循环)

    iOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ }  两种 2.单分支 if表达式成立则执行{ }里的语句:双 ...

  3. iOS 阶段学习第四天笔记(循环)

    iOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ }  两种 2.单分支 if表达式成立则执行{ }里的语句:双 ...

  4. iOS阶段学习第33天笔记(自定义标签栏(UITabBar)介绍)

    iOS学习(UI)知识点整理 一.自定义标签栏 1.方法一 单个创建标签栏 #import "AppDelegate.h" #import "SecondViewCont ...

  5. iOS阶段学习第32天笔记(页面传值方法介绍)

    iOS学习(UI)知识点整理 一.界面传值方法 1.方法一  Block传值  通过SubView视图的Block向View视图传值改变View视图的背景色 实例代码: 1)SubViewContro ...

  6. iOS阶段学习第30天笔记( UIViewController—Delegate(代理) )

    iOS学习(UI)知识点整理 一.UIViewController的介绍 1)概念:UIViewController 即视图控制器,用来管理和控制页面跳转的一个类 ,iOS里面采用了MVC的体系结构, ...

  7. iOS阶段学习第27天笔记(UIButton-UIImageView的介绍)

    iOS学习(UI)知识点整理 一.关于UIButton的介绍 1)概念:UIButton 是一种常用的控件,通过点击触发相应的功能 2)UIButton 的几种常用的状态        1.UICon ...

  8. iOS阶段学习第26天笔记(UILabel的介绍)

    iOS学习(UI)知识点整理 一.关于UILabel的使用介绍 1)概念:UILabel是一个继承自UIView的用于展示文本信息的控件 2)UI中所有的控件都继承自UIView 即UIView 是U ...

  9. iOS 阶段学习第23天笔记(XML数据格式介绍)

    iOS学习(OC语言)知识点整理 一.XML数据格式介绍 1)概念:xml是extensible markup language扩展的标记语言,一般用来表示.传输和存储数据 2)xml与json目前使 ...

随机推荐

  1. http学习笔记(一)

    写在前面: 第一次想写系列文章,学习了一些web知识后,发现自己还有很大的不足,但又不知道该学习些什么来完善自己的知识体系,偶然在网上看到了一篇介绍http的文章,觉得对自己有一些帮助,于是想要开始学 ...

  2. 我所理解的OOP——UML六种关系

    最近由于经常给公司的小伙伴儿们讲一些OOP的基本东西,每次草纸都被我弄的很尴尬,画来画去自己都乱了,有时候也会尝试使用UML表示类之间的关系,但UML从毕业后就再也没接触过了,经常会被小伙伴儿们指出继 ...

  3. 实战使用Axure设计App,使用WebStorm开发(1) – 用Axure描述需求

    系列文章 实战使用Axure设计App,使用WebStorm开发(1) – 用Axure描述需求  实战使用Axure设计App,使用WebStorm开发(2) – 创建 Ionic 项目   实战使 ...

  4. redis源码系列-数据结构(adlist/ziplist/dict)

    该系列基于redis-2.8.18,主要记录自己的理解或者想法.redis以自己支持存储的数据结构丰富吸引了大批人,把memcached比了下去.本文就从简单基本的数据结构入手. 双向链表-adlis ...

  5. 我心中的核心组件(可插拔的AOP)~调度组件quartz.net

    回到目录 quartz.net是一个任务调度组件,它可以灵活的设置你的调试方式,按时间,按日期,按周期都可以很容易的实现,quartz不仅可以用在web中,而且还可以部署在winform,winser ...

  6. Atitit 颜色平均值cloor grb hsv模式的区别对比

    Atitit 颜色平均值cloor grb hsv模式的区别对比 使用hsv模式平均后会变得更加的靓丽一些..2 public class imgT { public static void main ...

  7. atitit.事件驱动的总结attilax

    atitit.事件驱动的总结attilax Keyboard 基于的的ed 与  mouse 基础的ed Kb  base on focus ....   Mouse base on mouse mo ...

  8. Java集合框架的总结

    本篇文章先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析.当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进 ...

  9. Unity导出xcode后自动化导入第三方SDK

    最近因为在给项目接入第三方SDK,遇到了一个比较烦人的事情就是,每次出包都要重新根据第三方SDK说明设置xcode,每次最少花20分钟来设置,如果出错的话就不一定是20分钟的事了,所以我决定要做一个自 ...

  10. javascript类型系统——布尔Boolean类型

    × 目录 [1]定义 [2]应用场景 [3]转为布尔[4]实例方法 前面的话 布尔值Boolean类型可能是三种包装对象Number.String和Boolean中最简单的一种.Number和Stri ...