跟我从零开始学 C 语言系列(四)

2023-02-28 00:00:00 变量 定义 渔火 整型 精度
  

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<stdio.h>//2023.1.28 渔火 by Linux迷 www.linuxmi.comint main(){  int a,b,c;  char ch='Y' ;  a=8;  b=a+ch;  scanf("%d",&c);  printf("%d,%d,%d,%c\n",a,b,c,ch);    //2023.1.28 渔火 by Linux迷 www.linuxmi.com  return ;}
运行结果如下:
分析:在main()函数中定义了三个int型变量啊a、b、c,一个char型变量ch。
一个整型变量用来保存整数。在C语言中,整型又分为:短整型,整型,长整型,无符号整型,无符号短整型和无符号长整形李毅中。
不同类型整型变量很多定义与使用举例:
#include<stdio.h>//2023.1.28 渔火 by Linux迷 www.linuxmi.comint 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\n",c,d);          //2023.1.28 渔火 by Linux迷 www.linuxmi.com  return ;}
运行结果如下:
接下来让我们看一例短整型变量的溢出。
#include<stdio.h>//2023.1.28 渔火 by Linux迷 www.linuxmi.comint main(){  short int a,b;  a=32767;  b=a+1;  printf("a=%d,b=%d\n",a,b);        //2023.1.28 渔火 by Linux迷 www.linuxmi.com  return ;}
运行结果如下:
分析:因为短整型变量的取值范围是-32768~32767,变量a的值加1以后超出了该范围,产生意想不到的结果。
C语言中实型变量分为单精度和双精度两种类型。单精度型数据能保留7位有效数字,双精度数据能保留16位有效数字。
接下来我们看一例实型变量的代码:
#include<stdio.h>//2023.1.28 渔火 by Linux迷 www.linuxmi.comint main(){  float a=8888.56789;  double b=8888.567895678;  printf("a=%f,b=%f\n",a,b);        //2023.1.28 渔火 by Linux迷 www.linuxmi.com  return ;}
运行结果如下:

分析:因为a是单精度浮点型,有效字位数位7位,其中整数已占4位,故3位小数之后的均为数字。但是b是双精度型,有效数字位16位。
字符型变量的值是字符常量,即用单引号引起来的单个字符。字符型变量的类型说明符是char,其类型说明的格式和命名规则与整型变量相同。
接下来我们来看一个字符变量的使用示例:
#include<stdio.h>//2023.1.28 渔火 by Linux迷 www.linuxmi.comint main(){  char y1,y2;  y1='Y';  y2=89;  printf("%c,%c\n",y1,y2);  printf("%d,%d\n",y1,y2);      //2023.1.28 渔火 by Linux迷 www.linuxmi.com   return ;}
运行结果如下:

我们可以利用字符变量将大写字母转换为小写字母,也可以将小写字母转换为大写字母。

大写字母转换为小写字母:

#include<stdio.h>//2023.1.28 渔火 by Linux迷 www.linuxmi.comint main(){  char y1,y2;  y1='Y';  y2='U';  y1=y1+32;  y2=y2+32;  printf("%c,%c\n",y1,y2);  printf("%d,%d\n",y1,y2);        //2023.1.28 渔火 by Linux迷 www.linuxmi.com   return ;}
运行结果如下:


小写字母转换为大写字母:

#include<stdio.h>//2023.1.28 渔火 by Linux迷 www.linuxmi.comint main(){  char y1,y2;  y1='y';  y2='u';  y1=y1-32;  y2=y2-32;  printf("%c,%c\n",y1,y2);  printf("%d,%d\n",y1,y2);      //2023.1.28 渔火 by Linux迷 www.linuxmi.com  return ;}
运行结果如下:

相关链接:
  1. https://www.linuxmi.com/learn-c-language-from-scratch-1.html

  2. https://www.linuxmi.com/learn-c-language-from-scratch-2.html

  3. https://www.linuxmi.com/learn-c-language-from-scratch-3.html

  4. https://www.linuxmi.com/learn-c-language-from-scratch-4.html

  5. https://www.linuxmi.com/learn-c-language-from-scratch-5.html



来自:Linux迷
链接:https://www.linuxmi.com/learn-c-language-from-scratch-5.html

相关文章