A. Mac的基本使用
一、基本快捷操作
1、输入法切换:command+space
7、浏览器中跳转到地址栏:Command+L;Command+D是添加书签
8、向后删除字符:fn+delete
9、浏览器刷新页面:Command+R
二、触控板
主要有两种操作:点按和滑动。点按包括单指点按/双指点按/三指点按,滑动包括单指滑动/双指滑动/三指滑动/四指滑动/两指缩放/四指缩放
1、移动鼠标:使用单指在触控板上滑动来移动鼠标。
2、滚动窗口内容:两个手指在触控板上滑动即可实现滚动。
3、拖动:三指滑动。
4、缩放:两只缩放,类似手机的两个手指的缩放功能。
5、鼠标右键单击:两个手指点按。
6、查看所有正在运行的程序;四指向上滚动。
7、浏览器中的前进后退:两个手指左右滑动
8、显示所有程序:使用拇指和另外三个手指提拢。
9、显示桌面:张开拇指和另外三个手指。
10、旋转:使用两个手指旋转
三、终端的指令
1、查看当前文件夹:pwd
2、改变目录,可以是绝对路径,也可以相对路径:cd 路径
3、列出当前路径下的所有内容,不换行的:ls
4、详细列出当前路径下的文件和一些属性,每个文件一行:ls -l
5、显示当前的用户名:who
6、新建文件夹:mkdir 文件名
7、新建文件,建立的文件后缀是什么建立的就是什么类型的文件:touch 文件名.
8、打开一个文件/文件夹:open 文件名.
9、返回上一个指令:↑
10、清屏:clear
11、编译文件生成一个.o目标文件:cc –c 文件名.c
12、链接文件生成一个Unix可执行文件:cc 文件名.o
13、直接生成一个Unix可执行文件,连续执行了编译和链接操作:cc 文件名.c
14、生成一个确定文件名的可执行文件,后边的文件名即是:cc 文件名.c –o 文件名
B、C语言基础语法
一、关键字
关键字:是C语言提供的有特殊含义的符号,共32个。例:int,char,double,struct,enum 等
1、全部都是小写
2、默认再Xcode中显示紫褐色
二、标识符
标识符:是在程序中自定义的符号和名称。
1、命名规则
a、只能由26个英文字母的大、小写,10个阿拉伯数字和下划线_组成。例:from#12是非法标识符
b、严格区分大小写。例:test与Test不是同一标识符
c、不能以数字开头。例:2ndObj是非法标识符
d、不可以使用关键字作为标识符。例:int是非法标识符
2、命名规范
a、起个有意义的名称。例:表示学生用student
b、多个单词用驼峰标识或用下划线_连接。例:goodStudent和good_student
三、注释
注释:在Xcode中默认是豆沙绿色
1、单行注释:// XXXXX
2、多行注释:/* XXXXXXX */
3、注释的作用
a、被注释的代码不会参与编译,不会编译到.o目标文件中去,注释中可以有中文
b、检查代码的作用,有写注释的好习惯,以后检查写过的代码不会看不懂,也方便交流
c、查找错误。例如注释某段代码后程序不报错了,说明被注释的代码中有错误
4、注释的嵌套
a、单行注释可以嵌套单行注释和多行注释
b、多行注释可以嵌套单行注释
c、多行注释不可嵌套多行注释
四、数据
数据分静态数据(永久性数据)和动态数据(临时性数据)。
数据大小1 KB = 1024 B,1 MB = 1024 KB,1 GB = 1024 MB,1 TB = 1024 GB,1 Byte = 8 bit(比特位)
1、C语言中数据类型
int 整型数据 在64位编译器中占据4个字节 例:100
char 字符型数据 占据1个字节 例:'a'
float 单精度浮点型数据 占据4个字节 例:1.20f
double 双精度浮点型数据 占据8个字节例:1.20
float数据类型后需要加”f” ,不加”f” 为double类型
2、常量:表示一些固定数据
a、整型常量 例:100,-12,
b、浮点型常量 例:float型 1.20f double型1.20
c、字符常量 例:'A' ,'$'
d、字符串常量 例:"A","6"
3、变量:只要有不确定的数据,就应该定义变量来表示,格式为:变量类型 变量名
定义变量需要类型:内存空间极其有限,必须要约束变量的存储空间,数据类型不同分配的存储空间大小也不同。
a、格式符
输出整型数据 %d
输出字符型数据 %c
输出浮点型数据 %f默认6位小数,可以%.2f来限制输出几(2)位小数
输出地址 %p
b、变量赋值:int i = 10;这里的=是C语言的赋值运算符。
(1)、可以重复赋值,每次赋值会覆盖掉原来的值。
(2)、第一次赋值可以称为初始化,没有初始化时不要拿来使用。
c、变量值的交换
(1)、用第三变量
#include <stdio.h>
int main()
{
int a=20,b=30,temp;
temp=a;
a=b;
b=temp;
printf("a=%d\nb=%d",a,b);
return 0;
}
(2)、不使用第三方变量
#include <stdio.h>
int main()
{
int a=20,b=30;
a=b-a;
b=b-a;
a=a+b;
printf("a=%d\nb=%d",a,b);
return 0;
}
c、变量注意:
(1)、作用域:从定义变量的那一行代码开始,一直到所在的代码块结束。
#include <stdio.h>
int main()
{
Int b=0;
// b=a;此处代码错误,未定义a,a只是在下方定义了,需在定义以后才能使用
int a=20;//若此处注释,代码块内未注释,则代码错误,最后的输出的变量a未定义
//代码块开始,代码块内定义的数据无法在代码块外存在
{
/* int a;若此处注释,则下方赋值给了代码块外的变量a ,输出的数值分别是50,50;若此处未注释,则下方赋值给了该变量a ,与代码块外的变量a无关,输出的数值分别是50,20*/
a=50;
printf("%d",a);
}
//代码块结束
printf("%d",a);
return 0;
}
代码块的作用:及时回收不再使用的变量,为了提高性能。
(2)、内存地址
- 内存地址由大到小,优先分配内存地址不较大的字节给变量
- 变量越先定义,内存地址就越大
- 取得变量地址方法:&变量名;
(3)、变量没有初始化直接拿来使用是不对的,一个变量一定要先进行初始化才能使用
五、scanf()函数
1、只接受变量的地址,是一个阻塞式的函数,等待用户输入,用户输入完毕后,就会将用户输入的值赋值给变量,函数调用完毕。
#include <stdio.h>
int main()
{
int a,b,sum;
printf("请输入第1个数");
scanf("%d",&a);
printf("请输入第2个数");
scanf("%d",&b);
sum=a+b;
printf("%d+%d=%d",a,b,sum);
return 0;
}
2、Scanf()用法和注意
a、scanf()一次性可以输入多个数据,并且以某些符号(如, # | *)隔开,用什么符号隔开的每个数据输入以后必须添加这个符号
b、如果scanf()参数是以空格隔开的,实际输入可以以空格、tab或回车作为分隔符。
C、scanf()第一个参数中不能存在\n,比如scanf(“%d\n”, &a); 这将导致scanf函数无法结束。