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

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

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

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

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

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

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

#include <stdio.h>
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”。

  • 再往后我终于知道了每行代码前面的一行是什么意思
#include <stdio.h>

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

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

关于C语言的基本语法知识相关推荐

  1. C语言基础和语法知识

    在新的学期,我打算学好数据结构和算法,打算好好学习计算机专业课程,考上四六级证. ## 什么是数据类型 在C语言中,不同数据类型在进行运算时首先要转换成同一类型,一种是自动转换,二是强制转换.shor ...

  2. python基础语法有哪些-Python基础语法知识有哪些?

    相信大家都听过Python除了不会生孩子,基本上无所不能的段子,这一定程度上反映了目前Python编程语言的火爆程度和广泛应用.然而,对于许多零基础的Python学习者来说,常常会遇到无从学起,找不到 ...

  3. python基础编码规范_Python语言的基本语法和编码规范.doc

    Python 语言的基本语法和编码规范 Python 编程教程教师 : 工作 :Python 语言的基本语法和编码标 准课程描述本章将介绍 Python 语言的基本语法和编码标准,重点介 绍 Pyth ...

  4. Python--基础语法知识

    Python基础语法知识 建议有程序语言基础的童鞋阅读,零基础阅读可能会有点费解 点击下载 python最新版本 文章目录 Python基础知识 注释方法 数据类型 输入和输出 输入 输出 算数运算符 ...

  5. c语言设计程序实现顺序冒泡_计算机C语言编程设计专业知识题库汇总

    下列关于栈叙述正确的是(). A.算法就是程序 B.设计算法时只需要考虑数据结构的设计 C.设计算法时只需要考虑结果的可靠性 D.以上三种说法都不对 答案:D 下列叙述中正确的是(). A.有一个以上 ...

  6. FPGA笔记之verilog语言(基础语法篇)

    文章目录 FPGA笔记之verilog语言(基础语法篇) 1. verilog 的基础结构 1.1 verilog设计的基本单元--module 1.2 module的使用 1.3 I/O的说明 1. ...

  7. C#语言中的重要知识详细介绍

    微软的.NET推出后,关于C#的有关文章也相继出现,作为微软的重要的与JAVA抗衡的语言,C#具有很多优点.本文将选一些C#语言中的重要知识详细介绍: 第一章:参数 1.1 IN 参数 c#种的四种参 ...

  8. Flutter 开发中最实用的 Dart 语法知识

    零.前言 都说 Flutter 是谷歌的新宠,这段时间有空,就学习了一下 Dart 语法.本篇文章将会详细全面的介绍 Dart 常用语法. 一.变量和常量 在 Drat 语言中,一切皆对象,对象的默认 ...

  9. Java基础语法知识你真的都会吗?

    第一阶段 JAVA基础知识 第二章 Java基础语法知识 在我们开始讲解程序之前,命名规范是我们不得不提的一个话题,虽说命名本应该是自由的,但是仍然有一定的"潜规则",通过你对命名 ...

最新文章

  1. 图像处理分类、一般流程与算法
  2. Adebe CC 2020中文版
  3. notepad正则删除关键词所在行
  4. Iris——整合Gorm持久化的Casbin的Example
  5. django中,kindeditor存到数据库的html,前台html标签被自动转义的解决办法
  6. 用asp.net+Jquery+Ajax+sqlserver编写的 (英语六级记单词)
  7. 小贾漫谈——Java反射
  8. 两个单片机iic通讯程序_PIC单片机之DS1302时钟
  9. php加密数据库工具,各位用php将密码存入数据库,都用什么方法进行加密的?
  10. oracle 树形结构表,树结构表递归查询在ORACLE和MSSQL中的实现方法
  11. erlang中如何调试程序
  12. 算法设计与分析第二版第一章笔记
  13. Hadoop入门之命令参考
  14. 高数 | 旋转体体积计算方法汇总、二重积分计算旋转体体积
  15. 苏宁大数据怎么运营_苏宁首个无人店大数据曝光,其消费人群是如何分布的?...
  16. 抖音网页直播弹幕 protobuf 推导
  17. 实时时钟(RTC)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  18. 解决Ardupilot+gazebo+mavros在仿真状态下无人机能解锁,但是不能起飞的问题
  19. Windows 注册表操作 reg 命令详解
  20. [課程筆記] 強化學習(李弘毅) L1. Policy Gradient

热门文章

  1. Centos7安装开启BBR加速
  2. 数据库api如何获取实时股票数据?
  3. 断网后parsec无法检测发现台式机设备的解决办法
  4. 单片机中常用的串口通信协议帧
  5. java中获取一个集合(Set)的子集的方法
  6. Verilog HDL语言要素
  7. Python从视频中提取音频
  8. MS08-067远程代码执行漏洞(CVE-2008-4250) | Windows Server服务RPC请求缓冲区溢出漏洞复现
  9. 测试普通话水平的软件,求测试普通话标准的软件?6款普通话软件推荐
  10. 使用 jenkins 构建 CI/CD 平台