《C程序设计》知识点 第1章 C语言概述 1.1.C语言属高级语言,区分字母的大小写,以函数为基本单位采用模块化程序设计,可直接访问内存,进而对硬件进行操作。 1.2.用C语言编写和程序称作C源程序,简称C程序,C程序可由若干个文本文件组成,文件扩展名为C(使用C++编译器时默认扩展名为CPP)。C源程序经编译、连接后得到扩展名为EXE的可执行文件(目标程序)。 预处理 编译、连接 执行 若干个C程序文件----→C程序------→目标程序文件--→ 1.3.C程序从主函数开始执行,每个C程序有且仅有一个主函数,因此,每个C程序文件中至多有一个主函数。 1.4.C语句以分号结尾,用{}括起来的一组语句称作复合语句,复合语句可省略花括号之后的分号。 1.5.允许一行内写多个C语句,也允许一个C语句占用多行,但保留字和标识符不可拆行。 1.6.在C集成环境VC++ 6.0中,新建工程、保存当前程序文件、编译当前程序、执行当前程序的快捷键依次为:Ctrl+N、Ctrl+S、F7、Ctrl+F5。 第2章 程序设计的灵魂——算法 2.1.解决问题的方法和步骤称作算法。算法和数据结构是程序的两个主要要素。 2.2.算法具有确定性、有穷性、有效性等特点。 2.3.算法可用自然语言、流程图、N-S图、计算机语言、伪代码等描述。伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。 图2.1 ANSI流程图符号 2.4.算法的基本结构分为:顺序结构、选择结构、循环结构。 图2.2 顺序结构 图2.3 选择结构 图2.4 当循环 图2.5 直到循环 图2.6 顺序结构 图2.7 选择结构 图2.8 当循环 图2.9 直到循环 2.5.由三种基本结构组成的程序称作结构化程序,结构化程序中的每个模块只有一个入口和一个出口。结构化程序设计通常采用“自顶向下、逐步细化”的设计方法。 第3章 数据类型、运算符与表达式 3.1.C的数据类型如下所示: 表3.1 C语言的数据类型 3.2.C符号常量名、变量名、函数名等统称标识符,标识符的命名规则为:以字母或下划线开头,由字母、数字、下划线组成,超出32个字符部分被忽略(最好不超过8个字符)。 3.3.以0开头的整数为八进制整数,以0X或0x开头的整数为十六进制无符号整数。 3.4.-32768~32767为int型,0U~65535U为unsigned型,65536U~4294967295U和0UL~4294967295UL为unsigned long型,-2147483648~-32769、32768~2147483647和-2147483648L~2147483647L为long型。后缀U和L不区分大小写和次序。 3.5.数据的存储字节数可用运算符sizeof()查询,括号内可是数据、表达式或类型名。 3.6.有符号整数(int和long)按补码存储,因此,-65535U~-1U与1U~65535U依次相等,-4294967295UL~-1UL与1UL~4294967295UL依次相等。 3.7.定点数(含小数点数)和浮点数统称C实型常量,浮点数的一般形式为: 尾数e除码 或 尾数E除码 其含义为: 尾数×10除码 其中,尾数为定点数或整数,除码为整数。标准浮点数的小数点在第1位非0数字之后。后缀L或l的实型常量为长双精度,无后缀实型常量为双精度。 3.8.用一对单引号括起来的单个字符称作C字符常量,其值为该字符的ASCII码(1字节无符号整数)。 3.9.转义字符'\n'、'\t'、'\\'、'\''、'\"'分别表示回车符、制表符、反斜杠、单引号、双引号。 3.10.转义字符'\整数'、'\x整数'(或'\X整数')中的整数分别为八进制、十六进制,表示以此整数为ASCII码的字符。 3.11.用双引号括起来的一串字符称作C字符串型常量,串中字符数称作串长,可以为0。字符串的存储形式为:依次存储字符串中字符的ASCII码,并追加一个空字符'\0'(1字节无符号整数0)。 3.12.字符型、整型、实型数据统称数值型数据,不同类型的数值型数据可以混合运算,低精度数据被自动强制转换为高精度数据后方参与运算。另外,字符常量为有符号短整数,两个字符型数据间的运算按有符号短整数处理。 3.13.如果将数值型数据赋给不同类型的数值型变量,则数值型数据将被自动强制转换为变量的数据类型。 3.14.C允许定义变量的同时赋初值。 3.15.C运算符及其优先级、结合性如附录C(教材第365页)所示。 3.16.强制数据类型转换的一般形式为: (类型名)数据 3.17.自增++、自减--运算只能作用于变量,作用于右侧时,返回变量自增、自减前的值。 3.18.赋值表达式的格式为: 变量=表达式 或 变量op=表达式 其中,op为运算符 +、-、*、/、%、>>、<<、&、^、| 中某一个。前者将右边表达式的值赋给左边的变量,后者将左边变量的当前值与右边表达式的值作相应运算后仍赋给左边的变量。整个赋值表达式取左边变量所赋的新值。 3.19.用逗号分隔的一组表达式称作逗号表达式,其一般形式为: 表达式, 表达式, …, 表达式 其功能为:从左至右依次计算各表达式的值,并以最后一个表达式的值为整个逗号表达式的值。 3.20.将数学式改为C表达式时应注意: (1)乘号*不可省略; (2)正确改写脚码、运算符、括号等; (3)正确书写函数名; (4)把握好运算优先级,分数线改为/时,分子、分母相应加括号; (5)正确拆分不等式组; (6)区分整数除法和实数除法。 第4章 顺序结构程序设计 4.1.表达式后缀分号称作表达式语句,即, 表达式; 4.2.putchar、getchar、printf、scanf等输入输出函数的原型在头文件stdio.h中。 4.3.函数putchar和getchar的格式和功能如下: (1)putchar 格式:putchar(表达式) 功能:向标准输出设备输出以指定表达式的值为ASCII码的字符,并以该值为函数值(自动强制转换为int型)。 (2)getchar 格式:getchar() 功能:从标准输入设备输入一个字符,并以该字符为函数值。 注意:getchar可提取空格及回车、Tab等部分控制字符,而且只提取输入中相应位置上的一个字符,因此,输入字符间无须分隔,否则也被视为输入字符。 4.4.printf函数的格式和功能如下: 格式:printf(格式控制串, 输出表列) 功能: (1)从右至左依次计算输出表列中各表达式的值; (2)从左至右依次输出格式控制串中的字符,其中,%引导的格式控制符由输出表列中相应表达式的值所取代。 输出表列是一组用逗号分隔的表达式(又称输出项,可以为0项)。格式控制串为字符串型数据(可以是表达式)。其中,格式符用于控制输出表列中相应表达式的输出格式。格式符及其功能如下表所示: 表4.1 printf格式字符 4.5.scanf函数的格式和功能如下: 格式:scanf(格式控制串, 地址表列) 其中,格式控制串为字符串型数据(可以是表达式),地址表列是一组用逗号分隔的地址。 功能: (1)右至左依次计算地址表列中各表达式的值; (2)从标准输入设备提取数据,并从左至右依次存储到所指定的存储单元。 (3)地址表列中的地址可用表达式表示,通常形式为: &变量 其中&是地址运算符,它表示取其后变量的存储(起始)地址。 说明: (1)scanf函数格式符与printf函数的格式符的功能相似。scanf的合法格式符不区分大小写、实型格式符均等效,另外, 表4.2 scanf的附加格式符说明

知识点总结相关资料
5.0万次浏览
9962人收藏
《C++程序设计》笔记 - 各章汇总

《C++程序设计》笔记 - 各章汇总

*-《C程序设计》知识点第1章C语言概述1.1.C语言属高级语言,区分字母的大小写,以函数为基本单位采用模块化程序设计,可直接访问内存,进而对硬件进行操作。1.2.用C语言编写和程序称作C源程序,简称C程序,C程序可由若干个文本文件组成,文件扩展名为C(使用C++编译器时默认扩展名为CPP)。C源程序经编译、连接后得到扩展名为EXE的可执行文件(目标程序)。1.4.C语句以分号结尾,用{}括起来的一组语句称作复合语句,复合语句可省略花括号之后的分号。*-1.5.允许一行内写多个C语句,也允许一个C语句占用多行,但保留字和标识符不可拆行。1.6.在C集成环境VC++6.0中,新建工程、保存当前程序文件、编译当前程序、执行当前程序的快捷键依次为:Ctrl+N、Ctrl+S、F7、Ctrl+F5。*-第2章程序设计的灵魂算法2.1.解决问题的方法和步骤称作算法。算法和数据结构是程序的两个主要要素。2.2.算法具有确定性、有穷性、有效性等特点。2.3.算法可用自然语言、流程图、N-S图、计算机语言、伪代码等描述。伪代码是用介

《C++程序设计》笔记-各章笔记

计算机二级《C++语言程序设计》基础知识点汇总

计算机二级《C++语言程序设计》基础知识点汇总

《C++程序设计》课程笔记

《C++语言程序设计》笔记

《C_C++程序设计课程设计》笔记

《C_C++程序设计》笔记

《C++程序设计》笔记

《C++高级程序设计》笔记

《C++语言与程序设计》笔记

《C++语言与程序设计》笔记一、C++基础语法1.1变量与数据类型C++中变量在使用前需声明类型,其数据类型丰富,分为基本数据类型和复合数据类型。•基本数据类型:包括int(整型,用于存储整数,如intnum=10;)、double(双精度浮点型,可存储小数,doublepi=3.14159;)、float(单精度浮点型)、char(字符型,用单引号表示单个字符,charch='a';)、bool(布尔型,取值true或false,boolflag=true;)。•复合数据类型:如数组、指针、引用、结构体、类等。变量声明时可进行初始化,也能先声明后赋值,例如:inta=5;//声明并初始化doubleb;b=10.5;//先声明后赋值1.2运算符C++的运算符涵盖算术、逻辑、比较、位运算等多种类型。•算术运算符:+(加法)、-(减法)、*(乘法)、/(除法)、%(取余)、++(自增)、--(自减)。自增和自减运算符分为前置和后置,前置是先自增/减再参与运算,后置是先参与运算再自增/减,如:intx=5;inty=++x;//x先自增为6,y再赋值为6intz=x--;//z先赋值为6,x再自减为5•逻辑运算符:&&(逻辑

C++程序设计语言课程笔记

《C_C++语言程序设计》课程笔记

《C++程序设计》笔记-知识点整理

《C++程序设计》笔记-知识点整理

C++语言语法基础(6)1.从C到C++的过渡2.类和对象3.操作符重载4.继承与多态5.异常和I/O流 数据结构和算法1.基本数据结构,堆栈、队列、链表、二叉树,实现和应用(2)2.排序和查找算法 模板和STL1.模板语法2.STL 阶段项目简化的企业管理信息系统(MIS)-1-第一课从C到C++的过渡 背景介绍算盘-面向硬件的编程电子计算机-机器语言的编程1010-汇编语言的编程ADD-高级语言的编程Fortranprintf("%d",12);-结构化程序设计C/PASCL顺序、分支、循环、函数-面向对象的程序设计C++/Java/C#-面向问题的程序设计1960-Algol60,算法语言,远离硬件,不适合进行系统开发1963-剑桥大学,CPL,在Algol60的基础上增加对系统开发的支持,复杂,不易掌握,不易使用1970-MIT,BCPL,CPL的精华版,易学易用,太慢,不实用1972-KenThomposon,B语言,通过运行时支持优化BCPL的性能,缺少类型1973-DennisRi C++语言的使用领域:1.游戏开发:强建模能力,性能高。2.科学计算:FORTRAN,C++算法库。3.网络和分布式:ACE框架。4.桌面应用:VC/MFC,Office,QQ,多媒体5.操作系统和设备驱动:优化编译器的发明使C++在底层开发方面可以和C向媲美。6.移动终端既需要性能,同时又要有面向对象的建模。 C++比C更丰富1.支持面向对象,将问题域和方法域统一化。宏观面向对象,微观面向过程。2.支持泛型编程。intadd(inta,intb){ }template<typenameT>Tadd(Ta,Tb){ }3.支持异常机制。intfunc(void){ }intmain(void){if(func()==-1){错误处理;}}4.操作符重载 第一个C++程序1.编译器:g++,如果用gcc需要带上-lstdc++,指定其使用标准c++的运行库。2.源文件扩展名:.cpp/.cc/.C/.cxx/.c++,最好用.cpp3.头文件:#include<iostream>大多数标准库头文件都没有.h后缀。4.输出:cout-标准输出对象输入:cin-标准输入对象插入运算符:<<提取运算符:>>5.std:所有标准库的函数、对象、类型都位于std名字空间中。-3- 名字空间1.对程序中的标识符(类型、函数、变量),按照某种逻辑规则划分成若干组。2.定义名字空间namespace名字空间名{名字空间成员;}3.使用名字空间1作用于限定符:名字空间名::名字空间成员,表示访问特定名字空间中的特定成员。例子:#include<iostream>intmain(void){std::cout<<"Hello,World!"<<std::endl;inti;doubled;chars[256];//scanf("%d%lf%s",&i,&d,s);std::cin>>i>>d>>s;//printf("%d%lf%s\n",i,d,s);std::cout<<i< C++中的结构、联合和枚举1.结构和C语言的不同:1)定义结构型变量时,可以省略struct关键字。2)结构内部可以定义函数成员函数。3)sizeof(空结构)->1例子:#include<iostream>usingnamespacestd;structStudent{charname[128];intage;voidwho(void){//成员函数cout<<"我叫"<<name<<",今年"<<age<<"岁了。"<<endl;}};intmain(void){Studentstudent={"张飞",25},*ps=&student;student.who();ps->who();st

《C++程序设计》课程笔记

C++语言程序设计课程笔记

《C_C++程序设计》学习笔记

《C/C+语言程序设计》笔记重点版

《C_C++语言程序设计》笔记

《C++程序设计语言》笔记

C++语言概述1.1C++的起源与发展C++由贝尔实验室的BjarneStroustrup于20世纪80年代初开发,它以C语言为基础,添加了面向对象编程特性。C语言的高效性和底层操作能力是C++发展的基石,C++最初被称为“CwithClasses”,后定名为C++。随着时间推移,C++标准不断演进,从最初的C++98,到C++11引入大量新特性,如Lambda表达式、智能指针等,再到C++14、C++17和C++20,持续完善语言功能,提升编程效率和安全性。1.2C++的特点高效性:C++能够直接操作硬件资源,如内存和寄存器,执行效率高,适合开发对性能要求苛刻的系统软件、游戏引擎、大型数据库管理系统等。 C++语言基础2.1基本数据类型整型:包括char(通常占用1字节,用于存储字符,本质是整数类型,存储的是字符的ASCII码值)、short(通常占用2字节)、int(通常占用4字节)、long(通常占用4字节,在64位系统中可能为8字节)、longlong(占用8字节)。不同整型有不同的取值范围,可根据实际需求选择合适类型。浮点型:float(单精度浮点数,占用4字节,精度约7位有效数字)、double(双精度浮点数,占用8字节,精度约15-17位有效数字)、longdouble(高精度浮点数,占用16字节,精度更高,适用于对精度要求极高的科学计算)。布尔型:bool类型,只有两个值true和false,用于逻辑判断,在内存中占用1字节。 C++面向对象编程3.1类与对象类的定义:类是一种用户自定义的数据类型,封装了数据和行为。使用class关键字定义,如:classPerson{private://私有成员变量std::stringname;intage;public://公有成员函数voidsetName(conststd::string&n){name=n;}voidsetAge(inta){age=a;}voidsayHello(){std::cout<<"大家好,我是"<<name<<",今年"<<age<<"岁。"<<std::endl;}};对象的创建与使用:通过new关键字在堆上创建对象,或直接声明在栈上,然后访 C++模板与泛型编程4.1函数模板函数模板允许编写通用函数,适用于不同数据类型。使用template关键字定义,如:template<typenameT>Tadd(Ta,Tb){returna+b;}调用时编译器会根据传入参数类型自动实例化函数,如intresult=add(3,5);或doubleresult=add(3.5,2.5);。4.2类模板类模板用于创建通用类,如std::vector、std::map等标准库容器都是类模板。定义类模板如:template<typenameT>classStack{private:T*data;inttop;intcapacity;public:S C++输入输出流5.1标准输入输出流输入流cin:用于从标准输入设备(通常是键盘)读取数据,使用>>运算符,如:intnum;std::cin>>num;输出流cout:用于向标准输出设备(通常是屏幕)输出数据,使用<<运算符,如:std::cout<<"输出内容:"<<num<<std::endl;5.2文件输入输出流文件输出流ofstream:用于向文件写入数据,如:#include<fstream>std::ofstreamoutFile("test.txt");if(outFile.is_open()){outFile<<"Hello,World!"<<std::endl;outFile. C++内存管理6.1栈内存与堆内存栈内存:由系统自动管理,函数内局部变量存储在栈上,函数结束时自动释放,分配和释放速度快,但空间有限。堆内存:通过new和delete(或new[]和delete[])手动管理,用于动态分配内存,如创建对象或数组。使用后需手动释放,否则会导致内存泄漏。6.2智能指针C++11引入智能指针,如std::unique_ptr、std::shared_ptr和std::weak_ptr,用于自动管理堆内存,避免内存泄漏。std::unique_ptr独占对象所有权,std::shared_ptr允许多个指针共享对象所有权,通过引用计数管理对象生命周期,std::weak_ptr是弱引用,不影响对象生命周期,可用于解决循环引用问题。 C++异常处理7.1异常的概念异常是程序运行时出现的错误或意外情况,如除零错误、内存分配失败等。C++提供异常处理机制,使程序在异常发生时能进行合理处理,避免崩溃。7.2异常处理语句try-catch语句:try块包含可能抛出异常的代码,catch块捕获并处理异常,如:try{intresult=10/0;//会抛出异常}catch(conststd::exception&e){std::cerr<<"捕获到异常:"<<e.what()<<std::endl;}try-catch-finally语句:C++没有内置finally关键字,但可通过try-catch结合局部对象析构实现类似功能。例如,使用std::unique_ptr管理文件流,无论是否抛出异常,文件流都会在离开作用域时关闭。

《C++程序设计》笔记-1-12章知识点

《C++程序设计》_学习笔记

《C++程序设计》_学习笔记

勾选下载
全部下载(21篇)
搜索
下载夸克,免费领特权
下载

《C++程序设计》笔记 - 各章汇总

精品
DOC178.6KB 40
1/26
2/26
3/26
4/26
展开阅读剩余22页
复制