1. printf("xxx\n",x);打印输出
2. 实参赋给形参
3. 区分函数大小写
4. 常用的快捷键:
恢复 Ctrl+Z
重做 Ctrl+Y
剪切 Ctrl+X
拷贝 Ctrl+C
粘贴 Ctrl+V
搜索替换内容 Ctrl+F
选择全部 Ctrl+A
编译 F9
运行 F10
编译运行 F11
整体左移一个tab位置 shift+tab
整体右移一个tab位置 tab
整体代码缩进对齐 Ctrl+Shift+A
5.补码:
正数:反码==补码==原码
负数:反码==除符号位外的各位取反,
补码==反码+1
-70 0100 0110
取反 1011 1001
加1 1011 1010
6. unsigned char 0~255 mod 256
sigend short int -32767 mod 65536
signed char -128~127 mod 256
signed long -2147483648~2147483647 mod 2147483648*2
int -32768~32767 即-215~(215-1) 2
unsigned int 0~65535 即0~(216-1) 2
short int -32768~32767 即-215~(215-1) 2
unsigned short int 0~65535 即0~(216-1) 2
long int -2147483648~2147483647即-231~(231-1 4
unsigned long 0~4294967295 即0~(232-1) 4
类型说明符 比特数(字节数) 有效数字 数的范围
float 32(4) 6~7 10-37~1038
double 64(8) 15~16 10-307~10308
long double 128(16) 18~19 10-4931~104932
B Byte(字节) b bit(位)
-128 1000 0000
127 0111 1111
7. scanf("xxx\n",&x);输入(阻塞型输入函数)
8. RAM 随机存储器
ROM 只读存储器
9. ?:三元运算符
10. 算法:解决问题的方法
11. 循环三要素:条件,赋初值,变量自增
12. i++;先加1
13. goto语句:无条件转向,只能在当前函数
14. 打印图案
15. 流程图?n-s图?
16. 函数的定义和声明,调用
17. 实参:实际用的值
形参:临时变量
18. 栈:flfo 队列
filo
19. 中断 interrupt 硬件调用,函数调用(软调用)
20. 函数递归调用:在调用一个函数的过程中又出现直接或间接的调用该函数本身
21. 打印图案可以用递归
22. 变量:static 值保持不变(局部)extern 外部全局变量
23. strcpy();字符串交换,system("pause")可以实现冻结屏幕,便于观察程序的执行结果;system("CLS")可以实现清屏操作。
#include<stdlib.h>
#include<stdlib.h>,rand() 会随机生成一个位于 0 ~ RAND_MAX 之间的整数。rand() % 100,rand() 函数产生的随机数是伪随机数,是根据一个数值按照某个公式推算出来的,这个数值我们称之为“种子”。
#include<time.h> 通过 srand() 函数来重新“播种”,这样种子就会发生改变。srand((unsigned) time(&t));
24. /*强制返回*/goto是直接跳转到代码的指定位置,沿着这个位置继续执行,跳过的部分等于被注释掉了。
25. %s 读入一个字符串,遇空格、制表符或换行符结束 char c[]={333,444,555,666};
%p 读入一个指针。 int c=*c;
%d 读入十进制整数。 int c=100; int c=2;
%c 读入一个字符。 char c=a; char c=b;char c=c;
%f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。int c=1.2;int c=400;int c=55.434343;
%3-d 定于输出格式。d表示输出整数,3表示输出的数字占3个字符的位置。-号表示对齐方式。是左对齐。如果是+号或者不写,表示右对齐。
26. ffush()函数刷新剩余字符的输入缓存区
27.算法的特性
有穷性:一个算法应包含有限的操作步骤而不能是无限的。
确定性:算法中每一个步骤应当是确定的,而不能应当是含糊的、模棱两可的。
有零个或多个输入。
有一个或多个输出。
有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果。
28. 指数形式: a E n(a为十进制数,n为十进制整数)a*10n(次方)
29. a+=5 等价于a=a=a+5 x*=y+7 等价于x=x*(y+7) r%=p 等价于r=r%p
30. 1) 条件判断语句:if语句、switch语句;
2) 循环执行语句:do while语句、while语句、for语句;
3) 转向语句:break语句、goto语句、continue语句、return语句。
31. \t:水平制表符,将当前位置一道下一个tab位置
\r :回车,将当前位置移到本行的开头
32. putchar 函数是字符输出函数,其功能是在显示器上输出单个字符。
其一般形式为:putchar(字符变量 )putchar('A'); (输出大写字母A)
33. getchar函数的功能是从键盘上输入一个字符。
其一般形式为: getchar(); char c; c=getchar();
gets();字符串用空格隔开,gets从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取,
所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。
34. 字符串总是以'\0'作为串的结束符,
//# include <stdlib. h>
itoa() 将整型值转换为字符串
itoa() 将长整型值转换为字符串
ultoa() 将无符号长整型值转换为字符串
ecvt() 将双精度浮点型值转换为字符串,转换结果中不包含十进制小数点
fcvt() 以指定位数为转换精度,余同ecvt()
gcvt() 将双精度浮点型值转换为字符串,转换结果中包含十进制小数点
35. a%10+'0'/1
1 short, 用%h输出;
2 long, 用%ld输出;
3 float, 用%f输出;
4 double, 用%lf输出。
36. 选择排序,
37.指针,*p出现在“=”的右边或其他表达式中为取内容
*p出现在“=”的左边则为存内容
指针的赋值同样要求必须左右两边是相同的类型
int型指针变量占4个字节
38. 变量才能++
39. 数组传递只能传首地址
40. free();释放已分配的块 ,void free(void *ptr);
41. 指针返回临时变量是不合法的(野指针)
指针-指针=数组元素个数
strlen(数组名)---求字符串长度
指针只能与后一个指针比较
&arr--数组名不是首地址-表示整个数组的地址
sizeof(数组名)---计算整个数组的大小
二级指针就是存放一级指针的地址
指针数组--数组--存放指针的数组
数组指针--指针
*--解引用操作符
42. 函数名: qsort
功 能: 使用快速排序例程进行排序
用 法: void qsort(void *base, int nelem, int width, int (*fcmp)());
Reverse();将数组元素逆序排列