找回密码
 立即注册
查看: 102|回复: 3

初学C++,学习总结帖。

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-06-12 11:19:14
已绑定手机

8

主题

48

回帖

228

积分

中级会员

积分
228
发表于 2025-5-27 12:06:56 | 显示全部楼层 |阅读模式
学习课件:Visual C++从入门到精通(第三版)
学习目标:积少成多,一点点慢慢学习,首先学习到看别人代码大概都能了解就行了。
加油!!!
2.1C++文件结构
2.1.1 头文件构成
头文件通常以  .c  为扩展名。
通常包含3个部分,版权与版本的声明、宏定义和函数、类信息的生名。
(1)引用头文件
<> 在系统库文目录下搜索头文件。
例: #include <stdio.h>
“” 在当前工程目录下搜索头文件,没有然后在系统库文件目录下搜索头文件。
例: #includesyslog.h
2)头文件中只提供声明信息
2.1.2 源文件的构成
源文件通常以  .cpp  为拓展名。
通常包含3各部分,源文件版权和版本声明、对头文件的引用以及系统功能的实现。
通常头文件存放在Include目录下,将原文件存放在Source目录下。
2.2 C++语言基本要素
基本要素包括 标识符、关键字、常量和变量等。
2.2.1 标识符
变量、常量、函数、标签和用户自己定义的各种对象,被称为标识符。
构成:由一个或者多个字符构成,字符可以是字母数字下划线,标识符首字母必须是字母或下划线,首位不可以是数字,不可以与关键字同名,不可以包含特殊符号。C++区分大小写字母。
例:
合法标识符   maxAge  num  _sex
非法的标识符  1maxAge nu!m
为不同标识符  value  和  Value  
2.2.2 关键字
关键字为C++编辑器内置的特殊意义的 标识符 。
_asm
else
main
struct
_assume
enum
_multiple_inheritance
switch
auto
_except
_single_inheritance
template
_based
explicit
_virtual_inheritance
this
bool
extern
mutable
thread
break
false
naked
throw
case
_fastcall
namespace
true
catch
_finally
new
try
_cdecl
float
noreturn
_try
char
for
operatior
typedef
class
friend
private
typeid
const
goto
proteceed
typename
const_cast
if
public
union
continue
inline
register
unsigned
_declspec
_inline
reinterpret_cast
using declaration,usingdirective
default
int
return
uuid
delete
_int8
short
_uuidof
dllexport
_int16
signed
virtual
dllimport
_int32
sizeof
void
do
_int64
static
volatile
double
_leave
static_cast
wmain
dynamic_cast
long
_stdcall
while
2.2.3常量
顾名思义,其值运行时是不能改变的,但可以设置初始值。可以用 关键字const 定义一个常量。
例:const int MAX_VALUE = 100;
当需要大量使用一个常数时,可以将常数定义为一个常量,当需要改动常数时,可以很方便的改动 常量 (方便)。
常量值不可以改变,不小心错误的改变后编译器会报错提醒。
2.2.4 变量
其值可以改变的量称为变量。
是一个具有名称的存储区域,可以通过名称对存储区域进行读写。
变量有两个属性,通常所说的 左值和右值 ,左值是指变量地址,右值是数据值。
定义变量时,首先是变量类型,然后是变量名。
例:int min = 0;
char *pch;
定义变量时可以赋予初始化值,如上:int min = 0;  初始化为 0
也可以进行隐式初始化。
例:int min10;
一条语句定义多个变量时,可以为多个变量指定初始值,后续变量可以用前变量作为初始值。
例:int min = 10,max = min+50;
定义变量时需要指定数据类型。可以用每种数据类型的构造来初始化变量。
例:int min = int();  //初始化min0
double max = double();    //初始化max0.0
2.2.5变量的存储类型
四种存储类型,exten static register auto
变量的声明  变量的名称和数据类型
变量的定义  将变量分配的存储区域。
1. extern存储类型
通常 变量的声明 被认为是 变量的定义 (不是人话),可以用extern关键字只声明变量而不定义变量(只有变量名称和数据类型,而没有变量定义的存储区域??)。
例:extern int var;
变量只声明而没有定义有何用处?应用程序包含多个文件,如果一个文件中定义一个全局变量,其他文件中进行访问 这个 变量时,使用extern只声明这个变量,而不用 再 一次定义这个变量了。
例:文件1中  int var = 0;   
文件2extern int var;  //使用extern声明变量而不定义变量,2文件中即可访问全var
2.static存储类型
static变量在函数内或者文件内是“持久性”的变量,称为静态变量。
static标识一个局域变量时,当函数调结束后,变量不被释放,依然保留其值。下次调用函数时,将使用这一值。static局域静态变量不被外界函数和其他文件访问。
例:
void TestStaticVar()
{
static int slocal = 10; //定义一个局部静态变量
printf(%d/n,slocal); //输出变量
slocal++    //自加1
}
void main()
{
TestStaticVar();  //连续三次调用TestStaticVar函数
TestStaticVar();
TestStaticVar();
}
static局域静态变量不能被其他文件使用extern关键字访问。
3.register存储类型
register关键字表示变量将被放置在CPU寄存器中
访问register比普通变量快得多,register只能用于局部变量和函数形式参数,而不能定义全局register变量。
例:register int slocal = 10;
4.auto存储器
变量存储方式有两种,静态存储和动态存储。全局变量(extern?)、静态变量(static?)均为静态存储。而普通的局部变量属于动态存储。
auto属于动态存储,默认状态下(??????)局部变量均属于auto变量,也称自动变量。
定义一个全局变量auto是非法的,全局静态变量是静态存储。

不积硅步,无以至千里。
回复

使用道具 举报 送花

3

主题

772

回帖

255

积分

等待验证会员

积分
255
发表于 2025-5-27 12:08:00 | 显示全部楼层
学习总结:C++基础与头文件

学习目标
学习C++语言的入门知识,包括头文件的结构、内容、使用方法以及如何在代码中正确引用和使用头文件。通过系统的学习和实践,掌握C++的基础语法和常用技巧,为后续的学习打下坚实的基础。

学习计划
1. 了解C++语言的基本概念
理解C++的基本语法结构,包括变量、数据类型、运算符、语句等。
学习C++的三种基本控制结构:输入/输出操作、条件判断和循环。

2. 学习头文件的结构
头文件是C++程序编译时的重要部分,通常以#include语句引入。
头文件通常包含以下内容:
版权与版本声明(Header file):声明编译器的版本、许可证信息等。
宏定义(Header file):定义所有宏常量,如#define等。
函数定义(Header file):定义所有函数,包括函数定义、函数调用和函数返回值等。
类信息的生名(Header file):定义所有类的成员信息,如ClassName、 member等。

3. 学习如何在代码中正确引用头文件
理解头文件在代码中的使用方法,包括如何正确引用和使用头文件。
学习如何正确使用#include语句,避免错误。

4. 案例分析与实践
通过实际案例分析,理解头文件在程序编译中的作用。
通过实践,掌握如何在代码中正确引用和使用头文件。

常用头文件的示例
1. 头文件:#include   
用于输出结果。
包含以下内容:
using namespace std;:简化代码的输入输出操作。
int main();:开始程序的运行。
void endl();:结束当前行的输出。
std::cout;:输出结果到标准输出。
std::endl;:结束当前行的输出。

2. 头文件:#include   
用于处理字符串操作。
包含以下内容:
std::string str;:定义一个字符串常量。
std::getline(std::string::npos, char, sizet);:分割字符串。

3. 头文件:#include   
用于数学运算。
包含以下内容:
std::sqrt(std::double);:计算平方根。
std::sin(std::double);:计算正弦值。

如何在代码中正确引用头文件
1. 使用#include语句  
在代码中正确引用头文件,避免错误。
例如:
     ```cpp
     #include
     int main() {
         std::cout

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-06-12 11:19:14
已绑定手机

8

主题

48

回帖

228

积分

中级会员

积分
228
发表于 2025-5-29 11:14:34 | 显示全部楼层
2.3数据类型
2.3.1数值类型
类型
名称
字节数
范围
[signed] int
有符号整型
4
-2147483648~2147483647
unsigned [int]
无符号整型
4
0~4294967295
[signed] short
有符号短整型
2
-32768~32767
unsigned short [int]
无符号整型
2
0~65535
[signed] long [int]
有符号长整型
4
-2147483648~2147483647
unsigned long [int]
无符号长整型
4
0~4294967295
float
单精度型
4
1.2e-38~3.4e38
double
双精度型
8
2.2e-308~1.8e308
long double
长双精度型
8
2.2e-308~1.8e308
上表[ ] ”内容可省略不写。
2.3.2字符类型
字符型数据用单引号标识“ ‘’ ”。定义变量可以使用char关键字。
例:char = A'
char ch = b;
计算机中字符以ASCII码的形式储存的,可以直接将整数赋值给字符变量。
例:char ch = 97; 输出结果是“a”,因为97对应ASCII码是‘a’。
2.3.3数组类型
数组按维度划分,分为一维数组、二维数组、......n维数组
1.一维数组
数组类型 数组名称[数组长度
例:int array[10]; //一个具有10个元素的整型数组。
在定义完数组后,数组元素是通过数组名和下标来访问。
例:array[1]=1; //array中第二个元素设置为1.
定义数组时,可直接为数组赋初始值。
例:int array[10]={0,1,2,3,4,5,6,7,8,9};  //10组数据赋值。
int array[10]={0,1,2,3};  //部分赋值,数组的前4个给予赋值,后面默认值 0
数组初始化赋值0”可以略写。(只有全部赋值 0 可以略写)
例:int array[10]={0};  //数组内全部元素赋值‘0’。
int array[10]={1};  //此时数组内第一个元素赋值‘1’,其他默认。
数组内全部元素赋值可以省略数组长度标识,[] 不能省略。
例:int array[]={0,1,2,3,4,5,6,7,8,9};  //[]内数组长度标识 10 省略不写。(多余省了?)
2.二维数组
数组类型 数组名[常量表达式][常量表达式
例:int array[3][4];  // = {{1,2,3,4},{5,6,7,8},{9,10,11,12}} ,三组四位元素的数组。
数组访问也是通过数组名和下标。
例:array[1][2]=10;
二维数组赋值。
例:int array[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};  //全部赋值。
int array[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};    //全部赋值
int array[3][4]={{1},{2}.{3}};   //三组第一个元素给予赋值,其他默认0.
等等!
2.3.4布尔类型
bool类型,逻辑判断,只有true=1false=0bool可以和整型互相赋值。
例:bool ret;
int var=3;
ret=var;  //整型赋值给布尔。ret为真,=1.
var=ret;  //布尔赋值给整型。ret值上式得知为1,说以结果var=1.
不积硅步,无以至千里。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-06-12 11:19:14
已绑定手机

8

主题

48

回帖

228

积分

中级会员

积分
228
发表于 2025-5-29 11:27:38 | 显示全部楼层
国芯人*** 发表于 2025-5-27 12:08
学习总结:C++基础与头文件

学习目标

感谢回复!
using namespace std 查了网上说明  完全看不懂用法,只大概知道代表很多标识名吧、、?
还需要继续学习。
不积硅步,无以至千里。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-12 18:43 , Processed in 0.132959 second(s), 64 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表