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. 大数据软件安装之Flume(日志采集)

    一.安装地址 1) Flume官网地址 http://flume.apache.org/ 2)文档查看地址 http://flume.apache.org/FlumeUserGuide.html 3) ...

  2. [Docker7]Harbor

    harbor download harbor offline tar package wget https://github.com/vmware/harbor/releases/download/v ...

  3. 题解 P4302 【[SCOI2003]字符串折叠】

    讲讲我的做法 题目大意:对一个字符串进行折叠是它长度最小 看一眼数据范围:哇!字符串长度不超过100!这是一道省选题,不可能给你太宽裕的时限,所以,题目基本暗示你要用\(n^{3}\)多一些的算法复杂 ...

  4. SpringBoot2 + Druid + Mybatis 多数据源动态配置

    在大数据高并发的应用场景下,为了更快的响应用户请求,读写分离是比较常见的应对方案.读写分离会使用多数据源的使用.下面记录如何搭建SpringBoot2 + Druid + Mybatis  多数据源配 ...

  5. HTTP 错误 500.21 模块 IIS Web Core

    如果出现如下图错误 就是iis没有安装Web Core模块 下载并安装DotNetCore.1.0.4_1.1.1-WindowsHosting.exe 安装完成之后会出现如下 证明安装成功.网站也可 ...

  6. [暴力+前缀和]2019牛客暑期多校训练营(第六场)Upgrading Technology

    链接:https://ac.nowcoder.com/acm/contest/886/J来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言52428 ...

  7. 一文看懂NLP神经网络发展历史中最重要的8个里程碑!

    导读:这篇文章中作者尝试将 15 年的自然语言处理技术发展史浓缩为 8 个高度相关的里程碑事件,不过它有些偏向于选择与当前比较流行的神经网络技术相关的方向.我们需要关注的是,本文中介绍的许多神经网络模 ...

  8. FastText的内部机制

    文章来源:https://towardsdatascience.com/fasttext-under-the-hood-11efc57b2b3 译者 | Revolver fasttext是一个被用于 ...

  9. [AI开发]一个例子说明机器学习和深度学习的关系

    深度学习现在这么火热,大部分人都会有‘那么它与机器学习有什么关系?’这样的疑问,网上比较它们的文章也比较多,如果有机器学习相关经验,或者做过类似数据分析.挖掘之类的人看完那些文章可能很容易理解,无非就 ...

  10. CodeForces - 1244E

    题意:给n个数,可以有k次的 + 1或 - 1,在k次操作之内,让n个数的最大值和最小值差最小. 思路:要让max和min的差值最小,也就等同于min--,max++,如果k==0结束操作,或者min ...