C语言概述之介绍各种基本概念
第2章 C语言概述
2.1 C语言示例解释
#include
#include<stdio.h> 这一条指令的作用相当于把stdio.h文件的所有内容都输入该行所在的位置。
#include 这行代码是一条预处理指令。C编译器会在编译之前对源代码做一些准备工作,即预处理。有一个C预处理器。
C编译器软件包,都提供stdio.h文件。C程序顶部的信息集合被称为头文件。
C语言不内置输入输出,是因为不是所有程序都会用到I/O包。轻装上阵体现了C语言的哲学。经济使用资源的原则。
函数
函数时C语言程序的基本模块。
C语言一定从main()函数开始执行。()用来识别main()是一个函数。
int
是main()函数的返回类型。表明main()返回的值是整型。
注释
/*
*/ 被这两个符号括起来的部分是程序的注释。写注释是写给读者看的,让别人能明白你的意思。编译器会忽略注释。
另一种注释的表现形式是
/
花括号、函数体和块
花括号把main()函数括起来,简而言之,C函数都使用花括号标记函数体的开始和结束。
声明
声明是C语言最重要的特性之一。
int
num 声明做了两件事,声明了一个名为num的变量;表明了该变量的数据类型是int
int
是 C语言定义的关键字。关键字是语言定义的单词,不能用作其他用途。
num
是 一个标识符,也就是变量、函数或其他实体的名称。
C语言中,所有变量都必须先声明才能使用。变量的声明必须放在块的顶部。其他语句不能再任何声明的前面。
赋值
赋值是C语言的基本操作之一。
C语言通过赋值运算符而不是赋值语句完成赋值操作
printf函数
printf(),括号内的内容是main()函数传递给printf()函数的信息。该信息叫作参数。
return语句
如果遗漏了main()函数中的return语句,程序在运行至最外面的花括号时会返回0。因此可以省略return语句。但是不能再其他有返回值的函数中漏掉它。所以还是强烈建议养成在main()函数中添加return语句的好习惯。可将其看作是统一代码风格。
转义序列
escape sequence
用于代表难以表示或无法输入的字符。
\t
代表tab
\b
代表BackSpace键
占位符
%d
%
用来提醒程序,此处该打印一个变量。d
表明把变量作为十进制整数打印。
2.2
简单程序的结构
程序由一个或多个函数组成,必须有main()函数。
函数由函数头和函数体组成。
函数头包括函数名、传入该函数的信息,函数的返回类型;函数名后面的圆括号可以识别函数。圆括号中可能有空,可能有参数。
函数体被花括号括起来,由一系列语句和声明组成。
2.4
提高程序可读性的技巧
1、有意义的函数名和写注释;
2、用空行分割概念上的多个部分;
3、每条语句各占一行;
分号的作用是告诉程序一条语句在哪里结束、下一条语句在哪里开始。
2.5
进一步使用C
int
feet, fathoms; 这个语句声明了两个变量,变量之间用逗号隔开->多条声明;
2.6
多个函数
函数原型prototype->告知编译器在程序中要使用这个函数
函数调用function
call ->
函数定义
function definition
->函数本身的源代码
函数原型也叫作函数声明
void
表示空的意思,
void
main(void) 第一个void表示没有返回值,第二个void表示不带参数;
函数的执行取决于它在函数中被调用的位置。所有的C程序都从main()开始执行。C的惯例是把main()放在开头,它提供了程序的基本框架。
2.7
调试程序
程序的错误通常叫作bug。
找出并修正错误的过程叫作调试(debug)。
语法错误:编译器会发现并报错;
语义错误:编译器难以发现;
程序状态:程序执行过程中,某给定点上所有变量的集合。相当于是给计算机一个快照。
跟踪程序状态的方法:1、在程序的关键点钟插入printf函数,来见识制定变量值的变化。2、使用调试器debugger,这是一种程序。会让你一步一步运行另一个程序,并检查该程序变量的值。
2.8
关键字和保留标识符
保留标识符,已经被C语言用来指定了某用途和使用权。
如果把关键字用作变量名的话,编译器会将其视为语法错误。
2.9
关键概念
编程是富有挑战性的事情。程序员要具备抽象和逻辑的思维,并谨慎地处理细节问题。
2.10
小结
1、C程序是一个或多个函数组成的。
2、每个程序必须包含一个main()函数,这是程序要调用的第一个函数。
3、简单的函数由函数头和后面的一对花括号组成。花括号中是由声明、语句组成的函数体。
4、C语言中,大部分语句都以分号结尾。
5、声明->为变量创建变量名,标识该变量中储存的数据类型。
6、变量名是一种标识符
7、赋值表达式语句把值赋给变量,或者更一般地说,把值赋给存储空间。
8、函数表达式语句用于调用指定的已命名函数,调用函数执行完毕后,程序会返回到调用函数后面的语句继续执行。
9、语法
是一套规则,用于管理语言中各有效语句组合在一起的方式;
10、语义
是语句要表达的意思,
11、编译器可以检查出语法错误,但是语义的错误只能在编译完后,从程序的行为中表现出来。
12、检查程序是否有语义错误,要跟踪程序的状态,即程序每执行一步后所有变量的值。
13、关键字是
C语言的词汇。
C语言概述之介绍各种基本概念的更多相关文章
- Notes 20180506 : Java程序设计语言概述
2.Java程序设计语言概述 如果对于开发语言的排行榜有所关注的话,那么会发现很长一段时间以来Java都是位居榜首的高级开发语言,作为一个Java开发者,为此感到骄傲的同时也深感忧虑,骄傲的是自己接触 ...
- 1-学习前言&C语言概述
[C语言]01-学习前言&C语言概述 参考自 http://www.cnblogs.com/mjios/archive/2013/03/12/2956508.html#label2 C语言是我 ...
- C语言模块化编译介绍
C语言模块化编译介绍 模块化编程的概念 所谓模块化变成(多文件开发),就是多文件(.c文件)编程,一个.c文件和一个.h文件可以被称为一个模块. 头文件开发的注意事项: 1)头文件中可以和C程序一样引 ...
- OpenGL官方教程——着色器语言概述
OpenGL官方教程——着色器语言概述 OpenGL官方教程——着色器语言概述 可编程图形硬件管线(流水线) 可编程顶点处理器 可编程几何处理器 可编程片元处理器 语言 可编程图形硬件管线(流水线) ...
- java基础---java语言概述
一.计算机编程的两种范型 1.面向过程的模型---具有线性执行特点,认为是代码作用于数据. 2.面向对象的模型---围绕它的数据(即对象)和为这个数据定义的接口来组织程序:实际上是用数据控制代码的访问 ...
- 01 C语言程序设计--01 C语言基础--第1章 C语言概述&第2章 GCC和GDB
走进嵌入式开发的世界,企业级项目课程让你达到企业嵌入式应用开发要求.名师在线答疑,解决疑难.科学评测体系,系统评估学习.核心项目实........ 30 门课程 241小时12分钟 824 人学习 学 ...
- 第1章 Java语言概述--HelloWorld--环境搭建
SE学什么 第1章 Java语言概述 第2章 基本语法 第3章 数组 第4章 面向对象编程(上) 第5章 面向对象编程(中) 第6章 面向对象编程(下) 第7章 异常处理 第8章 枚举类&注解 ...
- 大数据技术之_16_Scala学习_01_Scala 语言概述
第一章 Scala 语言概述1.1 why is Scala 语言?1.2 Scala 语言诞生小故事1.3 Scala 和 Java 以及 jvm 的关系分析图1.4 Scala 语言的特点1.5 ...
- C#语言概述
C#语言概述 一..NET Framework .NET Framework是Windows的一个不可或缺的组件,它包括公共语言运行库(CLR)和类库两部分. CLR是Microsoft的公共语言基础 ...
随机推荐
- 解决Xcode在debug时不在断点处停止的方法<转>
搞了老半天不知道为什么 后来查了一下才解决问题,多谢原创作者的贡献. 新年后的第一发! -------------------------------- 前几天在开发的时候,Xcode设置断点后依然无 ...
- 工作的时候用到spring返回xml view查到此文章亲测可用
spring mvc就是好,特别是rest风格的话,一个 org.springframework.web.servlet.view.ContentNegotiatingViewResolver就可以根 ...
- cmake的一个编译报错
在一台新搭建的服务器上执行cmake的时候,报了如下错误: $ cmake ./ -- The C compiler identification is unknown -- The CXX comp ...
- 线段树教做人系列(2)HDU 4867 XOR
题意:给你一个数组a,长度为.有两种操作.一种是改变数组的某个元素的值,一种是满足某种条件的数组b有多少种.条件是:b[i] <= a[i],并且b[1]^b[2]...^b[n] = k的数组 ...
- OpenGL超级宝典完整源码(第五版)
链接:https://pan.baidu.com/s/1dGQkk4T 密码:wu44 Visual Studio 2017配置OpenGL https://blog.csdn.net/qiangbi ...
- php学习笔记-include
这个和C语言中的include是同样的用法,如果一个php文件中有一句include a.php,那么执行的时候就会把a.php的内容插入到这个php文件中. 举个例子,我现在有一个名为hellowo ...
- .replace(/-/g,"/")的用法
/-/g正则表达式 g 代表 global 全部替换 var str1 ="2012-08-12 23:13"; str1 = str1.replace(/-/g,& ...
- Mac下的UI自动化测试 (一)
在我看来,实现UI自动化测试的过程一向都是令人快乐的事情,而维护它们就是跟噩梦一样了,尤其是对每次CI产生的build进行BVT测试,由于开发不会告诉你任何UI的变化,那么你拿到的测试结果就势必会一片 ...
- docker初探
1.什么是docker: 可以理解为一个可移植的集装箱容器,开发者可以打包他们的应用以及依赖包到一个可移植的容器中. 2.docker安装及使用(ubuntu16.04) (1)首先通过apt-get ...
- 在FooterTemplate内显示DropDownList控件
如果想在Gridview控件FooterTemplate内显示DropDownList控件供用户添加数据时所应用.有两种方法可以实现,一种是在GridView控件的OnRowDataBound事件中写 ...