一、数据类型
二、输入输出语句
例:
scanf("%d",&a);
printf("%d",a);
不同的数据类型有着其对应的格式化类型:
1、int %d 接受整数值并将它表示为有符号的十进制整数
long %ld是长整型
2、%o 无符号8进制整数(不输出前缀0)
3、%u 无符号10进制整数
4、%x/X 无符号16进制整数 例:
printf("%x\n", i); printf("%X\n", i); printf("%#x\n", i); printf("%#X\n", i);
输出分别为 2f 2F 0x2f 0X2F
5、float和double 单精度浮点数(%f )和双精度浮点数(%lf)
6、%.mf 输出实数时小数点后保留 m 位,注意 m 前面有个点。
7、%e/E 科学计数法表示的数,此处"e"的大小写代表在输出时用的“e”的大小写
8、%c 字符型。可以把输入的数字按照ASCII码相应转换为对应的字符
例:
#include <stdio.h> int main() { char i='A'; printf("%c",i); return 0; }
输出为字符 A
如果输出控制符是‘%d’,则输出‘A’对应的ASCII码值
9、%s 字符串。输出字符串中的字符直至字符串中的空字符(字符串以'\0‘结尾,这个'\0'即空字符)
例:
#include <stdio.h> int main() { char i[]="ABC"; printf("%s",i); return 0; }
输出为字符串 ABC
10、%p 以16进制形式输出指针,输出变量地址
例:
#include <stdio.h> int main() { int i=5; printf("%d\n",i); //输出十进制整数 printf("%p",i); //以16进制形式输出指针 printf("%p",&i); //输出变量内存地址 return 0; }
11、%n 到此字符之前为止,一共输出的字符个数,不输出文本
12、%% 不进行转换,输出字符‘%’(百分号)本身
13、%m 打印errno值对应的出错内容,(例:printf("%m\n");
三、转义字符
转义字符
|
意义
|
ASCII码值(十进制)
|
\a
|
响铃(BEL)
|
007
|
\b
|
退格(BS) ,将当前位置移到前一列
|
008
|
\f
|
换页(FF),将当前位置移到下页开头
|
012
|
\n
|
换行(LF) ,将当前位置移到下一行开头
|
010
|
\r
|
回车(CR) ,将当前位置移到本行开头
|
013
|
\t
|
水平制表(HT) (跳到下一个TAB位置)
|
009
|
\v
|
垂直制表(VT)
|
011
|
\\
|
代表一个反斜线字符''\'
|
092
|
\'
|
代表一个单引号(撇号)字符
|
039
|
\"
|
代表一个双引号字符
|
034
|
\? | 代表一个问号 | 063 |
\0
|
空字符(NUL)
|
000
|
\ooo
|
1到3位八进制数所代表的任意字符
|
三位八进制
|
\xhh
|
十六进制所代表的任意字符
|
十六进制
|
字符串里需要用 \\ 来表示 \ ,第一个 \ 代表转义,第二个 \ 代表字符
例:
#include <stdio.h> main() { printf("hello world"); printf("\n"); printf("hello world"); printf("\a"); //响铃 printf("\b"); //退格 printf("\n"); printf("\f"); //翻页 printf("\n"); printf("hello world"); printf("\r"); //回车 printf("\t"); //水平制表,跳到下一个TAB位置 printf("hello world"); system("\"C:\\Program Files\\Tencent\\QQ\\Bin\\QQScLauncher.exe\""); // ‘\\’和‘"""’表示不出来用\来转义 getchar(); //等待响应 return 0; }
四、常量与变量
1、变量的命名规则
• 标识符:
程序中用于标识常量、变量、函数的字符序列组成
变量使用之前一定要初始化,如果变量不初始化,就会默认读取垃圾数据, 有些垃圾数据
会导致程序崩溃。所以,变量使用之前,必须初始化。
2、定义常量
• 定义常量PI的两种方式:
#define PI 3.14159; const float PI=3.14159; //const定义的常量不能修改,是只读数据
例:
#include <stdio.h> int main() { #define NAME "朱健康" const int AGE=22; printf("我的名字: %s",NAME); printf("\n"); printf("我的年龄:%d",AGE); return 0; }
#include <stdio.h> //自由落体运动 g=9.8 //输入时间,输出自由落体运动的距离 int main() { #define g 9.8 float t,s; printf("自由落体时间:\n"); scanf("%f",&t); s=1/2.0*g*t*t; printf("自由落体的距离: %f",s); return 0; }
五、进制的计算
1、二进制、八进制转换
• 例 (1101001)2=(001,101,001)2=(151)8
• 例 (246)8=(010,100,110)2=(10100110)2
2、十进制、二进制转换
- 0.625 * 2 = 1.25 取整1
- 0.25 * 2 = 0.5 取整0
- 0.5 * 2 = 1 取整1
3、位、字节、字