首页 > 其他分享 >关于C语言的基本语法知识

关于C语言的基本语法知识

时间:2022-08-18 17:15:03浏览次数:50  
标签:函数 int 代码 知识 C语言 语法 printf 标识符

由“ Hello World ”这样一个基本代码,我了解了一些C语言的基础语法知识,接下来是我对其的粗略理解。

首先,我了解到了每一个C语言代码都有一个起始入口,它便是主函数 main,我们需要经由主函数来调用其他函数。从这句话中我们又可以获取到另一个信息——即每个C语言代码都有且只能有一个主函数main。

那么我不禁思考起来,什么是函数呢?为什么编程里的一堆符号叫做函数?编程语言里的函数有什么作用呢?它和数学里的函数又有什么区别呢?
带着这些问题我去查阅了百度,我在一位回答者的回复中看到了一个十分有意思的答案,他将函数比作一个盒子,而这个盒子有如下几个特性:
1. 开始执行时,函数可以被输入一些值
2. 执行过程中,函数可以做一些事情
3. 执行完成后,函数可以返回一些值
而在“Hello World”这个程序里就体现为:
1. 主函数什么都没有输入
2. 主函数打印了一行字到屏幕上
3. 主函数返回了0

在大致了解了函数的特性后,我根据这份讲解又总结了一下函数的组成,其中函数的写法公式为:

函数返回值类型 函数名(函数输入参数值)
{
做点什么事情
return 函数返回值;
}

在大括号上面的一行叫做函数头,被大括号包括的被称为函数体 , 注意函数体一定要被大括号包括且不可省略。

此后我看到一个程序演练,自行写出一个add函数。其代码如下:

int add(int a, int b)
{
return a + b;
}
int main()
{
int result;
result = add(2, 3);
printf("%d", result);
return 0;
}

从这个代码里我学到了如何自行定义函数并使编译器理解函数,首先前面讲到main函数是整个C语言程序的入口,而编译器会从上往下阅读代码,从主函数进入开始编译。
而想要开始正确编译,那么我们就要在开始之前先行让它理解我们自己定义的函数,即函数定义需要写在前,于是"int add"一定是在"int main"之前的。
知道了运行顺序之后我同时知道了函数是需要先被知道才能被调用的,那么主函数要先被知道吗?答案是不要,主函数会在程序开始的时候被自动调用。我还了解到主函数必须有返回值且必须是 int 。如果程序正常结束,一般将返回值设置为0。这些概念我还不是很清楚,那么暂且先记下来吧!

在刚刚的add函数里我还学到关于变量,常量,标识符,关键词的知识。
变量:可以给它任意起名,可以将其看做一个空箱子,里面可以装任何其他的和它类型一致的值。
而等号“=”是赋值运算符,它是将符号右边的值,装进左边的变量的一种运算符。

刚刚的代码里有这样的单独一行:

int result;

它的作用便是声明“result”这个变量,于是我知道了变量必须先声明 后使用,因此这一行绝对不可以被删除。

常量:则是一个确定的是,不能更改,也不能被赋值常量:则是一个确定的是,不能更改,也不能被赋值。

标识符:是由我们自己命名的一个特殊标识,用于表示一个变量、函数或其他实体的名称。并且,要让编译器能够识别标识符,必须进行声明或定义。如果编译器遇到未经定义或声明的标识符,将会无法理解这个标识符具体是一个什么实体的名称而报错。
在C语言中,标识符的可以按照你的喜好自己随意命名,但是必须遵循以下规则:
标识符可以用小写字母、大写字母、数字和下划线来命名。但是,标识符的第一个字符必须是字母或下 划线,而不是数字。并且,标识符区分大小写。标识符可以用小写字母、大写字母、数字和下划线来命名。但是,标识符的第一个字符必须是字母或下 划线,而不是数字。并且,标识符区分大小写。

关键词:是在语言标准中规定的,并且在代码中有特殊意义和用途。因此,关键词不能作为一个标识符来使用。如“int”。关键词:是在语言标准中规定的,并且在代码中有特殊意义和用途。因此,关键词不能作为一个标识符来使用。如“int”。

再往后我终于知道了每行代码前面的一行是什么意思

#include <stdio.h>

原来printf函数并不是我们定义的函数,而是系统自带的函数。这个函数被写在文件 stdio.h 中,我们要使用 printf就必须先让编译器理解 printf,而stdio.h里面虽未定义printf函数,但是它里面有printf函数的函数声明。

经过这一天的学习我对C的了解又进了一步,虽然还是有一些不知所措,但相较第一次的时候简直好太多了,希望之后的继续学习能让我的能力越来越强!

标签:函数,int,代码,知识,C语言,语法,printf,标识符
From: https://www.cnblogs.com/Frolsank/p/16599356.html

相关文章

  • Linux下C语言程序的内存布局
    在《虚拟地址空间以及编译模式》一节中讲到,虚拟地址空间在32位环境下的大小为4GB,在64位环境下的大小为256TB,那么,一个C语言程序的内存在整个地址空间中是如何分布的呢?数据......
  • YAML文件语法及示例
     前言时间就像海绵里的水,只要愿挤,总还是有的。——鲁迅今天乌天黑地,就来了几点雨,上了一天课,嗓子不舒服了。来打打字,活跃活跃手。 一、YAML文件是什么 YAML是"Y......
  • 32 python并发编程之背景知识
    32python并发编程之背景知识 目录:一引子二为什么要有操作系统三什么是操作系统四操作系统与普通软件的区别五操作系统发展史六总结视频链接:......
  • 7、Python语法入门之流程控制
    7、Python语法入门之流程控制  目录:引子分支结构什么是分支结构为什么要用分支结构如何使用分支结构if语法if应用案例循环结构什么是循......
  • 3、Python语法入门之变量
    3、Python语法入门之变量  目录一引入二变量1、什么是变量?2、为什么要有变量?3、怎么使用变量(先定义、后调用)3.1变量的定义与使用3.2变......
  • 4、Python语法入门之基本数据类型
    4、Python语法入门之基本数据类型 目录一引子二数字类型2.1int整型2.1.1作用2.1.2定义2.2float浮点型2.2.1作用2.2.2定义2.3数字......
  • 5、Python语法入门之垃圾回收机制
    5、Python语法入门之垃圾回收机制  目录一引入二什么是垃圾回收机制?三为什么要用垃圾回收机制四垃圾回收机制原理分析4.1什么是引用计数?4.2......
  • 6、Python语法入门之与用户交互、运算符
    6、Python语法入门之与用户交互、运算符  目录一程序与用户交互1.1什么是与用户交互?1.2为什么要与用户交互?1.3如何与用户交互1.3.1输入inpu......
  • Java之基础语法
    最近发现公司中老的项目有些是基于Java开发的,为了更好的后期维护不得而要好好了解一下java,之前一直比较抵触这门语言,现在随着了解的语言(PHP,Python,golang,shell,no......
  • Java面试知识点总结(三)
    Java并发编程一、多线程有什么用?一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓"知其然知其所以然","会用"只是"......