C++语言基础

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

初识visualc++6.0visualc++6.0是wicrosoft公司开发的,基于windows操作系统的c++语言程序的可视化编程工具.C++语言MFC(微软基础类库)熟悉visualc++6.0两种方式建立应用程序:通过visualc++6.0的可视化编程工具(AppWizard和ClassWizard等)自动生成大量代码;通过visualc++6.0的代码编辑器,手工编写代码。实例1(编写代码文件)在控制台窗口中显示字符串“Hello,World!”和“Hello,VisualC++6.0”步骤:新建一个C++原文件,再编译,运行(visualc++6.0会自动在原文件的所在文件夹中建立相应的项目文件)实例2:(visualc++项目方式)这个程序实现一个简单的I/O(输入/输出)操作;程序在控制台窗口中提示用户输入姓名,并将字符串输出到屏幕。步骤:新建一个win32控制台类型的工程,选择A“HelloWorld!”Application类型程序。修改原文件,再编译,运行。实例3:(可视化编程工具AppWizard建立一个MFC程序)步骤:新建一个MFCAppWizard(exe)类型的工程,按默认选择建立一个程序。visualc++6.0中调试程序与Turboc中类似。VisualC++6.0语言基础VisualC++6.0语言的基本元素(主函数,语句,语句块)实例5进入C++的密码(程序提示用户输入密码,如果密码正确,它将在屏幕上告诉你;否则它什么也不做,直接退出)program5.cpp#include“iostream.h”//编译预处理行intmain()//程序入口主函数,返回值{//{}函数主体intkey;cout请输入密码:;cinkey;if(key==1234){//{}语句块cout密码正确!endl;cout欢迎进入C++!!endl;}return1;}构成标识符的字符只能是下划线,数字和英文字母,并且标识符的第一个字符只能是下划线或英文字母.关键字:特殊的标识符,仅供系统专用,不能用来作为用户定义的标识符.P20列有C++和VisualC++6.0的关键字.标识符与关键字变量和常量变量:在程序运行中,值可以发生变化的量.定义形式:类型变量名表;常量:在程序运行中,值不能发生变化的量.常用的常量类型:整型,实型,字符型,字符串型和符号常量.定义形式:const类型常量名=值表达式;例子constcharC1=‘a’//C1为字符a的ASCII码值97constS[]=“VisualC++”;//字符串共有11个字符,除本身10个外还加上‘\0’C语言特殊常量#define常量名值另一特殊常量以“\”开头的字符序列,转义字符(P22转义字符表)实例6有提示音的密码程序对实例5做修改,如果密码输入正确,在屏幕上显示的同时,响一声铃声.program6.cpp#includeiostream.hintmain(){intkey;//定义变量key为整型cout请输入密码:;cinkey;if(key=='0'){cout密码正确!endl;cout欢迎进入C++!!endl;cout\07;//转义字符\07表示铃声}return1;}数据类型三大类:基本类型,派生类型和类类型P24(表2.2常用基本数据类型)Void无值型常用在函数定义中,表示函数无返回值,还可以表示一个可以指向不同对象类型的指针.特殊的整型数据类型_int8,_int16,_int32,_int64自定义数据类型形式如下:typedef类型名新类型名;运算符与表达式运算符含义,表达式形式,结合方向,优先级P23(表2.3运算符列表)运算符优先级改变用“()”++--类型转换运算符“()”条件运算符(exp1?exp2:exp3)例:(ab)?(a+=b):(a-=b)sizeof运算符计算操作数在内存中所占字节数例:inta,b,c;a=sizeof(c);b=sizeof(float);a值为4,b值为8.流程控制结构三类流程控制结构:顺序结构,条件结构,循环结构.顺序结构实例(见P31实例8)分支结构If{}else{}switch语句switch(表达式)//执行过程{case表达式1:语句1;break;case表达式2:语句2;break;…case表达式n:语句n;break;default://以上都不匹配语句m;break;}Switch语句中的表达式只能是整型,字符型或枚举型,常量表达式中的类型必须与switch中的表达式类型一致.switch的特殊用法,没有break语句的多路开关形式,没有了break语句,程序执行时会从第一个与条件表达式相等的case开始,顺序执行后面的每一个语句,直到遇到break语句或switch语句结束.实例11成绩分段统计程序对学生成绩进行统计,输出某一分数以下各分数段的人数.program11.cpp#includeiostream.hintmain(){intcj;cout请输入分数:;cincj;switch(cj){case90:cout90--100有12人.\n;case80:cout80--90有25人.\n;case70:cout70--80有17人.\n;case60:cout60--70有5人.\n;default:cout60分以下有7人.\n;}return1;}循环结构三种循环结构:while,dowhile和for.while(表达式)循环体实例12连续数字的求和本程序利用循环的特点,计算数字1—100的和,此程序也可推广到任意大小,有规律连续数字的求和.program12.cpp#includeiostream.hintmain(){constintMAX=100;//定义常量MAX值为100intn,s;s=0;//赋予s初始值为0n=1;//赋予n初始值为1while(n=MAX)//判断n是否大于MAX{s=s+n;n++;}cout1-100的总和为:s\n;return1;}dowhile循环do循环体;while(表达式)for循环for(表达式1;表达式2;表达式3)循环体;其中,表达式1为循环变量赋初值,表达式2为循环条件,表达式3对循环变量进行改变.实例13韩信点兵内容:韩信带兵不足百人,三人一行排列多一个,七人一行排列少两个,五人一行排列正好.program13.cpp#includeiostream.hintmain(){inti,a,b,c;for(i=1;i100;i++){a=i%3;b=i%5;c=i%7;if(a==1&&b==0&&c==5)coutiendl;}return1;}中断,接续,转向及返回语句中断语句break用来从程序中的开关语句或循环语句中跳出.实例15英文字符的统计程序对键盘输入的英文字符进行统计,直到输入回车(\n)结束输入,同时输出统计数字.program15.cpp#includeiostream.h#include“stdio.h“//getchar()包含在此intmain(){intn=0;//定义统计字符的变量n,并赋初值0charc;for(;;)//无表达式的for语句为无限循环{c=getchar();//函数getchar()接收键盘输入字符if(c=='\n')//判断是否输入字符为回车符'\n'break;//跳出循环if(c='a'&&c='z'||c='A'&&c='Z')//判断是否输入大小写字母n++;//累计字母个数}cout总计输入了n个英文字符。\n;return1;}continuecontinue用在循环中,表示本次循环结束,开始下一次循环.实例16计算平均成绩从键盘输入学生成绩,程序对其进行统计.如果输入出错,成绩小于0或大于100时不进行统计,并提示重新输入.当输入-1时程序结束输入,最后输出学生的平均成绩。program16.cpp#includeiostream.h#includestdio.hintmain(){intk,s,v,n;s=0;n=0;do//用dowhile保证程序必须接受一次输入{cout请输入成绩:;cink;if(-1==k)break;if(k0||k100){cout输入错误!重新输入:\007\n;continue;}s+=k;n++;}while(1);v=s/n;cout共输入n人,平均成绩是vendl;return1;}无条件转向语句gotogoto标号名;…标号名:语句;例如:inta=1,b=0;LABEL:a++;b+=a;if(a=100)gotoLABEL;return语句格式return;return表达式;函数的定义类型函数名(形参列表)//函数首部{变量声明//函数声明语句}空函数类型函数名(形参列表){}函数及其调用在函数定义中,可以为参数设定默认值.当调用函数时,如果未赋给实参,则函数以参数的默认值进行运算.例:intfun(inta,intb=1){…}若用语句k=fun(a)进行函数调用,则函数自动对参数b赋以默认值1.具有多个默认参数的函数在定义时,默认的参数只能是从右向左定义.intfun(inta=0,intb){…}函数的调用函数要先声明后调用,在所有函数外部声明的函数,在声明以后的所有函数中都可调用.在某一函数内声明的函数,仅可在声明它的函数内部被调用。函数可用return语句返回,也可以没有返回语句,这时函数执行到结尾的花括号时会自动返回主调函数。实例17最大值与最小值程序对连续输入的多个数值进行比较,输出最大数值与最小数值.program17.cpp#includeiostream.hintmax(int,int);intmin(int,int);intmain(){intk,kmax,kmin;kmax=0;kmin=0;do{cout请输入数据:;cink;if(9999==k)//输入为9999时结束循环break;kmax=max(kmax,k);//调用max()函数比较原最大值与输入值的大小,并返回最大值kmin=min(kmin,k);//调用min()函数比较原最小值与输入值的大小,并返回最小值}while(1);cout最大值为kmaxendl;cout最小值为kminendl;return1;}intmax(inta,intb){return(ab?a:b);}intmin(inta,intb){return(ab?a:b);}函数不允许嵌套定义,即一个函数内部不能定义另一个函数,但函数可以嵌套调用,即在一个函数的内部调用另一个函数.例:intf1(){…}intf2(){……f1();}intf3(){……f2();}函数对其自身进行调用---函数的递归函数的递归必须有递归边界---即递归的终止条件实例18数的阶乘程序接受键盘输入的一个整数n,并求出n!.对于数n的阶乘,可以用以下方程进行归纳:n!=1n=1时n!=(n*n-1)n1时递归方程n!=n*(n-1),其终止条件为n=1.参数的传递,分为赋值调用和传值调用赋值调用时,函数将实参的值传递给形参,形参的变化不会影响实参。传值调用时,函数将实参的地址传递给形参,形参的改变就是实参的改变。可以把形参定义为常量,从而使其在函数的运行中值不发生改变。实例20数值交换程序中用两个函数swap1和swap2来对比赋值调用和传值调用,通过地址调用来改变形参的值。program20.cpp#includeiostream.hvoidswap1(i

1 / 68
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功