002-IDE的使用与数据类型-C语言笔记
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语言笔记的更多相关文章
- R语言笔记
R语言笔记 学习R语言对我来说有好几个地方需要注意的,我觉得这样的经验也适用于学习其他的新的语言. 语言的目标 我理解语言的目标就是这个语言是用来做什么的,为什么样的任务服务的,也就是设计这个语言的动 ...
- Go 语言笔记
Go 语言笔记 基本概念 综述 Go 语言将静态语言的安全性和高效性与动态语言的易开发性进行有机结合,达到完美平衡. 设计者通过 goroutine 这种轻量级线程的概念来实现这个目标,然后通过 ch ...
- 014-预处理指令-C语言笔记
014-预处理指令-C语言笔记 学习目标 1.[掌握]枚举 2.[掌握]typedef关键字 3.[理解]预处理指令 4.[掌握]#define宏定义 5.[掌握]条件编译 6.[掌握]static与 ...
- 013-结构体-C语言笔记
013-结构体-C语言笔记 学习目录 1.[掌握]返回指针的函数 2.[掌握]指向函数的指针 3.[掌握]结构体的声明 4.[掌握]结构体与数组 5.[掌握]结构体与指针 6.[掌握]结构体的嵌套 7 ...
- 011-指针(上)-C语言笔记
011-指针(上)-C语言笔记 学习目标 1.[掌握]字符串常用函数 2.[掌握]指针变量的声明 3.[掌握]指针变量的初始化 4.[掌握]函数与指针 5.[掌握]指针的数据类型 6.[掌握]多级指针 ...
- 010-字符串-C语言笔记
010-字符串-C语言笔记 学习目标 1.[掌握]二维数组的声明和初始化 2.[掌握]遍历二维数组 3.[掌握]二维数组在内存中的存储 4.[掌握]二维数组与函数 5.[掌握]字符串 一.二维数组的声 ...
- 009-数组-C语言笔记
009-数组-C语言笔记 学习目标 1.[掌握]数组的声明 2.[掌握]数组元素的赋值和调用 3.[掌握]数组的初始化 4.[掌握]数组的遍历 5.[掌握]数组在内存中的存储 6.[掌握]数组长度计算 ...
- 003-scanf函数使用和表达式-C语言笔记
003-scanf函数使用和表达式-C语言笔记 学习目标 1.[掌握]输入函数scanf的基本使用方法 2.[掌握]输入函数scanf运行原理和缓冲区理解 3.[掌握]算术运算符和算术表达式的使用 4 ...
- R语言笔记4--可视化
接R语言笔记3--实例1 R语言中的可视化函数分为两大类,探索性可视化(陌生数据集,不了解,需要探索里面的信息:偏重于快速,方便的工具)和解释性可视化(完全了解数据集,里面的故事需要讲解别人:偏重全面 ...
随机推荐
- MyBatis框架——快速入门
主流的ORM框架(帮助开发者实现数据持久化工作的框架): 1.MyBatis: 半自动化ORM框架,半自动:指框架只完成一部分功能,剩下的工作仍需开发者手动完成. MyBatis 框架没有实现 POJ ...
- NFS作为根文件系统,挂载超时
NFS服务器配置正确后,使用ramfs,通过mount能够正常挂载NFS,但是作为ROOTFS无法正常挂载,显示超时. 经查看log,RPC报错-120. 分析结果: 在Ubuntu1804上,nfs ...
- 从零开始学习R语言(二)——数据结构之“因素(Factor)”
本文首发于知乎专栏:https://zhuanlan.zhihu.com/p/60101041 也同步更新于我的个人博客:https://www.cnblogs.com/nickwu/p/125370 ...
- css3笔记系列-3.css中的各种选择器详解,不看后悔系列
点击上方蓝色字体,关注我 最详细的css3选择器解析 选择器是什么? 比较官方的解释:在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素. 最常见的 CSS 选择器是元素选择器.换句话说 ...
- 2020 python web开发就业要求锦集
郑州 Python程序员 河南三融云合信息技术有限公司 6-8k·12薪 7个工作日内反馈 郑州 1个月前 本科及以上2年以上语言不限年龄不限 微信扫码分享 收藏 Python程序员 河南三融云合信息 ...
- 1.如何运行一个Vue项目
如何运行一个Vue项目 需要的环境: node.js环境(npm包管理器) vue-cli 脚手架构建工具 cnpm npm的淘宝镜像 1. 安装node.js 从node.js官网下载并安装node ...
- CVE-2020-7961 Liferay Portal 复现分析
漏洞说明: Liferay是一个开源的Portal(认证)产品,提供对多个独立系统的内容集成,为企业信息.流程等的整合提供了一套完整的解决方案,和其他商业产品相比,Liferay有着很多优良的特性,而 ...
- A. Remainder Codeforces Round #560 (Div. 3)
A. Remainder Codeforces Round #560 (Div. 3) You are given a huge decimal number consisting of nn dig ...
- 我是如何从通信转到Java软件开发工程师的?
我的读者里面有绝大部分都是在校学生,有本科的,也有专科的,我在微信里收到很多读者的提问,大部分问题都跟如何学习编程有关,有换专业自学的.有迷茫不知道如何学习的.有报培训班没啥效果的等等,我能感受到他们 ...
- Mysql数据库下载以及安装(至安装成功cmd可访问)
主要整理了一下Mysql安装的过程 安装的具体步骤见: https://blog.csdn.net/weixin_43465312/article/details/89897580?ops_reque ...