@[复习我的C语言] 实在是记性不好,太久不用就直接忘记,整理一下,省得以后老去查,不定期补充。有出错的地方欢迎指正。
基础预告
C语言开发程序过程:编辑、编译(生成.obj)、连接(生成.exe)、运行、调试。 32个关键字,均为小写:类型说明符、语句命令字、存储类别、运算符(sizeof) 实型常量的两种表示形式:十进制小数形式和十进制指数形式(也称科学计数法,采用E或e表示指数部分的阶数)。 标准库函数: 栈服从先进后出原则。POP(s,x)是出栈 ,把栈S中出栈一个元素给到x。 Push(s,r)是进栈,让r进入s栈。 #include “stdio.h” #include “math.h” [可百度查询常用数学库函数] while(),当条件为1时,执行内嵌语句,再判断条件,直到条件为0,跳出while循环。 do while(),先执行内嵌语句,再判断条件,当条件表达式为1时,返回执行do,直到表达式为0,退出循环 for(;;😉; 函数不能嵌套定义,但能嵌套调用,被调用的函数可以去调用另一个函数完成所需功能。 被调函数返回主调函数时两种形式: 不返回值:return(适用于void类函数)。返回值:return 表达式 编译预处理:宏定义、文件包含、条件编译 为增加程序可读性,宏名要用大写字母,其它的标识符用小写字母
常用C语言标准库头文件:
#include “assert.h”:包含增加诊断以帮助程序调试的宏和信息 #include “math.h”:包含数学库函数的函数原型 #include “stdio.h”:包含标准输入、输出库函数的函数原型及其使用的信息 #include “stdlib.h”:包含将数学变为文本、将文本变为数字、内存分配、随机数和各种其它工具的函数原型 “string.h”:包含c语言方式的字符串处理函数原型 “time.h”:包含操作时间和日期的函数原型和类型 #include “ctype.h”:用于测试字符是否属于特定的字符类别,定义了一批字符分类函数
格式输入函数
scanf输入字符串的时候不会接收Space空格,回车Enter,Tab键,则认为输入结束。 scanf函数直接从输入缓冲区中取数据,而并非从键盘(也就是终端)缓冲区读取。 若要输入中间用空格隔开的字符串,用gets(数组名),尽量不用scanf 变量=getchar(),输入单个字符串
数组
定义:如,int a[5]; c语言的数组下标从0开始, 若定义数组时没有给数组赋初始值,这数组元素初值不定
数组排序方法
冒泡法排序
eg:从小到大排序 每趟排序,把要排的数筛选出一个大数,而小数像冒泡一样浮出来。 for (j=1;j<N;j++) for(i=0;i<N-j;i++) a[i]与a[i+1]比较,满足条件则互换
选择法排序
打擂台 eg:从小到大排序 将第一个数作为基准,逐个与后边的数比较,满足条件则互换,每一趟筛选出一个最小的数 for (j=0;j<N-1;j++) k=j; for(i=j+1;i<N;i++) a[k]与a[i]比较 a[k]是每一趟的新擂主
数组、字符串
? 一维数组作函数参数 两种情况:数组元素作为函数参数;数组名作为函数参数 数组名作为函数参数,传递的是数组的首地址,形参在定义时也应该是数组形式 ? 二维数组 行列下标均从0开始,元素的排列顺序按行存放 二维数组的每一行看作是一个一维数组
字符串结尾标志:’\0’
? 字符串处理函数 字符串输出函数puts():输出字符串后会自动换行 字符串输入函数gets(): 字符串连接函数strcat():strcat(str1,str2),把str2连接到str1后边 字符串复制函数strcpy():strcpy(str1,str2),把str2复制到str1数组中 字符串比较函数strcmp():strcmp(str1,str2),自左向右比较,0为相等 求字符串长度函数strlen(str):不包括字符串结束的’\0’。 大写字母转换成小写字母函数strlwr(): 小写字母转换成大写字母函数strupr():
指针
计算机内存以字节为单位 指针:内存中的地址 指针变量:专门存放地址的一类特殊变量 ? 指针变量的初始化 ? 指针作为函数参数
? 二维数组元素的表示法
? 多级指针 一个指针指向另一个指针型变量,则为:指向指针的指针变量,称为多级指针变量。 ? 指针型函数 函数返回值是指针型数据的函数
? 动态存储分配 malloc calloc free realloc
结构体
ASCII码
数字(0-9):48~57 大写字母(A-Z):65~90 小写字母(a-z):97~122
常见解题思路
- 进制转换
十进制转二进制:除2取余法, 二进制转十进制:二进制数按权展开、相加 八进制对应3位二进制数,十六进制对应4位二进制数。
|