【基础层】##编程##笔记##C## Chapter_2:版式

###################################################################################################
Chapter_2:
C语言程序版式
	1.注释部分 /* */ //
	2.预处理快,全局变量说明,函数的申明
	3.函数定义部分
	4.变量说明部分
	5.数据输入部分
	6.执行部分(核心,采用结构化程序设计)
	7.信息输出部分(返回结果)
	
典型的程序编写方法:	
	>>>>动静结合
	>>>>自顶向下(结构化程序设计)
	
	1.数据结构--静
		任何程序都要考虑的问题,
			初始数据,输入数据,中间数据,结果数据
			数据类型
			存储特性
			边界
			命名
	2.算法--动
		有穷,确定,有效
		有输入有输出
		
结构化程序设计基本思想:任何程序都可以用三种基本结构:顺序,选择,循环 表示。
	流程控制语句:
		选择:
			if 
			else if
			else 			  //没有else就继续往那下走
			
			switch(value)
			{
				case 1:	  // 此处的1 必须是常量
						i++;
						break;//无break那么继续往下执行
				case 2:
						j++;
						break;
				default:
						k++;
						break;
			}
			
		循环:
			while()
			{
				
			}				//值为假的时候跳出循环,break跳出循环, 特殊句末加分号的例子 
			
			while( (ch==getchar())!='A' ); while空语句可以直接给一个分号,注意这个是和do {}while;不一样的
			
			for(;;) 初值,终值,步长 比while更强
			
			//do while 可以用while循环代替,不同之处在于do while至少执行一次
			do
			{
				
			}while();
			
			循环嵌套:长的循环写在内层,短的写在外层,这样可以减少CPU跨越循环层之间的次数,提高效率
		
	辅助控制语句:
		break	
		1.跳出switch
		2.跳出循环,但是break只能跳出一层循环;
		
		Continue
		!!结束本次循环,即本次循环下面的程序不执行,接着进行下一次是否执行循环的判定
		
		goto(慎用)
			在多重循环跳出来可以使用 
			goto error;
			error;
		return
	

>>>>变量两种类型 数据类型,存储类型

程序内存分配情况:
低地址:
	1.可执行代码
	2.静态存储区(全局变量,外部变量,静态变量)
	3.动态存储区:
		堆区(由低到高,自己申请)
		栈区(由高到低,编译器管理)(函数调用的现场保护,返回地址等)
高地址:

变量的存储类型:
	1.auto 一般auto都缺省不写,局部可见,局部变量,作用域和寿命一样长
	2.register 作用域和寿命同auto类型,根据CPU情况处理
	
	3.extern 不是用于定义变量,而是用于跨文件调用全局变量,函数。
			谨慎使用,是一个全局变量,全局存在全局可见
			引用时不分配内存,不初始化,不提倡这种做法
	4.static  都是全局寿命
		全局静态变量全局可见
		局部静态变量局部可见
		注意:
			static int a;
			void main()
			{}
			此时其他文件不可 extern int x; 起到局限于仅本文件使用的作用
	5.全局静态变量定义在函数之外;
	   局部静态变量定义在函数or复合语句之内。
	   静态变量放在静态存储区,每次调用不再赋新值,整个程序运行期间不释放; 
	   动态变量放在堆区,每次函数调用之后立即释放存储单元。
	   静态变量不赋初值编译直接给0;
   动态变量不赋初值就是一个不确定的值。

猜你喜欢

转载自blog.csdn.net/husterjwx/article/details/88429439