变量、常量和函数的名字
int a; 定义了一个int型的变量a #define PI 3.14 定义了一个常量PI 饭不能乱吃,名字不能乱起:
标识符得是字母数字下划线组成的,数字不能开头
不能使用关键字
大小写是有区别的,最好不要出现仅靠大小写区分的标识符
int X; int x; /*看出来个锤锤*/ 见名知意,尽量简短,最短长度表达最多信息 int res;/*全称result*/ 不给你玩value,value1这种“智慧行为”,除非逻辑上需要编号(不知道什么意思,碰到再说),不要用拼音。 int shuzizimuxiahuaxianshicuowudexiefa = 1;总结:字母数字下划线,数字不能当开头,见名思意要最短,实在不行查词典
C语言规定好的有作用的单词,只能那么用,不能作为标识符 int double;就是错的,double是关键字,不能拿来当 变量名(标识符); 关键字就32个,看看就行: 关键字的链接,太多了我不想看
总结:起名别用关键字
常量就是有些数据你不需要去改变,也不能去改变。
常量到底长什么样子?是不是都是#define PI 3.14这种格式?
int a = 1; char ss = 'a'; printf("Hello\n"); /*不遵守命名规则的我依旧活蹦乱跳*/这里面 ,在"="号后面的都是常量(不是所有=后面都是常量,不要错误理解) Hello也是常量(\n是换行的意思,不显示)
常量是不止一种形式的,他有很多类型:
#include <stdio.h> int main(void){//程序入口 printf("+125\n"); printf("-50\n"); printf("a\n"); printf("Hello\n"); return 0;//程序无错误安全退出 }因为main前面是int,一定要写返回值,return 0就是安全退出主函数。void mian()就可以省略return了 void:空的意思,就是啥也没有,写在函数前面就是表示函数不要返回什么的意思 输出结果就是各个数值常量+125,-50,“a”,“hello”
开始对常量进行分类:
1. 数值常量:
上面的+125和-50就是数值常量,通常都是数字
数值常量可以分为整型常量和实型常量(就是整数和小数,记在小本本上)
正号带不带无所谓,负号必须要带上
/*都是输出语句,printf()函数输出里面引号的内容,\n转变成换行,不会以文字形式输出*/ #include <stdio.h> int main(void){ printf("123\n"); printf("12.3\n"); printf("-123\n"); printf("-12.3\n"); return 0;/*结束安全退出程序*/ }代码个人理解: 为什么mian()里面有个void,void是空的意思,写上去应该和没写是一个意思,相当于我们数学里面不写变量(0元0次方程?),如有理解错误请纠正,谢谢
编译连接运程序后结果如上图
在C语言里面,数值常量大到一定程度会出现错误,无法正常运行。 reason: 计算机给我们的内存空间(用来放常量变量这些数据的)都不是无限大的,这些内存盒盒的大小是有限的(盒子体积有限),具体后面会说(书上拖着不说的,不是我不说)。
123兽净化-----giao兽
数字常量都分整型和实型,字符常量当然也得有特殊点了
当当当当: 转义字符
之前的\n就是抓捕义字符的一种; 记住,这种字符一般都是反斜杠开头,后面跟八进制、十六进制。单个 字符; 转义是什么意思呢?大概就是让n不再输出为n,而是让他有了换行这个 功能(意义),获得超能力,不做人的意思常见转义字符: 转义字符的链接
3和‘3’:一个·是数值常量,一个是字符型常量 ‘a’和’A’:记住,C语言是严格区分大小写的,不是一个字符型常量
#include <stdio.h> int main(void){ printf("a,A\n"); printf("123\x20\'\x20\"\n"); return 0; }上面链接里面有解释,可以看看,\x20代表空字符
双引号括起来的字符序列(一串字符)或转移字符序列(加上转义字符)
如: “”、" "、“a”、“abc”、“abc\n”
"“表示空字符串,里面什么都没有,称为空串;但是” "里面是有一个空格的,称为空格串
书写形式:字符串常量用双引号,字符常量用单引号
存储空间不同:内存里面,字符占一个位置,但是字符串后面默认有结束标记"\o",算上这个占两个位置
字符常量是可以运算的,字符串常量不可以
符号常量:带名字的常量
我们的老熟人#define PI 3.14,PI在后面的代码中可以表示3.14
定义格式: #define 标识符 常量 标识符一般全大写,常量啥都可以,一般放在main函之前。 编译之前,计算机会将所有的PI转换为3.14,编译运行时是没有符号的
#include <stdio.h> #define PI 3.14159 int main(void){ float r;/*半径*/ printf("请输入圆的半径:"); scanf("%f",&r);/*stdio里面的函数,接收数据到指定的参数里面*/ printf("圆的周长为:%f\n",2*PI*r); printf("圆的面积为:%f\n",PI*r*r); return 0; }编译之前的预处理将PI换成了数值,然后再编译运行
为什么要这么弄?不是更麻烦吗?
便于修改,修改一处就可以改变所有的符号常量易于输出,易于理解 一般大写是符号常量,小谢是变量 字符串里面的符号常量是不会被替换的 符号常量的目的是便于修改和了可读性。 #define P 9 #include <stdio.h> int main(void){ printf("P"); return 0; }在线编译网站链接 困了,凌晨一点水博客结束,内容取材自《C语言从入门到精通》,《看了点这个书就敢出来水博客》,《我也不知道我的理解是否有错误》