学习目标
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; } |