iOS培训-c语言基础学习
来源:互联网 发布:数据之巅涂子沛txt下载 编辑:程序博客网 时间:2024/05/17 06:17
由于iOS的火热,学校也在我们即将找工作之前为我们开设了各种实习培训,我一直都喜欢iOS开发,开发的效率特别高(之前开发一个小的iOS应用),感觉特别好用。遗憾的是这次培训的内容是一些基础的东西,不过从睿峰公司过来的老师确实可以,他们好敬业,而且很有耐心,于是就跟着重新学习了一下,也省去了我重新整理iOS方面的知识,省的下次重新接触iOS的时候没有那么陌生(我已经在学校的实验室学习android的将近2年了,所以即将毕业的我会选择android方面的工作),以后有机会再去深究它吧,不过先mark一下,供以后使用。
第一天讲的东西不是很多,主要讲的是一些c语言方面的东西
Funcitons.h文件内容如下:
#ifndef __HelloWorld__Funcitons__#define __HelloWorld__Funcitons__#include <stdio.h>//声明一个加法函数int add(int number1,int number2);#endifFuncitons.c文件内容如下:
#include "Funcitons.h"int add(int number1,int number2){ return number1 + number2;}main.c文件内容如下:
//以下两行中<>表示系统会先从系统自身查找stdio.h文件,如果找不到,再到自己写的地方找;//""与<>类似,先到自己写的找Funcitons.h文件,找不到再到系统中找#include <stdio.h>//预编译的时候将stdio.h文件里的全部内容拷贝到此处#include "Funcitons.h"//预编译的时候将Funcitons.h文件里的全部内容拷贝到此处/* 宏定义 */#define PI 3.14//方法的声明void printStudent();//方法的定义void printStudent() { printf("你好,重庆");}int main(int argc, const char * argv[]) { //===========基本数据类型:int float double char //===========基本运算符:加减乘除取余 //===========流程控制:顺序选择,选择,循环(排序) //===========一维数组 //===========二维数组 //===========指针 int _score=10; int *p=&_score; printf("\nsocre=%d\n\n",*p); //=================================结构体(Student) struct Student{ int sid;//学号 char *name;//姓名 int score;//成绩 }; printStudent();//内部方法调用 int sum = add(1, 2);//外部方法调用 printf("\n\nsum=%d",sum); return 0;}
1. main.c文件上边#include两行指的是引入头文件的原理,但是为了避免重复引用,使用了#ifndef和#endif搭配使用,Funcitons.c文件就使用了此方法避免重复引用;如果#include Funcitons.h 的时候已经定义__HelloWorld__Funcitons__了,里边的内容将不被拷贝到此处,也就避免内容重复引入此文件中。
2. 结构体的讲解由一个demo很好地诠释了它的使用
学生成绩显示demo:该应用使用Student结构体,利用算法按总成绩排序展示学生成绩(如果了解结构体,下文可以不用看,但是按总成绩排序显示的算法可以看一哈)
Functions.h文件内容如下:
#ifndef __StudentManageSystem__Functions__#define __StudentManageSystem__Functions__#include <stdio.h>//方法声明double average(double number1,double number2,double number3);//平均成绩double add(double number1,double number2,double number3);//累加int * returnIndexs(double sourceArray[],int len);//根据数组值大小排序#endifFunctions.c文件内容如下:
#include "Functions.h"//方法定义double average(double number1,double number2,double number3){ return (number1+number2+number3)/3;}//方法定义double add(double number1,double number2,double number3){ return number1+number2+number3;}//方法定义//按总成绩数组排序,用一个数组记住排序,该sourceArray数组结构改变,要备份一下int * returnIndexs(double sourceArray[],int len){ int index[len]; for (int i=0; i<len; i++) { index[i] = i; } for (int j=0;j <len;j++) { for (int i=len-2;i >= j;i--) if (sourceArray[i] > sourceArray[i+1]) { double t=sourceArray[i]; sourceArray[i]=sourceArray[i+1]; sourceArray[i+1]=t; int tt = index[i]; index[i] = index[i+1]; index[i+1] = tt; } } return index;}
main.c文件内容如下:
#include <stdio.h>#include "Functions.h"#define SIZE 5int main(int argc, const char * argv[]) { struct Student{ int sid; double score_Chinese; double score_English; double score_Math; }; struct Student students[5]; //第一个学生 students[0].sid = 1001; students[0].score_Chinese = 60; students[0].score_English = 60; students[0].score_Math = 60; //第二个学生 students[1].sid = 1002; students[1].score_Chinese = 70; students[1].score_English = 70; students[1].score_Math = 70; //第三个学生 students[2].sid = 1003; students[2].score_Chinese = 90; students[2].score_English = 90; students[2].score_Math = 90; //第四个学生 students[3].sid = 1004; students[3].score_Chinese = 80; students[3].score_English = 80; students[3].score_Math = 80; //第五个学生 students[4].sid = 1005; students[4].score_Chinese = 100; students[4].score_English = 100; students[4].score_Math = 100; double sums[SIZE]; double sums_backup[SIZE]; double averages[SIZE]; for (int i=0;i<SIZE;i++) { sums[i] = add(students[i].score_Chinese,students[i].score_English ,students[i].score_Math); sums_backup[i] = sums[i]; averages[i] = average(students[i].score_Chinese,students[i].score_English ,students[i].score_Math); } int *index0 = returnIndexs(sums, SIZE); int index[SIZE]; for (int i=0; i<SIZE; i++) { index[i] = index0[i]; } for (int i=0; i<SIZE; i++) { printf("\n"); printf("学号:%d\n",students[index[i]].sid); printf("语文成绩:%f\n",students[index[i]].score_Chinese); printf("英语成绩:%f\n",students[index[i]].score_English); printf("数学成绩:%f\n",students[index[i]].score_Math); printf("总成绩:%f\n",sums_backup[index[i]]); printf("平均成绩:%f\n",averages[index[i]]); } return 0;}
运行结果如下:
0 0
- iOS培训-c语言基础学习
- IOS学习---C语言基础学习2
- IOS学习--C语言基础学习4
- IOS学习---C语言基础学习5
- IOS学习---C语言基础学习6
- IOS开发学习基础--------C语言(一)
- IOS开发学习基础--------C语言(二)
- IOS开发学习基础--------C语言(三)
- IOS开发学习基础--------C语言(四)
- IOS开发学习基础--------C语言(五)
- IOS开发学习基础--------C语言(六)
- java培训之C语言基础
- 黑马IOS基础课程的学习笔记 C语言基础
- 培训 学习总结(C语言)
- 黑马训练营--IOS学习---C语言基础学习3
- IOS学习---C语言基础学习7(指针)
- IOS学习---C语言基础学习7(预处理指令)
- c语言基础学习
- android压力测试工具monkey
- 禁止右键js
- 基本控件UIImageView的帧动画
- C#笔记 使用杂项
- Java集合类:Collection接口常用方法
- iOS培训-c语言基础学习
- C#嵌套类的使用方法及特性
- 一点新技能:Maven学习系列001
- C语言用头文件用引号和中括号的区别
- 需求分析方法和实践
- oracle函数调用存储过程
- 扒照片
- "执行存储过程"“为过程或函数指定了过多的参数”的错误 .
- 在bootstrap模态框里面使用ueditor