• 变量的命名规则以及规范

  1. 变量的命名规则

     1>变量名只能由任意的字母,下划线和$以及数字组成,注意不能用数字开头
     2>区分大小写
     3>变量一定要先定义再使用
     4>同一个大括号中不能定义名字相同的变量
     5>不能和C的关键字同名
  2. 命名规则

    1> 有意义 可以见闻知意.例如:int score = 0;//score变量代表一个分数

    2> 驼峰命名法.//例如:int sumScore;//代表总分
 
  • printf的函数的使用补充

          %0md:  m是1个整数,不足的地方就会以0补足.
          %.nf:     n是1个数字,代表要输出小数点后面多少位.
    %.nlf:     n是1个数字,代表要输出小数点后面多少位.
           %g:         用于打印浮点型整数时,会去掉多余的0,之多保留六位有效数字
 
  • 数据类型转换

  1. 当赋值符号两边的数据类型不同的时候,数据类型转换时自动的,不需要程序员插手
  2. 隐式转换: 自动转换    编译器自动帮你判断转换成声明类型    int num = 3.333;

    显示转换: 强制转换    程序员自己写代码指定你的数据转换成声明类型 int num=(int)3.33
 
  • scanf函数需要注意的细节

  1. 变量的命名要符合规范.
  2. 注释要有,可以帮助你理清思路.
  3. scanf函数不是printf函数,所以后面不用加\n.
  4. scanf函数后面写的是变量的地址,而不是变量.  格式:&变量名
  5. 如果之前的程序正在运行,没有结束,那么新程序运行之前,需要将旧程序结束掉.
  6. 占位符要和后面的类型对应,否则就会出现意想不到的后果.
 
  • 使用scanf函数一次接收输入多个数据

  1. 不用指定分隔符: 默认的分隔符是空格或者回车.

    scanf("%d%d",&num1,&num2);
  2. 指定分隔符: 可以自定义输入时的分隔符,在控制台输入变量的时候,分隔符也要一起输入

    scanf("%d-%d",&num1,&num2);//其中-是分隔符.
 
注意:
     1>.一旦指定了分隔符,那么久必须使用指定的分隔符,空格和回车就无法使用了.
     2>.如果使用scanf函数一次输入多个数据,只能是数字(整型和浮点型),如果有char混入,会出问题.
 
  • scanf函数的缓冲区

  1. 当执行scanf函数的时候,并不是直接接收从键盘中输入的值,而是先检查缓冲区中是否有数据,如果有数据才会从缓冲区中取,如果没有数据,才会让我们输入.
  2. 当我们输入数据的时候,我们输入的数据并不是直接赋给scanf指定的变量,而是先存储到声明的缓冲区,scanf函数再从缓冲区读取数据.
  3. 如果取出的是数字,整数或者小数,缓存区的空格,tab,回车就会自动被忽略,如果要拿的是一个char数据,他就不会放过任何一个数据.
  4. 这个时候就会造成一个后果,如果缓冲区中有数据,而我要接收一个char数据,它就有可能不会让我输入,直接将缓冲区中的数据输出.
  5. 解决方案:在输入字符之前,将缓冲区中的数据全部清空.

    rewind(stdin);
 
  • 交换两个变量的值

  1. 第一种方式:第三方变量

    int num1 = 100;

    int num2 = 200;



    int temp = num1;

    num1 = num2;

    num2 = temp;
  2. 第二种方式:两数相加再相减

    int num1 = 100;

    int num2 = 200;



    num1 = num1 + num2;

    num2 = num1 - num2;

    num1 = num1 - num2;//口诀,121加减减
  3. 第三种方式:异或运算 ^

    int num1 = 100;

    int num2 = 200;



    num1 = num1 ^ num2;

    num2 = num1 ^ num2;

    num1 = num1 ^ num2;
 
  • 算术表达式

  1. 算术表达式的值有没有类型?

    有,算术表达式最终结果类型,取决于精度最高的那个数

    精度 —> 浮点数 > 整数  ———> double > float > int

    例如: float result = 10 + 1.1f;
            double result2 = 1.2 + 1.2f;
  2. 当参与运算的数据类型一致,算术运算表达式的结果的类型就是参与运算的数据的类型
  3. 如何获取两个整数的真实的商

    //思路:两个任意数据 乘以 1.0

    double result = (1 * 1.0) / 3;
 
  • char数据参与算术运算

  1. char 变量/常量 和 整数 一起运算直接计算,拿ASCII码

    需要记住三个字符的ASCII,  'a'= 97, 'A’'= 65, '0' = 48
  2. 如何把小写字母转化为大写字母

    char char_xiao = 'a'- 32;
 
  • 符合赋值运算符

  1. 是什么?

    把一个变量在自身的基础之上进行变化
  2. 常见的符合赋值运算

    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天的更多相关文章

  1. ios开发之C语言第一天

    最近在学习ios开发,先学习C语言,再学习OC和swift.正所谓"万丈高楼平地起",打好基础是很重要的,所以C语言也必须好好学习.学习中所使用的操作系统是OS X,开发工具是Xc ...

  2. iOS开发之SQLite-C语言接口规范(一)——Ready And Open Your SQLite

    为什么要搞一搞SQLite的C语言接口规范呢? 因为在做iOS开发中难免会遇到操作数据库的情况,你可以使用第三方的FMDB等,或者使用CoreData.但我们还是有必要去搞清楚如何去使用SQLite的 ...

  3. 李洪强iOS开发之OC语言前期准备

    OC语言前期准备 一.OC简介 Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码. 可以使用OC开发mac osx平台和ios平台的应 ...

  4. iOS开发之SQLite--C语言接口规范(五)——iOS开发使用SQLite实例

    本篇博客就使用前面操作SQLite的知识来实现如何去插入,删除和更新数据.然后再把操作SQlite数据库常用的方法进行一个封装.把常用方法进行封装后,把Cars数据库中的其中一个表的数据进行查询,并在 ...

  5. iOS开发之SQLite--C语言接口规范(四) —— Result Values From A Query

    数据库的在上一篇博客中<SQLite之C语言接口规范(三)——Binding Values To Prepared Statements>用到了如何从查询结果中取出结果值.今天的博客就详细 ...

  6. iOS开发之SQLite--C语言接口规范(三)——Binding Values To Prepared Statements

    在前面的博客中已经介绍了如何连接SQLite数据库,并且简单的查询和遍历结果集.在前面用到了sqlite3_stmt *stmt,也就是预编译后的SQL语句.在本篇博客中会了解一下sqlite3_st ...

  7. iOS开发之SQLite-C语言接口规范(二) —— Prepared Your SQL Statements

    在<SQLite的C语言接口规范(一)>中介绍了如何去连接打开数据库,本篇博客就介绍如何操作数据库,本篇主要给出了如何执行数据库查询语句(Select), 然后遍历结果集.本篇博客就直接使 ...

  8. 李洪强iOS开发之OC语言基础知识

    OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...

  9. 李洪强iOS开发之OC语言类的深入和分类

    OC语言类的深入和分类 一.分类 (一)分类的基本知识  概念:Category  分类是OC特有的语言,依赖于类. 分类的作用:在不改变原来的类内容的基础上,为类增加一些方法. 添加一个分类: 文件 ...

  10. 李洪强iOS开发之OC语言构造方法

    OC语言构造方法 一.构造方法 (一)构造方法的调用 完整的创建一个可用的对象:Person *p=[Person new]; New方法的内部会分别调用两个方法来完成2件事情,1)使用alloc方法 ...

随机推荐

  1. [Webpack 2] Optimize React size and performance with Webpack production plugins

    You can fine tune several webpack plugins to make your bundle as small as it can be for your specifi ...

  2. C# - 系统类 - DateTime类

    DateTime类 ns:System 此类是一个结构 提供了访问和修改它所代表的时间 创建DateTime实例的几种方式 DateTime time = , , , , , ); Console.W ...

  3. 【转】Cocos2d-x 2.x CCSprite 灰白图的生成(利用shader设置)——2013-08-27 21

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=325 游戏中人物死掉后要把人物头 ...

  4. Maven Build Profiles--reference

    What is Build Profile? A Build profile is a set of configuration values which can be used to set or ...

  5. Apache【第一篇】安装

    一.简介 Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web ...

  6. ydoc 参考系列

    多个iframe支持 [http://ionicframework.com/docs/components/#icon-buttons]

  7. 20160408javaweb之JDBC 大二进制和大文件存取

    一.大文本存取: 我们有一本约10M的小说,现存入数据库: 代码如下:以junit测试的方式给出 package com.dzq.lob; import java.io.File; import ja ...

  8. 什么是SysWow64

    转自 什么是SysWow64 Wow!什么是Wow64 64位的Windows并不是简单地把所有东西都编译成64位就万事大吉的.关于64位的CPU应该做成什么样子,Intel和AMD曾有各自的打算.A ...

  9. linux x64下编译libjpeg,libpng,zlib

    libJpeg编译: 下载libjpeg源码:http://www.ijg.org/,下载jpegsrc.v9a.tar.gz 解压源码,命令:tar -zxvf jpegsrc.v9a,源码文件夹为 ...

  10. ios毛玻璃效果

    方法一:支持所有ios系统版本: - (void)setupBlurView { UIImageView *darkView = [[UIImageView alloc] init]; darkVie ...