Clion与C语言
Clion快捷键Mac OS
Ctrl+A
回到本行行首
Ctrl+E
回到本行行尾
Ctrl+P
回到上一行末尾
Ctrl+n
回到下一行末尾
Ctrl+m
回到所在范围的括号前面,回到所在范围的括号后面
Ctrl+D
执行代码
Ctrl+R
执行代码
*Ctrl+F
下一个字符
*Ctrl+B
上一个字符
Ctrl+G
可以从当前位置开始查找同样字符
*Ctrl+K
从当前光标位置删除后面所有字符
Ctrl+C
复制光标所在单行内容
C语言基础知识
数据表示
字符型常量
字符常量是用单引号’‘括起来的一个字符,如’a’;
C语言中,字符是按照其字符所对应的ASCII码值来存储的,一个字符占一个字节,ASCII码值共有0~255个,256个值,注意空格也是一个字符.
举例:
char a = ' ';
printf("the space value is %d\n", a);
我们把空格字符‘ ’存在声明的变量a中,以整形格式输出,得到的输出结果是ASCII码值空格字符对应的数值32,二进制表示为:00100000,占一个字符长度.
特殊的字符型常量
C语言中有一类特殊的字符常量,他们表示控制字符或特殊符号,如回车换行退格等字符,他们无法在屏幕上显示,也无法从屏幕上键入,但是我们可以利用转义字符来表示这些控制,转义字符是用反斜杠""后跟一个字符表示,如常用的:\a,\b,\f,\n,\r,\t,\v,\,",’,?,\0;
控制字符有32个,从数值从000到031,null是000空字符,而032是空格字符space.所以我们在计算string长度的时候,空格字符的个数也算进去,并且字符串常量在内存中存储时,系统自动在字符串末尾加上了“串结束标志”,也就是ASCII码值为0的空字符null,用转义字符’\0’表示,所以我们主要清楚空字符和空格字符space的差别.
字符串常量
字符串常量是用双引号""括起来的若干字符,如字符串长度为1的空格字符“ ”,双引号中一个字符都没有的称为空串,长度为0.
字符串常量在内存中存储时,系统自动在字符串末尾加上了“串结束标志”,也就是ASCII码值为0的空字符null,用转义字符’\0’表示,但是输出时不输出’\0’,所以长度为n的字符串常量,在内存中占n+1个字节的存储空间.
对于有转义字符的字符串,应将转义字符计算为1个字符,只是因为它们不能显示,所以我们用反斜杠 ''加字符表示它们(但是若转义字符与转义字符表中不匹配则忽略),不参与长度计算.
例如 “AB\n” 这样一个字符串长度为3.
注意字符常量与字符串常量的区别,它们表示形式不同,而且存储性质也不相同,字符常量’S’占1个字节,但是字符串常量"S"占2个字节.
符号常量
在一个程序中以一个符号代表的常量称为符号常量,如PI代表3.14,它的好处是当我们程序需要这个符号的值时,只要修改一处即可.
C语言中用宏定义命令#define定义符号常量,就像用char定义字符常量一样的使用方法,只是标识符与符号常量之间没有赋值符号.
变量
变量即在程序运行过程中可以改变值的量,我们引用一个变量之前需要先定义它,确定它的变量名字和数据类型.我们脑海中必须要清晰的印象,当我们定义一个变量时,其实就是在内存中分配了这个数据类型所定义大小的一块空间,数据类型呢,可以决定变量的存储方式和所占用的内存大小.
变量定义
例如
数据类型 变量表列;
可以同时定义多个变量,用","分隔
char a;
我们就是定义了一个变量a,我们可以在程序任何地方使用a,称为对变量的引用,我们用的char数据类型,意思是我们在内存中分配了一块1字节大小的空间,并且把它的名字命名为a,这个名字就好像一间办公室上贴的牌子:主任办公室,&a是这块空间的地址,如主任办公室房号是408,也是计算机内部真实存在的数字,计算机通过这个地址可以直接定位这个空间.
变量赋值
1.定义同时赋值
同时定义了三个变量
int i = 1, j = 1, k = 1;
注意根据C语言语法
不能出现这种情况
int i = j = k = 1;
因为j和k还没有定义,不能引用它们
2.定义完赋值
int i, j, k;
i = 1; j = 1; k = 1;
注意这里有三个赋值语句,用分号分隔
3.使用输入函数从键盘读取值赋值
int i, j, k;
scanf("%d%d%d", &i, &j, &k);
这里我们通过输入函数,参数表里面第二个参数传入三个内存空间,从键盘获取三个字符,以ASCII码值格式输入并存入三个空间内.
这样就完成了变量的初始化.
逗号表达式
使用逗号运算符将多个表达式连接在一起,就组成了逗号表达式.C语言中分为赋值表达式语句和运算符表达式语句,都以分号结尾.
逗号第一种作用是分隔参数,第二种作用就是使用在逗号表达式里面.
复合语句
我们用{ }把多个语句括起来组成的一个语句称为复合语句.我们应该把它看成单条语句, } 外不加分号,通过这个我们可以把控制语句和结构体,联合体区分开来.
C语言没有指明语句书写格式,可以一行写多个语句,也可以一个语句分行写.
表列中变量用逗号分隔开.输出数据的个数必须与前面前面格式化字符串说明输出个数一样.
格式输出函数
printf("<格式控制>", <输出表列>);
功能,将输出表列的值按指定格式输出到标准输出终端上.
括弧( )内包含两部分
1.格式控制:双引号括起来的字符串,也叫“格式控制字符串”
a.格式说明,由“%”和格式字符组成,确定输出内容格式,总是以“%”号字符开始.
b.普通字符,这些字符按原样输出,主要用于输出提示信息,如文字和逗号空格.
c.转义字符,用于指明特定的操作,如"\n"换行, "\r"回车.
carriage return CR
line feed LF
在html中
…
中间是一段是硬回车,而
是软回车
软