基本语法

本篇笔记我们学习C语言的一些基本语法。

注释

C语言支持两种注释写法:/* */为多行注释,能够跨行但不能嵌套;//是单行注释,不能跨行,这是从C++借鉴的语法。

/* 这是注释 */

/*
   这是注释
 */

// 这也是注释

字面值

C语言中,字面值类型包括:字符串、字符、整数、浮点数、枚举。

字符串为使用双引号引起来的一串字符,C语言规定了一些字符串中可以使用的转义字符:

  • \':单引号
  • \":双引号
  • \?:问号
  • \\:反斜线
  • \a:响铃
  • \b:退格
  • \f:分页符,控制打印机打印源码时分页
  • \n:换行,Linux下\n即表示换行回车,没有\r
  • \r:回车
  • \t:水平制表符
  • \v:垂直制表符
char *str = "Hello, C!\n";

字符字面值为使用单引号括起来的一个字符,这里要注意其和字符串的区别是使用单引号。

char c = 'A';

枚举字面值是一种特殊的类型,用法如下:

#include <stdio.h>

enum DAY
{
    MONDAY = 1, TUESDAY = 2, WEDNESDAY = 3, THURSDAY = 4, FRIDAY = 5, SATURDAY = 6, SUNDAY = 7
};

int main(void)
{
    for (int day = MONDAY; day <= SUNDAY; day++)
    {
        printf("%d\n", day);
    }
}

变量

C语言中,变量对应计算机内存中的一块空间。变量有charintfloatdouble等类型,字符串则是以\0结尾的char数组。

变量必须以字母或下划线开头,后面可以跟若干字母、下划线或数字,关键字和保留字不能用于定义变量。这个规则同样适用于函数,结构体,宏定义等命名。

C99规定的关键字和保留字如下。

auto break case char const continue default do double else enum extern float for goto if inline int long register restrict return short signed sizeof static struct switch typedef union unsigned void volatile while _Bool _Complex _Imaginary

通常来说,我们应该避免使用下划线开头命名标识符,这类命令可能被编译器识别为扩展功能造成混乱。

变量赋值

变量必须先声明后赋值,使用=赋值,初始化和赋值可以一起完成,但要注意除非可以隐式类型转换,否则相同类型才能赋值。

作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。
Copyright © 2017-2024 Gacfox All Rights Reserved.
Build with NextJS | Sitemap