// 导入头文件(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. XIII Open Cup named after E.V. Pankratiev. GP of America

    A. Explosions 注意到将炸弹按坐标排序后,每个炸弹直接引爆和间接引爆的都是连续的一段区间,因此只需要求出每个炸弹能间接炸到的最左和最右的炸弹即可. 建立图论模型,炸弹$i$向炸弹$j$连单 ...

  2. Angular JS中的依赖注入

    依赖注入DI angularjs中与DI相关有angular.module().angular.injector(). $injector.$provide. DI 容器3要素:服务的注册.依赖关系的 ...

  3. 不刷新改变URL: pushState + Ajax

    如果你玩过Google+,看到过YouTube的新界面,便会体验到这个HTML5的新功能.使用pushState + Ajax(pjax),可以实现网页的ajax加载,同时又能完成URL的改变而没有网 ...

  4. Coder-Strike 2014 - Round 1 A. Poster

    主要就是先将梯子移动到最左边或者最右边 k>n/2时移动到最右边 k<=n/2时移动到最左边 然后遍历一遍 #include <iostream> #include <v ...

  5. ACM Longest Repeated Sequence

    Description You are given a sequence of integers, A = a1, a2, ... an. A consecutive subsequence of A ...

  6. lsof在运维中的应用

    场景一:文件系统使用率很高,但是找不到具体哪个文件占用了空间 原因:在unix系统中,如果有两个进程同时使用一个文件,如果其中一个进程删除了这个文件,但是这个文件此刻不会正真被释放,一直要等待引用它的 ...

  7. bug:[NSKeyedUnarchiver initForReadingWithData:]: data is NULL

    一,经历 1.问题出在给NSMutableDictionary类型的字典设置内容上. [_dictRateApp setObject:[NSNumber numberWithBool:NO] forK ...

  8. 再过几个月Apple Watch就要正式发布了

    本文由cocoaChina译者小组成员@TurtleFromMars 翻译自Appcoda,原作者:julian engel,原文:WatchKit Introduction: Building a ...

  9. GO语言练习:多返回值函数

    1.代码 2.运行 1.代码 package main import ( "fmt" "strconv" ) func getValue(n int) (flo ...

  10. Centos 安装 NodeJS

    准备命令: yum -y install gcc make gcc-c++ openssl-devel wget 下载源码及解压: wget http://nodejs.org/dist/v0.10. ...