重点回顾
标识符(变量名、函数名):字母、数字、下划线的组合。
十六进制数转化为十进制数计算过程:
#include <stdio.h>
void te(char a,char b,char c)
{
int d,e,f,o;
//printf("%d,%d,%d\n",a,b,c);
if(a<='9')
{
d=(a-48)*16*16;
//printf("%d\n",d);
}
else
switch(a)
{
case 'a':
case 'A':
d=10*16*16;
//printf("%d\n",d);
break;
case 'b':
case 'B':
d=11*16*16;
break;
case 'c':
case 'C':
d=12*16*16;
break;
case 'd':
case 'D':
d=13*16*16;
break;
case 101:
case 'E':
d=14*16*16;
break;
case 'f':
case 'F':
d=15*16*16;
break;
default:
break;
}
if(b<58)
e=(b-48)*16;
else
switch(b)
{
case 'a':
case 'A':
e=10*16;
break;
case 'b':
case 'B':
e=11*16;
break;
case 'c':
case 'C':
e=12*16;
break;
case 'd':
case 'D':
e=13*16;
break;
case 101:
case 'E':
e=14*16;
break;
case 'f':
case 'F':
e=15*16;
break;
default:
break;
}
if(c<58)
f=(c-48);
else
switch(c)
{
case 'a':
case 'A':
f=10;
break;
case 'b':
case 'B':
f=11;
break;
case 'c':
case 'C':
f=12;
break;
case 'd':
case 'D':
f=13;
break;
case 101:
case 'E':
f=14;
break;
case 'f':
case 'F':
f=15;
break;
default:
break;
}
o=d+e+f;
//printf("%d,%d,%d\n",d,e,f);
printf("该十六进制数转化为十进制为:%d",o);
}
int main()
{
char a,b,c;
printf("请输入一个十六进制数(三位数):");
a=getchar();
b=getchar();
c=getchar();
te(a,b,c);
return 0;
}
函数嵌套:
#include <stdio.h>
int add(float a,float b)
{
float c;
c=a+b;
return c;
}
int j(float a,float b)
{
float c;
c=a-b;
return c;
}
int cs(float a,float b)
{
float c;
c=a*b;
return c;
}
int hu(float a,float b)
{
float c;
c=a/b;
return c;
}
int ci(float a,char ch ,float b)
{
float c;
switch(ch)
{
case '+':
c=add(a,b);
break;
case '-':
c=j(a,b);
break;
case '*':
c=cs(a,b);
break;
case '/':
c=hu(a,b);
break;
default:
break;
}
return c;
}
int main()
{
float a,b,c;
char ch;
printf("请输入计算式子:");
scanf("%f",&a);
ch=getchar();
scanf("%f",&b);
c=ci(a,ch,b);
printf("%.2f %c %.2f = %.2f",a,ch,b,c);
return 0;
}
多数比较:
#include <stdio.h>
int te(int a,int b)
{
return a>b ? a : b;
}
int main()
{
int a,b,c,i,max;
printf("请输入要比较的数字个数:");
scanf("%d",&a);
printf("请输入数字,用回车隔开:\n");
scanf("%d",&b);
scanf("%d",&c);
max=te(b,c);
for(i=1;i<a-1;i++)
{
scanf("%d",&c);
max=te(max,c);
}
printf("该组数中最大值为%d",max);
return 0;
}
被调函数声明:
放在头文件下面,main上面,后加“;”。
int max(int num_01,int num_02); 完整声明。
int max(int ,int );精简声明。
#include <stdio.h>
int te(int a,int b);
int main()
{
int a,b,c,i,max;
printf("请输入要比较的数字个数:");
scanf("%d",&a);
printf("请输入数字,用回车隔开:\n");
scanf("%d",&b);
scanf("%d",&c);
max=te(b,c);
for(i=1;i<a-1;i++)
{
scanf("%d",&c);
max=te(max,c);
}
printf("该组数中最大值为%d",max);
return 0;
}
int te(int a,int b)
{
return a>b ? a : b;
}
递归调用:
#include <stdio.h>
int ci(int a,int b)
{
int c;
if(b==0)
c=1;
else
c=ci(a,b-1)*a;
return c;
}
int main()
{
int a,b,c;
printf("请输入底数和次幂,用回车隔开:\n");
scanf("%d\n%d",&a,&b);
c=ci(a,b);
printf("%d^%d=%d",a,b,c);
return 0;
}