Mac系统使用基础,C基础:32个关键字、标识符、注释

1、开发环境

文件预览: 选择文件+空格

安装包格式:dmg / pkg / iso

软件推荐: 搜狗输入法、paragon_NTFS、MplayerX、office、cleanMyMac

根路径: /

终端命令: touch +文件创建文件

open+文件/文件夹打开文件/文件夹

open+./打开当前路径

编译C程序代码:使用的是clang编译器;指令是:cc -c 文件名.c

2、关键字

C语言中32个关键字:

auto : 声明自动变量 一般不使用

double :声明双精度变量或函数

int: 声明整型变量或函数

struct: 声明结构体变量或函数 break:跳出当前循环

else : 条件语句否定分支(与 if 连用)

long : 声明长整型变量或函数

switch : 用于开关语句

case: 开关语句分支

enum : 声明枚举类型

register:声明积存器变量

typedef:用以给数据类型取别名(当然还有其他作用)

char : 声明字符型变量或函数

extern: 声明变量是在其他文件正声明(也可以看做是引用变量)

return :子程序返回语句(可以带参数,也看不带参数)

union: 声明联合数据类型

const :声明只读变量

float: 声明浮点型变量或函数

short : 声明短整型变量或函数

unsigned:声明无符号类型变量或函数
continue:结束当前循环,开始下一轮循环

for: 一种循环语句(可意会不可言传)

signed:生命有符号类型变量或函数

void : 声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)

default:开关语句中的“其他”分支

goto: 无条件跳转语句

sizeof: 计算数据类型长度

volatile:说明变量在程序执行中可被隐含地改变

do : 循环语句的循环体

while : 循环语句的循环条件

static : 声明静态变量

if: 条件语句

3、标识符

标识符就是在程序中自定义的一些符号和名称。

1> 命名规则(一定要遵守)

l 只能由26个英文字母的大小写、10个阿拉伯数字0~9、下划线_组成

l 严格区分大小写,比如test和Test是2个不同的标识符

l 不能以数字开头

l 不可以使用关键字作为标识符

2> 命名规范(最好遵守)

l 尽量起个有意义的名称。

l 如果标识符中含有多个单词,可以使用驼峰标识(除开第一个单词,后面每个单词的首字母都是大写):firstName、myFirstName,或者使用下划线_来连接:first_name、my_first_name

4、注释

1> 被注释的代码不会参与编译, 当编译程序的时候,并不会将注释编译到.o目标文件中

2> 检查代码的作用

3> 排除错误

C数据类型、占位符、数据类型占字节数、交换变量、内存寻址

1、C数据类型

2、占位符

%d 整型输出,%ld长整型输出,

%o 以八进制数形式输出整数,

%x 以十六进制数形式输出整数,

%u 以十进制数输出unsigned型数据(无符号数)。

%c 用来输出一个字符,

%s 用来输出一个字符串,

%f 用来输出实数,以小数形式输出,

%e 以指数形式输出实数,

%g 根据大小自动选f格式或e格式,且不输出无意义的零。

代码块: 可以用来提高性能(它能够被系统及时回收)
3、数据类型占字节数(64位编译器)

char :
1个字节
char*(即指针变量):
8个字节
short int : 2个字节
int:
4个字节
unsigned int : 4个字节
float:
4个字节
double: 8个字节
long: 8个字节
long long:
8个字节
unsigned long:
8个字节

4、交换变量的另一种做法:

a = b – a;

b = b – a;

a = b + a;

0X代表十六进制;

5、内存寻址:

由大到小,变量先定义,内存地址就越大。

 

C语言中的9种控制语句、34种运算符 、Mac显示隐藏文件

1、C语言中的9种控制语句

1、if( )~else~            (条件语句)

2、for()~            (循环语句)

3、while()~         (循环语句)

4、do~while()     (循环语句)
5、continue              (结束本次循环语句)
6、break                    (终止执行switch或循环语句)

7、switch                  (多分支选择语句)

8、goto                      (转向语句)
9、return                   (从函数返回语句)

2、C语言中的34种运算符

( ) 01.圆括号

[ ] 02.下标运算符
—> 03.指针型结构体成员运算符
.  04.结构体成员运算符 (圆点运算符)

!  05.逻辑非运算符
~  06.按位取反运算符(位非)

++ 07.自增运算符

– – 08.自减运算符
–  09.负号运算符(取负)

(类型) 10.类型转换运算符

*  11.指针运算符(取内容)

&  12.取地址运算符
sizeof 13.长度运算符(求字节)

*  14.乘法运算符

/  15.除法运算符

% 16.求余运算符

+  17.加法运算符

–  18.减法运算符

<< 19.左移运算符

>> 20.右移运算符

<  21.小于

<= 22.小于等于
>  23.大于

>= 24.大于等于

== 25.等于运算符

!= 26.不等于运算符

&  27.按位与运算符

^  28.按位异或运算符

|  29.按位或运算符
&& 30.逻辑与运算符(与)

| | 31.逻辑或运算符(或)

? : 32.条件运算符
= 33.赋值运算符 另有10个扩展符+=,-=,*=,/=,%=,>>=,<<=,&=,^=,|=

,  34.逗号运算符

三目运算符:条件?数值1 : 数值2

switch语句:如果case后面没有break,就会执行后面的所有case中的语句,直到遇到break为止。

while语句:continue 跳至下一次循环。

函数 若没有定义返回类型,默认返回int类型;所以可以不写返回类型。

声明函数 位置可以随便写,只要在调用它之前就行;参数名可以省略。

Mac显示隐藏文件(终端命令):defaults write com,apple.finder AppleShowAllFiles YES

链接:把所有.o目标文件、C语言函数库合并在一起,生成可执行文件。

#include<stdio.h>  #include”文件”

printf返回值为int类型,也就是字符串的长度(字符数)

\t tab键

\“ 双引号

 

进制、内存分析

二进制:0b1100或0B1100

八进制:014

十六进制:0xc或0XC

&d &i 十进制

%o 八进制

%p 地址

%x 十六进制

一个int,占4个字节,32bit(位) 存储在内存中地址是由大到小。

aeb = a * 10的b次方

二进制0b1100 == 0*2^0+0*2^1+1*2^2+1*2^3;

n位二进制的取值范围:0~~2^n-1

内存是字节为单位,每个字节都有相应的地址;

二进制最高位是0为正数,1为负数;

char 1个字节 -2^7~~2^7-1

int 4个字节 -2^31~~2^31-1

类型说明符

long 8个字节  %ld == long int 例如:lang a = 102123L

long long 8个字节 %lld(32位编译器)

short 2个字节

signed(有符号)

unsigned(无符号)区别是:最高位是否表示符号

long+unsigned

位运算(效率高)

按位与 &

按位或 |

按位异或 ^ :(1)相同数值异或 结果为0 如:9^9==0

(2)位置交换 9^5^6==9^6^5

(3)任何数与0异或,结果还是原来的数  a^b^a==b;

按位取反 ~

左移 << :二进制往左移动n位,高位舍弃,低位补0; 9<<n——>9*2的n次方

右移 >> :二进制除符号位外向右移n位,最高位用符号位补,低位舍弃; 8>>n——>8/2的n次方

用位与&运算符,判断变量的奇偶性

a&1==0 //偶数

a&1==1 //奇数