五. 常量 常量:表示一些固定的数据,也就是不能改变的数据 1. 常量的分类及书写 a) 整型常量 二进制:以0b开头 如:0b10110 十进制:直接书写 如:23、78 八进制:以0开头 如:017 十六进制:以0x开头 如:0x96AB b) 浮点型常量 单精度:以f结尾 如:2.32f 双精度:计算机默认浮点型为双精度 如:2.32 c) 字符型常量 普通字符:用单引号(’ ’)括起来的字符 如:’a’ ‘c’ 转义字符: 如:\n \t \r等 d) 字符串常量,和字符型常量不一样 用双引号括起来的,里面可以是字符,数字,符号 如:”abc” “a” “**” “ “ “” 六. 变量 所谓变量,他代表了内存的某个空间,它的取值可以改变,是数据的基本单元。 变量由两要素构成:变量+变量名 1. 变量的定义和使用 a) 定义(声明) 格式1:变量类型 变量名称 ; 格式2:变量类型 变量名称1 变量名称2 变量名称3 …… b) 变量的命名规范 i. 严格遵守标识符的命名规范 ii. 变量名不能同名(某些情况下可以) 2. 变量的初始化(赋值) 注意: 赋值时,=号左侧必须是变量 习惯上将 = 的两边各加上一个空格 3. 变量的作用域 C语言中所有变量都有自己的作用域,声明变量的类型不同,其作用域也不同,C语言中的变量,按照作用域的范围可分为两种:全局变量和局部变量 1) 局部变量 局部变量是在函数内作定义说明的,其作用域仅限于函数内,离开该函数后再使用这种变量是非法的 局部变量的作用域:从局部变量定义的位置开始,到它所在的代码块或函数体的“}”位置为止。 2) 全局变量 在函数的外部定义的变量是全局变量 全局变量的作用域:从定义的位置开始,到文件末尾,在不同的函数中都可以使用 4. 变量为什么要区分类型 a) 为了更加合理使用内存,不同的数据类型需要的存储空间不一样 b) 数据的存储格式不一样,例:int 4字节 double 8字节 c) 不同数据类型的运算方式可能不一样 七. Printf函数介绍及用法 printf函数是一个标准库函数,能够以精确的格式输出程序运算的结果 printf函数的调用格式为:printf(“格式控制字符串”,输出项列表); 如:printf(“%d,%d”,a,b); 1. 格式控制符 %d 输出一个10进制的整数 %f 输出一个实数类型的数据 %c 输出一个字符 2. %f输出精度问题 注意:%f打印出来后,精度是小数点后6位,float类型的有效数字是7位,double类型的有效数字是15位。 3. printf使用注意事项 a) %md问题(设置域宽问题) m数字可以为正也可以为负 如果要输出的数的位数 > 域宽m 按照数据的实际位数输出 printf(“%3d”,1888); //输出结果为1888 如果要输出的数的位数 < 域宽m 要补空格 m> 0 从左侧开始补空格 m< 0 从右侧开始补空格 b) %0md使用注意 %0md表示 不足部分补0
八. scanf函数介绍及使用 1. scanf函数(阻塞式函数) 阻塞式的函数:函数执行后,会等待用户的输入,如果用户不输入任何内容,它就会一直等待 scanf函数的作用:从键盘接收用户输入的内容保存到指定的变量中。 格式:scanf(“格式控制字符串”,输出项地址列表); 例: 2. scanf使用的注意事项 a) 尽量不要使用 \n 如果不小心使用了 1. 输入值后,随便输入一个内容 2. \n 要原样输入 b) scanf函数当遇到回车的时候就会结束执行 c) 接收单个变量值得时候,输入值之前,如果输入了空格、回车、tab都会被忽略 d) 输入完第一个数以后,如果中间添加了回车、空格、tab都会被忽略 3. scanf函数运行的原理 当用户输入内容后,用户输入的内容会被存放到scanf的输入缓冲区中 然后scanf函数会根据格式控制的字符要求,从缓冲区依次取它要的内容 如果从缓冲区取得的内容和格式要求一致,则把值存放到变量中。 如果格式不一致则不修改变量的值
|