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

嵌入式技术

1335人已加入

描述

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;
}
运行结果如下:

变量    
  

审核编辑:汤梓红

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分