hi!我是渔火。今天开始跟我学,从零开始学C语言(四)
今天我们来讲C语言的变量,变量是指程序运行期间其值可以发生变化的量。变量用于从外部接收数据、保存一些不断变化的值、保存中间结果及最终结果,而这些都无法用常量来实现。
小白提示:在C语言中,所有的定义必须先定义后使用。
变量的定义格式为:类型说明符 变量名表。
提示:
(1)类型说明符必须是C语言中的有效数据类型。
(2)变量名可以由一个或多个变量名组成,各变量之间用”,“。变量名必须是合法的C语言标识符,变量名一般使用小写字母。
(3)变量的定义必须放在变量的使用之前,一般在函数体的开头部分进行定义。
以下举例:
int r; //定义r为整型 float v,f; //定义v,f为单精度浮点型 double x,y; //定义x,y为双精度浮点型 char ch; //定义ch为字符型
C语言允许在定义变量的同时对变量赋值,这个过程称为变量的初始化。对变量初始化的需注意:1、对一个变量赋初值之后,该赋值被存储在分配给该变量的内存空间中。2、不允许对多个未定义的同类型变量连续初始化。3、初始化时,一般应使”=“右边的表达式的数据类型和”=“左边的变量的类型一致,如不一致,系统会进行自动赋值转换。4、没有进行初始化的变量,其值是由定义时所使用的存储类型决定的。
变量定义之后,就可以在程序中使用,在程序中使用变量,称为变量的引用。使用变量时,应该先赋值,后引用。在程序中可以通过初始化、赋值表达式或者输入函数scanf()来对变量赋值。
以下举例:
#include//2023.1.28 渔火 by Linux迷 www.linuxmi.com int main() { int a,b,c; char ch='Y' ; a=8; b=a+ch; scanf("%d",&c); printf("%d,%d,%d,%c ",a,b,c,ch); //2023.1.28 渔火 by Linux迷 www.linuxmi.com return 0; }
运行结果如下:
分析:在main()函数中定义了三个int型变量啊a、b、c,一个char型变量ch。
一个整型变量用来保存整数。在C语言中,整型又分为:短整型,整型,长整型,无符号整型,无符号短整型和无符号长整形李毅中。
不同类型整型变量很多定义与使用举例:
#include运行结果如下://2023.1.28 渔火 by Linux迷 www.linuxmi.com int main() { int a,b,c,d; unsigned long e; a=6; b=8; e=10; c=a+e; d=b+e; printf("c=%d,d=%d ",c,d); //2023.1.28 渔火 by Linux迷 www.linuxmi.com return 0; }
接下来让我们看一例短整型变量的溢出。
#include运行结果如下://2023.1.28 渔火 by Linux迷 www.linuxmi.com int main() { short int a,b; a=32767; b=a+1; printf("a=%d,b=%d ",a,b); //2023.1.28 渔火 by Linux迷 www.linuxmi.com return 0; }
分析:因为短整型变量的取值范围是-32768~32767,变量a的值加1以后超出了该范围,产生意想不到的结果。 C语言中实型变量分为单精度和双精度两种类型。单精度型数据能保留7位有效数字,双精度数据能保留16位有效数字。 接下来我们看一例实型变量的代码:
#include运行结果如下://2023.1.28 渔火 by Linux迷 www.linuxmi.com int main() { float a=8888.56789; double b=8888.567895678; printf("a=%f,b=%f ",a,b); //2023.1.28 渔火 by Linux迷 www.linuxmi.com return 0; }
分析:因为a是单精度浮点型,有效字位数位7位,其中整数已占4位,故3位小数之后的均为无效数字。但是b是双精度型,有效数字位16位。
字符型变量的值是字符常量,即用单引号引起来的单个字符。字符型变量的类型说明符是char,其类型说明的格式和命名规则与整型变量相同。
接下来我们来看一个字符变量的使用示例:
#include运行结果如下://2023.1.28 渔火 by Linux迷 www.linuxmi.com int main() { char y1,y2; y1='Y'; y2=89; printf("%c,%c ",y1,y2); printf("%d,%d ",y1,y2); //2023.1.28 渔火 by Linux迷 www.linuxmi.com return 0; }
我们可以利用字符变量将大写字母转换为小写字母,也可以将小写字母转换为大写字母。
大写字母转换为小写字母:
#include运行结果如下://2023.1.28 渔火 by Linux迷 www.linuxmi.com int main() { char y1,y2; y1='Y'; y2='U'; y1=y1+32; y2=y2+32; printf("%c,%c ",y1,y2); printf("%d,%d ",y1,y2); //2023.1.28 渔火 by Linux迷 www.linuxmi.com return 0; }
小写字母转换为大写字母:
#include运行结果如下://2023.1.28 渔火 by Linux迷 www.linuxmi.com int main() { char y1,y2; y1='y'; y2='u'; y1=y1-32; y2=y2-32; printf("%c,%c ",y1,y2); printf("%d,%d ",y1,y2); //2023.1.28 渔火 by Linux迷 www.linuxmi.com return 0; }
审核编辑:汤梓红
评论
查看更多