完蛋了,自己还是拖更了。。。鬼晓得6月末就考期末了。。。。
备注:在结课后,计算思维作业地所有代码我将上传到本博客,但仅提供照片格式供学弟学妹参考
这是上周的一些笔记,最近实在没时间整理了
Static
局部变量 Auto 默认
编译预处理 宏替换
#define
#include
条件编译不讲
1.不带参数的宏定义(注意不要加分号)
#define 标识符 字符串
#define PI 3.1415926
宏定义时可以调用已定义的宏定义
#undef中止宏定义的作用域
#define G 9.8
Main(){}
#undef G
2.带参数的宏定义
#define 宏名(参数表)字符串
#define S(a,b) a*b
Area = S(3,2) ;
注意:只进行简单的字符替换,不求中间结果
#define S(a+b)
Area = PI*a+b*a+b ;
解决方法 #define S PI*(r)*(r) ;
文件包含:
1.include"文件名"
多文件编译:包含不止一个源文件
构造类型:包含数组 结构体 等
数组名代表数组首地址,是地址常量
不能一次引用整个数组
C语言数组不做越界检查
常见字符串处理函数
这个别人写的很完善了,我就不来凑热闹了
注意:strlen 返回字符串长度,不包括\0 。要注意常见的转义字符
补充两个:strlwr(字符串) 将该字符串转换为大写
strupr(字符串) 将该字符串转换为小写
常见转义字符
\a 响铃(BEL) 007
\b 退格(BS) 008
\f 换页(FF) 012
\n 换行(LF) 010
\r 回车(CR) 013
\t 水平制表(HT) 009
\v 垂直制表(VT) 011
\\ 反斜杠 092
\? 问号字符 063
\' 单引号字符 039
\" 双引号字符 034
\0 空字符(NULL) 000
\ddd 任意字符 三位八进制
\xhh 任意字符 二位十六进制
数组及数组元素做函数的参数
参数传递方式:
值传递:形参和实参占用不同的内存单元 , 单向传递
void Change( int x , int y ){//只改变了形参的值
int t = x ; x = y , y = t ;
}
int main(){
int Num[2] = { 3 , 4 } ;
Change( Num[0], Num[1] ) ;//对于实参没有影响
printf("%d %d",Num[0],Num[1]) ;// 3 , 4
}
地址传递:将数据的存储地址作为参数传递给形参
形参与实参占用同样的存储单元
实参和形参必须是地址常量
void Change( int x[] ){//只改变了形参的值
int t = x ; x = y , y = t ;
}
int main(){
int Num[2] = { 3 , 4 } ;
Change( &Num ) ;//对于实参没有影响
printf("%d %d",Num[0],Num[1]) ;// 3 , 4
}