// 导入头文件(stdio.h),标准输入输出的头文件,
#include <stdio.h>

// 程序的入口
int main(int argc, const char * argv[]) {
    // insert code here...
    printf("Hello, World!\n");
    
    // 这是一个单行注释,注释掉一行代码,被注释掉的代码不会被执行,只是做一个标识的作用。注释在编码的过程中是必不可少的,写注释的目的一方面是为了工作的交接和团队协作,另一方面也是给自己一个提示。注释还可以把我们目前用不到的代码,但是以后可能会用到的代码暂时不进行编译。一个工程中有效注释应该占代码的60%.
    /*
        这是多行注释,能注释掉多行代码,这部分的代码都不会执行
    */
    // byte是计算机中存储的最小单位,无符号的情况下1byte能表示的数字范围是0~255,1byte = 8bit位  
    /*
    // 变量有三部分组成   类型修饰符 变量名 = 初始值
    // 定义一个变量age,用来表示年龄,类型是int,初始值为25
    int age = 25;
    // 定义一个变量string,类型是char,初始值为'A'
    char string = 'A';
    
    // 变量的命名规范:1、只能有数字、字符和下划线组成,并且数字不能开头;
    int _number = 3;
    int 好 = 5; // 变量名可以使用中文,但是在开发的使用严禁这样使用
    // 2、不能和系统关键字(保留字)重名
    //    int int = 4;
    // 3、变量名不能重复
    //    int age = 30;
    // 4、变量的命名要规范,做到见名知意
    int number1 = 3;
    int number2 = 5;
    */
    int num1 = 501;
    float num2 = 2.0;
    float num3 = num1 / num2; // 如果"/"两边都是整数的话,那么他们的结果也是整数

// 模运算'%',取余运算符
    int num1 = 5;
    int num2 = 3;
    int num3 = num1 % num2;
   // 自增运算"++",自减运算"--"
    num3 = num1++; // 该行代码相当于先把num1的值赋值给num3(num3 = num1;),然后把num1进行加1,把结果赋值给        num1(num1 = num1 + 1;)

num3 = ++num1; // 该行代码相当于先把num1加1,把结果赋值给num1(num1 = num1 + 1;),然后把num1的值赋给num3(num3 = num1;)
    
    
    num2 += num1;
    
    // 两种运算符:算数运算符 赋值运算符, 优先级:算数运算符 > 赋值运算符
    num3 = (num1++ + ++num2) * 3;

格式化输出函数printf()

float age = 27.1;
    printf("age = %f\n", age); // 格式化输出函数,普通字符原样输出,如果想要输出对应变量的值,那么需要使用对应的转义字符(转化符)
    
    char sex = 'm';
    printf("性别是:%c\n", sex);
    
    short num1 = 30;
    printf("%hd\n", num1);
    
    long num2 = 20;
    printf("num2 = %ld\n", num2);
    
    // 无符号长整型
    unsigned long num3 = 100;
    printf("num3 = %lu\n", num3);
    
    printf("%4d\n", 122);
    
    printf("%.2f\n", 2.223);
    
    printf("%-4d\n", 12); // 左对齐
    
    // %m.nf,如果输出的总位数大于m,那么小数点前面的原样输出,小数点后面保留n位,如果n+1再加整数位个数小于m的话,那么在输出的最前面补空格
    printf("%10.2f\n", 12.3345);
    
    // '\n'是换行符
    printf("\\ \n"); // 如果想输出'\'的话,需要使用'\\'
    printf("100%%\n"); // 如果想输出'%', 那么需要使用两个'%%'

格式化输入函数scanf()
    
    // 定义变量num1和num2,用来接收从控制台输入的数字
    int num1 = 0;
    int num2 = 0;
    printf("请输入两个数字,数字之间用空格分开:");
    scanf("%d %d", &num1, &num2); // '&'取地址符
    getchar(); // 从键盘缓存区中取出一个字符
    printf("num1 = %d, num2 = %d\n", num1, num2);
    
    char string = '0';
    printf("string = %c\n", string);
    printf("string = %d\n", string);
    
    scanf("%c", &string);
    getchar(); // 从键盘缓存区中取出一个字符
    
    printf("stringA = %d", string);
    
    
    
    return 0;

C语言 ---- 基本数据类型和基本运算 iOS学习-----细碎知识点总结的更多相关文章

  1. c语言基础:数据类型 分类: iOS学习 c语言基础 2015-06-10 21:43 9人阅读 评论(0) 收藏

    C语言基本数据类型大体上分为: 整型 和 浮点型   字节: 计算机中最小的储存单位     1 Byte = 8 bit 整型:         int     4                  ...

  2. C语言 ---- 指针 iOS学习-----细碎知识点总结

    内存的访问形式:1.直接访问:通过变量名进行访问.2.间接访问:先找到变量存放的地址,然后根据地址去访问对应的内存空间. 指针--- // 定义一个整形指针变量,用来存储num1在内存中的地址    ...

  3. C语言 ---- 数组 iOS学习-----细碎知识点总结

    #pragma mark - 数组:用来存放同一数据类型的数据 // 数组的定义:类型说明符 数组名[常量表达式] = {值1, 值2, 值3...};    // 定义一个float类型的数组,用来 ...

  4. C语言 ---- 循环分支 iOS学习-----细碎知识点总结

    #import <Foundation/Foundation.h>  // #import是OC种的导入头文件或者是系统框架的指令 // 定义了一个Season枚举类型enum Seaso ...

  5. C语言 ---- 函数 结构体 iOS学习-----细碎知识点总结

    函数的定义     返回值类型 函数名(形式参数列表) {        函数的实现     } 函数不允许嵌套定义 如果函数的定义在主调函数之后,那么要进行提前声明才能使用. // 匿名结构体,结构 ...

  6. OC ---- 字典集合 iOS学习-----细碎知识点总结

    实例方法的创建 NSDictionary *wukong = [[NSDictionary alloc] initWithObjectsAndKeys:", @"age" ...

  7. OC ---- 字符串 数组 iOS学习-----细碎知识点总结

    NSString *urlString = [NSString stringWithFormat:@"http://www.apple.com"];        // 获取字符串 ...

  8. C语言基础总结 分类: iOS学习 c语言基础 2015-06-11 10:08 23人阅读 评论(0) 收藏

    //欲练此功必先自宫!!!     //第一天:C语言的基础     //进制     //2进制, 10进制, 8进制, 16进制     //注:8进制数前加0, 16进制数前加0x        ...

  9. C语言基础:数组 分类: iOS学习 c语言基础 2015-06-10 21:40 7人阅读 评论(0) 收藏

    数组:是由一组具有相同数据类型的数据组合而来. 数组定义:元素类型修饰符 数组名[数组个数]={元素1,元素2....};  int arr[ 2 ]={1,2};    //正确 int arr[ ...

随机推荐

  1. 4D时间管理

    时间管理的4D原则   时间矩阵:每个人,每天要做的事情大致分为四类:一类:必须做的,不做会产生不良后果的二类:需要做的,为将来或者今后阶段做准备工作的三类:可以不做,但又不得不做的,例如通过简约形式 ...

  2. linux中用shell获取时间,日期

    linux中用shell获取昨天.明天或多天前的日期:在Linux中对man date -d 参数说的比较模糊,以下举例进一步说明:# -d, --date=STRING display time d ...

  3. sublime注释插件与javascript注释规范

    前言 代码中注释是不可少的,即使是自己写的代码,过了一段时间之后再重看,如果没有注释记录的话,可能会想不到当初是这样实现的,尤其是在业务逻辑比较复杂的项目,注释变得尤为重要.怎么优雅的写有用的注释呢? ...

  4. 定位absolute使内联支持宽高(块属性变为内联,内容默认撑开)margin auto 失效

    relative   没脱离文档流 absdute 完全脱离文档流 margin :auto 失效 相对整个文档偏离 相对父级定位 fixed 脱离文档流 与绝对定位特性一致 3.P标快不能包块级标签 ...

  5. android presentation

    对于双屏异显(lcd 和 hdmi 的双屏异显),android框架已经支持,但是底层接口功能还是要自己去实现,且需要底层驱动支持. 使用presentation 去画第二个display就好了. M ...

  6. 自己收集原生js-2014-2-15

    function testforbtn(event){ alert(window.EventUtil.getEventTarget(window.EventUtil.getEvent( event)) ...

  7. Redis_jedis高版本的JedisPoolConfig没有maxActive和maxWait

    dbcp的修改日志显示:change "maxActive" -> "maxTotal" and "maxWait" -> &q ...

  8. javascript 时间操作

    javascript时间函数 javascript提供了Date对象来进行时间和日期的计算.Date对象有多种构造函数: 1.dateObj=new Date() //当前时间 2.dateObj=n ...

  9. Jfinal验证码功能

    //验证码工具类 import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.B ...

  10. spark reduce类操作

    reduce类函数分析: ---------------------------------------------------------------------------- 待补全 ------ ...