ios开发之C语言第3天
变量的命名规则以及规范
- 变量的命名规则
1>变量名只能由任意的字母,下划线和$以及数字组成,注意不能用数字开头
2>区分大小写
3>变量一定要先定义再使用
4>同一个大括号中不能定义名字相同的变量
5>不能和C的关键字同名 - 命名规则
1> 有意义 可以见闻知意.例如:int score = 0;//score变量代表一个分数
2> 驼峰命名法.//例如:int sumScore;//代表总分
printf的函数的使用补充
数据类型转换
- 当赋值符号两边的数据类型不同的时候,数据类型转换时自动的,不需要程序员插手
- 隐式转换: 自动转换 编译器自动帮你判断转换成声明类型 int num = 3.333;
显示转换: 强制转换 程序员自己写代码指定你的数据转换成声明类型 int num=(int)3.33
scanf函数需要注意的细节
- 变量的命名要符合规范.
- 注释要有,可以帮助你理清思路.
- scanf函数不是printf函数,所以后面不用加\n.
- scanf函数后面写的是变量的地址,而不是变量. 格式:&变量名
- 如果之前的程序正在运行,没有结束,那么新程序运行之前,需要将旧程序结束掉.
- 占位符要和后面的类型对应,否则就会出现意想不到的后果.
使用scanf函数一次接收输入多个数据
- 不用指定分隔符: 默认的分隔符是空格或者回车.
scanf("%d%d",&num1,&num2); - 指定分隔符: 可以自定义输入时的分隔符,在控制台输入变量的时候,分隔符也要一起输入
scanf("%d-%d",&num1,&num2);//其中-是分隔符.
scanf函数的缓冲区
- 当执行scanf函数的时候,并不是直接接收从键盘中输入的值,而是先检查缓冲区中是否有数据,如果有数据才会从缓冲区中取,如果没有数据,才会让我们输入.
- 当我们输入数据的时候,我们输入的数据并不是直接赋给scanf指定的变量,而是先存储到声明的缓冲区,scanf函数再从缓冲区读取数据.
- 如果取出的是数字,整数或者小数,缓存区的空格,tab,回车就会自动被忽略,如果要拿的是一个char数据,他就不会放过任何一个数据.
- 这个时候就会造成一个后果,如果缓冲区中有数据,而我要接收一个char数据,它就有可能不会让我输入,直接将缓冲区中的数据输出.
- 解决方案:在输入字符之前,将缓冲区中的数据全部清空.
rewind(stdin);
交换两个变量的值
- 第一种方式:第三方变量
int num1 = 100;
int num2 = 200;
int temp = num1;
num1 = num2;
num2 = temp; - 第二种方式:两数相加再相减
int num1 = 100;
int num2 = 200;
num1 = num1 + num2;
num2 = num1 - num2;
num1 = num1 - num2;//口诀,121加减减 - 第三种方式:异或运算 ^
int num1 = 100;
int num2 = 200;
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;
算术表达式
- 算术表达式的值有没有类型?
有,算术表达式最终结果类型,取决于精度最高的那个数
精度 —> 浮点数 > 整数 ———> double > float > int
例如: float result = 10 + 1.1f;
double result2 = 1.2 + 1.2f; - 当参与运算的数据类型一致,算术运算表达式的结果的类型就是参与运算的数据的类型
- 如何获取两个整数的真实的商
//思路:两个任意数据 乘以 1.0
double result = (1 * 1.0) / 3;
char数据参与算术运算
- char 变量/常量 和 整数 一起运算直接计算,拿ASCII码
需要记住三个字符的ASCII, 'a'= 97, 'A’'= 65, '0' = 48 - 如何把小写字母转化为大写字母
char char_xiao = 'a'- 32;
符合赋值运算符
- 是什么?
把一个变量在自身的基础之上进行变化 - 常见的符合赋值运算
int num = 10;
num += 10;———>等价于 num = num + 10;
num -= 10;———>等价于 num = num - 10;
num /= 10;———>等价于 num = num / 10;
num %= 10;———>等价于 num = num % 10;
ios开发之C语言第3天的更多相关文章
- ios开发之C语言第一天
最近在学习ios开发,先学习C语言,再学习OC和swift.正所谓"万丈高楼平地起",打好基础是很重要的,所以C语言也必须好好学习.学习中所使用的操作系统是OS X,开发工具是Xc ...
- iOS开发之SQLite-C语言接口规范(一)——Ready And Open Your SQLite
为什么要搞一搞SQLite的C语言接口规范呢? 因为在做iOS开发中难免会遇到操作数据库的情况,你可以使用第三方的FMDB等,或者使用CoreData.但我们还是有必要去搞清楚如何去使用SQLite的 ...
- 李洪强iOS开发之OC语言前期准备
OC语言前期准备 一.OC简介 Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码. 可以使用OC开发mac osx平台和ios平台的应 ...
- iOS开发之SQLite--C语言接口规范(五)——iOS开发使用SQLite实例
本篇博客就使用前面操作SQLite的知识来实现如何去插入,删除和更新数据.然后再把操作SQlite数据库常用的方法进行一个封装.把常用方法进行封装后,把Cars数据库中的其中一个表的数据进行查询,并在 ...
- iOS开发之SQLite--C语言接口规范(四) —— Result Values From A Query
数据库的在上一篇博客中<SQLite之C语言接口规范(三)——Binding Values To Prepared Statements>用到了如何从查询结果中取出结果值.今天的博客就详细 ...
- iOS开发之SQLite--C语言接口规范(三)——Binding Values To Prepared Statements
在前面的博客中已经介绍了如何连接SQLite数据库,并且简单的查询和遍历结果集.在前面用到了sqlite3_stmt *stmt,也就是预编译后的SQL语句.在本篇博客中会了解一下sqlite3_st ...
- iOS开发之SQLite-C语言接口规范(二) —— Prepared Your SQL Statements
在<SQLite的C语言接口规范(一)>中介绍了如何去连接打开数据库,本篇博客就介绍如何操作数据库,本篇主要给出了如何执行数据库查询语句(Select), 然后遍历结果集.本篇博客就直接使 ...
- 李洪强iOS开发之OC语言基础知识
OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...
- 李洪强iOS开发之OC语言类的深入和分类
OC语言类的深入和分类 一.分类 (一)分类的基本知识 概念:Category 分类是OC特有的语言,依赖于类. 分类的作用:在不改变原来的类内容的基础上,为类增加一些方法. 添加一个分类: 文件 ...
- 李洪强iOS开发之OC语言构造方法
OC语言构造方法 一.构造方法 (一)构造方法的调用 完整的创建一个可用的对象:Person *p=[Person new]; New方法的内部会分别调用两个方法来完成2件事情,1)使用alloc方法 ...
随机推荐
- google perftools分析程序性能
Google perftools 1.功能简介 它的主要功能就是通过采样的方式,给程序中cpu的使用情况进行“画像”,通过它所输出的结果,我们可以对程序中各个函数(得到函数之间的调用关系)耗时情况一目 ...
- BeagleBone Black Linux驱动程序开发入门(0): 开发环境
搭建arm-linux交叉编译环境的教程有很多,这里只作简要说明.Host宿主机是Ubuntu10.04,我把它装在Windows XP的VirtualBox虚拟机中,这样相当于一台主机有两个操作系统 ...
- WPF的ListBox中的RadioButton不能单选问题
WPF不知道是微软故意弄的还是真的匆忙的推出的产品,在实际开发过程中有很多小问题解决很麻烦. 今天主要说一下ListBox中使用RadioButton的时候里面的RadioButton不能单选!居然成 ...
- hdu1250(Java)大数相加的问题
Hat's Fibonacci Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- Java基础知识强化之IO流笔记44:IO流练习之 复制图片的 4 种方式案例
1. 复制图片的 4 种方式案例: 分析: 复制数据,如果我们知道用记事本打开并能够读懂,就用字符流,否则用字节流. 通过该原理,我们知道我们应该采用字节流. 而字节流有4种方式,所以做这个题目我们有 ...
- YII中URL地址美化
URL地址美化:urlManager地址管理(通过程序来实现url的地址美化) 例如: 原地址:http://localhost/项目/app/index.php?r=控制器/方法 新地址:http: ...
- iOS 项目中将 http 改成 https 后需要改动的地方(密钥验证)
这种是不验证证书的密钥 AFSecurityPolicy *policy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone] ...
- JavaScript之String()和.toString()
JS中 转换字符串的方法有两个 一个String(),一个.toString(). 通常情况下 这两种使用没有太大的区别.但是需要注意几点: undefined: toString() var tes ...
- css滚动条样式
1.横向滚动条:(abeamScroll) <div style="width:400px;height:200px;overflow-x:auto;overflow-y:hidden ...
- 怎么安装MySQL,安装MySQL遇到的一些问题!!!!!!
简介: 对于初学,我们在安装MySQL时,会出现各种各样的报错,这让我们非常的头痛.那么我来分享一下我在安装的过程中遇到的一些问题吧! 我们在安装MySQL之前,先安装好dotNetFx40_Clie ...