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函数。

#include <stdio.h>

int test(){
//这行代码不会被打印
printf("这里是代码0\n");
return 0;
}

//main函数是C程序的入口
int main() {
printf("这里是代码1\n");
printf("这里是代码2\n");
printf("这里是代码3\n");
return 0;
}

int test1(){
//这行代码也不会被打印
printf("这里是代码4\n");
return 0;
}

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;

}

五、变量的声明和赋值

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

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

int a;

1

inta;

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

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

1

2

inta;

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

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

变量重复赋值

#include <stdio.h>

int main() {
int a; //声明一个int类型的变量,变量名为a
a = 10; //给变量a赋值10
a = 20; //重新给a赋值20
// b = 10; //这是错误的,没有声明变量b
return 0;
}

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.使用前缀加_的方式命名一些功能差不多的变量。

#include <stdio.h>

int main() {
//定义一个int类型的变量,用来存储我的年龄,并赋值20
int myAge = 20;

//这种写法是极度不规范的,新人应该避免
int a = 20;

return 0;
}

1

2

3

4

5

6

7

8

9

10

11

#include <stdio.h>

intmain(){

//定义一个int类型的变量,用来存储我的年龄,并赋值20

intmyAge=20;

//这种写法是极度不规范的,新人应该避免

inta=20;

return0;

}

七、注释

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

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

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

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

#include <stdio.h>

int main() {

//这里是单行注释
int myAge = 20;

/*
这里是多行注释
printf("来吧,注释我吧!\n");
printf("来吧,注释我吧!\n");
printf("来吧,注释我吧!\n");
printf("来吧,注释我吧!\n");
*/

return 0;
}

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个整数,表示输出的数据占多少位,包括小数点。

#include <stdio.h>

int main(int argc, const char * argv[]){
float f1 = 11.111111111111f;
float f2 = 11.11111f;
float f3 = f1 + f2;
printf("f1 = %.10f\n",f1);//表示输出小数点后10位,不过float类型的有效位数就只有7位
return 0;
}

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的。

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

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类型。

#include <stdio.h>

int main(){
int age = 10;//int类型变量

float height = 1.8f;//float类型数值后要加个f

double money = 1000.22;//默认实数就是double类型

char ch = ‘a‘;//注意char类型只能存一个字符,一个汉字是3个字符,所以不能用char类型变量存储

return 0;
}

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;

}

时间: 2024-10-21 17:14:27

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

C语言笔记(谭版 第六章~末)

第六章       利用数组批量处理数据 数组是一组有序数据的集合,数组中的每一个元素都属于同一数据类型. 算是一种数据的组织结构.初现结构端倪. 一维数组 定义: 类型符 数组名[常量表达式]  数组名命名遵行标示符命名规则 C语言中不允许对数组的大小作动态定义. 说明:如果在被调用函数中定义数组,其长度可以是变量或非常量表达式.实参.此情况称为可变长数组.若数组指定为静态存储方式,此方式不合法. 引用: 数组名[下标] 下标是常量或常量表达式   序号从0开始计起. 初始化:初始化列表  i

C语言笔记1--类型、运算符与表达式

 C语言笔记1--类型.运算符与表达式 总论: 变量和常量是程序处理的两种基本的数据对象.声明语句说明变量的名字和类型,也可以指定变量的初值.运算符指定将要进行的操作.表达式则把变量与常量组合起来生成新的值.对象的类型决定该对象可取值的集合以及可以对该对象执行的操作. 一.变量与常量的名字 1.名字是由字母.下划线和数字组成的序列,其第一个字符必须为字母:下划线"_"被看做是字母,但一般不要以下划线"_"开头. 2.名字区分字母大小写,变量名使用小写字母.符号常量

C语言笔记

C语言笔记 基础知识 数据类型 序号 类型与描述 1 基本类型: 它们是算术类型,包括:整数类型.浮点类型 2 枚举类型: 也是算术类型,被用来定义只能使用某些整型值的变量,使用时需要程序员先使用eumn关键字来声明定义 3 Void类型: 用于函数,指明函数的返回值或参数.作用于变量会发生编译错误 4 派生类型: 包括:指针类型.数组类型.结构类型.联合体类型.函数类型 补充:1.函数类型是指函数返回值的类型,数组类型与结构类型统称为聚会类型. 2.除了基本类型,其他的类型都是程序员使用相关关

C++语言笔记系列之十八——虚函数(1)

1.C++中的多态 (1)多态性:同一个函数的调用可以进行不同的操作,函数重载是实现多态的一种手段. (2)联编:在编译阶段进行联接,即是在编译阶段将一个函数的调用点和函数的定义点联接起来. A.静态联编:在编译阶段就完成的函数联编--函数重载. B.动态联编:在程序的运行阶段由系统自动选择具体的函数--虚函数. 注:C++的多态主要指的就是动态联编. 2.虚函数 (1)虚函数是在函数的定义时将其声明为虚函数即可. (2)说明:virtual 数据类型 函数名(参数表) {函数体} A.目的:当

C++语言笔记系列之十——静态成员

1.静态成员 (1)由关键字static修饰 静态变量定义语句在编译阶段就执行,运行过程中不再执行. (2)分类:静态数据成员.静态成员函数. (3)静态成员时类的所有对象共享的成员,而不是某一个对象的成员. 2.静态成员的使用 (1)在定义说明前加上static关键字.例如: static int x: (2)静态数据成员必须进行初始化,并且初始化必须在类外完成. (3)静态数据成员的初始化 数据类型 类名::静态数据成员名 = 值://注意这里没有static出现 (4)绝对不能使用对象名来

C++语言笔记系列之十二——C++的继承

C++的继承 1.继承方式 public(公有继承) 派生类中的成员可以访问基类的public成员和protected成员,但不能访问基类的private成员. 派生类的对象只能访问基类的public成员. protected(保护继承),private(私有继承) 派生类中的成员可以访问基类的public成员和protected成员,但不能访问基类的private成员. 派生类的对象不能访问基类的任何成员. 2.例子 example 1: #include <iostream.h> clas

C++语言笔记系列之十六——赋值兼容规则&amp;多继承的二义性

1.赋值兼容规则 (1)派生类对象可以给基类对象赋值,这种情况下派生类对象将从基类继承的成员的值赋值给一个基类对象:但是不允许将一个基类的对象赋值给一个派生类. (2)可以将派生类对象的地址赋给基类指针,使基类指针指向派生类对象,通过基类指针引用成员时只可以引用派生类从基类继承而来的成员,而不允许引用派生类的新成员. (3)引用与指针相同. 2.多继承 (1)一个派生类从两个以上的基类中去继承. (2)说明: class 派生类名:继承方式 基类1, 继承方式 基类2,...... {派生类成员

C++语言笔记系列之十七——虚基类

1.虚基类 考虑这样一种情况:当某个类的部分或者全部直接基类是另一个共同基类派生而来,这些直接基类从上一级基类继承而来的成员就一定拥有相同的名称,这样就会产生二义性问题. 解决办法:当派生类和直接基类产生了二义性问题-->加类的作用域. 当派生类和间接基类产生了二义性问题-->虚基类. 2.虚基类的说明: class 派生类名:virtual 访问权限 基类名 {派生类定义}; 注意:在定义派生类时将需要继承的基类进行虚化声明,虚基类的说明在派生类的定义中完成. 作用:将基类说明为虚基类之后,

C++语言笔记系列之十三——派生类构造函数的调用

1.派生类构造函数的调用 (1)一个基类的所有数据成员均被派生类继承.创建一个派生类对象时,系统在为派生类对象分配单元时一定要为其基类数据成员分配子空间. (2)一个派生类对象在创建时不仅要调用派生类构造函数,而且要调用基类构造函数. 派生类中的数据成员在派生类中构造. 基类中的数据成员在基类中构造. 原因: A.构造函数不继承. B.派生类的构造函数必须通过调用基类的构造函数完成基类数据成员的初始化. C.若派生类中含有子对象,必须调用子对象的构造函数. 2.派生类的构造函数 派生类名(总参数