002-IDE的使用与数据类型-C语言笔记

学习目标

1.【了解】IDE并熟悉Xcode基本使用技巧

2.【理解】C程序的入口和运行流程

3.【理解】变量的声明赋值和一些细节

4.【理解】变量的命名规范

5.【掌握】注释的介绍和使用

6.【掌握】printf函数的使用注意和细节

7.【掌握】基本数据类型

一、认识IDE和Xcode

IDE就是集成开发环境的简称。集成开发环境就是集成了开发软件需要的环境、开发工具、插件等等各种功能的一个软件。Xcode是苹果公司推出的一款专门开发OS X和iOS系统上的软件的集成开发工具。

Xcode常用功能

1.一键编译、连接、运行,再也不用苦逼的去执行cc命令来手动的编译、链接、运行了。

2.自动语法检查,在Xcode中写代码的时候,Xcode会实时检查我们写的代码是否符合语法规范,如果不符合会以红色的叹号标注,当我们单击叹号的时候还会显示错误的原因和建议的修改方式。

3.代码智能提示,我们只需要敲出单词的前几个字母,Xcode会自动提示剩余的内容。

4.关键字高亮,在代码中代表不同功能的单词以不同的颜色显示,一目了然。

5.代码自动缩进,使我们的代码看起来更加有层次感。

6.代码调试,99%的Bug我们都可以通过调试找到。

7.功能强大的团队开发功能

。。。。。等等

二、Xcode的安装

第一种方式: 使用OS X系统的AppStore 搜索Xcode 点击下载安装,这样将自动在你的系统上。

第二种方式:直接在网上搜索下载.dmg格式的安装包安装即可。

无论是采用哪种方式安装,当安装成功后,你都可以在Applications目录中找到已经安装好的Xcode程序并打开。

三、使用Xcode快速开发C程序

点击Create a new Xcode project  -》 Application -》 Command Line Tool

在弹出来的窗口中,设置项目的一些必要信息

当项目的必要信息设置完成以后,点击Next按钮进入下一步操作。这个时候会让你选择项目存储的路径。

选择你希望存储项目的路径后,点击Create按钮创建项目.,你就可以看到 Xcode的工作界面。

其他Xcode使用介绍就不多说了,本博客Xcode教程栏目有更多更详细的使用教程

四、C程序的入口和运行流程

程序执行流程:不是从上到下依次执行所有代码,而是先找到main函数,然后依次执行main函数中的代码,直到遇到return结束main函数。

注意:C程序的入口是main函数,一个完整的C程序想要被执行,有且只能有一个main函数。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
 
inttest(){
    //这行代码不会被打印
    printf("这里是代码0\n");
    return0;
}
 
//main函数是C程序的入口
intmain(){
    printf("这里是代码1\n");
    printf("这里是代码2\n");
    printf("这里是代码3\n");
    return0;
}
 
inttest1(){
    //这行代码也不会被打印
    printf("这里是代码4\n");
    return0;
}

五、变量的声明和赋值

变量就是可变化的量!第一次给变量赋值叫变量的初始化,后面再重新为变量赋值,就会覆盖掉原先的值。

声明一个变量,就是在内存中申请一块字节空间,并给空间取个别名,这个别名就叫变量名

 
1
inta;

给变量赋值,就是储存数据到变量中

 
1
2
inta;
a=10;//为int类型的变量a赋值10

注意:每条语句末尾都要加半角分号,也就是英文状态下的分号,并且如果要为变量赋值,必须先声明变量才能为变量赋值。

变量重复赋值

 
1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
intmain(){
    inta;  //声明一个int类型的变量,变量名为a
    a=10;//给变量a赋值10
    a=20;//重新给a赋值20
//    b = 10; //这是错误的,没有声明变量b
    return0;
}

六、变量的命名规范

变量名命名规则:

1.只能使用字母、数字、下划线、美元符号为变量命名,不能使用其他字符。

2.不能以数字开头。

3.不能和C语言关键字同名。

4.要遵守命名规范。

命名规范:

1.做到见名知意,就是看到变量名就能大概猜出这个变量是有什么用。

2.使用驼峰命名法,就是多个单词就第一个首字母小写,其他首字母大写的命名方法。

3.使用前缀加_的方式命名一些功能差不多的变量。

 
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
intmain(){
    //定义一个int类型的变量,用来存储我的年龄,并赋值20
    intmyAge=20;
 
    //这种写法是极度不规范的,新人应该避免
    inta=20;
    
    return0;
}

七、注释

注释就是对代码的解释说明或者调试程序让代码不起作用,并且注释不会被编译器编译。一般注释分为单行注释和多行注释。

单行注释:// 就是两个斜杠

多行注释:/* 注释内容 */

快速注释多行代码:选中要注释的代码按快捷键 command + r ,就可以快速注释选中的多行代码,再次执行的话会去掉注释。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
intmain(){
    
    //这里是单行注释
    intmyAge=20;
    
    /*
    这里是多行注释
    printf("来吧,注释我吧!\n");
    printf("来吧,注释我吧!\n");
    printf("来吧,注释我吧!\n");
    printf("来吧,注释我吧!\n");
    */
    
    return0;
}

八、printf函数的使用注意

作用:向控制台输出信息。

语法:printf("格式控制字符串",变量列表);

常用占位符

%d  输出int类型变量的值

%f  输出float类型变量的值

%lf  输出double类型变量的值

%c  输出char类型变量的值

printf函数高级用法

%md:m是1个整数,表示输出的数据占多少位。如果m大于实际的位数,不足的位数就以空格补齐。如果m小于或者等于实际的位数,那么就实际有多少为就输出多少位。m如果是正数就在左边补空格,如果m是负数就在右边补空格。

%0md:和上面一样,只不过不足的位数以0补齐。

%f、%lf:输出小数点后面的6为小数。

%.nf、%.nlf:n是1个整数,表示输出小数点后面多少位。

%m.nf 、%m.nlf:m是1个整数,表示输出的数据占多少位,包括小数点。

 
1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
intmain(intargc,constchar*argv[]){
    floatf1=11.111111111111f;
    floatf2=11.11111f;
    floatf3=f1+f2;
    printf("f1 = %.10f\n",f1);//表示输出小数点后10位,不过float类型的有效位数就只有7位
    return0;
}

九、基本数据类型

不同数据类型在不同编译器下所占的字节空间不同,我们现在用的OS X都是64位的操作系统,所以编译器也是64位的。

C语言中的基本数据类型就4个,char、int、float、double。其他书上写的short和long也当做基本数据类型,其实他们都是修饰符,用于修饰int和double的。

 
1
shortintnum=10;//这里是定义了一个被short修饰的int类型的变量num。其他同理

注意:

1.char类型是最小的数据类型单位,在任何类型的编译器下都是占用1个字节,char类型的变量赋值可以直接赋值等于某个字符也可以赋值为整数(对应的ASCII值)

2.可以使用两个long来修饰一个整形(就是经常使用的8字节的整形long long),但是两个long不能修饰double而且也不存在两个short,否则编译警告

3.一个浮点型常量如果后面加上f编译器认为它是float类型,否则认为double类型,例如10.0是double类型,10.0f是float类型。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
intmain(){
    intage=10;//int类型变量
    
    floatheight=1.8f;//float类型数值后要加个f
    
    doublemoney=1000.22;//默认实数就是double类型
    
    charch='a';//注意char类型只能存一个字符,一个汉字是3个字符,所以不能用char类型变量存储
    
    return0;
}

002-IDE的使用与数据类型-C语言笔记的更多相关文章

  1. R语言笔记

    R语言笔记 学习R语言对我来说有好几个地方需要注意的,我觉得这样的经验也适用于学习其他的新的语言. 语言的目标 我理解语言的目标就是这个语言是用来做什么的,为什么样的任务服务的,也就是设计这个语言的动 ...

  2. Go 语言笔记

    Go 语言笔记 基本概念 综述 Go 语言将静态语言的安全性和高效性与动态语言的易开发性进行有机结合,达到完美平衡. 设计者通过 goroutine 这种轻量级线程的概念来实现这个目标,然后通过 ch ...

  3. 014-预处理指令-C语言笔记

    014-预处理指令-C语言笔记 学习目标 1.[掌握]枚举 2.[掌握]typedef关键字 3.[理解]预处理指令 4.[掌握]#define宏定义 5.[掌握]条件编译 6.[掌握]static与 ...

  4. 013-结构体-C语言笔记

    013-结构体-C语言笔记 学习目录 1.[掌握]返回指针的函数 2.[掌握]指向函数的指针 3.[掌握]结构体的声明 4.[掌握]结构体与数组 5.[掌握]结构体与指针 6.[掌握]结构体的嵌套 7 ...

  5. 011-指针(上)-C语言笔记

    011-指针(上)-C语言笔记 学习目标 1.[掌握]字符串常用函数 2.[掌握]指针变量的声明 3.[掌握]指针变量的初始化 4.[掌握]函数与指针 5.[掌握]指针的数据类型 6.[掌握]多级指针 ...

  6. 010-字符串-C语言笔记

    010-字符串-C语言笔记 学习目标 1.[掌握]二维数组的声明和初始化 2.[掌握]遍历二维数组 3.[掌握]二维数组在内存中的存储 4.[掌握]二维数组与函数 5.[掌握]字符串 一.二维数组的声 ...

  7. 009-数组-C语言笔记

    009-数组-C语言笔记 学习目标 1.[掌握]数组的声明 2.[掌握]数组元素的赋值和调用 3.[掌握]数组的初始化 4.[掌握]数组的遍历 5.[掌握]数组在内存中的存储 6.[掌握]数组长度计算 ...

  8. 003-scanf函数使用和表达式-C语言笔记

    003-scanf函数使用和表达式-C语言笔记 学习目标 1.[掌握]输入函数scanf的基本使用方法 2.[掌握]输入函数scanf运行原理和缓冲区理解 3.[掌握]算术运算符和算术表达式的使用 4 ...

  9. R语言笔记4--可视化

    接R语言笔记3--实例1 R语言中的可视化函数分为两大类,探索性可视化(陌生数据集,不了解,需要探索里面的信息:偏重于快速,方便的工具)和解释性可视化(完全了解数据集,里面的故事需要讲解别人:偏重全面 ...

随机推荐

  1. vue使用lodop打印控件实现浏览器兼容打印

    前言 此控件直接进行打印底部会有水印,通过官网购买可以解决: 如不想购买,可先执行预览,弹出预览框进行打印: 需要用到的js文件和api文档附后,请注意查看. 首先需要在局部或全局引入LodopFun ...

  2. 二维数组及Arrays工具类

    1.二维数组 概念: 数组中的每一个元素类型都是一维数组 二维数组初始化方式: 静态初始化: 格式: 元素类型[][] 数组名 = new 元素类型[][]{{一维数组1},{一维数组2},{一维数组 ...

  3. GitLab → 搭建私有的版本控制的托管服务平台

    开心一刻 睡着正香,媳妇用力把我晃醒说:“快起来,我爸来了.” 我一下醒了,手脚熟练的把衣服一抱,滚到床底,顺便把鞋也收了进去 媳妇蹲下无奈的说:“快出来!咱俩都结婚半年了.” 我:“对哦,搞习惯了” ...

  4. Java流中的map算子和flatMap算子的区别

    map算子和flatMap算子 map和flatMap都是映射(转换),那么他们之间究竟有什么区别呢? 1.我们先简单了解下map算子: @org.junit.Test public void tes ...

  5. 使用 PyTorch 进行 风格迁移(Neural-Transfer)

    1.简介 本教程主要讲解如何实现由 Leon A. Gatys,Alexander S. Ecker和Matthias Bethge提出的Neural-Style 算法.Neural-Style 或者 ...

  6. 关于TensorFlow九件你非知不可的事

    来源 | Hackernoon 译者 | Revolver 前些天我参加了7 月24 日在美国旧金山举行的Google Cloud Next 2018 大会,其中的一个演讲( What's New w ...

  7. 不可思议的hexo,五分钟教你免费搭一个高逼格技术博客

    引言 作为程序员拥有一个属于自己的个人技术博客,绝对是百利无一害的事,不仅方便出门装b,面试时亮出博客地址也会让面试官对你的好感度倍增.经常能在很多大佬的技术文章的文末,看到这样一句话: " ...

  8. windows使用的奇淫技巧

    找回刚才打开的网页 记事本 特殊符号输入 窗口变化为1/2,1/4 批量重命名 复制文件路径 万能命令

  9. 使用 nodejs 对文件进行批量重命名

    0. 前言 从B站下载了一点视频,硕鼠自动将标题添加到了每个文件名的前面,导致文件名过长,不方面查看文件的具体内容. 虽然只有二十几个文件,但是手动删除前缀还是个不小的工作量,还有可能删除错误.考虑到 ...

  10. ES6 class 类的理解(一)

    优点 ES6 的类提供了几点明显的好处: 兼容当前大量的代码. 相对于构造器和构造器继承,类使初学者更容易入门. 子类化在语言层面支持. 可以子类化内置的构造器. 不再需要继承库:框架之间的代码变得更 ...