我的IOS学习历程 - 第六天1
今天主要说的是函数定义和函数的调用
自建的库:
#import "Operator.h"
int sumValue1(int num1,int num2){
return num1 + num2;
}
int subValue(int num1,int num2){
return num1 - num2;
}
int mulValue(int num1,int num2){
return num1 * num2;
}
int divValue(int num1,int num2){
return num1 / num2;
}
int maxValue(int num1,int num2){
int max = num1 > num2 ? num1 : num2;
return max;
}
// 切记返回值只有一个
#import "Function.h"
// 函数的实现
int sumSum(int num1,int num2){
return num1 + num2;
}
void sortArray(int array[],int count){
for (int n =0; n < count - 1; n++) {
for (int m =0 ; m < count - n - 1; m ++) {
if (array[m] < array[m +1]) {
int temp = array[m];
array[m] = array [m +1];
array[m +1] = temp;
}
}
}
//打印
for (int n =0; n < count; n++) {
printf("%d",array[n]);
}
}
#import <Foundation/Foundation.h>
// 引入头文件
// 引入系统头文件使用<>
// 引入自定义文件使用""
#import "Function.h"
#import "Operator.h"
// 无返回值的函数
void myprintf (){
printf("我是一个无返回值无参数的函数\n");
printf("JAY\n");
// return作用
// 1.无返回值时.直接结束,return都不执行
//有返回值时,结束的同时,把返回值反回去
return; //return后别写回去
//printf("撒事\n");
}
// 无返有参的函数
void printfSum(int num1,int num2){
printf("%d",num1 + num2);
}
// 一 .有返回值无参数的函数
int returnValue()
{
return10;
}
// 有返回值有参数的函数(参数类型加参数名字)
// 多个参数中间用逗号隔开
// 注意参数的名字不能相同
// 函数的参数需要在函数体去使用
// 计算两个整数的 和
// 参数的两种形式
// 1. 实际参数 函数调用时的参数
// 2. 形式参数 函数声明时的参数
// 函数调用的时候相当于实际参数赋值形式参数 参数之间的传递是一个值的传递
int sumNumber(int num1,int num2)
{
return num1 + num2;
}
// 练习1:编写函数int sumValue(int n):计算1到n的和
int sumValue(int n){
// 保存和
int sum =0;
// 循环求和
for (int i =1; i <= n; i++) {
sum = sum + i;
}// 把值返回
return sum;
}
// 编写函数dayOfYear(year, mouth,day),使得函数返回由这三个参数确定的那⼀天是⼀年中的第⼏天。
int dayOfYear(int x,int y, int z){
int day,day1 =0;
if ((x %4 == 0 && x %100 != 0)||x %400 == 0) {
int a[12] = {31,29, 31,30, 31,30, 31,31, 30,31, 30,31};
for (int m =0; m < y - 1; m++) {
day1 = day1 + a[m];
}
}
else{
int a[12] = {31,28, 31,30, 31,30, 31,31, 30,31, 30,31};
for (int m =0; m < y - 1; m++) {
day1 = day1 + a[m];
}
}day = day1 + z;
return day;
}
// 练习3 :编写函数,返回三个整数的中间数。
// 公式 :三个数的和 - 最大值 -最小值 = 中间值
int midNumber(int x,int y, int z){
int max,min,mid =0;
max = x > y ? x : y;
max = max > z ? max : z;
min = x > y ? y : x;
min = min > z ? z : min;
mid = (x + y + z) - (max + min);
return mid;
}
// 练习4 :编写函数,返回正整数n中的数字的个数。
int NumberValue(int n){
int count =1;
while (n /10 != 0) {
// 连除10
n = n / 10;
// 记录有几位数
count++;
}
return count;
}
void pppp();
/*
完整的函数分为三个部分
1. 函数的声明
2. 函数的实现
3. 函数的调用(一般是主函数(main)中去调用)
*/
int main(int argc,const char * argv[]) {
// 函数的定义 :具有特殊功能的代码段
/*
函数的返回值类型 +函数名(参数列表){
函数体(函数中的语句)
return 返回值
}
返回值的类型可以是所有基本数据类型例如int ,float 等....也可以没返回值
没有返回值用void
没有返回值不用woid
*/
// 调用函数
// 函数的名字(参数列表)
// myprintf();
//有返回的函数 需要定义一个变量去接受他
// returnValue();
// int number = returnValue();
// printf("%d",number);
// 调用有返回值有参数的函数
// int a = 3;
// int b = 5;
// int sum = sumNumber(a, b);
// printf("%d\n",sum);
// 无返回值 有参数的函数
// 打印两个 整数的和
// 练习1 调用
// int sum = sumValue(5);
//
// printf("%d",sum);
// 练习2 调用
// int day= dayOfYear(2000, 3, 1);
// printf("%d",day);
// 练习3 调用
// int count = NumberValue(1234);
// printf("%d",count);
// pppp();
// 调用Function.h当中声明的函数
// sumSum(1, 5);
// int sum = sumValue1(2, 3);
// int sub = subValue(4, 2);
// printf("%d,%d",sum,sub);
// int max = maxValue(maxValue(maxValue(8, 6), 3), 5);
// printf("%d", max);
// 冒泡函数的调用
// 调用时 传入数组的名字传入的是数组的元素的首地址
int array[5] = {1,3, 4,6, 8};
sortArray(array,5);
return0;
}
void pppp(){
printf("sssss");
}
// 切记 :一般函数的调用在主函数
浙公网安备 33010602011771号