(四)C语言语法

本文详细介绍了C语言的基本语法,包括标识符、关键字、数据类型(如整型、实型、字符型)及其转换,以及变量、常量的概念。还探讨了变量的作用域,如局部变量和全局变量,并举例说明了它们的区别。此外,文章还讨论了不同类型数据之间的转换规则,包括自动转换和强制转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇介绍C语言语法

标识符

C语言中,使用的变量名、函数名、标号等被统称为标识符。C语言规定,标识符只能是字母(A-Z,a-z)、数字(0-9)、下划线(_)组成的字符串,并且第一个字符必须是字母或下划线。
注意以下几点:

  • 标识符中,大小写是有区别的。如Abc和abc是两个不同的标识符。
  • 所有标识符必须由字母或者下划线开头。
  • 标识符不能使用关键字。
  • 标识符命名应便于理解。

关键字

关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。
C语言关键字可分为以下三类:

  • 类型说明符:用于定义、说明变量、函数或其他数据结构的类型。
  • 语句定义符:用于表示一个语句的功能,如 if、else
  • 预处理命令字:用于表示一个预处理命令,如include

最基本的数据类型

下图为C语言数据类型结构图
在这里插入图片描述

  • 基本数据类型
    特点:其值不可以再分解为其他类型。

  • 构造数据类型
    一个构造数据类型的值可以分解成若干个“成员”,每个“成员”都是一个基本数据类型或又是一个构造数据类型。C语言中,有以下3种构造数据类型:

    • 数组类型
    • 结构体类型
    • 共用体(联合)类型
  • 指针类型
    指针就是地址,指某个变量在内存储器中的地址。

  • 空类型
    C语言中,有一类函数,调用后不需要向调用者返回函数值,这种函数被定义为“空类型”,其类型说明符为void。它是所有基本类型的基础。

常量

在执行程序过程中,其值不发生改变的量称为常量,C语言的常量分为以下两种:

  • 直接常量
    直接常量是直接以字面形式即可判别的常量,如" int a=1;"

  • 字符常量
    即用一个标识符表示的常量。定义方法有两种:

    • 编译指令#define定义
      如“#define A 1”,标识符A代表常量1,注意几点:#define是一条预处理指令,被称为宏定义指令,其功能是把该标识符定义为其后的常量值;习惯上用大写字母表示符号常量名,小写字母表示变量名
    • 使用关键字const定义
      const是一个修饰符,定义一个常量时需要在常量名前加上此修饰符,程序中每处常量都可以使用该名字代替。如“const int a=1;”注意几点:定义成const后面的常量,程序对其只能读不能修改,并且定义常量时必须初始化,其值可以是一个常量表达式(不能包含有某个函数)。

变量

其值可以改变的量称为变量。

  • 两个基本信息
    变量的地址,变量的值。

  • C语言变量类型

  • 变量作用域
  1. 局部变量
    在函数内部说明的变量为局部变量,只有在函数执行时,局部变量才存在。当函数执行完退出后,局部变量对应的内存空间会被释放,局部变量随之消失。
  2. 全局变量
    全局变量的说明的位置在所有函数之外,可被任何一个函数使用和读写。
    例:
#include<stdio.h>
int a=1;
int max(int x,int y);
int main()
{
	a=2;
	int b=3,c=4;
	printf("%d\n",a);
	printf("%d",max(b,c)); 
	return 0;
}

int max(int x,int y)
{
	if(x>y)
	{
		return x;
	}
	return y;
}

运行结果:
在这里插入图片描述
说明:上例中,a为全局变量,可以在函数main内使用,也可以在函数max内使用;b、c为局部变量,只能在main函数内使用。

  • 变量的声明
    格式为[变量类型 变量名;],下面两种声明方式都是合法的。
int a;
int a,b;

整型数据

  • 整型常量

在这里插入图片描述注:整型常数也可以加后缀,“L”或“l”表示长整型,“U”或“u”表示无符号;计算机中负数是以补码的形式存储的。

  • 整型变量
    类型如下
    在这里插入图片描述

实型数据

C语言中实数只采用十进制,实型也称为浮点型。

  • 实型常量
    在这里插入图片描述

  • 实型变量
    在这里插入图片描述其中,float为单精度型,double为双精度型。

字符型数据

  • 字符常量
    字符常量是单引号“ ’ ”括起来的一个字符,如’a’。字符串常量占一个字节的存储空间。除了基本的字符外,C语言还有一些转义字符,即将反斜杠(\)后面的字符换成其他意思,如\n表示回车换行,'表示单引号符。常用转义字符表如下:

在这里插入图片描述
说明:字符型数据取值范围为0~255

  • 字符串常量
    字符串常量是由一对双引号括起来的字符序列,如"ab"。字符串常量占的字节数等于字符串中字节数加1,增加的一个字节中存放字符"\0",这是字符串结束的标志。
    注:C语言中没有相应的字符串变量,但是可以用一个字符数组来存放一个字符串常量。

  • 字符变量
    字符变量用来存储字符常量,将一个字符常量放到一个字符变量中,并不是把字符本身放到内存单元中,而是将此字符相应的ASCII码放到存储单元中。所以可以将字符变量当作整型量,其既可以以字符形式输出,也可以以整数形式输出。ASCII表如下

在这里插入图片描述例:

int main()
{
	char a = 'a',b;
	b = a +7;
	printf("%d %d\n",a,b);
	printf("%c %c\n",a,b);
	return 0; 
}

运行结果:

在这里插入图片描述说明:显然字符变量a参与加法运算时是被当作整型量的,每个字符都有对应的ASCII码。

不同类型数据转换关系

  • 自动转换
    自动转换发生在不同数据类型的量混合运算时,由编译系统自动完成。参与运算量的类型不同,则先转换成同一类型,再进行运算。变量转换规则如下

在这里插入图片描述
例如char和float运算,则将char转换为double后运算。

  • 强制转换
    强制转换格式为:(类型说明符)(表达式)
    例如:
    (float) a
    (int)(a+b)
    说明:无论是强制转换还是自动转换,都是临时性的转换,而不改变数据说明时对该变量定义的类型

  
  


总结一下,本篇介绍了C语言语法,包括标识符、关键字、基本数据类型、常量、变量。

小僧初来乍到,希望大家多多支持!如有纰漏,欢迎大家在评论区留言,小僧会及时更正,同时,大家如果有疑惑的地方可以把问题写在评论区,小僧看到会回复哟😄!
另外,小僧的公众号上线啦,里面有“实用工具”、“学习资源”以及许多资料,欢迎大家关注一波小僧的公众号👇

在这里插入图片描述
  
  
  
参考:
百度百科
《C语言开发从入门到精通》------王长青、韩海玲

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值