🍏 🍎 🍐 🍊 🍋夏天多吃水果 🍌 🍉 🍇 🍓 🍈
在线REPL
标准输入/输出
javascript | python | c语言 | ||
---|---|---|---|---|
标准输入 | process.stdin.on('xx', ()=> {}) | input() | scanf() | |
标准输出 | process.stdout.write() 或 console.log() | print() | printf() |
基本语法
注释
语言 | 单行注释 | 多行注释 |
---|---|---|
js | // 单行注释 | /* 块注释 */ |
python | # 单行注释 | ''' 块注释 ''' 或 """ 块注释 """ |
C语言 | // 单行注释 | /* 块注释 */ |
分号
语言 | 不同 |
---|---|
js | 可写, 也可以省略, 但推荐写 |
python | Python也支持分号, 推荐省略, 除非语句写一行用; 分隔 |
C语言 | ; 该加的不能省, 否则编译报错 |
变量
标识符命名规则
共同点:
- 标识符必须以字母、下划线;后续的字符也可以是数字(0-9)
- 不能数字开头
- 大小写敏感
- 保留字和关键字不能做变量名或其他标识符
语言 | 不同 |
---|---|
js | 命名可以用$ 字符 例如 jQuery的 $ |
python | 不支持$ |
C语言 | 不支持$ |
声明和赋值
javascript
有三种:
var name = 'javascript'
// es6+
let i = 1
const TEST = 'test_js'
python
# 形式:
# 变量 = 值
name = 'python'
i = 0
C
int x = 0, y = 5;
char c = 'A';
float f, salary;
const int MAX = 1000;
extern int i; //声明,不是定义
未初始化
数据类型
综述
js 数据类型
基本数据类型 (值类型)
- String
- Number
- Boolean
- null
- undefined
- Symbol // 注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。
引用类型
Object // 所有对象的基础
- Array
- Function
- Set
- Map
内置对象
- RegExp
- Date
- Error
- JSON
单体内置对象
- Math
- Global // 浏览器环境中, 不能直接访问, window -> Global
包装对象
- Number
- String
- Boolean
python 数据类型
💡在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加
不可变数据
Number(数字)
- int
- float
bool // bool是int的子类,并且不可以子类化
True == 1
False == 0
- complex (复数) //
1 + 2j
- String(字符串)
- Tuple(元组)
可变数据
- List(列表)
- Set(集合)
- Dictionary(字典)
C 数据类型
❓C语言怎么存一个字符串?
❓C语言没有Boolean值... 用0, 1表示布尔值
类型 | 描述 |
---|---|
基本类型 | 它们是算术类型,包括两种类型:整数类型和浮点类型。 |
枚举类型 | 它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量 |
void类型 | void 表明没有可用的值。 |
派生类型 | 它们包括:指针类型、数组类型、结构类型、共用体类型和函数类型。 |
💡
sizeof()
得到对象或类型的存储字节大小
e.g.sizeof(int)
基本类型
整数类型
- char (1Byte)
- unsigned char
- int (4Byte)
- unsigned int
- short (2Byte)
- unsigned short
- long (8Byte)
- unsigned long
浮点类型
- float (4Byte)
- double (8Byte)
- long double (16Byte)
枚举类型
- enum
enum 枚举名 {枚举元素1,枚举元素2,……};
- enum
void类型
- 函数返回为空
- 函数参数为空
- 指针指向 void
派生类型
- 数组类型
- 函数类型
- 指针类型
- 结构类型
- 共用体类型
类型转换
类型判断
语言 | 判断 |
---|---|
js | 1. typeof 2. Object.prototype.toString.call 3. 实例 instanceof 类 4. duck type |
python | 1. type() 2. isinstance() |
C语言 | sizeof ; typeof 主要用于宏 |
运算符
运算符和优先级汇总:
☞ python
算术运算符
javascript | python | c语言 | ||
---|---|---|---|---|
浮点除 | 3/2 | 3/2 | 3.0/2 | |
取整除 | ❌ | 3//2 | 3/2 | |
自增 | ++ | ❌ += 1 代替 | ++ | |
自减 | -- | ❌ -= 1 代替 | -- | |
幂 | 2 ** 3 es6的拓展 | 2 ** 3 | ❌double pow(double x, double y) |
比较运算符
javascript | python | c语言 | ||
---|---|---|---|---|
== | 恶心的弱型转换 | 不转换 | 不转换 | |
=== | 等价于python和C的== | ❌ | ❌ |
逻辑运算符
javascript | python | c语言 | ||||||
---|---|---|---|---|---|---|---|---|
逻辑与 | && | and | && | |||||
逻辑或 | `\ | \ | ` | or | `\ | \ | ` | |
逻辑非 | ! | not | ! |
分支
循环
跳转
函数
疑问
c语言没有string类型, 怎么存一个字符串?
const char *str = "hello"; //使用字符串指针
const char str[] = "hello"; //使用字符数组
givencui 博客首发, 转载请注明来自GivenCui
楼主残忍的关闭了评论