C语言基本概念
概念
1、什么是语言:语言是人类进行沟通和交流的 工具,广义上说,语言是一台共有规则的指令,指令可以通过文字,嗅觉、触觉等方式传递。
2、目的:实现人与人之间的交流,而当计算机出现了人与计算机交流,也需要一套共用的指令,所以就设计了一套编码与解码的指令,来给计算机交互使用,指令采用二进制传递。
而想控制计算机,就需要学习编程语言,c语言就是其中之一,掌握c这个工具,才能使用计算机
c语言的历史
2、C语言广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
3、语言标准:编程语言都有特定的词汇和语法,都需要遵循对应的标准, C语言也有对应的标准,最开始C语言的标准由美国ANSI组织(美国国家标准协会)发布,C语言也被称为 ANSI C,后面由ISO组织(国际标准化组织)制定和发布C语言的相关标准,目前C语言标准一共有3套(C89标准、C99标准、C11标准)
程序入口
1、C语言是一门面向过程的编程语言,面向过程其实是一种解决问题的思想,这个过程指的是用户在解决某个问题时,按照某种逻辑关系把这个问题拆分为很多小问题,把每个小问题按照顺序单独解决,最终整个问题也就得到解决,可以理解为“大事化小,小事化了”的原则。
2、面向过程思想采用的是自顶向下的设计原则,所以对于程序而言,过程的开始和结束就非常重要,在C语言标准中,就规定了C语言程序是顺序执行的,并且程序的开始必须是main函数,如下:
可以看到,在程序启动时会调用一个叫做*main*的函数,并且标准中规定了main函数的原型如下所示:
注意:C语言程序的基本单位是函数,也就是说一个程序是由一个主函数以及若干个子函数组成的,主函数的名字是固定的,叫做main函数,用户不能修改,main这个单词翻译成中文具有主要的,最重要的意思,所以main函数才会作为程序的入口,也就是说程序是按照main函数中语句的先后顺序执行的。
提示:一个程序的执行顺序和main函数所在的位置无关,哪怕是main函数写在文件最后,程序也是从main函数开始运行。
程序结束
int main()
{
return 0;
}
返回值指的是函数执行完成后的结果,当然,并不是所有的函数都具有返回值,这个要根据实际情况而定
函数调用
1、才提到C语言程序的基本单位是函数,程序是由一个主函数以及若干个子函数组成的,对于主函数而言,名称是固定的不能修改,功能就是作为程序的入口,但是对于子函数而言则不同。
2、子函数指的是程序中除了主函数之外的其他函数,子函数的类型一般有两种:一种是库函数,另一种是用户自定义函数。
3、库其实就是函数的集合,由官方(ISO、ANSI、GNU)发布的函数库也被称为标准库(Standard Library),当然库的发布者也可以是组织、公司或者个人,不过这些函数库有的是开源免费的(做人无私奉献),有的是商业收费的(知识就是金钱),所以这些库也被称为第三方库。
思考:一个函数库中有很多函数,那用户如何知道这个库中都有哪些函数以及如何调用呢?
回答:用户如果调用库函数,则必须在源文件(xxx.c)中包含库的索引,就是头文件(xxx.h),header file指的是头文件,可以理解为是一个饭馆的菜单,在编写的时候需要包含函数对应的头文件,目的是让编译器可以去对应的函数库中找到该函数。
C语言基本元素
关键字
完成一个程序设计的过程就相当于是完成一篇文章的编写,而一篇文章(程序)是由多个段落(函数)构成的,一个段落(函数)是由多个句子(语句)构成的,一个句子(语句)是由多个短语(表达式)构成的,一个短语(表达式)是由多个单词(标识符)构成的,一个单词(标识符)是由多个文字(字符)组成的。
C语言标准中常用的关键只有32个,并且这些关键字都是小写的,并且都是某些英文单词的缩写。 int -- integer 整数, char -- character 字符, if 如果 ,continue 继续 ...
常量变量
常量
常量指在程序运行期间值不会发生改变的量:一般使用的数字,比如3.14用来表示圆周率,一般情况下,用户都是用通过宏定义的方式来实现常量的设计,宏定义其实就是简单的文本替换,在预处理阶段预处理器会把程序中的宏定义进行展开。C语言中规定宏定义使用预处理指令 *#define* 来进行设计。
变量
变量是指在程序运行期间值可能发生变化的量:用户可以根据实际需要来向 内核(kernel)申请一块存储单元,并对这块存储单元进行命名,然后用户可以随时修改存储单元中的数据。申请的存储单元的大小可以通过C语言中的数据类型进行指定。
命名规则
变量和常量也被称为*标识符*,对于标识符的命名必须遵循规则:标识符是由*字母、数字、下划线*以及美元符号$组成,并且标识符的第一个字符只能是字母或者下划线。
注意:
C语言的标识符是区分大小写的,对用户而言,标识符应通俗易懂
C语言的数据类型
字符型
char 类型:
数据宽度定义为1字节,用于存储字符, ‘ ’ 标准用单引号表示字符
例如:
C语言标准规定: 用户打算存储字符 数据宽度 变量名称 ; 举例: char ch = ‘c’ ;
字符种类:
普通字符
转义字符:
注意:
ASCII码中的转义字符需要使用 ‘ \0 ’ , ‘ \r ’ , ‘ \n ’ 进行表示,代表字符具有特殊的意义
整数型
int 类型:
数据宽度定义为4字节,用于存储整数,存储范围比较广
短整型
short 类型:
数据宽度定义为2字节
长整形
long 类型
数据宽度定义为32位系统4字节,64位系统8字节
长长整形
long long 类型:
数据宽度定义为8字节
无符号与有符号
有符号(signed)
有符号修饰符是隐式声明,用户定义变量类型,默认有符号
无符号(unsigned)
用户存储无符号整数,定义变量必须显示声明变量是无符号的
浮点型
单精度:
C语言标准中规定使用关键字 float 来表示单精度浮点数,单精度浮点型占4字节,
双精度:
C语言标准中也提供了另一个关键字 double 用来表示双精度浮点数,双精度浮点型占8字节
另外:
C语言也提供了一种类型 long double ,该类型占16字节
表示形式
十进制形式:整数+小数表示,如:3.14 ,5.0 等
指数形式:以10为底,如:,编写程序不支持输入上下标,所以C语言规定采用字符e或者E来表示以10为底的指数,比如3.14E2
注意:
C语言标准中规定字符e/E的后面必须是整数,另外字符e/E的前面必须有数字!!!!!!
字符串
字符串是表示某种含义的一个字符序列,字符串在内存是需要一块连续的内存空间进行存储,C语言中规定字符串使用 双引号 “ ” 表示,并且规定字符串的结束标志是 ' \0 ' ,但 ’ \0 ’ 不需要用户手动添加,系统会自动在一个字符串的末尾添加 ’ \0 ’ 。
布尔类型
用户有时候需要在程序进行判断,在C89标准中,用户如果想要判断某种条件是否成立,一般是定义一个整型变量,然后利用数字0和数字1来表示条件是否成立,用户就可以把变量作为一个标志位使用。
在C99标准可以使用布尔型来表示真假两种情况,头文件stdbool.h有相关描述,在头文件中定义了三个宏,分别是bool、true以及false。
标签:字符,函数,程序,用户,C语言,main,基本概念 From: https://www.cnblogs.com/zhengdianshutiao-blogs/p/18204331