函数分类、函数声明和定义、函数调用,形参实参、函数嵌套调用
2015-01-10 22:40
288 查看
main.m中
#import <Foundation/Foundation.h>
#import "aboutClass.h"
//引入头文件的过程相当于把头文件的内容拷贝到当前文件夹中
//return关键字的作用:在没有返回值得函数里面,return用于把函数的结果返回给主调函数,在没有返回值得函数里面,return用于提前结束函数,return之后的语句就不用执行了
//函数之间都是平级的,不允许在函数里面嵌套函数。
//实参传递给形参是一个值拷贝的过程
//局部变量的作用,只在离它最近的大括号有用,出了括号就没有人认识
//全局变量:从定义的位置开始,往下都可以使用
//1.无返回值无参
int main(int argc,
const char * argv[]) {
printHello();
fool();
squreOfCircle(3);
printNumber(7);//7为实参
printFromNumberToNumber(10 ,
20);
int result =studentNumber();
printf("number = %d\n",result);
maxValue(34,28);
sumOfValue(sumOfValue(sumOfValue(3)));
middleValue(3,5,8);
printf("中间值为:%d\n",middleValue(3,5,8));
lenghtOfWord();
dayOfYear(2012,3,25);
exchange(3,6);
sum(3);
operate(2,'+',45);
int array[] = {1,2,3,4,5,6};
printArray(array,6);
int a[5] = {};
randomArray(a,
5);
int array1[] = {};
outOfArray(array1,
20);
int array2[] = {};
sortByBubble(array2,5);
int array3[] = {};
serachArray(array3,
5);
char str[] =
"nadfn fjaf fafnj fafn da er!";
spaceCount(str);
return 0;
}
aboutClass.h中
#import <Foundation/Foundation.h>
void printHello();
void fool();
int studentNumber();
int boyCount();
int girlCount();
void printNumber(int n);
void printFromNumberToNumber(int m ,
int n);
float squreOfCircle(int r);
int maxValue(int value1,int value2);
int sumOfValue(int n);
int middleValue(int a,int b,int c);
int lenghtOfWord();
int dayOfYear(int year,int month,int
days);
void exchange(int x,int y);
//int sumOfSquare();
int squre(int n);
int sum();
float operate(float a,char oper ,float
b);
void printArray(int array[] ,
int n);
void randomArray(int array[] ,
int n);
void outOfArray(int array[] ,
int n);
void sortByBubble(int array[],int n);
void serachArray(int array[],int n);
int spaceCount(char str[]);
aboutClass.m中
#import "aboutClass.h"
void printHello()
{
printf("HELLOWORLD!\n");
}
void fool(){
printf("李昕龙 is a stupid fellow!\n");
}
//2.有参数无返回值
void printNumber(int n)//n为形参
{
for (int i =
1; i <= n; i++) {
printf("n = %d\n",i);
}
}
//3.无参数,有返回值
int studentNumber()
{
return
boyCount() + girlCount();
}
int boyCount()
{
return 31;
}
int girlCount()
{
return 6;
}
void printFromNumberToNumber(int m ,
int n)
{
for (int i = m; i <= n; i++) {
printf("n = %d\n",i);
}
}
//有返回值有参
//commond+shift+k 清楚项目缓存
float squreOfCircle(int r){//r形参
float squre = 3.14*r*r;
printf("圆的面积为:%f\n",squre);
return squre;
}
int maxValue(int value1,int value2)
{
int max = value1 > value2 ? value1 : value2;
printf("max = %d\n",max);
return max;
}
int sumOfValue(int n)
{
int sum = 0;
for (int i =
1 ; i <= n; i++) {
sum += i;
}
printf("1~%d的和为:%d\n",n,sum);
return sum;
}
//求三个数的中间值
int middleValue(int a,int b,int c)
{
int max = (a > b ? a : b) > c ? (a > b ? a : b) : c;
int min = (a < b ? a : b) < c ? (a < b ? a : b) : c;
int mid = a + b + c - min - max;
return mid;
}
//随机生成一个数,求这个数字的长度
int lenghtOfWord()
{
int n = arc4random() %
10001 + 23;
printf("这个数字为:%d\n",n);
int count = 0;
do{
count ++;
n = n /
10;
}while (n !=
0);
printf("长度为:%d\n",count);
return count;
}
int dayOfYear(int year,int month,int
days){
int day = 0;
switch (month) {
case 12:
day +=
30;
case 11:
day +=
31;
case 10:
day +=
30;
case 9:
day +=
31;
case 8:
day +=
31;
case 7:
day +=
30;
case 6:
day +=
31;
case 5:
day +=
30;
case 4:
day +=
31;
case 3:
if (year%400 ==
0 || (year % 4 ==
0 && year % 100 !=
0)) {
day +=
29;
}else{
day +=
28;
}
case 2:
day +=
31;
case 1:
day += days;
default:
break;
}
printf("%d-%d-%d是这一年的第%d天\n",year,month,days,day);
return day;
}
void exchange(int x,int y){
printf("原来的x=%d,原来的y=%d\n",x,y);
int temp = x;
x = y;
y = temp;
printf("x=%d,y=%d\n",x,y);
}
//int sumOfSquare(int n){
// int sum = 0;
// for (int i = 1; i <= n; i++) {
// sum += n*n;
// if (i == n) {
// printf("%d^2 = ",i);
// }else{
// printf("%d^2+",i);
// }
// }
// printf("%d",sum);
// return sum;
//}
int squre(int n){
return n*n;
}
int sum(int n){
int sum = 0;
for (int i =
1; i <= n; i++) {
sum +=
squre(i);
if (i == n) {
printf("%d^2 = ",i);
}else{
printf("%d^2+",i);
}
}
printf("%d\n",sum);
return sum;
}
float operate(float a,char oper ,float
b){
float c = 0;
switch (oper) {
case '+':
c = a + b;
break;
case '-':
c = a - b;
break;
case '*':
c = a * b;
break;
case '/':
c = a / b;
if (b == 0) {
printf("error!\n");
return 0;
}
break;
default:
break;
}
printf("%f%c%f = %f\n",a,oper,b,c);
return c;
}
void printArray(int array[] ,
int n)
{
for (int i =
0; i < n; i ++) {
printf("array[%d] = %d\n",i,array[i]);
}
}
//无返回值有参数
给一个数组的每个元素赋值
void randomArray(int array[] ,
int n)
{
for (int i =
0; i < n; i ++) {
array[i] =
arc4random() % 101;
printf("array[%d] = %d\n", i , array[i]);
}
}
void outOfArray(int array[] ,
int n){
for (int i =
0; i < n; i ++) {
array[i] =
arc4random() % 23;
if (array[i] > 18) {
array[i] =
0;
}
printf("array[%d] = %d\n", i , array[i]);
}
}
void sortByBubble(int array[],int n){
for (int i =
0; i < n; i ++) {
array[i] =
arc4random() % 23;
if (array[i] > 18) {
array[i] =
0;
}
printf("array[%d] = %d\n", i , array[i]);
}
for (int i =
0; i < n-1; i++) {
for (int j =
0; j < n - 1 - i; j++) {
if (array[j] > array[j +
1]) {
int temp = array[j];
array[j] = array[j +
1];
array[j +
1] = temp;
}
}
}
for (int i=
0; i < n; i++) {
printf("%d ",array[i]);
}
}
void serachArray(int array[],int n){
for (int i =
0; i < n; i ++) {
array[i] =
arc4random() % 23;
if (array[i] > 18) {
array[i] =
0;
}
printf("array[%d] = %d\n", i , array[i]);
}
for (int i =
0; i < n-1; i++) {
int min = i;
for (int j = i+1; j < n ; j++) {
if (array[min] > array[j]) {
min = j;
}
}
if (min != i) {
int temp = array[min];
array[min] = array[i];
array[i] = temp;
}
}
for (int i=
0; i < n; i++) {
printf("%d ",array[i]);
}
}
#import <Foundation/Foundation.h>
#import "aboutClass.h"
//引入头文件的过程相当于把头文件的内容拷贝到当前文件夹中
//return关键字的作用:在没有返回值得函数里面,return用于把函数的结果返回给主调函数,在没有返回值得函数里面,return用于提前结束函数,return之后的语句就不用执行了
//函数之间都是平级的,不允许在函数里面嵌套函数。
//实参传递给形参是一个值拷贝的过程
//局部变量的作用,只在离它最近的大括号有用,出了括号就没有人认识
//全局变量:从定义的位置开始,往下都可以使用
//1.无返回值无参
int main(int argc,
const char * argv[]) {
printHello();
fool();
squreOfCircle(3);
printNumber(7);//7为实参
printFromNumberToNumber(10 ,
20);
int result =studentNumber();
printf("number = %d\n",result);
maxValue(34,28);
sumOfValue(sumOfValue(sumOfValue(3)));
middleValue(3,5,8);
printf("中间值为:%d\n",middleValue(3,5,8));
lenghtOfWord();
dayOfYear(2012,3,25);
exchange(3,6);
sum(3);
operate(2,'+',45);
int array[] = {1,2,3,4,5,6};
printArray(array,6);
int a[5] = {};
randomArray(a,
5);
int array1[] = {};
outOfArray(array1,
20);
int array2[] = {};
sortByBubble(array2,5);
int array3[] = {};
serachArray(array3,
5);
char str[] =
"nadfn fjaf fafnj fafn da er!";
spaceCount(str);
return 0;
}
aboutClass.h中
#import <Foundation/Foundation.h>
void printHello();
void fool();
int studentNumber();
int boyCount();
int girlCount();
void printNumber(int n);
void printFromNumberToNumber(int m ,
int n);
float squreOfCircle(int r);
int maxValue(int value1,int value2);
int sumOfValue(int n);
int middleValue(int a,int b,int c);
int lenghtOfWord();
int dayOfYear(int year,int month,int
days);
void exchange(int x,int y);
//int sumOfSquare();
int squre(int n);
int sum();
float operate(float a,char oper ,float
b);
void printArray(int array[] ,
int n);
void randomArray(int array[] ,
int n);
void outOfArray(int array[] ,
int n);
void sortByBubble(int array[],int n);
void serachArray(int array[],int n);
int spaceCount(char str[]);
aboutClass.m中
#import "aboutClass.h"
void printHello()
{
printf("HELLOWORLD!\n");
}
void fool(){
printf("李昕龙 is a stupid fellow!\n");
}
//2.有参数无返回值
void printNumber(int n)//n为形参
{
for (int i =
1; i <= n; i++) {
printf("n = %d\n",i);
}
}
//3.无参数,有返回值
int studentNumber()
{
return
boyCount() + girlCount();
}
int boyCount()
{
return 31;
}
int girlCount()
{
return 6;
}
void printFromNumberToNumber(int m ,
int n)
{
for (int i = m; i <= n; i++) {
printf("n = %d\n",i);
}
}
//有返回值有参
//commond+shift+k 清楚项目缓存
float squreOfCircle(int r){//r形参
float squre = 3.14*r*r;
printf("圆的面积为:%f\n",squre);
return squre;
}
int maxValue(int value1,int value2)
{
int max = value1 > value2 ? value1 : value2;
printf("max = %d\n",max);
return max;
}
int sumOfValue(int n)
{
int sum = 0;
for (int i =
1 ; i <= n; i++) {
sum += i;
}
printf("1~%d的和为:%d\n",n,sum);
return sum;
}
//求三个数的中间值
int middleValue(int a,int b,int c)
{
int max = (a > b ? a : b) > c ? (a > b ? a : b) : c;
int min = (a < b ? a : b) < c ? (a < b ? a : b) : c;
int mid = a + b + c - min - max;
return mid;
}
//随机生成一个数,求这个数字的长度
int lenghtOfWord()
{
int n = arc4random() %
10001 + 23;
printf("这个数字为:%d\n",n);
int count = 0;
do{
count ++;
n = n /
10;
}while (n !=
0);
printf("长度为:%d\n",count);
return count;
}
int dayOfYear(int year,int month,int
days){
int day = 0;
switch (month) {
case 12:
day +=
30;
case 11:
day +=
31;
case 10:
day +=
30;
case 9:
day +=
31;
case 8:
day +=
31;
case 7:
day +=
30;
case 6:
day +=
31;
case 5:
day +=
30;
case 4:
day +=
31;
case 3:
if (year%400 ==
0 || (year % 4 ==
0 && year % 100 !=
0)) {
day +=
29;
}else{
day +=
28;
}
case 2:
day +=
31;
case 1:
day += days;
default:
break;
}
printf("%d-%d-%d是这一年的第%d天\n",year,month,days,day);
return day;
}
void exchange(int x,int y){
printf("原来的x=%d,原来的y=%d\n",x,y);
int temp = x;
x = y;
y = temp;
printf("x=%d,y=%d\n",x,y);
}
//int sumOfSquare(int n){
// int sum = 0;
// for (int i = 1; i <= n; i++) {
// sum += n*n;
// if (i == n) {
// printf("%d^2 = ",i);
// }else{
// printf("%d^2+",i);
// }
// }
// printf("%d",sum);
// return sum;
//}
int squre(int n){
return n*n;
}
int sum(int n){
int sum = 0;
for (int i =
1; i <= n; i++) {
sum +=
squre(i);
if (i == n) {
printf("%d^2 = ",i);
}else{
printf("%d^2+",i);
}
}
printf("%d\n",sum);
return sum;
}
float operate(float a,char oper ,float
b){
float c = 0;
switch (oper) {
case '+':
c = a + b;
break;
case '-':
c = a - b;
break;
case '*':
c = a * b;
break;
case '/':
c = a / b;
if (b == 0) {
printf("error!\n");
return 0;
}
break;
default:
break;
}
printf("%f%c%f = %f\n",a,oper,b,c);
return c;
}
void printArray(int array[] ,
int n)
{
for (int i =
0; i < n; i ++) {
printf("array[%d] = %d\n",i,array[i]);
}
}
//无返回值有参数
给一个数组的每个元素赋值
void randomArray(int array[] ,
int n)
{
for (int i =
0; i < n; i ++) {
array[i] =
arc4random() % 101;
printf("array[%d] = %d\n", i , array[i]);
}
}
void outOfArray(int array[] ,
int n){
for (int i =
0; i < n; i ++) {
array[i] =
arc4random() % 23;
if (array[i] > 18) {
array[i] =
0;
}
printf("array[%d] = %d\n", i , array[i]);
}
}
void sortByBubble(int array[],int n){
for (int i =
0; i < n; i ++) {
array[i] =
arc4random() % 23;
if (array[i] > 18) {
array[i] =
0;
}
printf("array[%d] = %d\n", i , array[i]);
}
for (int i =
0; i < n-1; i++) {
for (int j =
0; j < n - 1 - i; j++) {
if (array[j] > array[j +
1]) {
int temp = array[j];
array[j] = array[j +
1];
array[j +
1] = temp;
}
}
}
for (int i=
0; i < n; i++) {
printf("%d ",array[i]);
}
}
void serachArray(int array[],int n){
for (int i =
0; i < n; i ++) {
array[i] =
arc4random() % 23;
if (array[i] > 18) {
array[i] =
0;
}
printf("array[%d] = %d\n", i , array[i]);
}
for (int i =
0; i < n-1; i++) {
int min = i;
for (int j = i+1; j < n ; j++) {
if (array[min] > array[j]) {
min = j;
}
}
if (min != i) {
int temp = array[min];
array[min] = array[i];
array[i] = temp;
}
}
for (int i=
0; i < n; i++) {
printf("%d ",array[i]);
}
}
相关文章推荐
- 《IOS_C语言》函数分类、函数声明和定义、函数调用、形参实参、函数嵌套调用
- 作业《IOS_C语言》函数分类、函数声明和定义、函数调用、形参实参、函数嵌套调用
- [TwistedFate]函数声明定义,函数调用,形参,实参,函数嵌套调用
- 函数的类型,函数的声明,函数的定义,函数的调用,函数嵌套,函数递归,形参实参
- 已定义的函数有返回值,函数调用可以作为一个函数的实参,但是不能作为形参
- 已定义的函数有返回值,函数调用可以作为一个函数的实参,但是不能作为形参
- 4-8-实参与形参、函数声明与定义、函数读取顺序、可变参数的函数、函数生存周期
- 定义一个一维数组,写以下6个函数来完成相应功能,在主函数中调用这6个函数。(要求,函数形参都为指针变量)
- 第十二周项目1-1:static变量与函数调用中形参实参的转换
- 函数调用下形参和实参的内存分配
- 函数调用中实参和形参变化问题
- 函数调用时,需注意实参和形参的类型差异,类型内存存储格式的差异
- iOS开发学习第六课——函数的定义、声明和调用
- C语言中函数调用、实参、形参的选择
- C++中的函数定义、声明、调用
- 201506170744_《JavaScript权威指南(第六版)——函数调用变长实参和可选形参、》(P171-175)
- C++关于函数声明和定义中参数赋值为0调用问题演示
- 函数调用中实参和形参变化问题
- 关于C语言中一,二级指针函数中的使用和c语言中和函数发生调用时,实参和形参都会占用内存吗?
- 函数调用,形参实参的变化