C及C++基础学习
来源:互联网 发布:js无限下拉页面瀑布流 编辑:程序博客网 时间:2024/06/13 10:37
系统的C++学习路线:基本原理(进制转换啊什么的) –> C(学习能力强的可以从C++开始) –> API –> C++语法 –> 操作系统原理 –> MFC (qt) –> 数据库 – 数据结构 – 硬件 – 领域编程(根据你自己以后的行业特点的专业性编程)
编译、连接,转换成机器代码的过程;
源代码—>编译系统—>目标代码(库其他代码)->连接程序->可执行代码;IDE(integrated Devel-opment enviroment)集成开发环境
C++中常用的转义序列符;
各种常量:#define const enum等
赋值:多重赋值,指一个赋值表达式中出现两个或多个的赋值符“=”,例如nNum1=nNum2=nNum3=100;printf(“%d “, (a = 6) = (c = 7) + (b = 8)); 输出结果为15,表达式结果输出a值,不是很懂,为什么a=c+b了。姑且记住吧。
数据类型的强制转换:(<类型名>)<表达式> <类型名>(<表达式>) 如double f=3.56; int nNum; nNum=(int)f;强制转换double为int,小数部分被截去。
运算符:<<,>>;条件运算符;sizeof运算符,逗号运算符;自增和自减;顺序语句和块,选择结构语句;循环结构语句;for结构语句;
自加程序:int main()
{
int Num=1;ntotal=0;
do
{
ntotal+=nNum;nNum++; for 语句 for(int Num=1;Num<=50;Num++)
ntotal+=Num;
} count<<”The sum from 1 to 50 is : “<
#include<stdio.h>#define LEN 20struct names{ char first[LEN]; char last[LEN];};struct guy{ struct names handle; char favfood[LEN]; char job[LEN]; float income;};int main(){ struct guy fellow[2]= { { { "Ewen", "Villard" }, "grilled salmon", "personality coach", 51800.00 }, { {"Rodney","Swillbelly"},"tripe","tabloid editor",232400.00 } }; struct guy *him; printf("address #1:%p #2: %p\n", &fellow[0], &fellow[1]); him = &fellow[0]; printf("Pointer #1:%p #2:%p\n", him, him + 1); printf("him->income is $%.2f:(*him).income is $%.2f\n", him->income, (*him).income); him++; printf("him->favfood is %s:him->handle.last is %s \n", him->favfood, him->handle.last); return 0;}
2、使用结构地址:
double sum(const struct funds *); //参数是一个指针int main(){ struct funds stan = { "Garlic-Melon Bank", 3024.72, "Lucky`s Savings and Loan", 9237.11 }; printf("Stan has a total of $%.2f.\n", sum(&stan)); return 0;}double sum(const struct funds* money){ return(money->bankfund + money->savefund);}
3、把结构作为参数传递:
int main(){ struct funds stan = { "Garlic-Melon Bank", 3024.72, "Lucky`s Savings and Loan", 9237.11 }; printf("Stan has a total of $%.2f.\n", sum(stan)); return 0;}double sum(struct funds mollah){ return(mollah.bankfund + mollah.savefund);}
其他结构特性 C与C++的最本质的区别是:C是面向过程的编程语言,C++是面向对象的编程语言。更深入的分析两种语言的区别:在C语言中,数据和函数是分开声明的,数据和函数之间不存在直接的关联,函数所处理的数据是不属于函数的外部数据,需要通过特定的方式传递给函数,例如:数据作为函数的参数传递给函数,供函数来处理。而在C++语言中,可以将数据和函数声明为一个抽象数据类型——类(class)。类声明了数据以及对这些数据的操作(函数)。
例如一个简单的学生信息管理系统中,包含学生的姓名和学号,以及对学生姓名和学号的操作。
在C语言中,可以进行如此定义。
struct Student //Student结构体存储学生的姓名和学号
{
char *szName; //定义一个指针变量,指向存储学生姓名的内存
int iNumber;
}
void Student_Name(Student &s,char *Name) //设置学生的姓名
{
if(s.szName!=NULL) //如果学生姓名不为空,释放存储学生姓名的内存
{
free(s.szName);
s.szName=NULL;
}
s.szName=Name; //设置新的姓名
}
void Student_Number(Student &s,int Num) //设置学生的学号
{
s.iNumber=Num;
}
在C++语言中,可以将学生的姓名和学号,以及相应的操作封装到类中,可以进行如此定义。
class Student //定义学生类
{
public:
Student():szName(NULL),iNumber(0){} //初始化学生姓名为空
~Student()
{
if(szName!=NULL) //如果学生姓名不为空,释放存储学生姓名的内存
{
Free(szName);
szName=NULL;
}
}
void Student_Name(char *szName); //设置学生的姓名
void Student_Number(int Num); //设置学生的学号
private:
char *szName;
int iNumber;
}
C++中计算等待时间
用于个人计算机早前技术是,让计算机进行技术,以等待的一段时间
long wait =0;while(wait<10000)wait++;
更好的方法是而让系统时钟来完成工作,用ctime和clock来创建延迟循环:定义了一个常量CLOCKS_PER_SEC,改常量等于每秒钟包含的系统时间单位数,将系统时间除以这个值得到秒数,乘以这个值得到系统时间单位数,clock_t类型,编译器将把他转换为long、unsigned in等或者适合系统的其他类型。
- C及C++基础学习
- C基础学习总结
- c基础学习 - 指针
- object-c 基础学习(-)
- c语言基础学习
- c语言基础学习
- c语言基础学习
- c 基础学习
- 学习C语言基础
- C 语言基础学习
- c语言基础学习
- C#/.NET 基础学习
- C语言基础学习
- c语言基础学习
- c基础学习
- C基础学习 详解
- C语言基础学习
- C基础学习
- A function that corrects the "ActionDay" fields from market quotes which is delivered by CTP.
- 业界 | Kirin 970完爆A11,但华为手机的真正利器是HiAI移动计算平台
- TortoiseGit 免密码操作
- 仿chrome实现获取元素xpath
- 【转】数据库的设计(E-R图,数据库模型图,三大范式)
- C及C++基础学习
- 启动tomcat时报端口8690被占用
- 虚继承
- 学习笔记2:数据库结构优化
- JAVA提高篇(4)--Random()函数
- SpringBoot集成Redis
- 《Java虚拟机原理图解》 1.2.2、Class文件中的常量池详解(上)
- 搭建Pacemaker + Corosync高可用集群
- MATLAB 使用(三)控制双精度浮点数的显示格式