C程序语法和结构

本文详细介绍了C语言的基础知识,包括C结构、C语法(如分号的使用、注释形式、标识符规则、关键字列表以及空格的作用),并通过示例展示了C程序的基本组成部分。
摘要由CSDN通过智能技术生成

C语言简介-CSDN博客

目录

​编辑

1.  C结构

2.  C语法

2.1  分号 ;

2.2  注释

2.3  标识符

2.4  关键字

2.5  C 中的空格


1.  C结构

        参考往期代码:

#include <stdio.h>
 
int main()
{
   /* 我的第一个 C 程序 */
   printf("Hello, World! \n");
   
   return 0;
}

        可以看出,C程序主要包括以下部分:

  • 预处理器指令
  • 函数
  • 变量
  • 语句 & 表达式
  • 注释

2.  C语法

2.1  分号 ;

在 C 程序中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。

例如,下面是两个不同的语句:

printf("Hello, World! \n");
return 0;

再例如一个完整的代码:

#include <stdio.h>
#include <time.h>

time_t time_cnt;
struct tm time_date;
char *time_str; 

int main()
{
//    time_cnt=time(NULL);
//    time(&time_cnt);
	time_cnt=1672588795;   
	printf("%d\n",time_cnt);
	
	time_date=*localtime(&time_cnt);
	printf("%d\n",time_date.tm_year+1900);//注意,程序里的年是从1900年经过的年数,所以要计算出想要的年份需要+1900年的偏移 
	printf("%d\n",time_date.tm_mon+1);//同理月在程序中从1月开始计算,所以需要加1月的偏移 
	printf("%d\n",time_date.tm_mday);
	printf("%d\n",time_date.tm_hour);
	printf("%d\n",time_date.tm_min);
	printf("%d\n",time_date.tm_sec);
	printf("%d\n",time_date.tm_wday);//0代表星期天 
	
	time_cnt=mktime(&time_date);
	printf("%d\n",time_cnt);
	
	time_str=ctime(&time_cnt);
	printf(time_str);
	
    return 0;
}

2.2  注释

C 语言有两种注释方式:

// 单行注释
以 // 开始的单行注释,这种注释可以单独占一行。

/* 单行注释 */

/* 多行注释

   多行注释

   多行注释

*/

/* */ 这种格式的注释可以单行或多行。

您不能在注释内嵌套注释,注释也不能出现在字符串或字符值中。

2.3  标识符

        C 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)。

        C 标识符内不允许出现标点字符,比如 @、$ 和 %。C 是区分大小写的编程语言。因此,在 C 中,Manpower 和 manpower 是两个不同的标识符。

2.4  关键字

下表列出了 C 中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。

auto声明自动变量
break跳出当前循环
case开关语句分支
char声明字符型变量或函数返回值类型
const定义常量,如果一个变量被 const 修饰,那么它的值就不能再被改变
continue结束当前循环,开始下一轮循环
default开关语句中的"其它"分支
do循环语句的循环体
double声明双精度浮点型变量或函数返回值类型
else条件语句否定分支(与 if 连用)
enum声明枚举类型
extern声明变量或函数是在其它文件或本文件的其他位置定义
float声明浮点型变量或函数返回值类型
for一种循环语句
goto无条件跳转语句
if条件语句
int声明整型变量或函数
long声明长整型变量或函数返回值类型
register声明寄存器变量
return子程序返回语句(可以带参数,也可不带参数)
short声明短整型变量或函数
signed声明有符号类型变量或函数
sizeof计算数据类型或变量长度(即所占字节数)
static声明静态变量
struct声明结构体类型
switch用于开关语句
typedef用以给数据类型取别名
unsigned声明无符号类型变量或函数
union声明共用体类型
void声明函数无返回值或无参数,声明无类型指针
volatile说明变量在程序执行中可被隐含地改变
while循环语句的循环条件

C99 新增关键字

_Bool_Complex_Imaginaryinlinerestrict

C11 新增关键字

_Alignas_Alignof_Atomic_Generic_Noreturn
_Static_assert_Thread_local

2.5  C 中的空格

        只包含空格的行,被称为空白行,可能带有注释,C 编译器会完全忽略它。

        在 C 中,空格用于描述空白符、制表符、换行符和注释。空格分隔语句的各个部分,让编译器能识别语句中的某个元素(比如 int)在哪里结束,下一个元素在哪里开始。因此,在下面的语句中:

int age;

        在这里,int 和 age 之间必须至少有一个空格字符(通常是一个空白符),这样编译器才能够区分它们。另一方面,在下面的语句中:

fruit = apples + oranges;   // 获取水果的总数

        fruit 和 =,或者 = 和 apples 之间的空格字符不是必需的,但是为了增强可读性,您可以根据需要适当增加一些空格。

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时光の尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值