1、1/根据半径计算圆的周长和面积#include const float PI=3.1416; /声明常量(只读变量)PI 为3.1416float fCir_L(float); /声明自定义函数 fCir_L()的原型 float fCir_S(float); /声明自定义函数 fCir_S()的原型 /以下是 main()函数 main() float r,l,s; /声明 3 个变量coutr; /键盘输入l=fCir_L(r); /计算圆的周长,赋值给变量 l s=fCir_S(r); /计算圆的面积,赋值给变量 s cout=0.0) /如果参数大于 0,则计算圆的周长z=2*PI*x
2、;return(z); /返回函数值 /定义计算圆的面积的函数 fCir_S()float fCir_S(float x) float z=-1.0; /声明局部变量if (x=0.0) /如果参数大于 0,则计算圆的面积z=PI*x*x;return(z); /返回函数值 /* Program: P1-2.CPPWritten by: HapDate written: 02:11:10*/#include void main(void)double s1,s2,s3;s1=1.5; /* 对变量 s1 赋值*/coutmain()double r=1.0;coutr; /键盘输入l=2*3.
3、1416*r; /计算圆的周长,赋值给变量 lcout /包含 iostream.h 头文件void main()/输出字符常量、变量和字符串char c1=A;cout /包含 iostream.h 头文件main()/输入输出字符char c;cinc;coutn;coutx;coutn;coutcnx;cout /包含 iostream.h 头文件main()/声明整型变量int a,b; /从键盘上为整型变量赋值couta;coutb;/整型数的算术运算cout /包含 iostream.h 头文件main()/声明变量,并初始化int a=010,b=10,c=0X10; /以十进制
4、形式显示数据couta;coutb;coutc;cout /包含 iostream.h 头文件#include / iomanip.h 头文件包含 setprecision()的定义main()/float 型变量的声明、输入、计算和输出float fx,fy; coutfx;coutfy;coutdx;coutdy;cout /包含 iostream.h 头文件main()/字符类型变量的声明char c1=A;char c2;/字符数据的运算及输出c2=c1+32;coutc1c2;cout /包含 iostream.h 头文件main()char c1=a,TAB=t; /阵铃一声cou
5、t /包含 iostream.h 头文件main()/声明 bool 变量,并初始化bool flag1=false,flag2=true; /输出布尔常量和变量cout0; /存放关系运算结果coutconst double PI=3.1416; /声明常量(const 变量)PI 为 3.1416main() /声明 3 个变量double r,l,s; /输入圆的半径coutr; /计算圆的周长l=2*PI*r; coutmain()/定义枚举类型,并指定其枚举元素的值enum color RED=3,YELLOW=6,BLUE=9;/声明枚举变量 a 和 b,并为枚举变量 a 赋初值
6、enum color a=RED;color b; /合法,与 C 语言不同/ 输出枚举常量 coutconst double PI=3.1416; /声明常量(const 变量)PI 为 3.1416main() /声明 3 个变量double r=3,l,s; /计算圆的周长l=2*PI*r; coutmain() /变量声明char c;double x,y;/测试自增coutmain()int a=3, b=2;/输出关系表达式coutb)=b)main() float a=3.5,b=2.1,c=0;cout=0 /显示 a,b,c 的值coutmain()/用 sizeof 计算各
7、类种常量的字节长度coutmain()/声明变量语句中使用顺序运算int x, y;/计算中使用顺序运算x=50; y=(x=x-5, x/5); coutmain()/测试表达式类型的转换int n=100,m;double x=3.791,y;coutmain()float a,b,s;coutab; /利用 cin 从键盘上为变量 a,b 赋值s=a;if (amain()int x,y;coutx;if (xmain()int a,b,c;int smallest;coutabc;if (amain()int score;/从键盘上输入分数coutscore;/用带 else if 的
8、条件语句判断处理if (score100) cout=90) cout=80) cout=70) cout=60) coutmain()int n;coutn;if (n=0 /输入数据couta;coutb;/找出较大值Max=ab?a:b;coutmain()int a,b;/输入数据couta;coutb;/除法判断if (b!=0 char c1;7cinxc1y; /c1/多路选择语句选择不同表达式计算语句switch(c1) case +:coutfloat x=365.5; /声明全局变量main() int x=1,y=2;double w=x+y;double x=1.414
9、,y=1.732,z=3.14;coutmain() /显示 1,2,3.10for(int i=1;i=1;j-)coutmain()/计算 s=1+2+3.+100int s=0,n=1;while(nx;while(x!=0) sum+=x;coutx;coutmain()/计算 s=1+2+3.+100int s=0,n=0;do n+;s+=n;while(nx;sum+=x; while(x!=0);coutmain()/计算和打印打印乘法九九表for (int i=1;imain()int x,sum=0;/定义标号 L1L1: coutx;if (x=-1)goto L2; /
10、无条件转移语句,转到 L2 语句处elsesum+=x;goto L1; /无条件转移语句,转到 L1 语句处/定义标号 L2L2: coutmain()/累加键盘输入的数据double x,sum=0.0;while(1) coutx;if (xmain()int i;for (i=1;imain()/声明数组和变量int a5,i,sum;double avg;/从键盘上循环为数组赋值for (i=0;iai;/直接显示数组元素coutmain()int i,max,index,a5;/从键盘上为数组赋值for (i=0;iai;/ 利用循环遍历数组,找出最大值的元素及其下标max=a0;
11、for (i=0;i#define size 5main()9/声明变量int i,j;float t,asize;/从键盘上为数组赋值for (i=0;iai;/对数组按从小到大顺序排序for (i=0;iaj)t=ai;ai=aj;aj=t;/显示排序结果for (i=0;ivalue;/二分法查找数组 afound=0;low=0;high=size-1;while(lowmain()/声明变量int i,j;float t,a5;/从键盘上为数组赋值for (i=0;iai;/对数组按从大到小顺序排序for (i=0;imain()/声明二维数组及变量 int a23,i,j;/从键盘
12、上为数组 a 赋值for (i=0;iaij;/显示数组 afor (i=0;imain()/声明字符数组和变量char str6;int i;/从键盘上输入字符串coutstr; cout=0;i-) coutmain()/声明变量和指针变量int a,b,c,*ip;/指针变量 ip 指向变量 aa=100;ip= /使指针变量 ip 指向变量 acoutmain()/声明数组、变量和指针变量int a23,i,j;int* ip;/从键盘上为数组 a 赋值for (i=0;iaij;/利用下标变量显示数组 afor (i=0;imain()/声明数组、变量和指针变量int a=1,2,3
13、,4,5,6;int *ip1,*ip2;/测试指针的赋值运算ip1=a;ip2=ip1; coutip1;coutip1=“main()/声明字符型数组和指针变量char str10;char *strip=str;/输入输出coutstr; /用字符数组输入字符串coutstrip; /用字符指针变量输入字符串coutstrip; /用字符指针变量输入字符串coutmain()/ 声明用于存放运动员号码的数组int h=1001,1002,1003,1004; / 声明用于存放运动员成绩的数组float x=12.3,13.1,11.9,12.1; /声明用于存放运动姓名的字符型指针数组c
14、har *p=“Wang hua“,“Zhang jian“,“Li wei“,“Hua ming“; /i,j,it 是用做循环控制变量和临时变量int i,j,it; /ft 用做暂存变量float ft; /pt 为字符型指针变量用做暂存指针变量char *pt; /用选择法对数组 x 进行排序,并相应调整数组 h 和 p 中的数据for (i=0;i=xj) ft=xi,xi=xj,xj=ft;it=hi,hi=hj,hj=it;pt=pi,pi=pj,pj=pt;/以下打印排序结果for (i=0;imain()/声明指针数组char *colors=“Red“,“Blue“,“Ye
15、llow“,“Green“; /指向指针的指针变量char *pt; /通过指向指针的变量访问其指向的内容pt=colors;for (int i=0;imain()/定义结构类型struct bookschar title20;char author15;int pages;float price; ;/声明结构变量struct books Zbk=“VC+ “,“Zhang“,295,35.5; books Wbk; /对结构变量的输出coutWbk.title;coutWbk.author;coutWbk.pages;coutWbk.price;coutmain()int i;/定义结构
16、类型 struct student int num;char name10;float maths;float physics;float chemistry;double total;/声明结构数组 ststudent st3;/从键盘上为结构数组输入值 coutsti.num;cinsti.name;cinsti.maths;cinsti.physics;cinsti.chemistry;/计算每个学生的总成绩for (i=0;imain()/定义结构类型struct human char name10;int sex;int age;/声明结构变量和结构指针变量,并初始化struct h
17、uman x=“WangPing“,1,30,*p=NULL;/结构指针变量指向对象p=/显示结构变量的值coutname=“namesex=“sexage=“age(*p).name;cout(*p).sex;cout(*p).age;/显示结构变量的值coutmain()/定义结构类型struct human char name10;int sex;int age;/声明结构变量和结构指针,并初始化struct human x=“WangPing“,1,30,*p=/利用结构指针显示结构中的数据coutname=“;cinp-name;coutsex=“;cinp-sex;coutage=
18、“;cinp-age;coutname=“namesex=“sexage=“agemain()/定义结构类型struct human char name10;int sex;int age;/声明结构数组和结构指针变量,并初始化human x=“WeiPing“,1,30,“LiHua“,1,25,“LiuMin“,0,23,*p=NULL;/用下标变量的输出结构数组的元素for (int i=0;inamesexagemain()/定义一个包含指针成员的结构类型struct test char *str;int *ip; x;/使用结构变量 x 中的整型指针 ipx.ip=new int;
19、/分配 1 个单元*(x.ip)=100;coutmain()/定义 date 结构struct dateint year;int month;int day;/定义 baby 结构struct baby int num;float weight;date birthday; / date 为结构类型 14; /声明 baby 结构变量并初始化baby b1=10001,10,2002,12,25;/下列是 baby 结构变量 b1 的引用。coutmain()/定义名为 list 的递归结构 struct list char name10;int sex;int age;list *next
20、; /成员 next 为指向其自身结构的指针;/使用递归结构变量list L1=“WeiPing“,1,35.5,NULL;coutmain()int i;/定义名为 student 的递归结构 struct student char name10;int math;int computer;float sum;student *next; /next 成员是指向自身的结构指针 ;/用 student 声明 3 个结构指针变量struct student *head,*tail,*temp; /申请第 1 块数据,并设置各结构指针的初值temp=new struct student; /申请内
21、存 head=temp; / 头指针 tail=head; / 尾指针 /循环为链表输入数据couttemp-name;if (temp-name0!=*)cintemp-mathtemp-computer;temp-sum=temp-math+temp-computer;temp-next=NULL;tail=temp; /设置链表尾指针 else/ 以下是输入结束处理 delete temp;tail-next=NULL;break;/为下一个学生申请内存temp-next=new struct student; temp=temp-next; / 使处理指针 temp 指向新内存块/将链
22、表数据从头到尾打印出来coutnamemathcomputersumnext;#includemain()int i;/定义名为 student 的递归结构 struct student char name10;int math;int computer;float sum;student *forw; /forw 成员是前指针 student *next; /next 成员是后指针;/用 student 声明 3 个结构指针变量struct student *head,*tail,*temp; /申请第 1 块数据,并设置各结构指针的初值temp=new struct student; /申
23、请内存 head=temp; / 头指针 tail=head; / 尾指针 head-forw=NULL;15/循环为链表记录输入数据couttemp-name;if (temp-name0!=*)cintemp-mathtemp-computer;temp-sum=temp-math+temp-computer;temp-next=NULL;tail=temp; /设置链表尾指针 else/ 以下是输入结束处理 delete temp;tail-next=NULL;break;/为下一个学生申请内存temp-next=new struct student; temp-next-forw=te
24、mp; /设置前指针temp=temp-next; /使处理指针 temp 指向新内存块/ 将链表数据从头到尾打印出来couttail:“namemathcomputersumnext;/ 将链表数据从尾到头打印出来couthead:“namemathcomputersumforw;#includemain()int i;/定义联合类型union utag char c;int k;float x;/声明联合变量union utag u; / 使用联合变量中的字符型成员 u.c=*;coutmain() /定义结构类型,并为声明的结构变量赋初值struct s_tag short i;floa
25、t x; sx=100,3.1416;/定义联合类型,并为声明的联合变量赋初值union u_tag short i;float x; ux=1000;/输出结构类型和结构变量的有关信息coutmain()/自定义类型 typedef int ARRAY_INT50;int i;ARRAY_INT a; /用自定义类型声明数组变量 a /以下为数组 a 赋值,并打印 for (i=0;i/定义结构类型struct studentint num;char name20;float grade;void main(void)/声明数组int i,size;char str=“This is a s
26、tring.“;int int_values = 51, 23, 2, 44, 45,0,11; float float_values = 15.1, 13.3, 22.2, 10.4, 1.5; student st_arr=101,“WangLin“,92,102,“LiPing“,85,103,“ZhaoMin“,88;/显示 char 类型数组元素及其大小size=sizeof(str) / sizeof(char);cout/add()函数的定义,其有返回值double add(double x,double y)double z;z=x+y;cout/定义符号函数 sgn(),其返
27、回值为 int 类型int sgn(double x)if (x0) return(1); /返回出口 1if (xx;cout/函数原型语句可以在这里/定义 main()函数 main() /max()函数原型声明语句17float max(float,float);/变量声明语句float a,b,Max;/输入参数并计算couta;coutb;Max=max(a,b); /调用 max()函数 couty)?x:y;return(z);#include/定义 f()函数f(int x,int y) /f()的参数以值方式传递+x;-y;cout/定义公共结构类型struct studen
28、t int num;char name10;float maths;float physics;float chemistry;double total;/定义结构输入函数input_Rec(struct student *p) /参数为 student 类型的结构指针变量cinp-num;cinp-name;cinp-maths;cinp-physics;cinp-chemistry;/定义结构数据交换函数swap_Rec(struct student *p1,struct student *p2)struct student x;/交换两个记录的数据x=*p1;*p1=*p2;*p2=x;
29、/输出结构的值put_Rec(struct student *p)coutnumnamemathsphysicschemistrytotaltotal=p1-maths+p1-physics+p1-chemistry;/对 3 个学生的数据排序for (i=0;i/定义结构struct student char name10;float grade;18;/交换 student 类型的数据 void swap(student temp=x;x=y;y=temp;/返回 student 类型的引用,求优者 student/显示 student 类型的数据 void show(student 编译
30、报错!/*string=x; 编译报错!int i=0;while (*(string+i)!=NULL) i+;return i;/main()函数中测试 str_len()void main()char a=“ABCDE“;coutvoid disp(void); /这个函数声明语句不能少/定义 main()函数的参数和返回值类型是 void 类型void main(void) /调用 void 类型函数disp(); /以下定义 disp()函数void disp(void) cout/函数原型语句int abs(int x);long abs(long x);float abs(flo
31、at x);/main()函数的定义void main(void) /声明变量int i1=32767,i2=-32767;long l1=456789,l2=-456789;float x1=1.1234,x2=-1.1234;/直接在 cout 输出中调用函数cout/max()为内联函数inline int max(int x,int y) /注意 inline 关键字return xy?x:y;/定义 main()函数 main() int a=3,b=5,c;c=max(a,b); coutmain() /函数原型声明int fact(int x);int n,sn;/依次从键盘上输
32、入 3 个正整型数据计算它们的阶乘for (int i=1;in;sn=fact(n);cout/带参数的 main()函数int main(int argc,char *argv)int i;for(i=0;i/用函数原型声明要使用的函数void show_array1(int*,int);void show_array2(int a,int);void sort(int*,int);main()/声明数组并初始化int a=2,4,6,1,3,5;int b33=2,4,6,1,3,5,0,1,2;/显示数组的值cout/定义结构struct student char name10;flo
33、at grade;/更改 student 数据的 grade 成员,参数形式为引用 void change(student /更改 student 数据的 grade 成员,参数形式为指针 void change1(student *p,float grade) p-grade=grade;/更改 student 类型的数据,普通参数形式 void change2(student x,float grade) x.grade=grade;/显示 student 类型的数据,参数形式为引用void show(student for (int i=0;i/参数为函数指针的函数int get_res
34、ult(int a, int b, int (*sub)(int,int)int r;r=sub(a,b);return r;/计算最大值int max(int a, int b)cout b) ? a: b);/计算最小值int min(int a, int b)coutab;cout#include#define size 3/定义 book 结构类型struct bookchar title20;char author15;int pages;float price;/book 结构的输入函数input_book(bookcoutbk.author;coutbk.pages;coutbk
35、.price;/book 结构的输出函数output_book(bookextern float p=3.14;/在 show()函数中使用外部变量show() int i;cout/使用静态变量的计数器函数 count1() /声明静态变量 i,并置初值为 0。i 在 count()中局部可见static int i=0; return(+i);/使用局部变量的计数器函数 count2() int i=0; return(+i);/在 main()函数中调用 count()函数main() int i;/调用 count1()10 次coutmain()int i,s=0;extern in
36、t fact(int x);for (i=2;i#include#include#includemain() /声明变量FILE *fp1;char str80;/从键盘上任意输入一个字符串cout#include #include#includevoid main(void) /变量声明char ch;FILE *fp1;/以写入方式打开 d.dat 文件 if (fp1=fopen(“d.dat“,“w“)=NULL) coutch; while (ch!=*) fputc(ch,fp1); /将字符写到 fp1 指向的“流“文件中cinch; fclose(fp1); /关闭文件/ 以读
37、方式打开 d.dat 文件if (fp1=fopen(“d.dat“,“r“)=NULL) cout#include#include#includemain() /声明变量int i=0;char p100; / 声明输入缓冲区 FILE *fp1; / 声明文件指针变量/以写入方式打开 d.dat 文件if (fp1=fopen(“d.dat“,“w“)=NULL)coutp; /从键盘上输入数据if (stricmp(p,“end“) /如果输入的字符串为end,则结束循环fputs(p,fp1); /写入文件操作fputs(“n“,fp1); elsebreak; /退出循环fclose
38、(fp1); /关闭文件/ 以读方式打开 d.dat 文件if (fp1=fopen(“d.dat“,“r“)=NULL) cout#include#include#include#include#define MAX 10main() /声明变量int i,n;FILE *fp1; / 声明文件指针变量/以写入方式打开 d.dat 文件if (fp1=fopen(“d.dat“,“w“)=NULL)cout#include#include#include#include24#define MAX 3main() /定义结构类型struct student int num;char name1
39、0;float grade;/声明数组和变量student st3;int i;FILE *fp1; / 声明文件指针变量/以写入方式打开 d.dat 文件if (fp1=fopen(“d.dat“,“w“)=NULL)coutsti.num;cinsti.name;cinsti.grade;fprintf(fp1,“%d %s %fn“,sti.num,sti.name,sti.grade);fclose(fp1); /关闭文件/ 以读方式打开 d.dat 文件if (fp1=fopen(“d.dat“,“r“)=NULL) cout#include #include #include in
40、t main(void) FILE *fpd,*fpw; / 声明 FILE 结构指针变量 unsigned char dw;int i=0;/以二进制读方式打开 Calc.exe 文件if(fpd=fopen(“C:WINDOWSCalc.exe“, “rb“)=NULL) cout#include #include#includevoid main(void) /声明变量int i;char ch;FILE *fp1;/以写入方式打开 d.dat 文件 if (fp1=fopen(“d.dat“,“w“)=NULL) coutch; while (ch!=*) fputc(ch,fp1);
41、 /将字符写到 fp1 指向的“流“文件中cinch; cout#include#include#include#define MAX 5/显示数组的数据void show_array(double x,int size) for(int i=0;i#include26#include#include#define MAX 5/定义结构类型struct student int num;char name20;float grade;/显示 student 结构数据void show_str(student a,char *name) cout#include#includeint main(v
42、oid) /声明变量char ch;char str20;int n;float x;/用 stdin 从键盘上输入数据fprintf(stdout,“ch strn“);fscanf(stdin,“%c %s“,fprintf(stdout,“n x n“);fscanf(stdin,“%d %f“,coutvoid main( void )int c;/* Create an error by writing to standard input. */putc( A, stdin );if( ferror( stdin ) )perror( “Write error“ );clearerr
43、( stdin );/* See if read causes an error. */printf( “Will input cause an error? “ );c = getc( stdin );if( ferror( stdin ) )27perror( “Read error“ );clearerr( stdin );#include#include /此预处理指令不可少const double HD=3.1415926/180;main() cout/以下是几个简单宏替换预处理指令#define YES 1#define PI 3.1415926#define RAD PI/18
44、0#define MESG “This is a string.“/以下是主程序 main() /以下各语句使用了宏替换 cout/以下为带参数宏替换的预处理指令 #define PRINT(k) cout(b) ? (a):(b)main()int i=3,j=2;/MAX(a,b)宏替换的使用 cout#define PI 3.1416main() int i=100;#if 1coutconst int MAX=5; /假定栈中最多保存 5 个数据/定义名为 stack 的类,其具有栈功能class stack /数据成员float numMAX; /存放栈数据的数组int top; /
45、指示栈顶位置的变量public:/成员函数void init(void) top=0; /初始化函数void push(float x) /入栈函数if (top=MAX)coutx;b.push(x);/以下利用循环和 pop()成员函数依次弹出 b 栈中的数据并显示for (i=1; iconst int MAX=5; /假定栈中最多保存 5 个数据/定义名为 stack 的具有栈功能的类class stack /数据成员float numMAX; /存放栈数据的数组int top; /指示栈顶位置的变量public:/成员函数stack(void) /初始化函数top=0; coutx;
46、b.push(x);/以下利用循环和 pop()成员函数依次弹出 b 栈中的数据并显示for (i=1; iconst int MAX=5; /假定栈中最多保存 5 个数据/定义名为 stack 的具有栈功能的类class stack /数据成员float numMAX; /存放栈数据的数组int top; /指示栈顶位置的变量public:/成员函数stack(char c) /初始化函数top=0; coutmain()/定义一个名为 student 的类class student int num;char *name;float grade;public:/定义构造函数student(int n,char *p,float g): num(n),na