首页 > 其他 > 详细

ios学习记录 day9

时间:2014-03-12 03:22:26      阅读:515      评论:0      收藏:0      [点我收藏+]

1.递归函数  函数体内调用和函数相同的另一个函数

课上练习:

1)计算:s=5!

long value (int x)
{
    if(x < 2){
        return 1;
    }
    return x * value(x - 1);
}//递归函数

2).return 类似于break,没有返回值return 结束

void printNum(int x){
    if (x < 1) {
        return;
    }
    printNum(x - 1);//         printf("%d\n",x);
    printf("%d\n",x);//顺序   printNum(x - 1);//逆序
}
3).10进制转换2进制

void er(int x){
    int n = 0;
    n = x % 2;
    x /= 2;
    if (x > 0) {
        er(x);
    }
    printf("%d",n);

 

2.结构体   (是一种类型)

结构体也是构造类型.比数组更灵活,可以放基本数据类型 数组 结构体.

定义:

struct 结构体名

{

类型 成员名;

类型 成员名;

........

};//分号不可少

3.内存占用:结构体所占的空间可以简单的认为是各个成员所占内存空间之和,实际是最大成员变量所占空间的最小整数倍.

   字符型数据较特殊 挨着的前面有剩余内存的也用 其它的如果不是正好的不能用

4.typedef 原类型 新类型//类型重定义

1)struct person{
    int age;
    char name[20];
    char sex;
};

typedef struct person Person;

2)typedef truct person{
    int age;
    char name[20];
    char sex;
}Person;

5.结构体成员调用

    per1.age = 99;
    strcpy(per1.name, "longdd");
    printPerson(per1);
    Person per3 = per2;

 

    Person min = per1.age < per2.age ? per1 : per2 ;
    min = min.age < per3.age ? min : per3 ;

6.结构体嵌套 成员的访问

typedef struct myorigin{
    float x;
    float y;
}MyOrigin;
typedef struct size{
    float width;
    float height;
}MySize;
typedef struct myrect{
    MyOrigin origin;
    MySize size;
}MyRect;

 

int main(int argc, const char * argv[])
{

    MyRect rect = {{3,5},{100,100}};
    rect.origin.x = 15;
    rect.size.width = 150;
    return 0;
}

7.结构体数组

struct person{
    int age;
    char name[20];
    char sex;
};//分号不能少!
typedef struct person Person;//类型重新定义struct person为Person

void printPerson(Person per){
    printf("%d\n%s\n%c\n",per.age,per.name,per.sex);
}

int main(int argc, const char * argv[])
{

    Person per1 = {26,"ZhaoYunlong",‘f‘};
    Person per2 = {23,"ShenQingjun",‘m‘};
    Person per3 = {26,"LiuChundong",‘f‘};
    Person per4 = {26,"LiXiaolong",‘m‘};
    Person per5 = {29,"YangKun",‘m‘};
    
    Person per[5] = {{26,"ZhaoYunlong",‘f‘},per2,per3,per4,per5};
    Person maxAge = {0};
    for (int i = 0; i < 5; i++) {
        if (maxAge.age < per[i].age) {
            maxAge = per[i];
        }
    }
    printPerson(maxAge);
    
    for (int i = 0; i < 5 - 1; i++) {
        for (int j = 0; j < 5 - i - 1; j++) {
            if (per[j].age < per[j + 1].age) {
                Person temp = per[j];
                per[j] = per[j + 1];
                per[j + 1] = temp;
            }
        }
    }
    for (int i = 0; i < 5; i++) {
        printPerson(per[i]);
    }
return 0;
}

 

作业:

1、定义一个结构体变量(包含年月日),计算该日在本年中为第几天?要求写一个days函数。参数是此结构体类型的变量,返回值是整数。
2、模拟n个人参加选举的过程,四个候选人A、B、C、D。若选举某人直接输入其编号,最后按获得票数从高到低排序并输出候选人编号和票数。

3、某班5个学生,3门课,编写3个函数实现以下功能:
(1)求各门课的平均分
(2)找出三门都不及格的学生,输出其全部信息
(3)找出3门课平均分在80-90之间的学生,输出其信息。

ios学习记录 day9,布布扣,bubuko.com

ios学习记录 day9

原文:http://www.cnblogs.com/lxllanou/p/3593727.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!