ProDeveloperTutorial.com

教程和编程解决方案
菜单
  • Shell脚本
  • 系统设计
  • Linux系统编程
  • 4g LTE
  • 编码问题
  • C
  • C ++
  • DSA
  • GIT

第2章:C语言变量声明和数据类型

前开发者教程 七月2,2018

在本章中,我们将学习:

 

  1. C代币
  2. C语言分隔符
  3. C标识符
  4. C常数
  5. C变量
  6. C变量声明和初始化
  7. C变量定义规则
  8. C数据类型
  9. C型修饰符
  10. C类型转换
  11. C常数和挥发性变量

 

C令牌:

程序和编译器的最小单元将它们标识为令牌。

以下是C语言中可用的令牌类型。

  1. 关键词:它们是编译器保留的特殊词,每个词都有特殊含义。
  2. 变数:它们是程序员为存储值而存储的位置所给出的名称。
  3. 常数:将它们分配给变量。
  4. 经营者:它们是C中使用的不同类型的表达式。
  5. 弦乐:它们是字符序列。

 

C语言分隔符:

下面是在C中使用的定界符的列表。

 

结肠                         :用于定义标签[用于goto]。

分号              ;用作语句的结尾。

括弧           ()在表达式和函数中使用。

方括号       []用来声明数组。

大括号           {}用来提供语句集的范围。

杂凑                           #这是预处理程序指令。

逗号                      ,可变分隔符。

 

C标识符:

标识符是为变量,函数,结构,联合,指针和数组指定的名称。通常,如果我们给上述任何元素赋予符号名称,则称为标识符。

 

C常数:

C常量是应用于变量的值,并且在程序执行期间不会更改。

C常数:

         数值常数           

  1. 整数常数。例如:23、34,-25
  2. 浮动或实常数。例如:12.34,-54.32

      字符常量

  1. 单字符常量。例如:“ a”,“ b”,“ c”
  2. 字符串常量。例如:“你好”,“世界”,“ 124”

下面是C中不同类型的常量的示例:

#include<stdio.h>

int main()
{
	int iNum = 10;
	float fNum = 23.45;
	char c = 'a';
	double dNum = 123.4567;
	char string[30] = "ProDeveloperTutorial";

	printf("Int = %d, Float = %f, Char = %c, Double = %5.2f String = %s\n", iNum, fNum, c, dNum, string);

	return 0;
}
gcc c_constants.c -o constants.out
./constants.out

输出:

Int = 10, Float = 23.450001, Char = a, Double = 123.46 String = ProDeveloperTutorial

 

C变量:

C变量是分配给存储位置以存储值的名称。声明变量将帮助C编译器了解变量的类型,变量的范围和存储值的内存。

分配给变量的值可以在程序执行期间更改。

C变量的示例:

整型 age;

这里age是int类型的变量名。因此,编译器将在内存中分配4个字节的存储空间,并将名称“ age”分配给该内存位置。

 

C变量声明和初始化:

声明意味着给存储位置分配一个名称。在使用C之前,应声明C中的任何变量名。

变量声明应在程序的声明部分进行。通常,它将在打开局部变量的花括号之后在函数的启动中。对于全局变量,它将在包含头文件之后。

声明变量将确保编译器有两件事:

  1. 变量的数据类型。
  2. 变量名。

 

变量声明的语法:

         data_type variable_name;

Ex:                  
         整型 num;

初始化变量:

声明后的变量可以使用赋值“ =”运算符进行初始化。

变量初始化的语法:

     Variable_name = constant;

Or

     data_type variable_name = constant;

例:

    整型 num = 10;

    marks = 30;

如上所见,右侧[30]的值分配给左侧[marks]。

多项作业:

可以将相同的常数值分配给多个变量。

例:

                  num_1 = num_2 = num_3 = 45;

此处将为num_1,num_2,num_3分配值45。

动态初始化:

在运行时对变量的初始化称为动态初始化。

显示以上所有三种初始化类型的示例:

#include<stdio.h>

int main(int argc, char const *argv[])
{
	int marks_1;
	int marks_2 = 20;
	int marks_3, marks_4;

	int total;

	marks_1 = 40;

	marks_3 = marks_4 = 50;

	total = marks_1 + marks_2 + marks_3 + marks_4;

	printf("marks_1 = %d \n", marks_1 );
	printf("marks_2 = %d \n", marks_2 );
	printf("marks_3 = %d \n", marks_3 );
	printf("marks_4 = %d \n", marks_4 );
	printf("Total = %d \n", total );


	return 0;
}

汇编:

gcc variable_initialization.c –o variable_initialization
./variable_initialization

输出:

marks_1 = 40
marks_2 = 20
marks_3 = 50
marks_4 = 50
Total = 160

 

C变量定义规则:

以下是定义变量的规则:

  1. 变量名称应以字母或下划线开头。
  2. 变量名称之间不能有任何空格。
  3. 变量名称中除“ _”下划线外不能有其他特殊字符。
  4. 变量名不能是C关键字。
  5. 变量名称可以是字母数字字符的组合,但是它可以 不应该 以数字开头。

显示变量名的示例C程序:

#include<stdio.h>

int main()
{
	int IntegerVariable_1 = 340;
	float float_variaBLE = 120.32;
	char name[30] = "ProDeveloperTutorial";

/* Wrong variable names 
*	int break = 10;
*	int 1_value = 29;
*	int %^&;
*/

	return 0;
}

 

C数据类型:

从上面的文章中我们知道,每个C变量都与一个数据类型相关联。

数据类型将帮助编译器决定在编译期间将多少内存分配给该变量。

C数据类型可分为3种类型:

Primary Data-type:
1.	int
2.	float
3.	char
4.	double
Derived Data-type:
1.	Pointer
2.	Functions
3.	Arrays
User Defined Data-type:
1.	Structure
2.	Union
3.	Enumeration
4.	typedef

基本数据类型可以与类型修饰符结合使用,以扩大或缩小变量可以存储的范围数。

每种数据类型都将具有预定义的内部存储空间。

 

下面是显示基本数据类型的默认存储空间的程序:

#include<stdio.h>

int main(int argc, char const *argv[])
{
	printf("的 size of char  	= %lu\n", sizeof(char) );
	printf("的 size of 短  	= %lu\n", sizeof(short) );
	printf("的 size of 整型  	= %lu\n", sizeof(int) );
	printf("的 size of 长  	= %lu\n", sizeof(long) );
	printf("的 size of double  	= %lu\n", sizeof(double) );
	printf("的 size of 长 double  = %lu\n", sizeof(long double ) );

	return 0;
}

输出:

的 size of char  	= 1
The size of 短  	= 2
The size of 整型  	= 4
The size of 长  	= 8
The size of double  	= 8
The size of 长 double  = 16

 

 

C类型修饰符:

关键字“签”“未签名”“短”和“长“ 是 类型修饰符 在C中

这些修饰符可以应用于基本数据类型,以更改基本数据类型的含义。

默认情况下,所有基本数据类型都是带符号的数据类型。

例如:

一个“整型“数据类型是带符号的数据类型,可以保存值”-32768至32767”,因此是“无符号整数“可以保留一个值”0至65535”。

因此,无符号数据类型只能保存一个正整数。它不会包含负整数值。

 

 

C类型转换

在C语言中,当我们对两种不同的数据类型进行操作时,结果类型将自动转换为可用的更高数据类型。

示例程序显示了如何进行类型转换:

#include<stdio.h>

int main(int argc, char const *argv[])
{
	int num_1 = 67;
	int num_2 = 5;
	float num_3  = 5;

	/*Division of 整型 with 整型 the result will be 整型*/
	printf("Int with Int division = %d \n", (num_1 / num_2) );

		/*Division of 整型 with float the result will be float*/
	printf("Int with Float division = %f \n", (num_1 / num_3) );

		/*Division of 整型 with 整型 type casted with float the result will be float*/
	printf("Int with Int type casted with float division = %f \n", ((float)num_1 / num_2) );
	return 0;
}

输出:

Int with Int division = 13

Int with Float division = 13.400000

Int with Int type casted with float division = 13.400000

 

C常数和挥发性变量

关键字“const”和“易挥发的”也称为类型限定符。

的 const 关键字将使变量恒定。一旦为其分配了值,就无法更改。因此,对于常量变量,该值应在该常量变量的声明期间初始化。

“ 易挥发的”关键字将使变量随时更改值。默认情况下,所有变量均为“易挥发的”变量。

常量和易失性的示例:

#include<stdio.h>

int main(int argc, char const *argv[])
{
	const 整型 num = 10;
	 // num ++ // error: cannot assign to variable 'num' with const-qualified type 'const 整型'

	volatile 整型 num_2 = 24;
	num_2 ++;
	
	return 0;
}

 

该网站上可用的教程列表:

C编程20+章C ++编程80+章
100多个编码问题数据结构和算法85+章
系统设计20+章Shell脚本编写12章
4g LTE 60+章节最常见的编码问题
5G NR 50+章Linux系统编程20+章
分享
电子邮件
鸣叫
领英
Reddit
绊倒
Pinterest的
上一篇文章
下一篇

关于作者

前开发者教程

每天我们都会讨论竞争性编程问题,请加入我们的网站:   电报频道

ProDeveloperTutorial.com

教程和编程解决方案
版权© 2020 ProDeveloperTutorial.com
从以下课程获得热门课程: 教育性的

<small class="JUuN09d"></small>

<sup class="dffkTFw"><strong class="WKP8woe"></strong></sup>




    <td id="wjwEDVl"></td>

    <i id="tF9NWAA"><tr id="DggZ3Sn"><rp id="tLnpBzl"></rp></tr></i>