一个比划一个猜-
2010
最新整理的
c
代码大全,工作学习参考必备,不下后悔终
Ppt 1-15
生
//
根据半径计算圆的周长和面积
#include
const float PI=3.1416; //
声明常量
(
只读变
量
)PI
为
3.1416
float fCir_L(float); //
声明自定义函数
fCir_L()
的原型
float fCir_S(float);
//
声明自定义函数
fCir_S()
的原型
//
以下是
main()
函数
main()
{
float
r,l,s; //
声明
3
个变量
cout<<
显示字符串
cin>>r;
//
键盘输入
l=fCir_L(r);
//
计算圆的周长,赋值给变
量
l
s=fCir_S(r);
//
计算圆的面积,赋值给变
量
s
cout<<
显示计算结果
cout<<
}
//
定义计算圆的周长的函数
fCir_L()
float
fCir_L(float x)
{
float z=-1.0;
//
声明局部变量
if
(x>=0.0) //
如果参数大于
0<
/p>
,则计算圆
的周长
z=2*PI*x;
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:
Written by: Hap
Date written: 02:11:10
*/
#include
void
main(void)
{
double s1,s2,s3;
s1=1.5; /*
对变量
s1
赋值
*/
cout<<
/*
对变量
s2
赋值
*/ s2=2.5;
cout<<
s3= /*
对变量
s3
赋值
*/
3.5;
cout<<
cout<<
计
算并显示
//
计
算
并
显
示
cout<<
}
#include
main()
{
double
r=1.0;
cout<<
double l;
l=2*3.1416*r; //
计算圆的周长,赋值给
变量
l
cout<<
显示圆的周长
double
s=3.1416*r*r;
//
计算圆的面积,赋值给
变量
s
cout<<
显示圆的面积
cout<<
显示提示输入的信息
cin>>r;
//
键盘输入
l=2*3.1416*r; //
计算圆的周长,赋值给
变量
l
cout<<
显示圆的周长
s=3.1416*r*r;
cout<<
显示圆的面积
}
#include
包含
iostream
.h
头文件
void
main()
{
//
输出字符常量、变量和字符串
char c1='A';
cout<<'W';
声明 )PI 声明 )PI 声明
<
br> 显示 当
a,b 计算 计算 <
br>for <
br> ip
个单元 定义 <
br>baby 声明 定义名为
<
br>使处理指针
<
br>int <
br>float <
br>student
<
br>//
<
br> 输入 3 函数的参数和返回值类型是 <
br> 调用
cout<
cout<<
cout<<
//
输出整型常量、变量和表达式
int n=100;
cout<<10;
cout<
cout<<2*n<
输出整型表达式
cout<<
//
输出浮点型常量、变量和表达式
double pi=3.1415926,r=10.0,s=pi*r*r;
cout<
cout<
cout<
cout<<2*r*pi<
输出浮点型表达式
cout<<
//
一个
cout
可以输出多项数据<
/p>
cout<<'W'<<
cout<<
cout<<
}
#include
包含<
/p>
iostream.h
头文件
main()
{
//
输入输出字符
char
c;
cin>>c;
页脚内容
1
cout<<
//
输入输出整型数据
int n;
cin>>n;
cout<<
//
输入输出浮点型数据
double x;
cin>>x;
cout<<
//
输入提示
cout<<
cin>>n;
cout<<
//
多项输入
cout<<
cin>>c>>n>>x;
cout<<
}
#include
包含<
/p>
iostream.h
头文件
main()
{
//
声明整型变量
int
a,b;
//
从键盘上为整型变量赋值
cout<<
cin>>a;
cout<<
cin>>b;
//
整型数的算术运算
cout<
cout<
cout<
cout<
cout<
//
测试溢出
short
n=32767,m; //n
取
short
类型的最大值
cout<<
m=n+1;
//
引起溢出
cout<<
}
#include
包含<
/p>
iostream.h
头文件
main()
{
//
声明变量,并初始化
int a=010,b=10,c=0X10;
//
以十进制形式显示数据
cout<<
cout<<
cout<<
cout<<
//
以八进制形式显示数据
Ppt
1-15
cout<<
cout<
指定八进制输出
cout<<
cout<<
cout<<
//
以十六进制形式显示数据
cout<<
cout<
指定十六进制输出
cout<<
cout<<
cout<<
//
八、十和十六进制数混合运算并输出
cout<<
cout<
恢复十进制输出
main()
{
//float
型变量的声明、输入、计算和输出
float fx,fy;
cout<<
cin>>fx;
cout<<
cin>>fy;
cout<
cout<
cout<
cout<
//cout<
//double
型变量的声明、输入、计算和输出
float dx,dy;
cout<<
cin>>dx;
cout<<
cin>>dy;
cout<
cout<
cout<
cout<
//cout<
//
测试
float
和
double
类型数据的有效位
fx=10.0;fy=6.0;
float fz=fx/fy;
页脚内容
2
Ppt 1-15
dx=10.0;dy=6.0;
double
dz=dx/dy;
cout<<
cout<
cout<<
cout<
bool flag1=false,flag2=true;
//
输出布尔常量和变量
cout<<
cout<<
cout<<
cout<<
dl;;
//float
型溢出
float x=3.5e14;
cout<<
cout<<
cout<<
}
#include
包含
iostream.h
头文件
main()
{
//
字符类型变量的声明
char c1='A';
char
c2;
//
字符数据的运算及输出
c2=c1+32;
cout<<
cout<<
//
输出字符及
ASCII
码
cout<
cout<
cout<<'$$'<<
//
输入字符
cout<<
cin>>c1>>c2;
cout<<
}
#include
包含<
/p>
iostream.h
头文件
main()
{
char
c1='a',TAB='t';
//
阵铃一声
cout<
//
使用水平制表符
cout<<1<
//
使用双引号
cout<<
//
使用回车换行
cout<<
}
#include
包含
iostream.h
头文件
main()
{
//
bool
变量,并初始化
//
布尔变量的赋值和输出
int x=1;
flag1=x>0; //
存放关系运算结果
cout<<
flag2=flag1;
//bool
类型变量相互赋值
cout<<
//
布尔变量超界处理
flag1=100;
cout<<
flag2=-100;
cout<<
}
#include
const
double
PI=3.1416; //
声明常量
(const
变量
为
3.1416
main()
{
//
3
个变量
double r,l,s;
//
输入圆的半径
cout<<
cin>>r;
//
计算圆的周长
l=2*PI*r;
cout<<
//
计算圆的面积
s=PI*r*r;
cout<<
}
#include
main()
{
//
定义枚举类型,并指定其枚举元素的值
enum color {
RED=3,
YELLOW=6,
BLUE=9
};
//
声明枚举变量
a
和
b,
并为枚举变量
a
赋初值
enum color a=RED;
color b; //
合法,与
p>
C
语言不同
//
输出枚举常量
cout<<
cout<<
cout<<
页脚内容
3
Ppt 1-15
//
枚举变量的赋值和输出
b=a;
a=BLUE;
cout<<
cout<<
//a=100;
错误
!
//a=6
也错误
!
//
枚举变量的关系运算
b=BLUE;
//
枚
举
变
量
的赋值运算
cout<<
}
#include
const
double
PI=3.1416; //
声明常量
(const
变量
为
3.1416
main()
{
//
3
个变量
double r=3,l,s;
//
计算圆的周长
l=2*PI*r;
cout<<
//
计算圆的面积
s=PI*r*r;
cout<<
//
验证赋值误差
int
il,is;
il=l;
is=s;
cout<<
cout<<
}
#include
main()
{
//
变量声明
char
c;
double
x,y;
//
测试自增
cout<<
c='B';
cout<<
输出
c=C
c='B';
cout<<
输出
c=B
x=1.5;
y=5+ ++x;
//
加号后的空格不能少
cout<<
输出
y=7.5
x=1.5;
y=5+x++;
cout<<
输出
y=6.5
cout<<
//
测试自减
cout<<
c='B';
cout<<
输出
c=A
c='B';
cout<<
输出
c=B
x=1.5;
y=5+--x;
cout<<
输出
y=5.5
x=1.5;
y=5+x--;
cout<<
输出
y=6.5
}
#include
main()
{
int a=3,
b=2;
//
输出关系表达式
cout<
cout<<(ab)<<(a>=b)<<(a==b)<<(a!=b)<
bool
flag=2*a
cout<<
}
#include
main()
{
float
a=3.5,b=2.1,c=0;
cout<<
//
与运算
cout<<
输出
1
cout<<
输出
0
//
或运算
cout<<
输出
1
cout<<
输出
1
//
非运算
cout<<
输出
0
1
//
关系运算和逻辑运算
bool flag=a>=0 && a<=5; //
变量
a
在
[0,5]
区间内
cout<<
输出
1
//
算术运算、关系运算和逻辑运算
cout<<
输出
1
}
#include
main()
{
//
按位与运算
cout<<
//
按位异或运算
cout<<
//
按位或运算
cout<<
页脚内容
4
Ppt 1-15
//
按位取反运算
cout<<
//
左移位运算
cout<<
cout<<
//
右移位运算
cout<<
cout<<
}
#include
main()
{
int
a=1,b=1,c=3;
//
a,b,c
的值
cout<<
//
计算显示
(1)
b+=a+2*c%5;
的结果
b+=a+2*c%5;
//
相
于
表
达
式
语
句
b=b+(a+2*c%5);
cout<<
//
计算显示
(2) a<<=c-2*b;
的结果
a=1,b=1,c=3;
a<<=c-2*b;
//
相
当
于
表
达
式
语
p>
句
a=a<<(c-2*b);
cout<<
//
计算显示
(3)
a*=b=c=3;
的结果
a=1,b=1,c=3;
a*=b=c=3;
//
相当于语句组
c=3;b=c;a=a*b;
cout<<
//
计算显示
(4)
a+=b+=c;
的结果
a=1,b=1,c=3;
a+=b+=c;
//
相当于语句组
b=b+c;
a=a+b;
cout<<
//
计算显示
(5)
a-=b=++c+2;
的结果
a=1,b=1,c=3;
a-=b=++c+2;
//
相
当
于<
/p>
语
句
组
++c;b=b+c+2;a=a-b;
cout<<
}
#include
main()
{
//
用
sizeof
计算各类种常量的字节长度
cout<<
cout<<
cout<<
cout<<
//
用
sizeof
计算各类型变量的字节长度
int i=100;
char
c='A';
float x=3.1416;
double
p=0.1;
cout<<
cout<<
cout<<
cout<<
//
用
sizeof
计算表达式的字节长度
cout<<
//
用
sizeof
计算各类型的字节长度
cout<<
cout<<
cout<<
cout<<
//
用
sizeof
计算数组的字节长度
char str[]=
int a[10];
double
xy[10];
cout<<
cout<<
cout<<
//
用
sizeof
计算自定义类型的长度
struct st {
short
num;
float
math_grade;
float
Chinese_grade;
float
sum_grade;
};
st student1;
cout<<
cout<<
}
#include
main()
{
//
声明变量语句中使用顺序运算
int x, y;
//
计算中使用顺序运算
x=50;
y=(x=x-5, x/5);
cout<<
cout<<
}
#include
main()
{
//
测试表达式类型的转换
int n=100,m;
double
x=3.791,y;
cout<<
//
赋值类型转换
m=x;
y=n;
cout<<
cout<<
页脚内容
5
Ppt 1-15
//
强制类型转换
cout<<
cout<<
cout<<
cout<<
cout<<
}
#include
main()
{
float
a,b,s;
cout<<
cin>>a>>b;
//
利用
cin
从键盘上为变量
a,b
赋值
s=a;
if (a
s=b; //if
p>
语句中只有这一个语句,可省略花
括号
}
s=s*s;
//
变量
s
中保存
中较大的一个
数的平方
cout<<
}
#include
main()
{
int
x,y;
cout<<
cin>>x;
if (x<=0) {
//
满足条件执行
y=2*x;
cout<<
输出结果
}
else {
//
不满足条件执行
y=x*x;
cout<<
输出结果
}
}
#include
main()
{
int
a,b,c;
int
smallest;
cout<<
cin>>a>>b>>c;
if (a<=b)
//
外层条件语句
{
if (a<=c)
//
内层条件语句
smallest=a;
else
smallest=c;
}
else
{
if (b<=c)
//
内层条件语句
smallest=b;
else
smallest=c;
}
cout<<
}
#include
main()
{
int
score;
//
从键盘上输入分数
cout<<
cin>>score;
//
用带
else
if
的条件语句判断处理
if (score<0 || score>100)
{
cout<<
}
else if (score>=90)
cout<<
else if (score>=80)
cout<<
else if
(score>=70)
cout<<
else if
(score>=60)
cout<<
else
cout<<
}
#include
main()
{
int
n;
cout<<
cin>>n;
if (n>=0 && n<=100 &&n%2==0)
cout<<
else
cout<<
}
#include
main()
{
int
a,b,Max;
//
输入数据
cout<<
cin>>a;
cout<<
cin>>b;
//
找出较大值
Max=a>b?a:b;
cout<<
}
#include
main()
{
int
a,b;
页脚内容
6
Ppt 1-15
//
输入数据
cout<<
cin>>a;
cout<<
cin>>b;
//
除法判断
if
(b!=0 && a%b==0) {
cout<
cout<<
}
else
cout<
}
#include
main()
{
//x,y
为操作数,
c
为运算符
int x,y,z;
char c1;
cin>>x>>c1>>y;
//c1
//
多路选择语句选择不同表达式计算语句
switch(c1) {
case
'+':cout<
break;
case
'-':cout<
break;
case
'*':cout<
break;
case
'/':cout<
break;
case
'%':cout<
break;
default :co
ut<<
当不符
合上述情况时执行本子句
}
}
#include
float x=365.5;
//
声明全局变量
main()
{
int
x=1,y=2;
double
w=x+y;
{
double
x=1.414,y=1.732,z=3.14;
cout<<
cout<<
cout<<
cout<<
cout<<
访问重名的全
局变量
}
cout<<
cout<<
cout<<
//cout<<
无效
cout<<
访问重名的全局变
量
}
#include
main() {
//
显示
1,2,3...10
for(int i=1;i<=10;i++)
cout<
cout<
//
显示
10,9,8...1
for(int j=10;j>=1;j--)
cout<
cout<
//
显示
1,3,5...9
for(int k=1;k<=10;k=k+2)
cout<
cout<
//
显示
ABC...Z
for(char
c='A';c<='Z';c++)
cout<
cout<
//
显示
0,0.1,0.2...1.0
for(float
x=0;x<=1.0;x=x+0.1)
cout<
cout<
//
显示
0,0.1,0.2...1.0
for(float
x1=0;x1<=1.0+0.1/2;x1=x1+0.1)
cout<
cout<
//
计算
s=1+2+3..
.+100
int
s=0;
for(int
n=1;n<=100;n++)
s=s+n;
cout<<
}
#include
main()
{
//
s=1+2+3...+100
int s=0,n=1;
while(n<=100) {
s=s+n;
n++;
}
cout<<
//
累加键盘输入的数据
页脚内容
7
Ppt 1-15
double x,sum=0.0;
cout<<
cin>>x;
while(x!=0)
{
sum+=x;
cout<<
cin>>x;
}
cout<<
}
#include
main()
{
//
s=1+2+3...+100
int s=0,n=0;
do {
n++;
s+=n;
}while(n<100);
cout<<
//
累加键盘输入的数据
double x,sum=0.0;
do
{
cout<<
cin>>x;
sum+=x;
}
while(x!=0);
cout<<
}
#include
main()
{
//
计算和打印打印乘法九九表
for (int i=1;i<=9;i++) {
cout<
for (int
j=1;j<=9;j++)
cout<<'t'<
cout<
}
}
#include
main()
{
int
x,sum=0;
//
定义标号
L1
L1: cout<<
cin>>x;
if
(x==-1)
goto L2;
//
无条件转移语句,转到
L2
语句处
else
sum+=x;
goto L1; //
无条件转移语句,转到
L1
语句处
//
定义标号
L2
L2: cout<<
}
#include
main()
{
//
累加键盘输入的数据
double x,sum=0.0;
while(1) {
cout<<
cin>>x;
if (x<=0)
break;
sum+=x;
}
cout<<
}
#include
main()
{
int
i;
for
(i=1;i<=20;i++)
{
if
(i%3==0) //
能被
3
整除的整数,返回进行
下次循环
continue;
cout<
}
cout<
}
#include
main()
{
//
声明数组和变量
int
a[5],i,sum;
double
avg;
//
从键盘上循环为数组赋值
for (i=0;i<5;i++) {
cout<<
cin>>a[i];
}
//
直接显示数组元素
co
ut<
//
利用
循环显示数组各元素的值
for (i=0;i<5;i++)
cout<
cout<
//
计算数组元素之和
,
p>
并显示计算结果
sum=a[0]+a[1]+a[2]+a[3]+a[4];
cout<<
//
利用循环计算数组的累加和
for (sum=0,i=0;i<5;i++)
sum+=a[i];
//
显示累加和及平均值
cout<<
页脚内容
8
Ppt 1-15
avg=sum/5.0;
int
low,high,mid;
cout<<
for
(i=1;i<=3;i++) {
}
cout<<
#include
cin>>value;
main()
{
//
二分法查找数组
a
int i,max,index,a[5];
found=0;
low=0;
//
从键盘上为数组赋值
high=size-1;
for
(i=0;i<=4;i++)
while(low<=high)
{
{
cout<<
mid=(high+low)/2;
cin>>a[i];
if
(a[mid]==value)
}
{
found=1;
//
利用循环遍历数组,找出最大值的元素及其下标
break;
max=a[0];
}
for
(i=0;i<=4;i++)
if (a[mid]
{
low=mid+1;
if
(max
else
{
high=mid-1;
max=a[i];
}
index=i;
if
(found)
}
cout<<
valu
}
at:a[
cout<<
else
}
cout<<
#include
found!
#define
size 5
}
main()
}
{
#include
//
声明变量
main()
int
i,j;
{
float t,a[size];
//
声明变量
int i,j;
//
从键盘上为数组赋值
float t,a[5];
for
(i=0;i
{
//
从键盘上为数组赋值
cout<<
for
(i=0;i<=4;i++)
cin>>a[i];
{
}
cout<<
cin>>a[i];
//
对数组按从小到大顺序排序
}
for
(i=0;i
for
(j=i+1;j
//
对数组按从大到小顺序排序
if (a[i]>a[j])
for
(i=0;i<=3;i++)
{
for
(j=i+1;j<=4;j++)
t=a[i];
if
(a[i]<=a[j])
a[i]=a[j];
{
a[j]=t;
t=a[i];
}
a[i]=a[j];
a[j]=t;
//
显示排序结果
}
for
(i=0;i
cout<
//
显示排序结果
cout<
for (i=0;i<=4;i++)
for (i=0;i<2;i++)
for (j=0;j<3;j++)
{
cout<<
cin>>a[i][j];
}
//
显示数组
a
for (i=0;i<2;i++) {
for (j=0;j<3;j++)
{
cout<
}
cout<
}
//
找出该数组的最大元素及其下标
int h,l,Max=a[0][0];
for (i=0;i<2;i++) {
for (j=0;j<3;j++)
{
if
(Max
Max=a[i][j];
h=i;
l=j;
}
}
}
cout<<
}
#include
main()
{
//
声明字符数组和变量
char str[6];
int
i;
//
从键盘上输入字符串
cout<<
cin>>str;
cout<
//
按数组和下标变量两种方式显示字符数组
cout<
for (i=0;i<6;i++)
cout<
cout<
//
字符串反向输出
for (i=5;i>=0;i--)
cout<
cout<
//
将字符数组变成大写字母后输出
Ppt 1-15
for
(i=0;i<=5;i++)
str[i]-=32;
//
小写字母转换成大写字母
cout<
//
显示字符串
}
#include
main()
{
//
声明变量和指针变量
int a,b,c,*ip;
//
指针变量
ip
指向变量
a
a=100;
ip=&a;
//
使指针变量
ip
指向变量
a
cout<<
cout<<
cout<<
//
指针变量
ip
指向变量
b
ip=&b; //
使指针变量
ip
指向变量
b
b=200;
cout<<
cout<<
cout<<
//
指针变量
ip
指向变量
c
ip=&c;
//
使指针变量
ip
指向变量
b
*ip=a+b;
cout<<
cout<<
cout<<
}
#include
main()
{
//
声明数组、变量和指针变量
int a[2][3],i,j;
int*
ip;
//
从键盘上为数组
a
赋值
for (i=0;i<2;i++) //
为数组
a
赋值
for (j=0;j<3;j++)
{
cout<<
cin>>a[i][j];
}
//
利用下标变量显示数组
a
for (i=0;i<2;i++) {
for (j=0;j<3;j++)
{
cout<
}
cout<
}
//
利用指针变量显示数组
a
ip=&a[0][0];
for (i=0;i<2;i++) {
for (j=0;j<3;j++)
{
页脚内容
10
cout<<
cout<
cout<<*ip<
ip++;
}
}
}
#include
main()
{
//
声明数组、变量和指针变量
int a[]={1,2,3,4,5,6};
int *ip1,*ip2;
//
测试指针的赋值运算
ip1=a;
ip2=ip1;
cout<<
cout<<
//
测试指针的自增自减运算和组合运算
ip1++;
ip2+=4;
cout<<
cout<<
//
测试指针变量之间的关系运算
int n=ip2>ip1;
cout<<
cout<<
//
指针变量之间的减法
n=ip2-ip1;
cout<<
}
#include
main()
{
//
声明字符型数组和指针变量
char str[10];
char
*strip=str;
//
输入输出
cout<<
cin>>str;
//
用字符数组输入字符串
cout<<
cout<<
cout<<
用字符指针变量输入字符串
cout<<
cout<<
//
利用指针变量改变其指向字符串的内容
*(strip+2)='l';
cout<<
cout<<
//
动态为字符型指针变量分配内存
strip=new char(100);
cout<<
Ppt 1-15
cin>>strip;
//
用字符指针变量输入字符串
cout<<
cout<<
}
#include
main()
{
//
声明用于存放运动员号码的数组
int h[]={1001,1002,1003,1004};
//
声明用于存放运动员成绩的数组
float x[]={12.3,13.1,11.9,12.1};
//
声明用于存放运动姓名的字符型指针数组
char
*p[]={
hu
a
jian
wei
ming
//i,j,it
是用做循环控制变量和临时变量
int i,j,it;
//ft
用做暂存变量
float ft;
//pt
为字符型指针变量用做暂存指针变量
char *pt;
//
用选择法对数组
x
进行排序,并相应调整数组
h
和
p
中的数据
for (i=0;i<=3;i++)
for (j=i+1;j<=3;j++)
if (x[i]>=x[j]) {
ft=x[i],x[i]=x[j],x[j]=ft;
it=h[i],h[i]=h[j],h[j]=it;
pt=p[i],p[i]=p[j],p[j]=pt;
}
//
以下打印排序结果
for (i=0;i<=3;i++)
cout<
}
#include
main()
{
//
声明指针数组
char
*colors[]={
//
指向指针的指针变量
char **pt;
//
通过指向指针的变量访问其指向的内容
pt=colors;
for (int i=0;i<=3;i++) {
cout<<
cout<<
cout<<
pt++;
}
}
#include
main()
{
//
定义结构类型
struct books
{
char
title[20];
页脚内容
11
cin>>strip;
//
Ppt 1-15
char
author[15];
int
pages;
float
price;
}
//
声明结构变量
struct books Zbk={
float chemistry;
double total;
};
//
声明结构数组
st
student st[3];
books Wbk;
//
对结构变量的输出
cout<<
cout<<
<
cout<<<
cout<<<
cout<<<
cout<<
//
对结构成员的运算
+=10;
+=0.5;
cout<<
cout<<
cout<<
//
对结构变量的输入输出
cout<<
cin>>;
cout<<
cin>>;
cout<<
cin>>;
cout<<
cin>>;
cout<<
cout<< <
cout<<<
cout<<<
cout<<<
cout<<
//
结构变量之间的相互赋值
books temp;
temp=Wbk;
cout<<
cout<<<
cout<<<
cout<<<
cout<<<
}
#include
main()
{
int
i;
//
定义结构类型
struct student {
int num;
char name[10];
float maths;
float physics;
//
从键盘上为结构数组输入值
cout<<
num
name
maths
physics
chemistry
for
(i=0;i<3;i++)
{
cout<
cin>>st[i].num;
cin>>st[i].name;
cin>>st[i].maths;
cin>>st[i].physics;
cin>>st[i].chemistry;
}
//
计算每个学生的总成绩
for (i=0;i<3;i++)
<
/p>
st[i].total=st[i].maths+st[i].physics+st
[i].chemistry;
//
输出结构数组各元素的值
for (i=0;i<3;i++)
{
cout<<
cout<
cout<
cout<
cout<
cout<
cout<
}
}
#include
main()
{
//
定义结构类型
struct human {
char
name[10];
int
sex;
int
age;
};
//
声明结构变量和结构指
针变量
,
并初始化
struct human x={
//
结构指针变量指向对象
p=&x;
//
显示结构变量的值
cout<<
cout<<
cout<<
//
利用结构指针显示结构对象中的数据
cout<<
页脚内容
12
cout<<
cout<<
cout<<
cout<<
cout<<
//
通过结构指针为结构对象输入数据
cout<<
cin>>(*p).name;
cout<<
cin>>(*p).sex;
cout<<
cin>>(*p).age;
//
显示结构变量的值
cout<<
cout<<
cout<<
}
include
main()
{
//
定义结构类型
struct human {
char
name[10];
int
sex;
int
age;
};
//
声明结构变量和结构指针
,
并初始化
struct
human x={
//
利用结构指针显示结构中的数据
cout<<
cout<<
cout<<
cout<<
//
利用
new
运算符为
p
分配内存
p=new human;
//
从键盘上为
p
指向的结构对象赋值
cout<<
cin>>p->name;
cout<<
cin>>p->sex;
cout<<
cin>>p->age;
cout<<
//
显示
p
p>
所指结构对象的值
cout<<
cout<<
cout<<
cout<<
//
显示结构变量的值
cout<<
cout<<
cout<<
Ppt
1-15
//
释放
p
指向的内存
delete p;
}
#include
main()
{
//
定义结构类型
struct human {
char
name[10];
int
sex;
int
age;
};
//
声明结构数组和结构指
针变量
,
并初始化
human
x[]={{
*p=NULL;
//
用下标变量的输出结构数组的元素
for (int i=0;i<3;i++)
{
cout<
cout<
cout<
}
cout<<
//
用结构指针输出结构数组的元素
for (p=x;p<=&x[2];p++)
{
cout<
cout<
cout<
}
}
#include
main()
{
//
定义一个包含指针成员的结构类型
struct test {
char *str;
int *ip;
} x;
//
使用结构变量
x
中的整型指针
=new int; //
分配
1
个单元
*()=100;
cout<<
cout<<
delete
=new int[5]; //
分配
5
个单元
for(int
i=0;i<5;i++)
*(+i)=100+i;
cout<<
for(i=0;i<5;i++)
cout<<+i<<'t'<<(*(+i))<
delete
cout<<
页脚内容
13
Ppt 1-15
//
p>
使用结构变量
x
中的字符型指针
str
=new
char('A'); //
分配
1
cout<<
cout<<
delete
=new char[5];
//
分配多个单元
*='G';
*(+1)='o';
*(+2)='o';
*(+3)='d';
*(+4)='0';
cout<<
delete
;
cout<<
//
在声明结构变量时初始化
test y={
cout<<
cout<<
}
#include
main()
{
//
date
结构
struct date
{
int
year;
int
month;
int
day;
};
//
定义
结构
struct baby {
int
num;
float
weight;
date
birthday; // date
为结构类型
};
//
baby
结构变量并初始化
baby
b1={10001,10,{2002,12,25}};
//
下列是
baby
结构变量
b1
的引用。
cout<<
cout<<
cout<<
cout<<
cout<<
cout<<
//
声明
baby
结构变量
temp,
并进行赋值运算
baby temp;
temp=b1;
cout<<
cout<<
cout<<
cout<<
l;
cout<<
}
#include
main()
{
//
list
的递归结构
struct list
{
char
name[10];
int
sex;
int
age;
list
*next; //
成员
next
为指向
其自身结构的指针
};
//
使用递归结构变量
list L1={
cout<<
cout<<
cout<<
cout<<
cout<<
}
#include
main()
{
int
i;
//
定义名为
student
的递归结构
struct student
{
char
name[10];
int
math;
int
computer;
float
sum;
student
*next; //next
成员是指向自身
的结构指针
};
//
用
student
声明
3
p>
个结构指针变量
struct
student *head,*tail,*temp;
//
申请第
1
块数据,并设置各结构指针的初值
temp=new struct student;
//
申请内存
head=temp; //
头指针
tail=head; //
尾指针
//
循环为链表输入数据
cout<<
for (i=1;;i++)
{
cout<
cin>>temp->name;
if
(temp->name[0]!='*')
{
cin>>temp->math>>temp->computer;
temp->sum=temp->math+temp->computer;
temp->next=NULL;
tail=temp;
//
设置链表尾指针
}
else
页脚内容
14
Ppt 1-15
{
//
以下是输入结束处理
delete temp;
tail->next=NULL;
break;
}
//
为下一个学生申请内存
temp->next=new struct student;
temp=temp->next; //
temp
指向
新内存
块
}
//
将链表数据从头到尾打印出来
cout<<
temp=head;
while
(temp!=NULL) {
cout<
cout<
temp=temp->next;
}
}
#include
main()
{
int
i;
//
定义名为
student
的递归结构
struct student
{
char
name[10];
int
math;
int
computer;
float
sum;
student
*forw; //forw
成员是前指针
student *next;
//next
成员是后指针
};
//
用
student
声明
3
p>
个结构指针变量
struct
student *head,*tail,*temp;
//
申请第
1
块数据,并设置各结构指针的初值
temp=new struct student;
//
申请内存
head=temp; //
头指针
tail=head; //
尾指针
head->forw=NULL;
//
循环为链表记录输入数据
cout<<
for (i=1;;i++) {
cout<
cin>>temp->name;
if
(temp->name[0]!='*')
{
cin>>temp->math>>temp->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=temp;
//
设置前指针
temp=temp->next; //
使处理指针
temp
指向新内存块
}
//
将链表数据从头到尾打印出来
cout<<
temp=head;
while
(temp!=NULL) {
cout<
cout<
temp=temp->next;
}
//
将链表数据从尾到头打印出来
cout<<
temp=tail;
while
(temp!=NULL) {
cout<
cout<
temp=temp->forw;
}
}
#include
main()
{
int
i;
//
定义联合类型
union utag {
char
c;
int
k;
float
x;
};
//
声明联合变量
union utag u;
//
使用联合变量中的字符型成员
u.c='*';
cout<<
//
使用联合变量中的整型成员
u.k=1000;
cout<<
//
使用联合变量中的浮点型成员
u.x=3.1416;
cout<<
//
声明联合变量时初始化
utag u1={'A'};
页脚内容
15
Ppt 1-15
//
同时引用联合变量的各成员
cout<<
cout<<
cout<<
}
#include
main()
{
//
定义结构类型,并为声明的结构变量赋初值
struct s_tag {
short i;
float x;
} sx={100,3.1416};
//
定义联合类型,并为声明的联合变量赋初值
union u_tag {
short i;
float x;
} ux={1000};
//
输出结构类型和结构变量的有关信息
cout<<
s_tag)=
s_tag)<
cout<<
cout<<
cout<<
cout<<
//
输出联合类型和联合变量的有关信息
cout<<
u_tag)=
u_tag)<
ux.i=200;
cout<<
输出联合变量
ux
的
i
成员
ux.x=123.456;
cout<<
输出联合变量
ux
的
x
成员
cout<<
}
#include
main()
{
//
自定义类型
typedef int
ARRAY_INT[50];
int
i;
ARRAY_INT a;
//
用自定义类型声明数组变量
a
//
以下为数组
a
赋值,并打印
for (i=0;i<50;i++) {
if (i%10==0) //
每
10
个数换一次行
cout<
a[i]=i;
cout<
}
cout<
}
#include
//
定义结构类型
struct student
{
int
num;
char
name[20];
float
grade;
};
void main(void)
{
//
声明数组
int
i,size;
char
str[]=
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,
n
//
显示
char
类型数组元素及其大
小
size=sizeof(str) /
sizeof(char);
cout<<
cout<
for(i=0;i
cout<
}
cout<
//
显示
类型数组元素及其大小
size=sizeof(int_values) / sizeof(int);
cout<<
cout<
for(i=0;i
cout<
}
cout<
//
显示
类型数组元素及其大小
size=sizeof(float_values) /
sizeof(float);
cout<<
cout<
for(i=0;i
cout<
}
cout<
//
显示
类型数组元素及其大小
size=sizeof(st_arr) /
sizeof(student);
cout<<
cout<
for(i=0;i
cout<
cout<
cout<
}
}
#include
//add()
函数的定义,其有返回值
double add(double x,double
y)
{
double z;
z=x+y;
cout<
页脚内容
16
Ppt 1-15
return(z);
}
main()
{
double
a=0.5,b=1.0;
//
以不同参数形式调用函数
add()
cout<<
cout<<
cout<<
cout<<
//
以表达式方式调用函数
add()
double c=2*add(a,b);
cout<<
cout<<
//
以语句式方式调用函数
add()
add(2*a,b);
cout<<
//
用其他类型参数调用函数
add()
int
n=1,m=2;
cout<<
}
#include
//
定义符号函数
sgn(),
其返回值为
int
类型
int sgn(double x)
{
if (x>0)
return(1);
//
返回出口
1
if (x<0) return(-1);
//
返回出口
2
return(0);
//
返回出口
3
}
//main()
函数定义
main()
{
double
x;
int i;
for (i=0;i<=2;i++) {
cout<<
cin>>x;
cout<<
}
}
#include
//
函数原型语句可以在这里
//
定义
main()
函数
main()
{
//max()
函数原型声明语句
float max(float,float);
//
变量声明语句
float a,b,Max;
//
输入参数并计算
cout<<
cin>>a;
cout<<
cin>>b;
Max=max(a,b); //
调用
max()<
/p>
函数
cout<<
}
定义
max()
函数
float max(float x,float y)
//max()
返回值类型为
浮点型
{
float
z;
z=(x>y)?x:y;
return(z);
}
#include
//
定义
f()
函数
f(int x,int y)
//f()
的参数以值方式传递
{
++x;
--y;
cout<<
}
main()
{
int a,b;
//
设置实际参数的值
a=b=10;
//
以变量
为参数调用
f()
函数
f(a,b);
//
验证实际参数的值
cout<<
//
以表达式参数形式调用
f
()
函数
f(2*a,a+b);
}
#include
//
定义公共结构类型
struct student {
int num;
char
name[10];
float
maths;
float
physics;
float
chemistry;
double
total;
};
//
定义结构输入函数
input_Rec(struct
student
*p) //
参数为
studen
t
类型
的结构指针变量
{
cin>>p->num;
cin>>p->name;
cin>>p->maths;
cin>>p->physics;
cin>>p->chemistry;
}
//
定义结构数据交换函数
swap_Rec(struct student *p1,struct
student *p2)
页脚内容
17
Ppt 1-15
{
struct
student x;
//
交换两个记录的数据
x=*p1;
*p1=*p2;
*p2=x;
}
//
输出结构的值
put_Rec(struct student *p)
{
cout<
cout<
cout<
cout<
cout<
cout<
}
//<
/p>
定义
main()
函数
main()
{
int
i,j;
//
声明结构指针变量和结构数组
struct student *p1,a[3];
//
3
个学生的数据并计算总成绩
cout<<
for (p1=a;p1<=a+2;p1++)
{
input_Rec(p1);
p1->total=p1->maths+p1->physics+p1->chemist
ry;
}
//
对
个学生的数据排序
for (i=0;i<=2;i++)
for (j=i+1;j<=2;j++)
if (a[i].total
swap_Rec(&a[i],&a[j]);
//
交换两
个结构变量中的数据
cout<<
//
输
出一分界线
//
输出排序后的结构数组
cout<<
ndl;
for (p1=a;p1<=a+2;p1++)
put_Rec(p1);
}
#include
//
定义结构
struct student {
char name[10];
float
grade;
};
//
交换
s
tudent
类型的数据
void swap(student &x,student &y)
//swap
的参数
为引用传递方式
{
student
temp;
temp=x;
x=y;
y=temp;
}
//
返回
s
tudent
类型的引用,求优者
student& max(student &x,student &y)
//swap
的
参数为引用传递方式
{
return
(>?x:y);
}
//
显示
s
tudent
类型的数据
void show(student &x)
//show
的参数为引用传递
方式
{
cout<<<<
}
void main()
{
student
a={
//
显示
a
和
b
的数据
cout<<
show(a);
cout<<
show(b);
cout<<
//
交换
a
和
b
的数据
,
并显示
swap(a,b);
cout<<
show(a);
cout<<
show(b);
cout<<
//
计算和显示成绩高者
student t=max(a,b);
cout<<
show(t);
}
#include
//
参数带有默认值的函数
disp(int x=1,int y=1,int
z=1)
{
cout<<
参数
1:
cout<<
参数
2:
cout<<
参数
3:
cout<<
}
//m
ain()
函数中测试参数带有默认值的函数
disp()
p>
void main()
{
页脚内容
18
Ppt 1-15
disp();
disp(10);
disp(10,20);
disp(10,20,30);
int
a=1,b=2,c=3;
disp(a,b,c);
}
#include
//
计算字符串长度的函数
int str_len(const char
*string)
{
//char *temp=string;
编译报错!
//*string='x';
编译报错!
int i=0;
while (*(string+i)!=NULL)
i++;
return
i;
}
//main()
函数中测试
str_
len()
void main()
{
char
a[]=
cout<
char
*str=
cout<
cout<<
a test.
}
#include
void disp(void);
//
这个函数声明语句不能少
p>
//
定义
main()
void
类型
void main(void)
{
//
void
类型函数
disp();
}
//
以下
定义
disp()
函数
void disp(void) {
cout<<
}
#include
//
函数原型语句
int abs(int x);
long abs(long x);
float abs(float x);
//main()
函数的定义
void main(void)
{
//
声明变量
int
i1=32767,i2=-32767;
long
l1=456789,l2=-456789;
float x1=1.1234,x2=-1.1234;
//
直接在
cout
输出中调用函数<
/p>
cout<
cout<
cout<
}
//
定义
i
nt
型的
abs()
函数
int abs(int x) {
if (x<0)
return(-x);
else
return(x);
}
//
定义
l
ong
型的
abs()
函数
long abs(long x)
{
if (x<0)
return(-x);
else
return(x);
}
//
定义
f
loat
型
abs
函数
float
abs(float x) {
if
(x<0.0)
return(-x);
else
return(x);
}
#include
//max()
为内联函数
inline int max(int x,int y) //
注意
inline
关键字
{
return
x>y?x:y;
}
//
定义
m
ain()
函数
main()
{
int
a=3,b=5,c;
c=max(a,b);
cout<<
cout<<
}
#include
main()
{
//
函数原型声明
int
fact(int x);
int
n,sn;
//
依次从键盘上输入
3
个正整型数据计算它们的阶
乘
for (int
i=1;i<=3;i++)
{
cout<
cin>>n;
sn=fact(n);
cout<
}
}
//<
/p>
以下是采用递归方法定义的
fact()
函数
int fact(int
x)
页脚内容
19
Ppt 1-15
{
if (x==0)
return(1);
return(x*fact(x-1));
//
此处又调用了它自身
}
#include
//
带参数的
main()
函
数
int main(int argc,char
*argv[])
{
int i;
for(i=0;i
cout<
return
0;
}
#include
//
用函数原型声明要使用的函数
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 b[3][3]={{2,4,6},{1,3,5},{0,1,2}};
//
显示数组的值
cout<<
show_array1(a,6);
show_array1(&b[0][0],3*3);
//
用
sort1
排序并显示
cout<<
and
show_array1(int*,int):
sort(a,6);
show_array1(a,6);
sort(&b[0][0],3*3);
show_array1(&b[0][0],9);
//
显示数组的值
cout<<
show_array2(a,6);
show_array2(&b[0][0],3*3);
}
//<
/p>
显示数组
,
用指针当参数
void show_array1(int *p,int size)
{
for(int
i=0;i
cout<<*(p+i)<<
cout<
}
//
显示数组
,
用数组当参数
void
show_array2(int a[],int size) {
for(int i=0;i
cout<
cout<