C++听课笔记重点
c语言听课记录
c语言听课记录
一、课程概述
本次课程主题为C语言,主要涉及C语言的基本语法、数据类型、控制结构、数组、函数等内容。
通过学习,我对C语言有了更深入的理解和掌握。
二、重点内容
1.C语言的基本语法
本次课程首先介绍了C语言的基本语法,包括变量定义、数据类型、运算符等。
通过老师的讲解和实例演示,我深入理解了这些基本概念在实际编程中的应用。
2.控制结构
控制结构是编程中非常重要的部分,本次课程详细介绍了条件语句、循环语句等控制结构的用法。
通过练习,我学会了如何使用这些控制结构编写高效的程序。
3.数组和函数
数组和函数是C语言中非常重要的概念,本次课程对它们进行了深入的讲解。
我学会了如何声明和使用数组,以及如何编写和调用函数。
这些知识对于编写大型程序非常有帮助。
三、疑问和思考
在学习过程中,我遇到了一些问题,例如如何正确使用指针、如何优化程序的性能等。
通过与老师和同学的讨论,我得到了很多有价值的建议和解答。
这些经验对于我未来的学习非常宝贵。
四、总结
通过本次课程的学习,我对C语言有了更深入的理解和掌握。
我学会了如何使用C语言的基本语法和控制结构编写程序,以及如何使用数组和函数处理数据。
这些知识将对我未来的学习和工作产生积极的影响。
在未来的学习中,我将继续深入学习C语言,并尝试使用它解决实际问题。
c学习笔记c重点完整版
c学习笔记c重点HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】C#学习笔记1.C#具有所有面向对象的语言的所有特性:封装,继承,多态。
在C#系统中,所有的类型都可以看作一个对象。
C#只允许单继承,即一个类不会有多个基类,C#不会有全局函数,不会有全局变量,不会有全局常数,所有的一切只能封装在一个类中。
包括四个部分:vos类型系统;元数据;公用语言规范;虚拟执行系统。
ing system表示导入名称空间。
4.让我们从第一个程序开始就记得:每个东西都必须属于一个类,类里面的方法总是为我们完成某件工作的。
在C#中,程序的执行总是从main()方法开始的,一个程序中不允许出现两个或两个以上的main()方法。
对于习惯学C控制台程序的读者,必须要牢记:main()方法必须包含在一个类中。
5.利用string可以方便地对字符串进行连接或剪切。
例:strings=”good”+”morning”;char x=s[3]字符串可以通过下标进行索引,得到一个字符。
6.我们可以用//进行单行标注,/* */进行多行标注。
7.在C和C++中,任何非0值都表示真,在C#中,任何非0值都不能代替true.在其它类型的整型值和布尔值之间不存在任何的转换,将整型转换成布尔型是不合法的。
8.把一系列相关的变量组织成单一实体的过程称为生成结构的过程。
这个单一实体的类型叫结构类型,每一个变量就是结构的成员。
9.结构类型包含的成员类型可以相同,也可以不同。
我们甚至可以把一个结构类型当作另一个结构成员的类型。
10.枚举实际上是为一组在逻辑上密不可分的整数值提供便于记忆的符号。
结构类型变量的值由各个成员的值组合而成。
而枚举则不同,枚举类型的变量在某一时刻只能取枚举中某个元素的值。
按照系统的设定,每个元素的类型都为整型。
且第一个元素的值为0,后面的每个元素梯加1,也可以直接赋值。
C语言学习笔记(必看知识点)
C学习笔记--必看知识点100例(上)--edited by lvlv from Nov. 8,2013 to Mar. 31,20141.define和ifndef的用法答:取消宏定义undef条件编译预处理:#ifndef 标识符# define 标识符程序段 1#else程序段 2#endif它的作用是当“ 标识符没有由# d e f i n e定义过。
则编译“程序段1”。
否则编译“程序段2” 。
注意:条件编译的作用是防止此头文件被多个文件调用,产生编译冲突,这里的表示符为当前头文件名的大写前加上_,如果头文件名为err.h,则标示符为_ERR_H.2. extern关键字的用法。
extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。
另外,extern也可用来进行链接指定。
3.sizeof的结果等于对象或者类型所占的内存字节数。
4. snprintf()函数的用法。
答:函数原型int snprintf(char *str, size_t size, const char *format, ...);功能将可变个参数(...)按照format格式化成字符串,然后将其复制到str中。
返回欲写入的字符串长度,若出错则返回负值。
5.volatile(不稳定的,易变的)关键字答:volatile i=10;k=i;volatile 告诉编译器i是随时可能发生变化的,每次使用它的时候必须从i的地址中读取,因而编译器生成的可执行码会重新从i的地址读取数据放在k中。
6.strtok函数的用法。
答:函数原型char *strtok(char s[], const char *delim);例如:strtok("abc,def,ghi",","),最后可以分割成为abc def ghi.尤其在点分十进制的IP中提取应用较多。
C语言知识点总结【重点版】
C语言最重要的知识点总体上必须清楚的:1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。
2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte是指字节, 一个字节 = 八个位.概念常考到的:1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
误的,一定不能出现分号。
3、每个C语言程序中main函数是有且只有一个。
4、在函数中不可以再定义函数。
5、算法:可以没有输入,但是一定要有输出。
第一章 C语言的基础知识第一节、对C语言的基础认识1、C语言编写的程序称为源程序,又称为编译单位。
2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。
3、一个C语言程序有且只有一个main函数,是程序运行的起点。
第二节、2、每个C语言程序写完后,都是先编译,后链接,最后运行。
(.c---→.obj---→.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。
(常考!)(程序编辑-程序编译-程序连接-程序运行)第三节、标识符1、标识符(必考内容):合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了预定义标识符:背诵define scanf printf 2 include。
记住预定义标识符可以做为用户标识符。
第五节:整数与实数1)C语言只有八、十、十六进制,没有二进制。
但是运行时候,所有的进制都要转换成二进制来进行处理。
(考过两次)a、C语言中的八进制规定要以0开头。
(数码取值0-7)018的数值是非法的,八进制是没有8的,逢8进1。
b、C语言中的十六进制规定要以0x(X)开头。
C语言笔记解读
第一章C语言32个关键字,34种运算符。
语言简洁,表达能力强,易于理解只有32个关键字,9种控制语句数据构造能力强运算符丰富程序书写格式自由可直接访问物理地址,实现对硬件和底层系统软件的访问语言生成的代码效率高可移植性好一开头使用include语句。
头文件扩展名.h若干函数为单位,每个函数由若干基本语句租场,每个语句必须以;结束必须有一个main函数,位置不限。
Main()是一个函数,()内列出需要的参数,{}内完成特定功能语句。
源程序扩展名是.c 经过编译的目标程序扩展名为.obj 可执行程序是.exe第二章整型:基本整型int无符号基本整型unsigned int短整型short或short int无符号短整型unsigned short或unsigned short int长整型long或long int无符号长整型unsigned long或unsigned long int(1) 十进制整常数十进制整常数没有前缀,其数码为0~9。
以下各数是合法的十进制整常数:237、-568、65535、1627;十进制写法中除非要写的整数本身就是0,否则第一个数字字符不能为0。
(2) 八进制形式八进制整常数:八进制整常数必须以0开头,即以0作为八进制数的前缀。
数码取值为0~7。
八进制数通常是无符号数。
例如:0031 0310 *******L其中0031相当于十进制的253) 十六进制形式十六进制整常数的前缀为0X或0x。
其数码取值为0~9,A~F或a~f。
下面是用十六进制形式写出的一些整数和长整数:0x41 0x64 0XFF 0X3242DL(4) 整型常数的后缀:在16位字长的机器上,基本整型的长度也为16位,因此表示的数的范围也是有限定的。
十进制无符号整常数的范围为0~65535有符号数为-32768~+32767八进制无符号数的表示范围为0~0177777十六进制无符号数的表示范围为0X0~0XFFFF或0x0~0xFFFF。
学习C语言详细笔记(完整版)汇总
C语言视频教程第一讲:(1-13)C语言概述一、为什么学习C语言1)C的起源和发展2)C的特点3)C的应用领域4)C的重要性二、怎样学习C语言三、学习目标四、常见问题答疑(1)学习JAVA为什么建议先学C语言(2)没学过计算机专业课程能够学懂C语言(3)英语和数学不好能学好C语言么?五、课程计划六、举例子:一元二次方程一、为什么学习C语言1)C的起源和发展(ppt)在第三代语言中,以1980年为分水岭,分为结构化和面向对象语言。
Fortran语言主要用于科学计算。
Basic语言是vb的前生,pascal语言一般是用于教学。
C语言是最重要的,其他的语言一般很少用了。
结构化的代表语言是c语言。
结构化语言的数据和操作是分离的,导致在写大项目的时候,会出现各种各样莫名其妙的问题。
在面向对象的语言中c++是最复杂的语言。
由于c++语言太复杂,sun公司对c++进行了改装,产生了java语言。
而c#是由微软开发的,和java相似,几乎一模一样。
在高级语言的执行速度上,c是最快的,c++其次,而java和c#是最后的。
Java和c#流行,主要的一个原因是可以跨平台。
C语言的发展和过程:2)C语言的特点:·优点:代码量小,速度快,功能强大。
金山公司最主要是靠wps办公软件来发展的。
Wps是c语言开发的,其安装包比Office少了10多倍。
三大操作系统:windows,unix,linuxWindows内核是c语言写的,而外壳是c++写的。
Java永远不可能写操作系统。
因为java运行速度太慢了。
而linux和unix都是纯c写的。
操作系统控制了硬件,如果说操作系统的运行速度慢,那么当我们在运行软件的时候,运行速度会更慢。
为什么使用c语言写操作系统呢,首先是因为c的运行速度快,然后是因为c可以直接控制硬件,而其他语言不可以。
没有指针的语言是不能直接访问硬件的。
·缺点:危险性高,开发周期长,可移植性弱。
c语言要点笔记
第一章概述1.C语言的特点①语言简洁、紧凑,使用方便、灵活。
共有32个关键字,9种控制语句。
②运算符丰富,公有34种运算符。
③数据结构丰富,数据类型有:整型、实型、字符型、数组、指针、结构体、共用体等。
④具有结构化的控制语句(如if…else、while、do…while、switch、for)⑤语法限制不太严格,程序设计自由度大。
⑥允许直接访问物理地址,能进行位(bit)操作,可以直接对硬件操作。
⑦生成目标代码质量高,程序执行效率高。
⑧可移植性好。
2.C语言的用途C虽不擅长科学计算和管理领域,但对操作系统和系统实用程序以及对硬件进行操作方面,C有明显的优势。
现在很多大型应用软件也用C编写。
第二章数据类型、运算符与表达式1.C的数据类型C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
2.常量与变量常量其值不可改变,符号常量名通常用大写。
变量其值可以改变,变量名只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。
否则为不合法的变量名。
变量在编译时为其分配相应存储单元。
3.整型数据整型常量的表示方法:十进制不用说了,八进制以0开头,如0123,十六进制以0x开头,如0x1e。
整型变量分为:基本型(int)、短整型(short int)、长整型(long int)和无符号型。
不同机器上各类数据所占内存字节数不同,一般int型为2个字节,long型为4个字节。
4.实型数据实型常量表示形式:十进制形式由数字和小数点组成(必须有小数点),如:0.12、.123、1230.0等。
指数形式如123e3代表123×10的三次方。
实型变量分为单精度(float)和双精度(double)两类。
在一般系统中float型占4字节,7位有效数字,double型占8字节,15~16位有效数字。
5.字符型数据字符变量用单引号括起来,如'a','b'等。
c语言基础知识复习笔记
第1天:全部的基本概念Point1:算法的基本概念-5-考点精讲1、算法:是指解题方案的准确而完整的描述。
(1)算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
程序也可以作为算法的一种描述,但程序通常还要考虑程序运行时的环境限制等。
(2)算法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
2、算法的基本特征:(1)可行性,例如1012+1-1012的问题(2)确定性,算法中每一步骤都必须有明确定义,不允许有模棱两可的解释,不允许有多义性;例在特殊情况时,数学公式是正确的,但计算机就是无法操作。
(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义。
例如1/3的无理数问题。
(4)拥有足够的情报。
所有的各种可能情况都要考虑到。
3、一个算法的优劣将影响到算法乃至程序的效率。
算法分析的目的在于选择合适算法和改进算法。
一个算法的评价主要从时间复杂度和空间复杂度来考虑。
(1)算法的时间复杂度是指执行算法所需要的计算工作量,可以执行算法的过程中所需要的基本运算的执行次数来度量。
分析算法工作量的方法有:平均性态分析、最坏情况分析。
(2)算法的空间复杂度是指执行这个算法所需要的内存空间。
主要包括:算法程序所占的空间;输入的初始数据所占的空间;算法执行过程中所需要的额外空间。
真题分析【真题1】算法的有穷性是指________。
(2008年4月)A)算法程序的长度是有限的B)算法只能被有限的用户使用C)算法程序的运行时间是有限的D)算法程序所处理的数据量是有限的解析:算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。
答案:C【真题2】问题处理方案的正确而完整的描述称为__【5】__。
(2005年4月)解析:算法是问题处理方案正确而完整的描述。
答案:算法【真题3】算法的空间复杂度是指________。
c基础笔记汇总
亠•简介1. 命名规范:(1)Pascal风格:多个英文单词时,每个英语单词的首字母要大写(2)Camel风格:包含一个或者多个单词时,每个英语单词首字母要小写参数和变量使用Camel风格,其他都用Pascal风格2. 控制台应用程序:类似DOS窗口那样,以con sole命令方式运行的程序Console.writeline( “XJT love MH ”);// 输出:XJT love MHCo nsole.readyok( ); // 暂停运行结果,按任意键结束。
3. Windows窗体应用程序:各种客户端程序,有很好的人机交互界面,基于序C/S架构的程二•数据类型2.1值类型2.2引用类型2.3指针类型2.1值类型:(1)整数类型有符号sbyte short int long无符号byte ushort uint ulong左--- 》右可以转换小 -- 》大转换)(2)浮点数类型(带小数部分的数值)单精度(float )浮点类型双精度(double )浮点类型若对于浮点数没有进行任何明确的声明,默认是double 类型。
要是强制将其制定为float类型,要在后面加上字符“ F”或“f”(3)字符类型( char )字符串类型(string )字符常量是用单引号括起来一个字符。
将字符放在双引号里,编译器会把它看做字符串。
转义字符:(4)decimal 类型(十进制decimal 类型)为了适应高精度的财务和货币计算的需求,C# 提供了十进制decimal 类型要把数字定义为decimal 类型,而不是double 或float 或者整数类型,可以在数字后加字符“ M或“ m。
(5)布尔类型(bool ),用来表示“真”或者“假”的逻辑数据类型。
只有2 种取值,真(true )或者假(false )。
例子:计算圆的面积using System;usingusing System.Linq;using System.Text;usingn amespacecircle{class Program{static void Main( string [] args) {decimal pi = 3.14159m;int r = 12;decimal s = 0;s = pi * r * r;Console.WriteLine("圆的半径是:={0} \n 圆的面积是:={1}" , r, s);〃{0} 和⑴是占位符,将r和s的结果显示在{0}和{1}的位置显示Console.ReadKey(); //控制台暂停符合,暂停运行结果Con sole.ReadL in e();}}}2.2引用类型:(用来描述结构复杂,抽象能力比较强的数据。
《C语言程序设计》第三章C语言基础课堂笔记
《C语言程序设计》第三章C语言基础课堂笔记§3.1 基本字符集、关键字和标识符一.基本字符集字符是C的基本元素,C语言允许使用的基本字符集:1. 26个大写字母A B C D E F G H I J K L M N O P Q R S T U V W X Y Z2. 26个小写子母a b c d e f g h I j k l m n o p q r s t u v w x y z3. 10个阿拉伯数字0 1 2 3 4 5 6 7 8 94.其他字符!" # % & ' ( ) * + , - . / : < = > ? [ \ ] ^ _ { | } ~5.空格字符以及制表符合换行符等控制字符二.关键字(P375,附录II)C中具有固定意义的字符串。
(1) C中的关键字共32个,必须用小写字母(2) 关键字不可用于变量名、函数名等。
auto break case char const continue default do double else enum extern floatfor goto if int long register return short signed sizeof static struct switchtypedef union unsigned void volatile while三.标识符标识符用于命名变量、类型、函数和其他各种用户定义的对象,是由字母、下划线和数字三种字符组成。
(1) 第一个字符必须为字母或下划线(2) C对标识符的长度规定为任意,Turbo C区分32 个字符(3) C区分大小写(4) 不允许关键字作为标识符§3.2 C数据类型§3.3 常量与变量一.常量在程序运行过程中保持不变的量,称为常量。
常量分为不同的类型,它们分别是:整型常量,如:12、100、-50实型常量,如:3.8、-0.88字符常量,如:'A'、'5'字符串,如:"string"符号常量,以标识符代表一个常量,通常大写。
课堂笔记 ( C语言的基本数据类型与表达式)
2、字符型变量的分类: 、字符型变量的分类: char; char 和 unsigned char;
字符型可参与数学运算, 可看成一种一字节的整型变量) 3、值域(字符型可参与数学运算,也可看成一种一字节的整型变量) 一个字节; 每个字符型数据在内存中占一个字节 字符型数据包括 每个字符型数据在内存中占 一个字节 ; 字符型数据 包括 ASCII字符表中的所有字符 可显示字符和非显示字符) 字符表中的所有字符( ASCII字符表中的所有字符(可显示字符和非显示字符)。
基本类型
数据类型
构造类型
指针类型( 指针类型(*) 空类型(void) 空类型(void)
本章中将对基本类型中的前三类进行介绍和学习。 本章中将对基本类型中的前三类进行介绍和学习。
3
在学习各种数据类型之前,我们先简单了解一 常量和变量 下常量 变量 常量 变量的概念。后面的章节中将会详细介绍。 常量:指在程序运行中 其数值不能被改变的量 常量 指在程序运行中,其数值不能被改变的量。 指在程序运行中 其数值不能被改变的量。 变量:指以标识符为名字,其值可以改变的量。 变量: 以标识符为名字,其值可以改变的量。 代表计算机内存中的某一存储空间, 变量 代表计算机内存中的某一存储空间, 变量的类型决定了该存储空间的长度和其 中存放数据的编码方式及存储格式。 中存放数据的编码方式及存储格式。 变量的类型也决定了该存储空间中存放 数据的数据形式和取值范围。 数据的数据形式和取值范围。
4
二、整型(采用定点整数的存储格式,只能表示纯整数) 1、整型常量: 整型常量: 十进制形式:与数学上的整数表示相同; (1) 十进制形式:与数学上的整数表示相同; 例如: 例如: 12 八进制形式: 数码前加数字 数字0 (2) 八进制形式:在数码前加数字0; 10(十进制) 例如: 012= 例如: 012=1*81+2*80=10(十进制) 十六进制形式: 数码前加0 数字0和字母 和字母X) (3) 十六进制形式:在 数码前加0X ( 数字 和字母 )。 例如: 12= 18(十进制) 例如: 0x12=1*161+2*160=18(十进制) * 八进制的数码范围为 八进制的数码范围为0~7; 018 × ; * 十六进制的数码除了数字0~9外, 十六进制的数码除了数字 9 数码除了数字0 还使用英文字母a~ 或 表示10~15。 还使用英文字母 f (或A~ F)表示 表示 。 如:0x1e √
c基础知识点总结
c基础知识点总结C语言是一种通用编程语言,也是学习其他编程语言的基础。
它被广泛应用于系统软件开发、嵌入式系统、游戏开发和科学计算等领域。
以下是C语言的基础知识点的总结。
1.基本语法:-注释:单行注释(//)和多行注释(/* */)-标识符:变量和函数的命名规则-关键字和保留字:C语言中有一些保留的单词,不能作为标识符使用-变量和数据类型:定义和声明变量,包括int、float、char等数据类型2.运算符:-算术运算符:加、减、乘、除、取模等-关系运算符:等于、不等于、大于、小于等-逻辑运算符:与、或、非-赋值运算符:=、+=、-=等-条件运算符:三元运算符(? :)3.控制语句:-条件语句:if语句、switch语句-循环语句:for循环、while循环、do-while循环-跳转语句:break、continue、goto4.函数:-定义和声明函数:函数名、返回类型、参数列表-函数调用:函数名加括号-递归函数:函数可以调用自身-函数参数传递:值传递、引用传递5.数组:-定义和声明数组:数组类型、数组名、数组大小-多维数组:二维、三维等-数组操作:访问元素、赋值操作6.指针:-指针定义和声明:指针类型、指针名-指针运算:取地址运算符(&)、取值运算符(*)-指针与数组:指针和数组的关系-动态内存分配:malloc、free函数7.结构体和联合体:-结构体的定义和声明:成员变量、结构体名-结构体变量:访问结构体成员-联合体的定义和声明:共用体成员、联合体名-枚举类型:定义枚举常量、枚举变量8.文件操作:-文件的打开和关闭:fopen、fclose函数-文件的读写:fscanf、fprintf函数-文件指针:指向文件的指针9.预处理指令:-头文件包含:#include指令-宏定义:#define指令-条件编译:#ifdef、#ifndef、#if、#elif、#endif等指令10. C标准库函数:-字符串处理函数:strlen、strcpy、strcat等-数学函数:sqrt、sin、cos等-文件函数:fopen、fclose、fscanf等以上仅为C语言的基础知识点总结,实际上C语言是非常庞大和复杂的语言,其中还有很多其他的知识点需要学习和掌握。
C基础笔记汇总
一.简介1. 命名规范:(1)Pascal 风格:多个英文单词时,每个英语单词的首字母要大写(2)Camel风格:包含一个或者多个单词时,每个英语单词首字母要小写参数和变量使用Camel 风格,其他都用Pascal风格2.控制台应用程序:类似DOS窗口那样,以console命令方式运行的程序(“XJT love MH”);隐式转换:(1)数值类型之间的隐式转换小到大可以转换,转换可能导致精度丢失,但不影响数量级。
不能大到小转换。
(2)var 类型数据隐式转换:Var定义的变量的数据类型由赋值的数据决定。
Eg:var name = “XJT”, 这时候name就是字符串类型,隐式转换。
Var name = 250, 这时候name 就是int类型,进行了隐式转换。
B. 显示转换:(强制类型转换)要用户明确指定转换的类型。
C. 使用convert类来转换:(是一种隐式转换)D. 数值和字符串之间的转换:(1)ToString()方法:数值类型的ToString ()方法可以将数值型数据转换为字符串。
==========变量名.ToString()==========eg: int n =10 ;string m = ( );oString(),这个变量名哟和前面声明的变量名保持一致(2)Parse()方法:数值类型的的Parse()方法可以将字符串转换为数值型。
=========数值类型.parse( 变量名)==========eg: string m =”XJT”;Int n = int. Parse(m); arse( 变量名),这个数值类型要和新声明的变量类型保持一致。
转换的例子:using System;using;using ;using charge{class Program{static void Main(string[] args){double i = ;int s =(int)i; 装箱和拆箱:(数据转换类型的一种特许应用)装箱是将“值”类型转换成“引用”类型(数值----》字符串是其一种表现)拆箱是将“引用”类型转换成“值”类型。
C语言知识点总结【重点版】
C语言知识点总结【重点版】C语言最重要的知识点总体上必须清楚的:1)程序结构是三种:顺序结构、选择结构(分支结构)、循环结构。
2)读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。
3)计算机的数据在电脑中保存是以二进制的形式.数据存放的位置就是他的地址.4)bit是位是指为或者1。
byte是指字节,一个字节=八个位.概念常考到的:1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
误的,一定不能出现分号。
3、每个C语言程序中main函数是有且只有一个。
4、在函数中不可以再定义函数。
5、算法:可以没有输入,但是一定要有输出。
第一章C语言的基础知识第一节、对C语言的基础认识1、C语言编写的程序称为源程序,又称为编译单位。
2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。
3、一个C语言程序有且只有一个main函数,是程序运行的起点。
第二节、2、每个C语言步伐写完后,都是先编译,后链接,最后运转。
(.c---(.obj---(.exe)这个过程中注意.c和.obj文件时无法运转的,只有.exe文件才可以运转。
(常考!)(步伐编纂-步伐编译-步伐连接-步伐运转)第三节、标识符1、标识符(必考内容):合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必需为字母或则是下划线。
第一个为数字就错了预定义标识符:背诵definescanfprintf2include。
记住预定义标识符可以做为用户标识符。
第五节:整数与实数1)C语言只有八、十、十六进制,没有二进制。
但是运转时分,所有的进制都要转换成二进制来举行处置惩罚。
(考过两次)a、C语言中的八进制规定要以开头。
(数码取值-7)018的数值是非法的,八进制是没有8的,逢8进1。
b、C语言中的十六进制规定要以0x(X)开头。
C语言各章知识点总结
C语言各章知识点总结总体上必须清晰的:2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到挑选做挑选)。
4)bit是位是指为0 或者1。
byte 是指字节, 一具字节 = 八个位.5)一定要记住二进制怎么划成十进制。
概念常考到的:1、编译预处理别是C语言的一部分,别再运行时刻。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且惟独一具。
3、在函数中别能够再定义函数。
4、算法一定要有输出的,但能够没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级不最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
同时第一具必须为字母或则是下划线。
第一具为数字就错了。
关键字别能够作为用户标识符号。
main define scanf printf 都别是关键字。
迷惑你的地点If是能够做为用户标识符。
因为If中的第一具字母大写了,因此别是关键字。
关键字有:auto break case char const continue defaultdo double else enum extern float forgoto if int long register return shortsigned static sizeof struct switch typedef unionunsigned void volatile whileauto :声明自动变量double :声明双精度变量或函数int:声明整型变量或函数struct:声明结构体变量或函数break:跳出当前循环else :条件语句否定分支(与 if 连用)long :声明长整型变量或函数switch :用于开关语句case:开关语句分支enum :声明枚举类型register:声明寄存器变量typedef:用以给数据类型取不名char :声明字符型变量或函数extern:声明变量是在其他文件正声明return :子程序返回语句(能够带参数,也可别带参数) union:声明共用数据类型const :声明只读变量float:声明浮点型变量或函数short :声明短整型变量或函数unsigned:声明无符号类型变量或函数continue:结束当前循环,开始下一轮循环for:一种循环语句signed:声明有符号类型变量或函数void :声明函数无返回值或无参数,声明无类型指针default:开关语句中的“其他”分支goto:无条件跳转语句sizeof:计算数据类型长度volatile:讲明变量在程序执行中可被隐含地改变do :循环语句的循环体while :循环语句的循环条件static :声明静态变量if:条件语句2)实型数据的合法形式:2.333e-1 算是合法的,且数据是2.333×10-1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
int a=8;
fun(a);//////此处调用函数2
const int b =4;
fun(b);////此处调用函数1
void fun(int &b)
{
cout<<"ggg"<<endl;
}
const int a = 9;
fun(a);////出错,无匹配
4,类型的转换:内在空间变小,高->低:例:double -> float
void fun(const int &a)////函数1
{
cout<<"lala"<<endl;
}
void fun(int &b)////函数2
{
cout<<"gggg"<<endl;
}
以上两函数属于重载。加const与不加,有区别
虚基表
自身空间
虚基类空间
例B T时,T对象的空间如下分布:
}
程序不报错,能正常运行。
柔性数组关键是指在结构体的定义过程中,最后一个数据成员为字符数组型时,可以不指定大小,其内存空间仍分配在结构体后面。但在使用过程中时,str处的数据长度不一。所以,相同结构体变量,不一定能相互赋值。
在C++中需要调用C中的函数时,必须使用exten "C" {}:
结构体内存对齐标准
结构体的内存对齐以最大的数据成员为标准
例:
struct A
{
double a;
int c;
}
sizeof(A) 值为16。对齐标准为double.
C++内联函数
只是在函数定义前的类型前加一个inline
例:inline int f(int x){return x*x;}
/////动态为str[]成员分配空间
p = (data *)malloc(sizeof(data)+strlen("hello soga\n")+1);
memcpy(p->str,q,sizeof(q));
strcpy(p->str,"hello soga\n");
puts(p->str);
{
public:
int a;
};
class B:virtual public A
{
int b;
};
int main()
{
cout<<sizeof(B)<<endl;
}
结果为:12
原因:派生类在继承虚基类时,会在内存首地址处插入一个虚基表,内存分布构建方式如下:
class B{
public:
A *a;/////正确,因为前面有对类A的声明
A &a;////正确
/* A a; *//// 错误,虽然前面有对类A的声明,但编译器无法知道A的空间大小,
//// 故无法分配空间,所以报错
};
在C++中类的关键字可用class,也可用struct,所以,类的实质上也是结构体,是对结构体的改进。类与结构体的区别很小。在C++中无结构体,都是class。
在C++中,结构体与类的区别:
结构体默认的属性是public
类默认的属性是private
例:
struct A
{
int a;
所有类定义的成员函数都是内联函数,类的内部没有内存的分配,只有声明
友员函数:
在类中声明,在类外定义
类的构造函数后的初值表的赋值顺序必须和数据成员的定义顺序相同
错误示例:
class A{
public :
int a;
int b;
A(int x,int y):b(x),a(b){//// 错误,是自右至左的方式执行,
在C++中没有float的常量
例:
void fun(float a)///函数1
{
cout<<a<<endl;
}
void fun(double b)////函数2
{
cout<<b<<endl;
}
fun(5.6);////此处调用函数2,常量5.6为double型
public:
Sample() {x=y=0;}
Sample(int a,int b) {x=a;y=b;}
~Sample()
{
if(x==y)
cout<<"x=y"<<endl;
else
cout<<"x!=y"<<endl;
}
void disp()
{
类中的常成员与常成员函数
常成员函数与普通成员函数的区别:常对象只能调用常成员函数,不能调用非常成员函数
普通对象可以调用常成员函数,但优先调用非常成员函数
所有类的成员函数都隐含了一个参数:类名 *this
例:类square中有个成员函数:getLength()
实际上的定义为:getLength(square *this)
extern "C"
{
void f(int num);
}
extern "C"
{
#include <pthread.h>
}
C++中的函数重载优先级的高低
1,const int最高
2,类型的精确匹配
3,类型的提升:内在空间变大,低数据类型->高数据类型,例:int -> float
3、高位的空位是以符号位作为填充,无符号型的符号位是0,所以此输出的高位为1.
4、溢出位会被截取
继承:
protected成员,在派生类中可访问
private 成员,在派生类中不能访问
在继承和派生中,没有重载关系,无论参数是否不同,一律被覆盖
要访问基类成员,可加上域作用符
void fun()
{
cout<<a<<endl;
}
};
int main()
{
A b;
b.a = 3;
b.fun();
return 0;
}
正确!
堆、栈、全局区、代码段
在C++中,如果自己定义了构造函数,系统将不再自动定义构造函数
在C++中malloc与new的区别:
}
A(const A &a)
{
cout<<"拷贝构造"<<endl;
}
~A()
{
cout<<"析构"<<endl;
}
}
////______________1________//
void fun(A x)
{
A t(x);
}
int main()
127 01111111 127
128 10000000
129 10000001 -1Байду номын сангаас7
推论:
1、数据在存入内存时,是直接放入变量内存的,即129被化为二进制后直接存入内存,故符号位被填充为了1,即负数标志位
2、数据取值时是以补码形式取出来,所以输出结果为-127
int main()
{
A a = 3;
return 0;
}
运行结果:
int构造 ////类似于2,类中有关于int的构造函数
析构
////______2__________//
#include<iostream.h>
class Sample
{
int x,y;
结构体中str的内存空间没有生成,但是其空间跟在结构体后面。
#include <stdio.h>
#include <string.h>
typedef struct DATA
{
int a;
char str[];
}data;
int main()
{
data a,*p;
////______2__________//
void fun(A x)
{
}
int main()
{
fun(2);
return 0;
}
运行结果:
int构造 ////2传入fun,类中有关于int的构造函数
析构
////______2__________//
////______3__________//
数据存放:
数据在存入内存时,是直接放入变量内存的,但在取值时是以补码形式取出来
例:
char c = 129
printf("%d",d);
printf("%x",d);
输出结果:
-127
ffffff81