C语言基础知识梳理

C语言是面向过程的,而C++是面向对象的

C和C++的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。


算法结构:一、顺序结构、选择结构、循环结构;二、循环结构又分为while型、until型、for循环结构;程序流程图;

结构化程序设计方法:(1)自顶向下;(2)逐步细化;(3)模块化设计;(4)结构化编码。


喜欢或者想学习C语言的小伙伴可以加一下我自己的C语言交流群815393895

数据类型:

常量:常量包括字面常量、直接常量和符号常量;

变量:C语言规定标志符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或者下划线;必须压迫先定义后使用;每一个变量被定义以确定类型后,在编译时就能为其分配相应的存储单元;

整数类型:整数常量有十进制、八进制和十六进制;“%d”

整形变量:数据在内存中存放形式是以二进制形式存放;有int型、short int型和long int型,无符号整型变量的范围是-32768—32767,有符号型为0~65535.通常把long定义为32位,把short定义为16位,int可以是32位也可以为16位,这都主要取决于机器字长。

实型数据

实型常量的表示方法:(1)十进制,0.0;(2)指数形式,123e3

实型变量:实数型数据在内存中的存放形式,一般在内存中占4个字节,分成整数部分和小数部分存放。实型变量分为float型、double型long double型。实型数据会存在舍入误差。

实型常量的类型:C编译系统将实型常量作为双精度来处理。

字符型数组:

(一)字符常量:转义字符( ——换行,——tab, ——回车,——换页,——退格,ddd——1到3位8进制的数代表的字符)

(二)字符变量:字符数据存储形式实际是以ASCII码存储。“%c”

字符串常量:双撇号括起来的一系列字符序列。

C的运算符有以下几种:

1、算术运算符(+ - * /%)结合方向自左向右

2、关系运算符(> < == >=

3、逻辑运算符(! && ||)

4、位运算符(> ~ | ^ &)

5、赋值运算符(=及符号扩展赋值运算符)

6、条件运算符(? : )

7、逗号运算符( , )

8、指针运算符(* &)

9、求字节运算符(sizeof)

10、强制类型转换运算符((类型))

11、分量运算符( . ->)

12、下标运算符([])

13、其他

控制语句:完成一定的控制功能。

1、if()~else~

2、for()~

3、while()~

4、do~while()

5、continue

6、break

7、switch

8、goto

9、return

字符数据的输入输出:

1、putchar()输入字符变量

2、getchar()只能接受一个字符

格式输入输出:

1、printf(%d—整型,%c—字符型,%ld,%md,%o,%u,%s,%-m.nf,%e,%g)

2、scanf(格式控制,地址列表)




数组

一维数组的定义:类型说明符 数组名【常量表达式】;先定义后引用;一维数组初始化时可以只对一部分元素初始化,在对全部数组元素初始化的时候可以部规定长度;但是若被定义的数组长度与提供的初始值不一样时,则数组长度不能省略。

二维数组的定义:类型说明符 数组名【常量表达式】【常量表达式】C语言中存放二维数组是先存放第一行的元素,紧接着是第二行,其实也是以一维的方式存放。如果初始化时能指定所有元素的初始值,第一维大小可以省略,但是第二维不能省略。

字符数组:定义和初始化跟数组差不多,只是需要加单引号。字符和字符串结束标志,C语言规定,以‘’代表。

字符串处理函数:

1、puts()将一个字符串输出到终端

2、gets()从终端输入一个字符串到字符数组,并且得到一个函数值。

3、strcat()链接两个字符数组中的字符串。

4、strcpy()字符串复制函数。

5、strcmp()比较字符串作用。

6、strlen()测试字符串长度的函数不包括“”

7、strlwr()将字符串中的大写字母转换为小写字母。

8、strupr()将字符串中的小写字母转换为大写字母。

函数

(1)一个源程序由多个函数组成。

(2)C程序的执行从main()函数开始;

(3)所有函数都是平行的;

(4)函数分类;可以分为标准和自定义,还可以分为有参函数和无参函数。

函数定义的一般形式:

(1)类型标志符函数名()

{

声明部分

语句

}

(2)类型标志符函数名(形式参数列表)

{声明部分

语句

}

函数参数和函数值:

一、关于形参和实参的说明

(1)在定义函数中指定的形参,在未出现函数调用时,他们并不占用内存中的存储单元,只有发生调用时,才会分配内存。

(2)实参可以是常量、变量或者表达式;有时传递的时地址;

(3)在被定义中,形参必须指定类型;

(4)实参与形参的类型应相同或赋值兼容;

(5)C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只有实参传递给形参,而不能由形参传递给实参。

函数的返回值:

希望通过函数调用使主调函数得到一个确定的值。

(1)函数的返回值是通过函数中的return语句获取的。

(2)函数值的类型;

(3)如果函数值的类型和return语句中表达式的值不一样,则以函数类型为准。

(4)如果调用函数中没有return语句,并不带回一个确定的用户需要的值,函数不是不带回值,而只是不带回有用的值,带回一个不确定的值。

(5)如不需要带回任何值,用void。


函数的调用:调用方式

1、函数语句;2、函数表达式;3、函数参数。

被调用的函数的声明:一个函数调用另一个函数所具备的条件:

1、首先被调用的函数必须是已经存在的函数;

2、如果使用库函数,一般应该在本文件开头用#include命令将调用有关库函数时在所需要用到的信息“包含”到本文件中。.h文件是头文件所用的后缀。

3、如果使用用户自己定义的函数,而且该函数与使用它的函数在同一个文件中,一般还应该在主调函数中对被调用的函数做声明。

4、如果被调用的函数定义出现在主调函数之前可以不必声明。

5、如果已在所有函数定义之前,在函数的外部已做了函数声明,则在各个主调函数中不必多所调用的函数在做声明。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/531161.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

很多人大一就开始学习C语言,你真的学到了吗?

好多人大一就学了C语言&#xff0c;但你有没有感觉学的不深&#xff0c;不扎实。或者说越学越迷茫&#xff0c;不知道它能做什么 我相信&#xff0c;这可能是很多朋友的问题&#xff0c;其实&#xff0c;这是很多初学者都会踩到的一个坑&#xff01;C语言本身是一门很简单的语言…

C语言发展历史,C语言特点,C语言利于弊,入门须知三招

C语言是面向过程的&#xff0c;而C&#xff0b;&#xff0b;是面向对象的 这些是C/C能做的 服务器开发工程师、人工智能、云计算工程师、信息安全&#xff08;黑客反黑客&#xff09;、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程…

程序员怎么看待C语言?最伟大?最落后?

一&#xff0c;前言 对我来说&#xff0c;C语言应该可以算得上是世界上最伟大的编程语言。全中国口气最大的程序员&#xff0c;业界称之为“垠神”&#xff0c;曾经发过文章吐槽过业界各种主流的编程语言&#xff08;对Java&#xff0c;的Python稍微宽容一些&#xff09;&…

如何学习C语言?就是这么简单粗暴!

C语言是面向过程的&#xff0c;而C&#xff0b;&#xff0b;是面向对象的。 C和C的区别&#xff1a; C是一个结构化语言&#xff0c;它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程&#xff0c;对输入&#xff08;或环境条件&#xff09;进行运算处理…

C/C++对编程的重要性!其他编程语言都是弟弟!

C语言是面向过程的&#xff0c;而C&#xff0b;&#xff0b;是面向对象的 C和C的区别&#xff1a; C是一个结构化语言&#xff0c;它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程&#xff0c;对输入&#xff08;或环境条件&#xff09;进行运算处理得…

C语言其实不难,只是你没有找对方法!

C语言是面向过程的&#xff0c;而C&#xff0b;&#xff0b;是面向对象的 C和C的区别&#xff1a; C是一个结构化语言&#xff0c;它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程&#xff0c;对输入&#xff08;或环境条件&#xff09;进行运算处理得…

想学好C语言?先把基础打好再说吧!

C语言是面向过程的&#xff0c;而C&#xff0b;&#xff0b;是面向对象的 C和C的区别&#xff1a; C是一个结构化语言&#xff0c;它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程&#xff0c;对输入&#xff08;或环境条件&#xff09;进行运算处理得…

C语言新手最常见的问题!你在这里跌倒过吗?

C语言是面向过程的&#xff0c;而C&#xff0b;&#xff0b;是面向对象的 C和C的区别&#xff1a; C是一个结构化语言&#xff0c;它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程&#xff0c;对输入&#xff08;或环境条件&#xff09;进行运算处理得…

用C语言做出你自己的七夕表白程序!

C语言是面向过程的&#xff0c;而C&#xff0b;&#xff0b;是面向对象的 C和C的区别&#xff1a; C是一个结构化语言&#xff0c;它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程&#xff0c;对输入&#xff08;或环境条件&#xff09;进行运算处理得…

C语言/C++编程的起源与能力学习

C语言是面向过程的&#xff0c;而C&#xff0b;&#xff0b;是面向对象的 C和C的区别&#xff1a; C是一个结构化语言&#xff0c;它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程&#xff0c;对输入&#xff08;或环境条件&#xff09;进行运算处理得…

Windows下设置自动关机的命令指示符

&#xff08;请先看置顶博文&#xff09;https://blog.csdn.net/GenuineMonster/article/details/104495419 Windows定时操作命令&#xff1a;superR&#xff0c;输入&#xff1a;&#xff1f;&#xff1f;&#xff1a;&#xff1f;&#xff1f;shutdown -s ”??“代表时间…

Win7系统转到Win10系统的装机方法

Windows 10的版本最好是家庭版。 1.进入PC的BIOS。进入方法与PC品牌有关&#xff0c;可根据对应的品牌查寻进入方法。 2.将Boot List Option 选为UEFI。有些电脑在切换UEFI后即可显示列表&#xff0c;因此可跳过第三步&#xff0c;反之则继续第三步的操作。 3.重启PC&#x…

Ubuntu16.04amp;amp;Windows 10双系统安装教程(UEFI模式)

相信来这里的各位&#xff0c;都是想在Windows 10的PC上安装Linux Ubuntu16.04&#xff0c;来达到双系统并用的目的。 那么接下来&#xff0c;我就在默认已安装Windows 10的基础上介绍如何以UEFI的方式安装Ubuntu16.04&#xff01;我的PC是联想小新潮7000—13。在装双系统之前…

利用软碟通软件制作Ubuntu16.04系统启动盘

以下操作均在Windows系统下进行&#xff01;Windows系统的启动盘和Linux的启动盘要分开&#xff0c;即需要两个U盘来制作和存储。&#xff08;似乎无法共存于一个U盘里&#xff09; &#xff08;系统盘制作软件会U盘格式化&#xff0c;所以U盘提前做好备份工作&#xff09; 1…

Linux Ubuntu16.04界面美化

&#xff08;请先看置顶博文&#xff09;本博打开方式&#xff0c;请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 很多人在安装系统之后可能对其外观、主题或是桌面壁纸不满意&#xff0c;本文给大家介绍几种美化方法和插件&#xff01; 1.可以将左侧的“热区”…

Linux16.04和Windows 10双系统下,解决时间不一致问题

装完双系统&#xff0c;你可能会发现某一个系统的时间与现在时间不一致&#xff08;中国相差八个小 时&#xff09;&#xff0c;那么如何解决这个问题呢&#xff1f; 1.将某一个系统的设置时间更新方式设置为“手动”&#xff0c;而不是“从互联网自动获取”。 2.进入PC的BIO…

Linux Ubuntu 16.04系统下可用的Windows应用

众所周知&#xff0c;Linux系统下的生态环境不是很好&#xff0c;很多可以在Windows 10系统下运行的 软件都不能在Linux下运行&#xff0c;那么接下来为大家推荐部分可以应用的软件&#xff1a; A.Google-Chrome. 最简单的方法是到https://www.google.cn/chrome/下载对应的Lin…

基于Vitual Box建立虚拟机,虚拟机系统为Linux Ubuntu16.04

相比于为PC机安装双系统&#xff0c;安装虚拟机在达到相同目的的时候显得更为方便。 那本文就详细的为大家介绍如何在Windows 10的系统下&#xff0c;安装Vitual Box&#xff0c;进而安装虚拟机。 一、下载Vitual Box虚拟机制作软件及镜像文件 Vitual Box网址为&#xff1a;…

ROS安装过程和配置过程(可能出现的问题及解决方法)

&#xff08;请先看置顶博文&#xff09;本博打开方式&#xff0c;请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 准备学习ROS&#xff0c;所以在Linux Ubuntu16.04 的系统下安装ROS &#xff08;建议初学者&#xff0c;先在虚拟机里进行学习和实践&#xff0c…

闲暇所学“表白对话框”

&#xff08;请先看置顶博文&#xff09;本博打开方式&#xff0c;请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 相信大家都在某音上看过一段表白的视频&#xff1a;打开某个文件后&#xff0c;弹出一个个对话框&#xff0c;表达对心里人的情愫&#xff0c;请求…