P6.标识符的命名规则和规范
标识符的命名规则和规范
标识符概念:
1) C语言 对各种变量、函数等命名时使用的字符序列称为标识符
2) 凡是自己可以起名字的地方都叫标识符
标识符的命名规则:
1) 由26个英文字母大小写,0-9 ,_或 $ 组成
2) 数字不可以开头。
3) 不可以使用关键字和保留字,但能包含关键字和保留字。
4) C语言中严格区分大小写,长度无限制。
5) 标识符不能包含空格。
判断下面变量名是否正确:
hello // √
hello12 // √
1hello // ×
h-b // ×
x h //×
h$4 //√
int //×
double //×
stu_name //√
标识符命名规范:
1) 程序中不得出现仅靠大小写区分的相似的标识符 int x, X; 变量x 与X 容易混淆
2) 所有宏定义、枚举常数、常量(只读变量)全用大写字母命名,用下划线分隔单词 比如: const double TAX_RATE = 0.08; //TAX_RATE 只读变量 #define FILE_PATH "/usr/tmp"
3) 定义变量别忘了初始化。定义变量时编译器并不一定清空了这块内存,它的值 可能是无效的数据, 运行程序,会异常退出.
4) 变量名、函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个 单词首字母大写:xxxYyyZzz [驼峰法,小驼峰, 比如 short stuAge = 20;] 比如: tankShotGame 大驼峰 [TankShotGame]

我的源码:
/*
标识符命名规则和规范
概念:
1.C语言中,对各种变量,函数等命名时使用的字符序列称为标识符
2.凡是自己可以起名字的地方都叫标识符
关键字:被C语言赋予了特殊含义,用做专门用途的字符串
下面几句都是废话。。。
特点:关键字中所有字母都为小写,这句话没用(但C89是这样的)
因为,1999.12.16日,ISO推出了C99标准,该标准新增了5个C语言关键字,其中有个 Bool
后面2011年12.8日ISO推出了C11,新增7个C语言关键字,都是 _ 开头的
*/
//-------------------------->>>>>>>>>>>>>>>>>
/*规则:
1.由26个英文字母大小写,0-9,_或$组成
2.数字不能开头
3.不可以使用关键字和保留字。但能包含关键字和保留字(包含在单词中)
4.C语言中严格区分大小写,长度无限制
5.标识符不能包含空格
*/
/*
标识符命名规范:
1.程序中不得出现仅靠大小写区分的 相似的标识符 (比如:int x,X; 变量x和X容易混淆 )
2.所有宏定义、枚举常量、常量(常量也叫只读变量) 全都用大写字母命名,用下划线分隔单词
--比如:const double TAX_RATE = 0.08;//TAX_RATE 只读变量
-- #define FILE_PATH "/usr/tmp"
3.定义变量别忘了初始化。定义变量时 编译器并不一定清空了这块内存,它的值可能是无效的数据,运行程序,会异常退出。
4.变量名、函数名。由多个单词组成时,第一个单词字母小写,第二个单词开始,每个单词首字母大写。xxxYyyZzz【这叫驼峰命名法,
驼峰法。是小驼峰,例如:short stuAge = 13; 大驼峰是这样的 TankShotGame】
*/
#include <stdio.h>
#include <stdlib.h>//停留窗口函数 system("pause");在这个头文件中
void main(){
char name[9] = "xiaoying";
char stuGender[4] = "男";
char tankShotGame[13] = "坦克大战";
int stuAge = 13;
double sal;//没有初始化
printf("%s是一个%s人,今年%d岁,学习编程,写了一款叫%s的游戏\n",name,stuGender,stuAge,tankShotGame);
//输出没有初始化的name2
printf("sal=%f",sal);//运行程序,会异常退出
//暂留窗口
system("pause");
}

键盘输入语句
介绍:在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。
步骤 :
1) include <stdio.h>
2) 使用scanf 函数
3) 使用适当的格式参数接收输入 案例演示: 要求:可以从控制台接收用户信息,【姓名,年龄,薪水, 性别 (male(m) / female(f))】


我的源码:
/*
1.输入也需要引入 include <stdio.h>头文件
2.使用 scanf 函数
3.使用适当的格式参数接收输入
*/
//要求:可以从控制台接收用户信息【姓名,年龄,薪水,性别(male / female)】
#include <stdio.h>
#include <stdlib.h>
void main(){
char name[10] = "";//不给数组长度会出问题,debug error,程序异常
int age = 0;
char gender = ' ';
double sal = 0.0;
printf("请输入姓名: ");
scanf("%s",name);//scanf("%s",name) 表示接收一个字符串,存放到 name 字符数组
printf("请输入年龄: ");
scanf("%d",&age);//得到输入存放到age变量 指向的地址中,因此需要加 & ,
//一句话简单记,输入都是要存放到地址的空间中,都需要& ,只是数组本身就表示地址(首地址就是数组地址),所以数组不加 &
printf("请输入薪水: ");
scanf("%lf",&sal);//接收一个double时,格式参数 %lf,规定的
printf("请输入性别(f / m): ");
scanf("%c",&gender);//这里会接收上面的回车字符
scanf("%c",&gender);//这里才是接收这个变量的值
printf("name=%s age=%d sal=%.3f gender=%c\n",name,age,sal,gender);
//getchar();//会接收到一个回车,再加一个才行
//getchar();//控制台暂停
system("pause");//用这个,1个就行,getchar需要用2个
}