找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[ C语言开发 ] [守望者 C和指针] 03_控制语句与操作符

2014-04-09 01:13| 发布者: watchmen | 查看: 2008 | 收藏

摘要: 本章重点介绍C语言的操作符与控制语句。内容涉及算术运算符,单目运算符,比较运算符,逻辑运算符,位运算。是时介绍各运算符的优先级。另外介绍条件、循环以及分支语句的使用。 ... ... ...

03.01.01算术_赋值运算符


03.01.02单目运算符


03.01.03比较与逻辑运算符


03.01.04位运算


03.02运算符优先级


03.03.01if_else


03.03.02循环控制语句


03.03.03分支控制语句



主要目标:
1)操作在程序中的地位。与数据一起构成了程序。
2C语言中有哪些可用的操作符以及哪些控制语句。
3)完成代码编写:实现随机彩票选取系统。

操作符
1)算术运算
+
-
*
/
以上操作的数据类型可以是整型,浮点型。指针可以实现+ - 
%
操作的数据类型只能是整型。
对于有符号的类型,如果一个负数,如何处理?结果(余数)与被除数的符号相同。

2)赋值 =(区分判断运算符 ==
int a, b;
a = b;
a = 10;
左值和右值的概念。
哪一种可以做为左值,哪些可以为右值?
可以做为右值:只要是具体的数据表示。变量,常量,常数。
左值:代表 的是一个申请了的,固定的可以修改的空间。
10 = 20;???X
int a;
a = 20;
a + 10 = 20; ??? X
常量不能做为左值。
const int i ;
i =10;???? X
赋值与初始化的区别。
const int i ; X
i =10;???? X)赋值。
const int i = 10 ; 初始化(OK

3)单目运算符。
单目:操作的数据只有一个。
双目:操作的数据有两个。  a + b;
++ --
int a = 10;
a++; a = a +1;
++a; a = a+ 1;
--a ; a = a -1;
a--; a = a -1;
有其它运算一起 时,++在前在后有很大的区别。
int a, b;
a = 10 ;
b = a++;  //结果,对a来说,a=11,b = 10;
b = ++a;        //结果,对a来说,a=11,b = 11;
理解的思路:++在后,等待这个语句结束后再执行++++在前,++在某个可操作的其它运算符前完成。
b = (a++)+(a++)+(a++);
b = (++a)+ (++a)+ (++a);
* &
int a;
int *p;
p = &a;
*p
sizeof
求某数据类型在当前的编译环境下占用内存空间的大小。
int i;
sizeof (int )
sizeof( i )

(4)关系运算符
>
<
<=
>-
!=
==
a>b;
a < b;
关系运算符的结果值是0/1,是真的,结果为1,如果不成立,结果为0.

(5)逻辑运算
真:非0.
假:0.
&& 两个都为真,结果为真,否则为假。
a&&b;
10 && 1
10 && 0
||:两个中只要有一个为真。结果为真,两个为假,结果为假。
1||0
0 || 0
a||b
原来为真,非后为假,假,取非后为真。
!a
逻辑操作有一个短路的问题。判断语句时会继续介绍。

6)位操作。
位操作操作的对象是以二制的方式操作数据。无论是有符号的还是无符号的。
:位与,对应的二进制位操作,对应位都为1,结果的对应位为1,否则为0.
10   ---1010
8     ---1000
      ----1000
|:位或,对应的二进制位操作,对应位都为0,结果的对应位为0,否则为1.
:按位取反。二制数按位取反,原来为1,结果对应位为0,反之如果原来为0,结果对应位为0.
~10
同学自己验证: int a= 10  int a = 10;位反的结果。%x
^:异或,对应位两都不同,结果对应位为1,如果相同,结果为0.
1101
0100

1001
异或运算,交换两个数值,但不用第三个临时变量。可以用异或来实现。
>>右移运算,按二制位右移,低位被移动,高位补符号位。
000~000 1010 1001 >>2
000~000 0010 1010
<<:左移运算,按二制位左移,低位补0,高位移出。符号位不变。

7)复合运算。
基本运算后,多加了一个赋值
+=
a = a +c;
a += c;
+= -= *= /= >>= <<= …..

8)?:类似于if判断语句。
a>b?printf(“a”):print(“b”);

(9)逗号运算符。
最低级的运算符。结果是最后一个值。
int i ;
i = 3,4;
j = (i = 3,4);

会员评论  

已有0参与评论

推荐阅读

[守望者   java初中级视频]22_javaNIO,AIO编程
[守望者 java初中级视频]22_javaNIO,
内容简介:本课程介绍阻塞,非阻塞,同步和异步的基本概念,介绍javaNIO,AIO
[守望者 算法视频]01_数据存储(链表与数组)
[守望者 算法视频]01_数据存储(链表与
本章重点介绍数据的在计算机的存储方式 :连续存储(数组)与链式存储,同时
[守望者   java初中级视频]00_java初中级课程学习导航
[守望者 java初中级视频]00_java初中
内容简介:全面贾少这套视频课程学习需要具备的理论基础,以及适合的学习人群
【守望者 游戏项目】基于cocos2d-x的跑酷游戏项目教程
【守望者 游戏项目】基于cocos2d-x的跑
Cocos2d-x跑酷游戏项目教程Cocos2d-x跑酷游戏项目教程cocos2d-x特性cocos2
【守望者 观点】智能路由和Wi-Fi探针是一对好基友
【守望者 观点】智能路由和Wi-Fi探针是
智能路由与Wifi探针可以收集用户行为,同时可以收集用户MAC地址,还可以跟踪
【守望者 linux项目】mini WEB服务器设计
【守望者 linux项目】mini WEB服务器设
以下是曾经Watchmen一个朋友学习网络编程时设计的一个简单的MiniWEB服务器。
[守望者 算法视频]08_数据查找_hash算法
[守望者 算法视频]08_数据查找_hash算
守望者:普通逐个查找O(n),组织方式可以无序的数组或者普通链表。已经排序的
【守望者 linux项目】linux下的FTP服务器与客户端,作者 灯下野狐 ...
【守望者 linux项目】linux下的FTP服务
本项目是一个完整的FTP服务器及FTP客户端设计示例,对于需要学习网络编程项目
[守望者 linux视频]01_开发工具与开发平台
[守望者 linux视频]01_开发工具与开发
本课主要介绍gcc,gdb等系列开发工具,开始编写程序之旅。要求理解Linux开发平
【解读】什么样性格的人会被夸性格好
【解读】什么样性格的人会被夸性格好
守望者:性格决定命令。好的性格意识着给别人面子,能接受别人装逼,而且以上

行业聚焦  面试交流  职位推荐  开发视频   技术交流  腾讯微博  新浪微博

友情链接:课课家教育  阿里云  鲜果  W3Cfuns前端网  中国企业家  环球企业家  投资界  传媒梦工场  MSN中文网  Android开发者社区  cnbeta  投资中国网  又拍云存储  美通说传播  IT茶馆  网商在线  商业评论网  TechOrange  IT时代周刊  3W创新传媒  开源中国社区  二维工坊  Iconfans  推酷  智能电视网  FreeBuf黑客与极客  财经网  DoNews  凤凰财经  新财富  eoe移动开发者社区  i黑马  网易科技  新浪科技  搜狐IT  创业家  创业邦  腾讯财经  福布斯中文网  天下网商  TechWeb  雷锋网  新浪创业  和讯科技  品途O2O  极客公园  艾瑞网  抽屉新热榜  卖家网  人民网通信频道  拉勾网  创新派  简单云主机  

手机版|黑名单|守望者在线 在线教育 linux 高级程序设计 C/C++ 大数据 ( 蜀ICP备14029946号

成都守望者科技有限公司 © 2013-2016 All Rights Reserved