codecamp

C 变量

学习C - C变量

变量是保存一个或多个连续字节的特定内存块。

程序中的每个变量都有一个名称,它将对应于该变量的内存地址

我们使用变量名称将数据值存储在内存中或检索内存中包含的数据。

以下代码硬编码字符串中的值10。它不使用变量。


#include <stdio.h> 
  
int main(void) 
{ 
      printf("My salary is $10."); 
      return 0; 
} 

上面的代码生成以下结果。


命名变量

变量名称是以一个字母开头的一个或多个大写或小写字母,数字和下划线字符(_)的序列。

合法变量名称的示例如下:

半径直径Current_May my_Result D123

变量名不能以数字开头,因此8_value和6_size不是合法名称。

变量名不能包含字母,下划线和数字以外的字符。

声明变量

要声明一个名为myvar1的变量,请写下列内容:

int myvar1;

int 是数据类型。

以下是可以在C语言中使用的常见数据类型的列表。

int 
long 
float 
char 
double 

我们也可以写下如下许多变量:

int myvar1, myvar2;

一旦声明,这些变量可以用于根据数据类型存储数据。

赋值变量

您声明的变量可以由值赋值。

它可以使用等号(=)。

例如,变量myvar1将赋值数字100,你会写这个:

int myvar1 = 100;

您还声明如下

int myvar1; 
myvar1 = 100; 

您必须根据数据类型正确地为变量赋值。

如果没有,编译过程中会出错。


示例:使用变量

您可以重写以前的程序以使用int类型的变量,它是一个整数类型:


    #include <stdio.h> 
      
    int main(void) { 
      int salary;                               // Declare a variable called salary 
      salary = 10000;                           // Store 10000 in salary 
      printf("My salary is %d.\n", salary); 
      return 0; 
    } 

上面的代码生成以下结果。

注意

识别您用于存储工资的内存的语句如下:

int salary;  // Declare a variable called salary 

该语句称为变量声明,因为它声明变量的名称。

在这种情况下,名称是salary。

变量声明以分号结尾。

变量声明还指定变量将存储的数据类型。

你使用关键字int来指定变量 salary 将用于存储int类型的整数值。

关键字 int 在变量的名称之前。

这只是您可以用来存储整数的几种不同类型之一。

关键字是在C中保留的具有特殊含义的词。

您不能在代码中使用关键字作为变量或其他实体的名称。

如果这样做,您的编译器将产生错误消息。

下一个声明是:

salary = 10000;                           // Store 10000 in salary 

这是一个简单的算术赋值语句。

它将值设置在等号的右侧,并将其存储在等号左侧的变量中。

= 符号称为赋值运算符,因为它将右侧的值分配给左侧的变量。

关于printf()的注意事项

printf()声明:

printf("My salary is %d.\n", salary); 

括号内有两个参数,用逗号分隔。

参数是传递给函数的值。

printf()函数的两个参数是:

第一个参数是一个控制字符串,它控制如何显示由以下参数或参数指定的输出。

它也称为格式字符串。

第二个参数是变量名称salary。

第一个参数中的控制字符串确定如何显示salary的值。

%d 称为变量值的转换说明符。

转换说明符确定变量值在屏幕上的显示方式。

d 是适用于整数值的十进制说明符。

这意味着第二个参数(salary)将被表示并输出为十进制(基数10)。

转换说明符始终以%字符开头,以便printf()函数可以识别它们。

因为控制字符串中的%总是指示转换说明符的开始,所以当您要输出一个%字符时,您必须使用转义序列%%。

以下代码显示如何使用两个Conversion说明符。

    #include <stdio.h> 
    int main(void) 
    { 
      int chair;                              
      int table;                                
      
      chair = 2;                              
      table = 3;                                
      
      // Display some output 
      printf("%d table for %d chair\n", table, chair); 
      return 0; 
    } 

您首先使用以下语句声明两个变量table 和 chair:

int chair;                                // Declare a variable called chair 
int table;                                // and a variable called table 

您可以将两个变量指定为 int 类型,因此它们只能存储整数值。

它们已经在单独的声明中被声明。

因为它们都是同一类型的,所以你可以保存一行代码,并将它们一起声明为:

int chair, table; 

接下来的两个语句将值赋值给每个变量:

chair = 2;                          
table = 3;                          

上面的代码生成以下结果。

示例:使用变量

该程序使用变量的值进行简单的计算:


    #include <stdio.h> 

    int main(void) 
    { 
      int total_count; 
      int birds; 
      int tigers; 
      int pigs; 
      int others; 
      
      birds = 26; 
      tigers = 13; 
      pigs = 541; 
      others = 46; 
      
      // Calculate the total number
      total_count = birds + tigers + pigs + others; 
      
      printf("We have %d in total\n", total_count);   // Output the result 
      return 0; 
    } 

上面的代码生成以下结果。

初始化变量

在上一个示例中,您使用以下语句声明每个变量:

int birds;                         // The number of birds as pets 

您使用此语句设置变量birds的值:

birds = 2; 

这将birds的值设置为2。

第一个语句创建名为bird的变量,但是它的值将是使用该内存的最后一个程序留下的内存。

我们可以在声明时初始化变量。

您可以使用以下语句来执行此操作:

int birds = 2; 

此语句将bird声明为int类型,并将其初始值设置为2。

C 注释
C 常量
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

C 联合

C 预处理

C 索引

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }