转义字符
变量声明: 变量的名称中只能包含字母、数字和下划线,但是不能以数字开头,变量名不能是关键字
变量 = 值;
格式化输出:
sizeof()运算符 :如果想要获取当前编译器能够为某种数据类型分配的存储器字节数可以使用sizeof()运算
数组:
一维数组的声明: int scores[5];
连续存储内存的
•注意 :C语言中无下标越界检查机制,如果下标越界可能会得到非期望值
算法比较:
•n比较小的时候,适合插入排序和选择排序
•基本有序的时候,适合直接插入排序和冒泡排序
•n很大的时候,适合快速排序、堆排序
•无序的时候,适合快速排
•快速排序速度快,但稳定性不高
•堆排序速度快,稳定,但编码难度较大。
•冒泡排序和选择排序简单,但效率较低
•折半查找:要求待查找序列是排完序的,即是有序的序列
•哈希查找:能够比较好的解决位置冲突的情况下哈希查找都是比较快速的,主要是hash函数的选择
•二叉树排序查找:插入值时需要做一些处理使得它较为平衡,否则容易出现轻重的不平衡,查找效率会很低,且编码实现较复杂
•分块查找:块内记录任意存放,所以插入删除时容易;缺点是需要一个辅助数组
字符串的输入和输出:
getchar( )函数输入
putchar( )函数输出
scanf( )函数输入
printf( )函数输出
gets( )函数输入
puts( )函数输出
字符串的相关库函数:
#Include <string.h>
strcpy (str1,str2); //复制,将str2复制到str1
strcat (str1,str2);//连接
strlen (str); //获取长度,不包括末端字符
strcmp (str1,str2);//比较,str1大于str2返回正数,相等0,小于负数, 比较字符字母的大小
•包含ctype.h头文件
– isalpha(chr) // 该字符是否为字母
– isupper(chr) // 该字符是否为大写字母
– islower(chr) // 该字符是否为小写字母
– isdigit(chr) // 该字符是否为数字
……
– toupper(chr)// 小写字母转换为大写字母
– tolower(chr)// 大写字母转换为小写字母
•包含stdlib.h头文件
•atoi(str) //将字符串转为整型数字函数, 以首个数为主,当碰到字母时后面的不再算
•atof(str) //将字符串转为浮点型数字函数
char str1[] = "2012-11-27" ; int year,month,day; sscanf (str1, "%d-%d-d" ,&year,&month,&day); printf ( "%d 年 %d 月 %d 日 " ,year,month,day); //2012年11月27日
// 折半查找法 int a[ 10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 }; int n = 5 ,high = 10 ,low = 0 ; int x = 6 ; while (a[n] != x) { if (a[n] < x) { low = n; n = (low + high)/ 2 ; } else { high = n; n = (low + high)/ 2 ; } } printf ( "%d" ,n);
变量声明: 变量的名称中只能包含字母、数字和下划线,但是不能以数字开头,变量名不能是关键字
变量 = 值;
格式化输出:
sizeof()运算符 :如果想要获取当前编译器能够为某种数据类型分配的存储器字节数可以使用sizeof()运算
数组:
一维数组的声明: int scores[5];
连续存储内存的
•注意 :C语言中无下标越界检查机制,如果下标越界可能会得到非期望值
算法比较:
•n比较小的时候,适合插入排序和选择排序
•基本有序的时候,适合直接插入排序和冒泡排序
•n很大的时候,适合快速排序、堆排序
•无序的时候,适合快速排
•快速排序速度快,但稳定性不高
•堆排序速度快,稳定,但编码难度较大。
•冒泡排序和选择排序简单,但效率较低
•折半查找:要求待查找序列是排完序的,即是有序的序列
•哈希查找:能够比较好的解决位置冲突的情况下哈希查找都是比较快速的,主要是hash函数的选择
•二叉树排序查找:插入值时需要做一些处理使得它较为平衡,否则容易出现轻重的不平衡,查找效率会很低,且编码实现较复杂
•分块查找:块内记录任意存放,所以插入删除时容易;缺点是需要一个辅助数组
字符串的输入和输出:
getchar( )函数输入
putchar( )函数输出
scanf( )函数输入
printf( )函数输出
gets( )函数输入
puts( )函数输出
字符串的相关库函数:
#Include <string.h>
strcpy (str1,str2); //复制,将str2复制到str1
strcat (str1,str2);//连接
strlen (str); //获取长度,不包括末端字符
strcmp (str1,str2);//比较,str1大于str2返回正数,相等0,小于负数, 比较字符字母的大小
•包含ctype.h头文件
– isalpha(chr) // 该字符是否为字母
– isupper(chr) // 该字符是否为大写字母
– islower(chr) // 该字符是否为小写字母
– isdigit(chr) // 该字符是否为数字
……
– toupper(chr)// 小写字母转换为大写字母
– tolower(chr)// 大写字母转换为小写字母
•包含stdlib.h头文件
•atoi(str) //将字符串转为整型数字函数, 以首个数为主,当碰到字母时后面的不再算
•atof(str) //将字符串转为浮点型数字函数
char str1[] = "2012-11-27" ; int year,month,day; sscanf (str1, "%d-%d-d" ,&year,&month,&day); printf ( "%d 年 %d 月 %d 日 " ,year,month,day); //2012年11月27日
// 折半查找法 int a[ 10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 }; int n = 5 ,high = 10 ,low = 0 ; int x = 6 ; while (a[n] != x) { if (a[n] < x) { low = n; n = (low + high)/ 2 ; } else { high = n; n = (low + high)/ 2 ; } } printf ( "%d" ,n);