C基础二——C语言的基本规则

回顾

还记得上篇最后的笔记吗?还记得那个简单的hello world吗?回顾一下吧。
首先,这个程序要有一个入口,能被系统调用,这个入口我们叫main,然后他是个函数,函数的格式是要有返回值和参数,最重要函数的内容要包含在一堆大括号中,而函数中的每句话必须要用英文的分号结尾,像这一样。

int main()
{
	return 0;
}

然后我们这个程序实际什么也没有干,我们希望他做点什么,比如可以输出一句话,我们用到了printf(“hello world”);

int main()
{
	printf("hello world");
	return 0;
}

到这里,我们的程序还是不能运行,因为printf,我们没有写过,他怎么打印文字呢,原来他是系统实现了的,于是我们要告诉我们的程序要去系统里面找这样一个函数,我们通过#include<stdio.h>,来导入系统的标准输入输出,#include叫做预编译符,他在在程序编译之前帮我们找到print函数,而stdio.h是包含我们要找的函数的文件。这样,我们的程序就完成了。

#include<stdio.h>
int main()
{
	printf("hello world");
	return 0;
}

基本语法

其实在写第一个程序的时候,我们就讲了一些语法了,毕竟一个程序是不可能离开语法的。

关键字

程序中有些预留的词,是绝对不能用的,称为关键字,是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 循环语句的循环条件

预编译指令#

#include就是一个预编译指令,所有的预编译指令都以#开头,和关键字一样,也是系统定义的一些指令,后面会慢慢接触一些,暂时不需要做过多了解,后面详细讲。下面是一个常用的指令,由于指令比较多,用到时具体讲。

指令 描述
#define 定义宏
#include 包含一个源代码文件
#undef 取消已定义的宏
#ifdef 如果宏已经定义,则返回真
#ifndef 如果宏没有定义,则返回真
#if 如果给定条件为真,则编译下面代码
#else #if 的替代方案
#elif 如果前面的 #if 给定条件不为真,当前条件为真,则编译下面代码
#endif 结束一个 #if……#else 条件编译块
#error 当遇到标准错误时,输出错误消息
#pragma 使用标准化方法,向编译器发布特殊的命令到编译器中

标识符

关键字和预处理的命令,也就是系统用来标识功能的符号,我们在自己的程序中也需要很多标识符来给自己变量,函数等命名,比如main,printf,都是标识符,那么我们在程序内部的标识符除了不能是关键字和预编译指令这些,还要满足一个基本规定。

  1. 一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始
  2. 后跟零个或多个字母、下划线和数字(0-9)。
  3. C 标识符内不允许出现标点字符,比如 @、$ 和 %。
  4. C 是区分大小写的编程语言。

分号

第一条,其实这条你以后基本不太可能忘记,每一句话结尾一定要加分号,你是不是发现有些时候一行结束的时候没有分号,是的,这里说的一句话不是一行的意思。
虽然说用的时间多了就知道什么时候需要加什么时候不需要加。但是这里还是做些简单的说明。

  1. #开头的预编译命令后面不需要加
  2. 一个可以执行的单元后面加
    最后,真不知道需不需要加,可以加了看看有没有bug,或者学习嘛,跟着比人写就是了。233333

括号

在c语言,也可以说在所有其他语言中,基本上括号都必须是成对出现的。

小括号()

小括号一般是用来放参数的,没有参数也必须写括号。

中括号[]

在后面的学习或出现,是数组的代表。

大括号{}

大括号是c程序的最小代码块单元。在任何时候,都可以使用大括号,来把代码和前后做个简单的分块,不光是为了好看,这个大括号会在程序中新建一个叫栈的东西,然后里面会有只有自己可见的局部变量。
另外一个非功能性的用法,就是用大括号做排版,一般c语言都是上面代码的风格,大括号在代码块的下一行单独起一行而且只有大括号,然后换行,下一行代码要在之前的代码的缩进下多缩进4个空格,一般设置table为4个空格,就可以只需要按一下table皆可以了。然后后面的大括号也是单独占一行,缩进也退回来,这样的代码就显得很整洁。

注释

代码中的文字不一定所以的都是有用的,有时候我们需要在代码中加一些个人的记录,单存描述一下这个地方写的什么意思,这个时候注释就能派上用场了。比如我们第一次写了hello world,很开心,那么我们可以给这个地方加个注释。

#include<stdio.h>
int main()
{
	//真开心,这句打印是我自己写的
	printf("hello world");
	return 0;
}

或者

#include<stdio.h>
int main()
{
	/*真开心,这句打印是我自己写的
	某年某月某日*/
	printf("hello world");
	return 0;
}

c语言中注释有两种形式,
1.单行注释 //
2.多行注释 /*被注释的内容*/
这里单行和多行并不是绝对的,你可以将多行都是要//,也就是每行加一个双斜杠实现
同样的对于单行注释,你也可以用多行的注释符号
这里推荐奖注释写在被注释的代码的上面一行

Note

本篇主要讲了一些程序的基本语法和组成,大多只需要了解就可以了,没有特别需要记忆的地方。不要花功夫死记硬背这些,因为用的久了,大部分都自然会记住,而比较难的,现在讲太多也没有必要,不如等以后一个个详细讲。

  1. 试试看自己能不能不参考别人的,自己把代码写出来
  2. 试着整理自己的代码,让代码整洁
  3. 试试设置自己的编辑器用table键来控制四个缩进
    4.试试注释代码

附录

vs的快捷键

操作 功能
F7 编译

vs的设置
设置vs使用table表示四个空格。
Tools -> Options -> Text Editor -> [C/C++] -> Tabs
这个页面两个选择,选成和我一样就好了。
第一个参数
none:换行的时候没有缩进
block:缩进到和{}也就是当前块一样
smart:比block再多缩进一个

第二个参数:两个值分别为插入空格和保留tab,也就是按table的时候,文件里面记录的到底是四个空格,还是一个table,后面我们会介绍字符的编码的时候,会发现这其实是不一样的。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u012505629/article/details/109398394