首页 > 其他分享 >C语言基本概念

C语言基本概念

时间:2024-05-21 16:33:10浏览次数:21  
标签:字符 函数 程序 用户 C语言 main 基本概念

C语言基本概念

概念

​ 1、什么是语言:语言是人类进行沟通和交流的 工具,广义上说,语言是一台共有规则的指令,指令可以通过文字,嗅觉、触觉等方式传递。

​ 2、目的:实现人与人之间的交流,而当计算机出现了人与计算机交流,也需要一套共用的指令,所以就设计了一套编码与解码的指令,来给计算机交互使用,指令采用二进制传递。

而想控制计算机,就需要学习编程语言,c语言就是其中之一,掌握c这个工具,才能使用计算机

c语言的历史

​ 1、https://www.bilibili.com/video/BV1dr4y1n7vA/?spm_id_from=333.788.recommend_more_video.0&vd_source=9801524cb9cb491f13852a0b95f38c5a

​ 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函数,如下:

image

可以看到,在程序启动时会调用一个叫做*main*的函数,并且标准中规定了main函数的原型如下所示:

image

​ 注意:C语言程序的基本单位是函数,也就是说一个程序是由一个主函数以及若干个子函数组成的,主函数的名字是固定的,叫做main函数,用户不能修改,main这个单词翻译成中文具有主要的,最重要的意思,所以main函数才会作为程序的入口,也就是说程序是按照main函数中语句的先后顺序执行的。

​ 提示:一个程序的执行顺序和main函数所在的位置无关,哪怕是main函数写在文件最后,程序也是从main函数开始运行。

程序结束

int main()   
{
		return 0;   
}

image

返回值指的是函数执行完成后的结果,当然,并不是所有的函数都具有返回值,这个要根据实际情况而定

函数调用

​ 1、才提到C语言程序的基本单位是函数,程序是由一个主函数以及若干个子函数组成的,对于主函数而言,名称是固定的不能修改,功能就是作为程序的入口,但是对于子函数而言则不同。

​ 2、子函数指的是程序中除了主函数之外的其他函数,子函数的类型一般有两种:一种是库函数,另一种是用户自定义函数。

​ 3、库其实就是函数的集合,由官方(ISO、ANSI、GNU)发布的函数库也被称为标准库(Standard Library),当然库的发布者也可以是组织、公司或者个人,不过这些函数库有的是开源免费的(做人无私奉献),有的是商业收费的(知识就是金钱),所以这些库也被称为第三方库。


​ 思考:一个函数库中有很多函数,那用户如何知道这个库中都有哪些函数以及如何调用呢?

​ 回答:用户如果调用库函数,则必须在源文件(xxx.c)中包含库的索引,就是头文件(xxx.h),header file指的是头文件,可以理解为是一个饭馆的菜单,在编写的时候需要包含函数对应的头文件,目的是让编译器可以去对应的函数库中找到该函数。

image


C语言基本元素

关键字

​ 完成一个程序设计的过程就相当于是完成一篇文章的编写,而一篇文章(程序)是由多个段落(函数)构成的,一个段落(函数)是由多个句子(语句)构成的,一个句子(语句)是由多个短语(表达式)构成的,一个短语(表达式)是由多个单词(标识符)构成的,一个单词(标识符)是由多个文字(字符)组成的。

image

​ C语言标准中常用的关键只有32个,并且这些关键字都是小写的,并且都是某些英文单词的缩写。 int -- integer 整数, char -- character 字符, if 如果 ,continue 继续 ...

常量变量

常量

​ 常量指在程序运行期间值不会发生改变的量:一般使用的数字,比如3.14用来表示圆周率,一般情况下,用户都是用通过宏定义的方式来实现常量的设计,宏定义其实就是简单的文本替换,在预处理阶段预处理器会把程序中的宏定义进行展开。C语言中规定宏定义使用预处理指令 *#define* 来进行设计。

变量

​ 变量是指在程序运行期间值可能发生变化的量:用户可以根据实际需要来向 内核(kernel)申请一块存储单元,并对这块存储单元进行命名,然后用户可以随时修改存储单元中的数据。申请的存储单元的大小可以通过C语言中的数据类型进行指定。

命名规则

​ 变量和常量也被称为*标识符*,对于标识符的命名必须遵循规则:标识符是由*字母、数字、下划线*以及美元符号$组成,并且标识符的第一个字符只能是字母或者下划线。

注意:

C语言的标识符是区分大小写的,对用户而言,标识符应通俗易懂

C语言的数据类型

image

字符型

char 类型:

数据宽度定义为1字节,用于存储字符, ‘ ’ 标准用单引号表示字符

image

例如:

C语言标准规定: 用户打算存储字符 数据宽度 变量名称 ; 举例: char ch = ‘c’ ;

字符种类:

普通字符

转义字符:

image

注意:

ASCII码中的转义字符需要使用 ‘ \0 ’ , ‘ \r ’ , ‘ \n ’ 进行表示,代表字符具有特殊的意义

整数型

int 类型:

数据宽度定义为4字节,用于存储整数,存储范围比较广

image

短整型

short 类型:

数据宽度定义为2字节

image

长整形

long 类型

数据宽度定义为32位系统4字节,64位系统8字节

image

长长整形

long long 类型:

数据宽度定义为8字节

image

无符号与有符号

有符号(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。

image

image

标签:字符,函数,程序,用户,C语言,main,基本概念
From: https://www.cnblogs.com/zhengdianshutiao-blogs/p/18204331

相关文章

  • 实验5_C语言指针应用编程
    Task1task1_11#include<stdio.h>2#defineN53#include<stdlib.h>45voidinput(intx[],intn);6voidoutput(intx[],intn);7voidfind_min_max(intx[],intn,int*pmin,int*pmax);89intmain(){10inta[N];11......
  • 实验5 C语言指针应用编程
    task1_1.c1#include<stdio.h>2#defineN534voidinput(intx[],intn);5voidoutput(intx[],intn);6voidfind_min_max(intx[],intn,int*pmin,int*pmax);78intmain(){9inta[N];10intmin,max;1112print......
  • [转帖]Linux内存管理基本概念
    最近在学习Linux系统的内存管理,小白一枚,零散从网上收集的一些笔记如下:/proc目录提供了很多工具给我们查看当前内存情况1./proc/meminfo是什么$cat/proc/meminfoMemTotal:2052440kB//总内存MemFree:50004kB//空闲内存Buffers:19976kB/......
  • C语言之“if”的注意事项
    近来本人计算机小白开始了学习C语言,然后呢,问题也是非常多的,今天本人想来一个小结,以下便是正文:①注意一定要输入“cin”表示你需要输入东西,要不然就会出现一个问题,那么就是你可以直接输出但是一定没有输入的黑框,所以,小孩儿,要记得输入啊!②“=”与“==”是两个意思,“=”是赋值,把右......
  • C语言-文件读写
    C语言文件读写文件分类:二进制文件:把数据的补码直接写入文件,这种文件叫二进制文件。​优点:读写和写入时不需要进行转换,所以读写速度快,数据安全性高。​缺点:不能使用文本编译器打开,无法阅读。文本文件:把数据转换成字符串写入文件,也就是把字符的二进制写入文件,这种文件......
  • c语言程序实验————实验报告九
    c语言程序实验————实验报告九实验项目名称:实验报告8字符串处理函数实验项目类型:验证性实验日期:2024年5月16日一、实验目的1.掌握定义函数的方法2.掌握函数调用、实参与形参的对应关系、参数的传递方式3.掌握函数的嵌套调用和递归调用的方法4.掌握全局变量和......
  • 实验4 C语言数组应用编程
    task1.1voidtest1(){inta[N]={1,9,8,4};inti;//输出数组a占用的内存字节数printf("sizeof(a)=%d\n",sizeof(a));//输出int类型数组a中每个元素的地址、值for(i=0;i<N;++i)printf("%p:%d\n",&a[i],a[i......
  • 实验4 C语言数组应用编程
    实验任务1task1.1#include<stdio.h>#defineN4voidtest1(){inta[N]={1,9,8,4};inti;printf("sizeof(a)=%d\n",sizeof(a));for(i=0;i<N;++i)printf("%p:%d\n",&am......
  • 操作系统基础——01 操作系统基本概念
    目录计算机系统的层次结构操作系统的定义操作系统的功能和目标作为系统资源的管理者向上层提供方便易用的服务作为最接近硬件的层次操作系统的四个特征并发共享虚拟异步操作系统的发展与分类操作系统的运行机制中断和异常中断的作用中断类型中断机制的基本原理系统调用系统调用的......
  • 整理C语言预处理过程语法的实用方法与技巧
    预处理目录预处理一、宏定义数值宏常量字符串宏常量用define宏定义注释符号?程序的编译过程预处理中宏替换和去注释谁先谁后?如何写一个不会出现问题的宏函数do-while-zero结构do-while-zero的评价宏定义中的空格宏只能在main函数上面定义吗?宏的作用范围#undef宏替换是在函数调用......