c++语言程序设计超级简单了解

千里之行,始于足下。

这是非常非常非常表面的介绍,是为一点都不知道的朋友写着玩的。也许你看过之后什么都没有
收获到,一直骂作者是个sb.那么我请您原谅耽误了您的时间,先表示抱歉了。呵呵

一。结构程序设计方法,要点。.三种基本控制结构。顺序,循环,选择
选择结构,两种。if switch
if形式1.if 2. if else 3. if else if else if
switch(多分支选择,Woody注释)
switch
{case 常量表达式1 :语句1
case 常量表达式n :语句n
default:语句n+1
}
循环,while(没有什么解释的,先判断,后执行,Woody注释)
例子,求1到100整数和
#include (套入函数,Woody注释)
 void main() (下面主体,Woody注释)
 {
  int i, sum = 0; (定义i,赋予数值1,总和开始为0,Woody注释)
  i = 1;
  while(i <= 100) (循环下面部分,当i<100,判断条件,Woody注释)
  {
   sum += i; (加,一直加,Woody注释)
   i++;
  } (循环结束,Woody注释)
  cout<<"sum = "< }
do-while 循环(先执行,后判断)
例子,还举上面那个,就是求1到100整数和
#include
 void main()
 {
  int i, sum=0; (定义赋值。Woody注释)
  i = 1;
  do (下面是循环,Woody注释)
  {
   sum += i;
   i++;
  }while(i<=100); (条件,如果条件满足就循环,Woody注释)
  cout<<"sum = "< }
for循环,
例子,还是上面那个,求1到100整数和
#include
 void main()
 {
  for(sum = 0, i = 1; i <= 100; i++)sum += i;
  cout<<"sum = "< }
(就是1-2-3-2-3-2-3(1指的是表达式),如果2不满足,结束。Woody注释)

二,语言基础:
看例子比较方便了解,
//simple.cpp是一个简单的C++程序 (标准注释方法,不执行,我没有用这种注释,Woody注释)
#include (一个文件头,Woody注释)
void main(void) (函数,Woody注释)
{ (main函数体开始标记,Woody注释)
int i; (声明一个变量,Woody注释)
cout<<"jinzhou sb!"; (输出,后面的东西,Woody注释)
cout<<"请输入一个整数:/n"; (/n是换行的意思,<<输出符号,Woody注释)
cin>>i; (输入,后面的东西。Woody注释)
cout<<"输入的整数是:";
cout (Visual C++6编译连接运行后,就是屏幕上出现“jinzhou sb!请输入一个整数”
然后你随便输入一个,回车,得到“输入的整数是:”,就是你输入的那个,大
概明白是这么个格式就行了。注意一点的就是,函数定义返回类型为void,不用返回
,如果定义为int,则不同。如下。Woody注释。)
int main()
{
 …
 return 0;
}
(还有就是c++区分大小写,一般命令小写多,常量大写多。变量混用多。Woody注释)
数据类型略过。大多类似的。
变量使用举一个简单的例子。
#include
int main (void)
{
int workDays = 5; (定义一个整型变量,初始化为5,Woody注释)
float workHours, payRate, weeklyPay; (实型变量三个,Woody注释)
workHours = 7.5; payRate = 38.55; (赋值,Woody注释)
weeklyPay = workDays * workHours * payRate; (乘法运算,Woody注释)
cout << "Weekly Pay = " << weeklyPay << '/n'; (输出换行,Woody注释)
}

就是计算工资呢。
例子,打印给定半径的圆的面积和周长(有常量定义的实例程序)
void main()
{
 const double PI = 3.1415926535898; (定义圆周率常量PI,Woody注释)
 double radius; (定义圆半径变量,Woody注释)
 double area; (定义圆面积变量,Woody注释)
 double circumference; (定义圆周长变量,Woody注释,)
 cout << "输入半径 : "; (输出,屏幕显示,Woody注释)
 cin >> radius; (输入,Woody注释)
 area = PI*radius*radius; (面积公式,Woody注释)
 circumference = 2.0*PI*radius; (周长共识,Woody注释)
 cout << "面积 " << radius << " is "
 << area << " /n";
 cout << "周长是 " << circumference (输出到屏幕,Woody注释)
<< ";
}
(注意定义常量的形式为 const 类型 名字 = 值。)


三,运算符和表达式
要注意的是:
+ + 自加(前缀) ++valuel + 10 // 得出16,valuel变为6
+ + 自加(后缀) valuel++ + 10 // 得出15,valuel变为6
- - 自减(前缀) --valuel + 10 // 得出14,valuel变为4
- - 自减(后缀) valuel-- + 10 // 得出15,valuel变为4
(其实质就是用'++'代替了"+1"(后缀)和"1+"(前缀)、'-'代替了"-1"。Woody注释)

! 逻辑非 !(5 = = 5) // 得出 0 (0是假,1是真,Woody注释)
&& 逻辑与 5 < 6 && 6 < 6 // 得出 0
|| 逻辑或 5 < 6 || 6 < 5 // 得出 1
~ 取反 ~'/011' // 得出 '/366'
& 逐位与 '/011' & '/027' // 得出'/001'
| 逐位或 '/011' | '/027' // 得出'/037'
^ 逐位异或 '/011' ^ '/027' // 得出'/036'
<< 逐位左移 '/011' << 2 // 得出'/044'
>> 逐位右移 '/011' >> 2 // 得出'/002'
实例 10进制值 二进制值
x 011 0 0 0 0 1 0 0 1
y 027 0 0 0 1 0 1 1 1
~x 366 1 1 1 1 0 1 1 0
x & y 001 0 0 0 0 0 0 0 1
x | y 037 0 0 0 1 1 1 1 1
x ^ y 036 0 0 0 1 1 1 1 0
x << 2 044 0 0 1 0 0 1 0 0
x >> 2 002 0 0 0 0 0 0 1 0
运算例子,
#include
void main( )
{
 int a,b, m=3,n=4;
 a=7*2+-3%5-4/3;//-3%5=-3,4/3=1
 b=m++ - --n;
 cout<}
结果10 0 4 3
例子
#include
void main( )
{
 char x='m',y='n';
 int n;
 n=x cout < n=x==y-1;
 cout< n=('y'!='Y')+(5<3)+(y-x==1);
 cout <}
结果 1 1 2

四,流程控制语句。
if语句;if-else语句;switch语句;while语句;do-while语句;for语句;break语句;continue语句
(都是简单英语,没有什么解释的,哈哈,Woody注释)
五,函数。
这个解释多多网上。
举例子;求长方形面积。
#include (C++库函数说明,Woody注释)
int area(int length, int width); ( area函数说明,定义长宽,Woody注释)
void main() (主函数,程序从该函数开始执行,Woody注释)
{
 int this_length, this_width; (定义长宽,Woody注释)
 cout << "输入长度: "; (cout和cin,就是函数,输出后面字符串。Woody注释)
 cin >> this_length; (输入,Woody注释)
 cout << "输入宽度: "; (输出那句话到屏幕,Woody注释)
 cin >> this_width;
 cout << "/n"; (回车,Woody注释)
 cout << "面积 " << this_length << "x" << this_width;
 cout << " 长方形面积是 " << area(this_length, this_width); (调用area函数,Woody注释)
}
int area(int length, int width) (area函数定义,Woody注释)
{
 int number;
 number = length * width;
 return number;
}
例子,比较大小的。
#include
int max(int a,int b) (调用这个函数,Woody注释)
{
 if(a>b)return a; (如果则怎么怎么的,Woody注释)
 else return b;
} (以上是定义max函数的,Woody注释)
void main()
{
 int max(int a,int b);
 int x,y,z;
 cout<<"输入两个数"< cin>>x>>y;
 z=max(x,y); (z为比较结果,Woody注释)
 cout<<"最大的数="<}
例子

#include
void Foo (int num)
{
 num = 0;
 cout << "num = " << num << '/n';
}
int main (void)
{
 int x = 10;
 Foo(x);
 cout << "x = " << x << '/n';
 return 0;
}
(这个更简单,不多说,主要是明白num是一个形参变量num,x是实参变量,实参调用时
送到形参,但是因为内存单元不同,即使num赋值0,并不影响x的值,道理大概理解了
就好,Woody注释)
(不多解释了,相关详细内容,要找资料好好揣摩,这里只是简单说一下,Woody注释)

六,数组与字符串。
#include
void main(void)
{
 int marks[4] = ; (这个就是数组,就是这个格式,Woody注释)
 cout<<"第二个元素是:"<}
(这就是定义数组了,找第二个元素的。92。Woody注释)
例子,求字符串的长度 (这个是字符串的,Woody注释。)
#define MAXLEN 80
#include
void main(void)
{
 char str[MAXLEN + 1]; (最长加1,因为是从0计算的,Woody注释)
 int l; (定义长度,这个符号可不是1啊,Woody注释)
 printf("Input a string:"); (输出,告诉你开始输入,Woody注释)
 scanf("%s",str); (检查你输入的,如果空,Woody注释)
 l = 0; (长度0,Woody注释)
 while(str[l] != '/0') (非空,Woody注释)
 l ++; (加加,数出来,Woody注释)
 printf("The length of this string is %d/n",l); (输出结果回车,Woody注释)
}

七,指针与引用
指针就是在内存中的地址,它可能是变量的地址,也可能是函数的入口地址。
引用为变量提供了一个别名,变量通过引用访问与通过变量名访问是完全等价的。
引用提供了与指针相同的能力,但比指针更为直观,更易于理解。
int d =1;
int* const p =&d
(有const表示不可修改,p是一个常量指针,它指向一个整型变量。就是d,p本
身不能修改,但它所指向的内容却可以修改:*p =2;这个不大好说,请查阅相
严谨详细资料。关Woody注释。)
例如:
#include
#define SIZE 10
void main()
{
 int array[SIZE]; (声明整数数组,Woody注释)
 int *p=array; (定义一个整型指针p,给他数组首地址,Woody注释)
 int i ; (定义变量i,Woody注释)
 for(i=0;i  array=i;
 for(i=0;i  cout<<*p++< p=&array[8]; (给他array[8]的地址,Woody注释)
 cout<<"array[8]="<<*p< cout<<"array[8]="<}
(两个值是一样的,因为从0开始,所以都是对数组第9个元素的访问。Woody注释)
例子:折半查找函数
int BinSearch (char *item, char *table[], (就是在table中查找是否含有item的元素)
int n, int (*Compare)(const char*, const char*)) Compare是一个比较函数指针,Woody注释)
{
 int bot = 0; (底部0,Woody注释)
 int top = n - 1; (顶部n-1,Woody注释)
 int mid, cmp; (定义比较变量,比较,Woody注释)
while (bot <= top) (比较当然需要循环,循环条件,意思就是不空,Woody注释)
 { (以下循环内容)
mid = (bot + top) / 2; (mid等于,全部除以2,就是一半,Woody注释)
if ((cmp = Compare(item,table[mid])) == 0) (如果恰好相等,Woody注释)
 return mid; ( 就是它,Woody注释)
 else if (cmp < 0) (不相等,Woody注释)
    top = mid - 1; ( 查找数组的下半部,Woody注释)
   else
    bot = mid + 1; ( 查找数组的上半部,Woody注释)
 }
return -1; (上面循环之后,返回-1,没有找到,因为n就是0了。Woody注释)
}

例如。
char *cities[] = {"Beijing", "Shanghai", "Tianjin", "Zhongqing"};
cout << BinSearch("Tianjin ", cities, 4, strcmp) << '/n'
输出结果2
(就是,给出一个数组,找找“Tianjin”在四个中的位置,2就是在第三个位置。)

八。结构 链表
结构(struct)数据类型,它能够识别一组相关的数据。
链表也是表示线性数据最有用的方法之一,用链表保存线性数据,可以克服数组的问题
举例
#include
#include
struct Person_Info { (个人信息表,下面是相关内容。Woody注释)
 char name[10];
 int age;
 long ssn;
};
void main (void)
{
 Person_Info* p1; (给个指针,Woody注释)
 p1 = new Person_Info; (申请内存,Woody注释)
 p1->age = 27; ( 给age成员赋值,Woody注释)
 strcpy(p1->name,"jinzhou"); (给name成员赋值 ,Woody注释)
 cout << "Name: " << p1->name << endl; ( 打印name成员,Woody注释)
 cout << "Age: " << p1->age << endl; (打印age成员,Woody注释)
 delete p1; (释放申请的内存,Woody注释)
}
简单例子学生结构的实例
struct stu
  {
   int num;
   int score;
   stu *next;
  }
(明白这个意思就行了,Woody注释)

九,编译预处理
C++提供的编译预处理功能主要有以下三种:(一) 宏定义(二) 文件包含(三) 条件编译
宏定义例子;
#include , (一定要有,或者出错,Woody注释)
#define CUBE_THREE 3*3* (用简单宏定义定义了一个符号常量"CUBE_THREE")
void main()
{
 int a; (定义变量,Woody注释)
 a=CUBE_THREE; (赋予值,就是a=3*3*3,Woody注释)
 cout<<"a is"<}
(这个意思主要是说可以把常用的东西定义为宏。这个不带参数,带参数的略。Woody注释)
文件包含类的略。
例子:条件编译命令的一个例子
#include
#define TIME
void main()
{
 #ifdef TIME (如果TIME被定义过,输出下面句话。Woody注释)
  cout<<"Now begin to work"< #else (如果没有定义,输出下面的,Woody注释)
  cout<<"You can have a rest"< #endif
}
(所谓条件,就是有条件的,Woody注释。就是要选择。哈哈)

十。类与对象
略过,请找寻相关详细资料阅读,不好意思。

十一,继承与多态。(略过)
十二,输入输出流。
抽象流基类
ios         流基类
输入流类
istream       普通输入流类和用于其它输入流的基类
ifstream      输入文件流类
istream_withassign 用于cin的输入流类
istrstream     输入串流类
输出流类
ostream      普通输出流类和用于其它输出流类的基类
ofstream      输出文件流类
ostream_withassign 用于cout、cerr和clog的流类
ostrstream.    输出串流类
输入输出流类
iostream      普通输入输出流类和用于其它输入输出流的基类
fstream      输入输出文件流类
strstream     输入输出串流类
stdiostream    用于标准输入输出文件的输入输出类
缓冲流类
streambuf     抽象缓冲流基类
filebuf      用于磁盘文件的缓冲流类
strstreambuf.   用于串的缓冲流类
stdiobuf      用于标准输入输出文件的缓冲流类
预定义流初始化类
iostream_init   预定义流初始化的类
其中,ios、istream、ostream和streambuf类构成了C++中iostream输入输出功能的基础 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值