03-C语言编码规范和变量
2013-12-04 23:08
211 查看
目录:
一、C语言的编码规范
二、变量
三、浮点型float
四、变量名命名规则
五、变量作用域与生命周期
回到顶部
一、C语言的编程规范
1 语句可以分开放在任意位置
2 空格可以让代码更清晰
3 缩进可以让代码更直观
4 空行可以更好划分逻辑
5 命名使用驼峰标识getName或下划线get_name
回到顶部
二、变量
1 概述:大多数程序会进行大量计算,在计算过程中需要临时保存数据,存储数据的方法没,称之为变量。
2 数据类型,对应内存区域,其值可变,变量有相应的类型和值。
3 变量类型分字符型char、整形int、浮点型float/double、指针、结构、联合等。
4 每次使用前要声明其类型,且声明一次。
int number1;//声明变量,并开辟int类型的内存空间
number1 = 10;//赋值,可以多次赋值,但只保存最后那个值
5 声明一个变量,在使用之前,它是有可能有值,但是是变化的,应该给它初始化。
6 声明变量格式:变量类型 变量名 = 初始值;
7 输出变量值 %d int、%f float、%lf double、%c char
练习:求两个数的差、积、商
回到顶部
三、浮点数据类型float
1 float类型代表浮点数(小数)数值的表示方式
2 输出函数输出内容的时候占位符为%f
3 %.2f 只显示两位有效数字
回到顶部
四、变量名命名规则
1 必须是标识符,函数,宏,实体名也必须使用标识符
2 只能以字母或下划线开头
3 包含字母,下划线或数字
4 大小写敏感
5 不能以关键字冲突
6 标识符理论上,长度无限制,但会被编译器截断
7 标识符最好见名之意
回到顶部
五、变量作用域与生命周期
1 变量作用域,表示一个变量在代码范围内是可以使用的。通常使用{}符号来表示代码范围。
在上一级代码中定义的变量,可以在下一级代码块中使用。下一级代码块中定义的变量,不可以在上一级代码块中使用。
下一级代码块中,如果声明了和上一级名称类型一样的变量,会遵循就近原则。
局部变量:定义在函数中的变量叫局部变量。
全局变量:定义在函数外的变量叫全局变量。
全局变量可以供多个函数使用,而局部变量只可以供当前函数使用。
当全局变量与局部变量重名,依然遵循就近原则。
参数也有作用域,是函数的内部。
2 变量生命周期
当变量存时,就会开辟一块内存空间。
当变量补存在是,就会消除相应的内存空间。
当修饰局部变量的时候加auto(默认),声明变量时,会创建内存空间,当变量超出作用域,就会消除相应的内存空间。
当修饰局部变量的时候加上static,静态局部变量,此时变量的生命周期就会变长,直到程序结束为止。
虽然静态变量的生命周期变长,但作用域依然在函数内部。
auto不可以修饰全局变量,static可以修饰全局变量,加上static只能在本文件中使用,不加在多个文件中都可以使用。
小结:
作用域:使用代码的范围
生命周期:变量在内存中是否存在
作业:
1 输出个人信息:姓名 年龄 性别 期望薪资 税资*13%
2 求圆的面积和周长?半径:3.0 π:3.14
3 求矩形的面积和周长?长:18 宽:15
4.练习:使用程序来模拟放球、取球的问题。
提示:栈,先进后出,后进先出
有网兜存球 -> 数组
放球操作 -> 函数
取球操作 -> 函数
标识 -> 索引
兜满不能放 -> 函数
兜空不能取 -> 函数
得到的是什么球 -> 返回值
测试:123(4满)321(0空)
一、C语言的编码规范
二、变量
三、浮点型float
四、变量名命名规则
五、变量作用域与生命周期
回到顶部
一、C语言的编程规范
1 语句可以分开放在任意位置
2 空格可以让代码更清晰
3 缩进可以让代码更直观
4 空行可以更好划分逻辑
5 命名使用驼峰标识getName或下划线get_name
回到顶部
二、变量
1 概述:大多数程序会进行大量计算,在计算过程中需要临时保存数据,存储数据的方法没,称之为变量。
2 数据类型,对应内存区域,其值可变,变量有相应的类型和值。
3 变量类型分字符型char、整形int、浮点型float/double、指针、结构、联合等。
4 每次使用前要声明其类型,且声明一次。
int number1;//声明变量,并开辟int类型的内存空间
number1 = 10;//赋值,可以多次赋值,但只保存最后那个值
5 声明一个变量,在使用之前,它是有可能有值,但是是变化的,应该给它初始化。
6 声明变量格式:变量类型 变量名 = 初始值;
7 输出变量值 %d int、%f float、%lf double、%c char
练习:求两个数的差、积、商
回到顶部
三、浮点数据类型float
1 float类型代表浮点数(小数)数值的表示方式
2 输出函数输出内容的时候占位符为%f
3 %.2f 只显示两位有效数字
回到顶部
四、变量名命名规则
1 必须是标识符,函数,宏,实体名也必须使用标识符
2 只能以字母或下划线开头
3 包含字母,下划线或数字
4 大小写敏感
5 不能以关键字冲突
6 标识符理论上,长度无限制,但会被编译器截断
7 标识符最好见名之意
回到顶部
五、变量作用域与生命周期
1 变量作用域,表示一个变量在代码范围内是可以使用的。通常使用{}符号来表示代码范围。
在上一级代码中定义的变量,可以在下一级代码块中使用。下一级代码块中定义的变量,不可以在上一级代码块中使用。
下一级代码块中,如果声明了和上一级名称类型一样的变量,会遵循就近原则。
局部变量:定义在函数中的变量叫局部变量。
全局变量:定义在函数外的变量叫全局变量。
全局变量可以供多个函数使用,而局部变量只可以供当前函数使用。
当全局变量与局部变量重名,依然遵循就近原则。
参数也有作用域,是函数的内部。
2 变量生命周期
当变量存时,就会开辟一块内存空间。
当变量补存在是,就会消除相应的内存空间。
当修饰局部变量的时候加auto(默认),声明变量时,会创建内存空间,当变量超出作用域,就会消除相应的内存空间。
当修饰局部变量的时候加上static,静态局部变量,此时变量的生命周期就会变长,直到程序结束为止。
虽然静态变量的生命周期变长,但作用域依然在函数内部。
auto不可以修饰全局变量,static可以修饰全局变量,加上static只能在本文件中使用,不加在多个文件中都可以使用。
#include <stdio.h> int i = 10; void func(){ int i = 10;//auto 自动变量 static int j = 20;//静态变量,生命周期到程序的结束 i++; j++; printf("func i:%d\n",i); printf("func j:%d\n",j); } int main(int argc, const char * argv[]) { func();//i=11 执行完后销毁了变量i的内存空间 func();//i=11 // int i = 15; // { // //int i = 11; // printf("block i:%d\n",i); // } // printf("i2:%d\n",i); return 0; }
小结:
作用域:使用代码的范围
生命周期:变量在内存中是否存在
作业:
1 输出个人信息:姓名 年龄 性别 期望薪资 税资*13%
#include <stdio.h> int main() { char name[] = {"ymx"}; int age = 22; char sex[] = {"男"}; int xinzi = 6000; int shuizi = 6000 * 0.13; printf("我的名字是:%s,年龄是:%d,性别:%s,薪资:%d,税资:%d\n",name,age,sex,xinzi,shuizi); return 0; }
2 求圆的面积和周长?半径:3.0 π:3.14
#include <stdio.h> int main() { float banjing = 3.0; float pi = 3.14; float mianji = pi * banjing * banjing; float zhouchang = 2 * pi * banjing; printf("圆面积是:%f,周长是:%f\n",mianji,zhouchang); return 0; }
3 求矩形的面积和周长?长:18 宽:15
#include <stdio.h> int main() { int chang = 18; int kuan = 15; int mj = chang * kuan; int zc = 2 * (chang + kuan); printf("矩形的面积:%d,周长%d\n",mj,zc); return 0; }
4.练习:使用程序来模拟放球、取球的问题。
提示:栈,先进后出,后进先出
有网兜存球 -> 数组
放球操作 -> 函数
取球操作 -> 函数
标识 -> 索引
兜满不能放 -> 函数
兜空不能取 -> 函数
得到的是什么球 -> 返回值
测试:123(4满)321(0空)
#include <stdio.h> //stack网兜 i索引 show显示 isFull isEmpty push放 pop取 //ball球 getBall获取球 //保存球 网兜 int stack[3] = {0};//保存球到数组中 int i = 0;//索引 //判断是否放满 int isFull(){ if (i == 3) { return 1;//放满了 }else{ return 0;//还可以放 } } //放球 void push(int ball){ if (!isFull()) { stack[i] = ball; i++; printf("%d号球放好了!\n",i); }else{ printf("已经放满了!\n"); } } //判断是否取完 int isEmpty(){ if (i == 0) { return 1;//取完了 }else{ return 0;//还没取完 } } //取球 void pop(){ int getBall = 0; if (!isEmpty()) { i--; getBall = stack[i]; stack[i] = 0; printf("取球成功!取出%d号球\n",getBall); }else{ printf("已经取完了\n"); } } //显示网兜状态 void show(){ printf("查看网兜存放状态\n"); for (int i = 0; i < 3; i++) { printf("stack[%d]:%d\n",i,stack[i]); } } int main() { push(1);//放入一号球 push(2);//放入二号球 push(3);//放入三号球 push(4);//放入四号球(只能放3个放不进去了) show();//查看网兜状态 printf("i:%d\n",i); pop();//取出3号球 show(); pop();//取出2号球 show(); pop();//取出1号球 show(); pop();//取不出来了 return 0; }
相关文章推荐
- OC -- Objective-C语言编码规范
- 关于C语言变量和函数命名规范
- C语言编程规范之我见——变量初始化
- C语言字符串变量初始化规范
- C语言变量和函数命名规范
- 【学习笔记】JavaScript编码规范-变量
- C#编码规范(3):常用变量和控件在变量命名中缩写
- 黑马程序员——C语言学习笔记03 变量在内存中存储的细节、位运算
- C语言变量和函数命名规范
- PL/SQL编码规范: 注释、变量命名、书写格式、逻辑分支、 循环处理
- 闲谈:C语言中的成对编码与规范编码(上)
- C语言编码规范-强烈推荐(转载)
- C语言编码小规范和3道小编程题
- 华为C语言编程规范(6)—变量、结构
- C语言变量和函数命名规范
- 华为C语言编程规范--变量、结构
- C语言 变量和函数命名规范
- 编码规范---c语言之断言
- Python入门(二)——IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化
- java主类结构、基本数据类型、 变量与常量、运算符、数据类型转换、代码注释与编码规范