hi!我是渔火。今天开始跟我学,从零开始学C语言(三)今天我们来理解下C语言中的常量。常量是在程序执行过程中的,其值不发生改变的量,分为直接常量和符号常量。直接常量又分为整型常量、实型常量、字符串量和字符串量。1、整型常量。整型常量即整数,包括正整数,负整数和零。C语言中,整型常量可以用十进制、八进制和十六进制表示。(1)在一个整型常量后面加一个字母u或U,认为是usigned int型。(2)在一个整型常量后面加一个字母l或L,认为是long int型。2、实型常量。实型常量即实数,又称为浮点数。C语言中,实数只能用十进制的形式表示,实数的表示方法有两种:小数形式和指数形式。(1)小数形式:由整数部分、小数点和小数部分组成,当整数部分或者小数部分为0时,可以省略不写,但小数点不可以省略。(2)指数形式:由尾数部分、字母E或e和指数部分组成,格式为:±尾数E指数。(1)以小数形式表示实数时,必须要有小数点,并且小数点的前、后至少一边要有数字。(2)以指数形式表示实数时,字母E的前后必须有数字,并且指数部分只能是整数。(3)实型常量默认为是double型的实数,如果在数的后面加字母f或F,则认为是float型的实数。3、字符型常量。字符常量指单个字符,用一对单引号以及其括号所括起来的字符来表示。在C语言中,字符常量有以下特点:(1)、字符常量只能用单引号括起来,不能用双引号或其他括号。(2)字符常量只能是单个字符,不能是字符串。(3)、字符可以是ASCII字符集的任意字符/对于控制符与不可见字符,在C语言中通过转义字符来表示。转义字符是用’\‘开头后面加上一个字符或用八进制、十六进制表示的ASCII码值组成。’\‘的作用是改变其后面的字符或ASCII码值的原有意义,转义为另外的含义。转义字符形式上由多个字符组成,但它是一个字符常量,只代表一个字符。
int main()
{
char b,c,d,e;
b='\43';
c='\103';
d='\x2a';
e='\x41';
printf("b=%c,c=%c,d=%c,e=%c\n",b,c,d,e);
printf("\"good\40morning!\b\"!\n");
printf("\123456");
return ;
}
(1)printf("b=%c,c=%c,d=%c,e=%c\n",b,c,d,e);
使用printf()函数输出char型变量啊b、c、d、e的值,由于b='\43',即将转义字符'\43'赋值给变量b,则系统会将'\43'转换为八进制数据所对应的”#“,因此b=#,其余变量的值可以采用同样的方法计算出来。(2)printf("\"good\40morning!\b\"!\n");
使用printf()函数输出字符串"\"good\40morning!\b\"!\n"时,其中的转义字符会转换为相应的字符输出,即将”\“转换为”"“输出”\40“转换为空格,”\b“使光标回退一位,然后在此位置上使用”\“输出一个”'“.(3)printf("\123456");
使用printf()函数输出字符串”"\123456"“时,其中的转义字符、123转为相应的字符S输出,456原样输出。4、字符串常量。字符串常量是由一对双引号""括起来的零个或多个字符序列。字符串中可以使用空格字符、转义字符和其他字符,也可以使用汉字等文字符号。字符串中还可以使用空字符。字符串的长度等于该字符串中所包含的有效字符的个数。提示:在字符串中如果遇到'\0'则认为该字符串结束。如果字符串中有转义字符,则一个转义字符作为一个字符。可以使用strlen()函数来计算字符串的长度。在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义,其一般形式为:#define 标识符 常量值。其中#define是一条编译预处理命令,称为宏定义命令,其功能是把该标识定义为其后的常量值,该标识符称为符号常量。一个#define命令只能定义一个符号常量,若要定义多个符号常量,需要使用多个#define命令。
#include<stdio.h>
#define PRICE 8
int main()
{
int num,total;
num=11;
total=num*PRICE;
printf("总价格为:%d\n",total);
return ;
}
分析:当商品价格发生改变时,只需要修改PRICE的值,其他部分不需要改动。符号常量的使用,可以为编写程序提供很多好处:(1)增加程序的可读性。(2)提高程序的可维护性。(3)简化程序代码。(4)方便数组的定义。相关链接:
https://www.linuxmi.com/learn-c-language-from-scratch-1.html
https://www.linuxmi.com/learn-c-language-from-scratch-2.html
https://www.linuxmi.com/learn-c-language-from-scratch-3.html
-
https://www.linuxmi.com/learn-c-language-from-scratch-4.html
链接:https://www.linuxmi.com/learn-c-language-from-scratch-4.html