常量
二进制 0b1010
八进制 012 (OCT)
十进制 10 (DEC)
十六进制 0x0A (HEX)
浮点型 10.1 1.01e1 1.01e-2
字符常量 ‘a’
字符串常量 “hello world”
man ascii 查找ASCII表示
变量在整个程序运行过程中会发生变化的
变量的定义
一般需要写上变量的类型+变量名
变量的基本数据类型有(默认都是带符号的)
整型变量(B指字节数)/
int 4B
char 1B
short 2B
long 4B
long long 8B
浮点型变量
float 4B
double 8B
如果需要定义不带符号的变量, 在前面加上unsigned. 如unsigned int
char 1B
Char a ; a的取值范围(- 128 ~ +127 )
(1000 0000 ~~ 0111 1111)
Char a = ‘c’ ; 143 99 63 c
man ascii 查找ASCII表示
000 0
00 NUL ‘\0’ 数字0
060 48
30 0 字符0
101 65
41 A
141 97
61 a
Printf(“%d”)
%d 表示基于该地址最多取4字节的数据,并把这个数据当成是带符号的十进制打印出来
最高位为符号位, 如果为1则是负数;会把内存中的数据当成是补码,显示出对应的原码
%u 表示基于该地址最多取4字节的数据,并把这个数据当成是无符号的十进制打印出来
%x 表示基于该地址最多取4字节的数据,并把这个数据当成是十六进制打印出来
%hd 表示基于该地址最多取2字节的数据,并把这个数据当成是带符号的十进制打印出来
H表示一半
%hhd 表示基于该地址最多取1字节的数据,并把这个数据当成是带符号的十进制打印出来
Hh 表示一半再一半,
数据在内存中默认是补码
如果正数 原码 反码 补码是一致
如果是负数 数字本身叫原码
补码是反码+1
原码除了符号位全部取反得到反码
反码再+1 得到补码
-127
原码 1111 1111
反码 1000 0000
补码 1000 0001
格式化IO : Printf() scanf()
Printf() 默认把数据显示到终端(命令行窗口)
scanf() 从键盘上得到数据
%d 4字节 printf(“%d”)显示为带符号的10进制数
如果是scanf(“%d” , &a); 从键盘上取0–9 + - ,如果取不到则报错返回0
%u 4字节 printf(“%u”)显示为无符号的10进制数
如果是scanf(“%d” , &a); 从键盘上取0–9 + - ,如果取不到则报错返回0
%x 4字节 printf(“%x”)显示为16进制数
如果是scanf(“%x” , &a); 从键盘上取0–9 a–f ,如果取不到则报错返回0
%c 取一个字符 整个ASCII表对应的字符
Printf(“%c”) 把这个数字对应的字符给显示出来
scanf(“%c” , &a); 通常情况是给char类型数据赋值
%o 八进制
%p 打印地址值
%s 字符串
%e 以指数形式打印出浮点数
%f 以小数点形式打印浮点数
L 表示长型
H 表示一半字节长度
%% 表示一个%号
字符中:
转义序列符
\表示转义
\ 表示才表示\的意思
\n 换行符 012 10 0A LF ‘\n’ (new line) 换行符 在linux由【enter】产生
\t 制表符
\v
\b 退格
\r 回车符
\0 表示数字0
可以用转义序列符表示某个字符
141 97 61 a
Char x = 97;
Char x = 0141;
Char x = 0x61;
Char x = ‘a’ ;
Char x = ‘\141’ 使用转义符只能跟8进制或16进制一起表示
Char x = ‘\x61’ 16进制要加上x
数据类型转换
隐式转换
在运算过程中 由于类型不一致需要做的转换
1: 赋值 按=左边变量类型进行转换
2: + - * /
字节数比较少的向字节数比较多的类型转换
有符号数向无符号数转换
显式转换
定义了变量后, 在使用变量时候(新变量类型)进行转换
Int a = 0x123456;
( Char) a
变量名
由字母和下划线开头,由字母下划线还有数字组成的
最好看到变量名就知道它的大概意思
不要和系统默认的关键字同名
表达式
int a , (char)a
语句
If(ret == 0)
Short b = a ;
写程序注意事项:
1: 定义的变量名等要有一定的意思
2: 程序的布局, 适当使用空行和缩进
// 头文件
#include <stdio.h>
// 函数名
int main(void) 或者 int main(int argc, char **argv)
{
//函数的定义 函数的实现
// { } 中的内容要比{ }所在位置多一个tab
int a = 0;
if (a == 0)
{
printf( “ a = %d \n”, a) ;
}
return 0;
}
3:可以在代码中加上简单的注释
// 注释
/* 注释 */
运算符:
赋值运算符
算术运算符
-
-
- %(取余) /(取整)
-
浮点型数和int计算 对应的表达式是个double类型的数据
输出结果的时候要注意你的格式
关系运算符 判断时候使用
< == != >= <=
逻辑运算符
0 为假 非0就是真
! 逻辑反
&& 逻辑与
|| 逻辑或
(学习笔记若有错误,希望指出,谢谢观看)