C语言总结(6)
1.表达式:
算数表达式:
单目:+, -, ++, --。
双目:+,-,*,/,%。
赋值表达式:
简单赋值:=
复合赋值:+=,-=,*=,,/=%=,!=。
关系表达式:
>,>=,<,<=,!=。
逻辑表达式:
!,&&,||
条件表达式:?
逗号表达式:,
其他运算:sizeof
2.++运算符
自增,自减运算符使变量的值增1或减1。
有四种形式:i++ ++i i-- --i
I++(i--)和++i(--i)的区别:
执行完自增(减)运算后i的值都加(减)1
但表达式的值不同:i++(i--)的值为原值。
++i(--i)的值为增(减)1后的值。
注意:
自增运算符(++),自减运算符(--)只能用于变量,而不能用于常量或表达式。
++和--的结合方向是“自右至左”。
3.条件表达式
exp1? exp2:exp3
例:
[if(x>0)
y=x+2; ===== [y=(x>0)?x+2:x*x]
else
y=x*x;]
4.逗号表达式
表达式1,表达式2,表达式3.。。。。。。表达式N
先计算表达式1,然后计算表达式2.。。。。并将表达式n的值作为逗号表达式的值。
Int a,b,c;
(a=2),(b=3),(c=a+b);
逗号运算符的优先权最低,左结合。
5.其他运算
长度运算符:sizeof
单目运算符,计算变量或数据类型的字节长度
Int a;
Sizeof(a)
求整形变量a的长度,值为4(bytes)
Sizeof(int)
求整形的长度,值为4(bytes)
6.一组数组的定义和引用
一维数组的定义
1.定义方式:
类型名 数组名[整形常量表达式];
Int a[10];
2.说明:
A,数组名的命名规则和变量名相同,遵循标识符命名规则。
B,数组名后的常量表达式用[ ]括起来。
C,常量表达式表示元素的个数,即数组长度。
例:a[ 10]表示数组a中包括10个元素,分别为a[0]-a[9]
3.数组必须先定义然后使用。C语言规定只能逐个引用,而不能一次引用整个数组。
4,对数组元素的初始化可以用以下方式实现:
A,在定义数组时,对数组元素赋以初值。如:int a[10]={0,1,2,3,4,5,6,7,8,9};
B,可以给一部分元素赋值。如:int a[10]={0,1,2,3,4},表示只给前五个元素赋初值,后五个元素自动赋予0值。
C,对static数组不赋初值,系统会对所有元素自动赋予0值。即:如果想要使数组a中全部元素值为0,可以这样定义数组:static int a[5];
C语言总结(6)的更多相关文章
- C语言 · 高精度加法
问题描述 输入两个整数a和b,输出这两个整数的和.a和b都不超过100位. 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储.对于这种问题,一般使用数组来处理. 定义一个数组A ...
- Windows server 2012 添加中文语言包(英文转为中文)(离线)
Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...
- iOS开发系列--Swift语言
概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在 ...
- C语言 · Anagrams问题
问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的.例如,"Unclear"和"Nuclear ...
- C语言 · 字符转对比
问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等.比如 Beijing 和 Hebei 2:两个字符串不仅长度相 ...
- JAVA语言中的修饰符
JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...
- Atitit 项目语言的选择 java c#.net php??
Atitit 项目语言的选择 java c#.net php?? 1.1. 编程语言与技术,应该使用开放式的目前流行的语言趋势1 1.2. 从个人职业生涯考虑,java优先1 1.3. 从项目实际来 ...
- 【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】
说17号发超简单的教程就17号,qq核审通过后就封装了这个,现在放出来~~ 这个是我封装的一个开源项目:https://github.com/dunitian/LoTQQLogin ————————— ...
- InstallShield 脚本语言学习笔记
InstallShield脚本语言是类似C语言,利用InstallShield的向导或模板都可以生成基本的脚本程序框架,可以在此基础上按自己的意愿进行修改和添加. 一.基本语法规则 ...
- 用C语言封装OC对象(耐心阅读,非常重要)
用C语言封装OC对象(耐心阅读,非常重要) 本文的主要内容来自这里 前言 做iOS开发的朋友,对OC肯定非常了解,那么大家有没有想过OC中NSInteger,NSObject,NSString这些对象 ...
随机推荐
- linux搭建mysql 5.6.28
1.下载rmp文件 http://dev.mysql.com/downloads/mysql/ 2.安装 rpm -ivh MySQL-server--.linux_glibc2..x86_64.rp ...
- ZBrush中如何才能快速完成脸部雕刻(下)
骨骼,是一门基础艺术,几百年来一直为伟大的艺术大师所研究,它曾经,也将一直是创作现实且可信角色的关键,提高骨骼知识更将大大提高雕刻技能. 查看更多内容请直接前往:http://www.zbrush ...
- CSS 属性 - position讲解
postion 属性定义了一个元素在页面布局中的位置以及对周围元素的影响.该属性共有5个值: 1. position: static2. position: inherit3. position: r ...
- POJ 3416 Crossing --离线+树状数组
题意: 给一些平面上的点,然后给一些查询(x,y),即以(x,y)为原点建立坐标系,一个人拿走第I,III象限的点,另一个人拿II,IV象限的,点不会在任何一个查询的坐标轴上,问每次两人的点数差为多少 ...
- 使用友盟进行apk的自动更新
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- 14Mybatis_输入映射(传递pojo的包装对象)——很重要
假设我们有这么一个需求:用户信息的综合查询,需要传入的查询条件很复杂(可能包括用户信息,其他的信息,比如商品,订单) 我们的思想是:传入到select中的parameterType是一个包装类,里面可 ...
- ASP.NET MVC3 Model验证总结(转)
推荐: ASP.NET MVC的Model元数据与Model模板:预定义模板 http://www.cnblogs.com/artech/archive/2012/05/02/model-meta ...
- bootstrap和jquery mobile的对比
最近一直在研究bootstrap这东西,确实是个好的框架,但是诸多优势背后也隐藏着一些不好的地方,对此,我把它和另一套响应式框架jquery mobile做了一下对比,我的总结如下: 1.boo ...
- webapi 获取请求参数
//获取请求消息提数据 Stream stream = filterContext.Request.Content.ReadAsStreamAsync().Result; Encoding encod ...
- C# MD5加密解密帮助类
/// <summary> /// MD5加密解密帮助类 /// </summary> public static class DESHelper { ...