iOS战记

2023-10-24 13:19
文章标签 ios 战记

本文主要是介绍iOS战记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

iOS战记  ----C语言基础语法之战(四)

                                                                                            一个机械设计者的转行之战。

程序员喝酒
大家喝的是啤酒。这时你入座了。
你给自己倒了杯可乐,这叫低配置。
你给自已倒了杯啤酒,这叫标准配置。
你给自己倒了杯茶水,这茶的颜色还跟啤酒一样,这叫木马。
你给自己倒了杯可乐,还滴了几滴醋,不仅颜色跟啤酒一样,而且不冒热气还有泡泡,这叫超级木马。
你的同事给你倒了杯白酒,这叫推荐配置。
人到齐了,酒席开始了。

你先一个人喝了一小口,这叫单元测试。
你跟旁边的人说哥们咱们随意,这叫交叉测试。
但是他说不行,这杯要干了,这叫压力测试。
于是你说那就大家一起来吧,这叫内部测试。
这个时候boss向全场举杯了,这叫公开测试。
菜过三巡,你就不跟他们客气了。
你向对面的人敬酒,这叫p2p.
你向对面的人敬酒,他回敬你,你又再敬他...这叫tcp.
你向一桌人挨个敬酒,这叫令牌环。
你说只要是兄弟就干了这杯,这叫广播。
可是你的上司jj听了不高兴了,只有兄弟么,罚酒三杯。这叫炸弹。
可是你的下级mm听了不高兴了,我喝一口,你喝一杯,这叫恶意攻击。
有一个人过来向这桌敬酒,你说不行你先过了我这关,这叫防火墙。
你的小弟们过来敬你酒,这叫一对多。
你是boss,所有人过来敬你酒,这叫服务器。
酒是一样的,可是喝法是不同的。
你喝了一杯,boss喝了一口,这叫c#。

你喝了一杯,mm喝了一口,这叫vb。

你喝了一杯,你大哥喝了半杯,这叫c++。

你喝了半杯,你小弟喝了一杯,这叫汇编。
你喝了一杯,你的搭档也喝了一杯,这叫c。

酒是一样的,可是喝酒的人是不同的。
你越喝脸越红,这叫频繁分配释放资源。
你越喝脸越白,这叫资源不释放。
你已经醉了,却说我还能喝,叫做资源额度不足。
你明明能喝,却说我已经醉了,叫做资源保留。
你喝一段时间就上厕所,这叫cache。

酒过三巡,你也该活动活动了。
你一桌一桌的走,这叫轮巡。
你突然看到某一桌的漂亮mm,走了过去,这叫优先级。
你去了坐下来就不打算走了,这叫死循环。
你的老大举杯邀你过去,你只好过去,这叫启动事件。
你向一桌敬酒,他们说不行不行我们都喝白的,于是你也喝白的,这叫本地化。
你向boss敬酒,可是boss被围了起来,你只能站在外圈,这叫排队。
你终于到了内圈,小心翼翼的向前一步,这叫访问临界区。
你拍着boss的肩膀说哥们咱们喝一杯,这叫越界。
你不知喝了几圈了,只会说两个字,干了,这叫udp。
可是还有人拿着酒瓶跑过来说,刚才都没跟你喝,这叫丢包。
喝酒喝到最后的结果都一样。
你突然跑向厕所,这叫捕获异常。
你在厕所吐了,反而觉得状态不错,这叫清空内存。
你在台面上吐了,觉得很惭愧,这叫程序异常。
你在boss面前吐了,觉得很害怕,这叫系统崩溃。

你吐到了boss身上,只能索性晕倒了,这叫硬件休克。

~~~~~~~~~~~~~~~~~~@~~~~~~~~~~~~~~~~~

呵呵,下面上传一份C语言的试题,代码我也发上去。感觉有意思的可以自己敲一下,都是基础的练习。

<span style="font-size:14px;">一、项目需求:
1.	创建一对文件Teacher.h  Teacher.m。1分
2.	在Teacher.h中,定义一个Teacher结构体,成员变量包括:姓名、性别、年龄、员工编号、评分。2分
3.	声明一个打印Teacher的函数,void  printTeacher(Teacher *  teacher)。1分 实现部分 4分
4.	定义一个函数指针类型,typedef  BOOL(*CompareFunctionPointer)(Teacher teacher1, Teacher  teacher2);1分
5.	声明一个实现老师数组排序的函数,void sortTeachers(Teacher  teacher[ ] ,int count, CompareFunctionPointer  cfp);1分 实现部分 4分
6.	声明一个打印数组中所有老师的函数,void printTeachers(Teacher * teachers, int count);1分  实现部分4分
7.	分别声明两个比较Teacher姓名的函数:BOOL compareNameByAscending(Teacher  teacher1 , Teacher  teacher2);(升序方式)、BOOL compareNameByDescending(Teacher  teacher1, Teacher  teacher2);(降序方式)。2分  实现部分 8分
8.	分别声明两个比较Teacher员工编号的函数:BOOL compareNumberByAscending(Teacher  teacher1 , Teacher  teacher2);(升序方式)、BOOL compareNumberByDescending(Teacher  teacher1, Teacher  teacher2);(降序方式)2分  实现部分8分
9.	分别声明两个比较Teacher员工评分的函数:BOOL compareScoreByAscending(Teacher  teacher1 , Teacher  teacher2);(升序方式)、BOOL compareScoreByDescending(Teacher  teacher1, Teacher  teacher2);(降序方式)2分 实现部分8分
10.	声明一个输出教师数组中全部男老师的函数,void printMaleTeacher(Teacher * teachers, int count);1分实现部分 4分
11.	声明一个输出教师数组中全部女老师的函数,void printFemaleTeacher(Teacher * teacher, int count);1分实现部分 4分
12.	声明一个枚举FunctionName,其中的每个枚举值于用户从控制台输入的功能数字一一对应。例如:当从控制台输入1时,此时实现按照姓名进行升序排列。 2分  实现部分 8分(以上声明部分共17分  实现部分是52分)
13.	在Teacher.m中,实现上述的全部函数功能。上述声明部分和实现部分一共是69分
15.	在main.m文件中要求:
(1)要求在控制台中,输出用户操作说明。如图:3分(2)创建一个Teacher数组,数组中包含5个Teacher结构体类型的数据。(Teacher的姓名使用拼音,不使用汉字;性别使用‘m’表示男、‘f’表示女,评分使用float类型。)7分
(3)根据控制台输入的数字,控制输出结果:1)使用while循环实现重新输入功能。7分(可以选做使用函数指针调用或者枚举)2) 使用switch…case实现:根据控制台输入的1~8之间的数字,对Teacher数组进行不同排序并输出结果。case的数值使用1~8数字对应的枚举值。6分
3)输入数字1~6,对Teacher数组进行排序,使用sortTeachers 函数、比较函数实现排序,排序后使用printTeachers函数打印输出所有老师信息。4分
4)输入数字7~8,根据性别筛选老师,分别使用printMaleTeacher、printFemaleTeacher函数输出结果。2分
5)如果输入1~8以外的数字,则输出“对不起,您所输入的数字没有对应的函数,请重新输入!!!!”。2分
</span>
~~~~~~~~~~~~~~~~~~@~~~~~~~~~~~~~~~~~

下面是代码,先是main.m中的。

<span style="font-size:14px;">struct Teacher teacher1 = {"xiaoming",'m',16,4,66.6};struct Teacher teacher2 = {"xiaowang",'f',18,3,94.2};struct Teacher teacher3 = {"xiaoli",'f',19,1,68.2};struct Teacher teacher4 = {"xiaomin",'f',22,2,88.5};struct Teacher teacher5 = {"xiaozhao",'m',20,5,73.3};struct Teacher teachers[5] = {teacher1,teacher2,teacher3,teacher4,teacher5};int number = 0;//函数回调while (1) {printf("输入1:实现按照姓名进行升序排列\n");printf("输入2:实现按照姓名进行降序排列\n");printf("输入3:实现按照员工编号进行升序排列\n");printf("输入4:实现按照员工编号进行降序排列\n");printf("输入5:实现按照评分进行升序排列\n");printf("输入6:实现按照评分进行降序排列\n");printf("输入7:实现输出所有的女老师\n");printf("输入8:实现输出所有的女老师\n");printf("================================\n");printf("请输入实现功能对应的数字");scanf("%d",&number);if (number < 7&&number > 0) {sortTeachers(teachers,5,getFunctionByNumber(number));printTeachers(teachers, 5);}else if(number == 7){printFemaleTeachers(teachers, 5);}else if(number == 8){printMaleTeachers(teachers, 5);}else{printf("对不起,您所输入的数字没有对应的函数,请重新输入!!!!\n\n");continue;}break;}</span>

在teacher类里面的代码:Teacher.m里面的代码如下:

<span style="font-size:14px;">#import "Teacher.h"//3、
void printTeacher(struct Teacher *teacher){printf("%s %c %d %d %.2f",teacher->name,teacher->sex,teacher->age,teacher->number,teacher->score);}//4、//5、
void sortTeachers(struct Teacher teacher[],int count,CompareFunctionPointer cfp){for (int i = 0; i < count - 1; i ++) {for (int j = 0; j < count - 1 - i; j ++) {if (cfp(teacher[j],teacher[j + 1])) {struct Teacher temp = teacher[j];temp = teacher[j];teacher[j] = teacher[j + 1];teacher[j + 1] = temp;}}}}//6、
void printTeachers(struct Teacher *teachers,int count){for (int i = 0; i < count; i ++) {printf("%s %c %d %d %g\n",teachers[i].name,teachers[i].sex,teachers[i].age,teachers[i].number,teachers[i].score);}
}//7、
bool compareNameByAscending(struct Teacher teacher1,struct Teacher teacher2){return  strcmp(teacher1.name, teacher2.name) > 0;
}bool compareNameByDescending(struct Teacher teacher1,struct Teacher teacher2){return strcmp(teacher1.name, teacher2.name) < 0;
}
//8、bool compareNumberByAscending(struct Teacher teacher1,struct Teacher teacher2){return teacher1.number > teacher2.number;
}bool compareNumberByDescending(struct Teacher teacher1,struct Teacher teacher2){
return teacher1.number < teacher2.number;
}
//9、bool compareScoreByAscending(struct Teacher teacher1,struct Teacher teacher2){return teacher1.score > teacher2.score;
}bool compareScoreByDescending(struct Teacher teacher1,struct Teacher teacher2){return teacher1.score < teacher2.score;
}
//10、
void printMaleTeachers(struct Teacher *teachers,int count){for (int i = 0; i < count; i ++) {if (teachers[i].sex == 'm') {printTeacher(&teachers[i]);}}}
//11、
void printFemaleTeachers(struct Teacher *teachers,int count){for (int i = 0; i < count; i ++) {if (teachers[i].sex == 'f') {printTeacher(&teachers[i]);}}}//12、CompareFunctionPointer getFunctionByNumber(int number){struct FunctionName fun1 = {1,compareNameByAscending};struct FunctionName fun2 = {2,compareNameByDescending};struct FunctionName fun3 = {3,compareNumberByAscending};struct FunctionName fun4 = {4,compareNumberByDescending};struct FunctionName fun5 = {5,compareScoreByAscending};struct FunctionName fun6 = {6,compareScoreByDescending};struct FunctionName function[6] = {fun1,fun2,fun3,fun4,fun5,fun6};for (int i = 0; i < 6; i ++) {if (function[i].Number == number) {return function[i].functionNumber;}}return function[0].functionNumber;}
</span>
Teacher.h里面的代码如下:
<span style="font-size:14px;">//2、
struct Teacher{char name[30];char sex;int age;int number;float score;
};//3、
void printTeacher(struct Teacher *teacher);//4、
typedef bool (*CompareFunctionPointer)(struct Teacher teacher1,struct Teacher teacher2);//5、
void sortTeachers(struct Teacher teacher[],int count,CompareFunctionPointer cfp);//6、
void printTeachers(struct Teacher *teachers,int count);//7、bool compareNameByAscending(struct Teacher teacher1,struct Teacher teacher2);bool compareNameByDescending(struct Teacher teacher1,struct Teacher teacher2);
//升序排序
void sortName1(struct Teacher *teacher,int count);
//降序排序
void sortName2(struct Teacher *teacher,int count);//8、bool compareNumberByAscending(struct Teacher teacher1,struct Teacher teacher2);bool compareNumberByDescending(struct Teacher teacher1,struct Teacher teacher2);//升序排序
void sortNumber1(struct Teacher *teacher,int count);
//降序排序
void sortNumber2(struct Teacher *teacher,int count);//9、
bool compareScoreByAscending(struct Teacher teacher1,struct Teacher teacher2);bool compareScoreByDescending(struct Teacher teacher1,struct Teacher teacher2);//升序排序
void sortScore1(struct Teacher *teacher,int count);
//降序排序
void sortScore2(struct Teacher *teacher,int count);//10、
void printMaleTeachers(struct Teacher *teachers,int count);//11、
void printFemaleTeachers(struct Teacher *teachers,int count);//12、
//typedef bool(*PFUN) (struct Teacher teacher1,struct Teacher teacher2);
//
//PFUN getFunctionByNumber(int *p);
//
//struct FunctionName{
//    int Number;
//    PFUN functionNumber;
//
//};CompareFunctionPointer getFunctionByNumber(int number);struct FunctionName{int Number;CompareFunctionPointer functionNumber;};</span>


这篇关于iOS战记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/275417

相关文章

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

【iOS】MVC模式

MVC模式 MVC模式MVC模式demo MVC模式 MVC模式全称为model(模型)view(视图)controller(控制器),他分为三个不同的层分别负责不同的职责。 View:该层用于存放视图,该层中我们可以对页面及控件进行布局。Model:模型一般都拥有很好的可复用性,在该层中,我们可以统一管理一些数据。Controlller:该层充当一个CPU的功能,即该应用程序

iOS剪贴板同步到Windows剪贴板(无需安装软件的方案)

摘要 剪贴板同步能够提高很多的效率,免去复制、发送、复制、粘贴的步骤,只需要在手机上复制,就可以直接在电脑上 ctrl+v 粘贴,这方面在 Apple 设备中是做的非常好的,Apple 设备之间的剪贴板同步功能(Universal Clipboard)确实非常方便,它可以在 iPhone、iPad 和 Mac 之间无缝传输剪贴板内容,从而大大提高工作效率。 但是,iPhone 如何和 Wind

iOS项目发布提交出现invalid code signing entitlements错误。

1、进入开发者账号,选择App IDs,找到自己项目对应的AppId,点击进去编辑, 2、看下错误提示出现  --Specifically, value "CVYZ6723728.*" for key "com.apple.developer.ubiquity-container-identifiers" in XX is not supported.-- 这样的错误提示 将ubiquity

我的第一次份实习工作-iOS实习生-第三个月

第三个月 这个月有一个考核项目,是一个电子书阅读器,组长说很重要,是我的实习考核项目。 我的项目XTReader,这是我参考网上的一些代码,和模仿咪咕阅读做的,功能还不完善,数据的部分是用聚合数据做的。要收费的。   还有阅读页面,基本功能实现了一下。使用了autolayout,自适应布局,也是第一次用网络,第一次用数据库,第一次用自动布局。还有很多不足。 做了一周多,有个问题一直没

我的第一次份实习工作-iOS实习生-公司使用过的软件

bittorrentsync 素材,文件同步软件 cornerstone svn 软件开发合作 mark man 测量坐标的软件 SQLLite Manager 数据库操作软件

我的第一次份实习工作-iOS实习生-第二个月

第二个月 来公司过了一个月了。每天早上9点上班,到晚上6.30下班,上下班要指纹打卡,第一个月忘了打卡好多次(),然后还要去补打卡单。公司这边还安排了,工资卡办理,招商银行卡。开了一次新员工大会,认识了公司的一些过往,公司的要求等,还加了一下公司的企业QQ,还有其他的羽毛球群,篮球群。我加了下羽毛球群,也去打了一两次。第二个月的感受,感觉跟组里面的交流跟沟通都好少,基本上还有好多人不认识。想想也

我的第一次份实习工作-iOS实习生-第一个月

实习时间:2015-08-20 到 2015-12-25  实习公司;福建天棣互联有限公司 实习岗位:iOS开发实习生 第一个月: 第一天来公司,前台报道后,人资带我去我工作的地方。到了那,就由一个组长带我,当时还没有我的办公桌,组长在第三排给我找了一个位置,擦了下桌子,把旁边的准备的电脑帮我装了下,因为学的是iOS,实习生就只能用黑苹果了,这是我实习用的电脑。 帮我装了一下电脑后,开机

iOS如何隐藏系统状态栏

这里主要说明一下iOS7系统给状态栏的适配及隐藏带来的改变。 变化一: 不隐藏状态栏的情况下,StatusBar会直接显示在当前页面上,当前页面的会延伸到 StatusBar下方,顶到最上头。 这种显示方式在iOS7上是无法改变的,也无法通过设置或者配置类达到iOS6的状态栏效果。       所以在iOS7上进行页面布局的时候要考虑

ios %.2f是四舍五入吗?

实事上这个“四舍五入”并不是数学上的“四舍五入”,而是“四舍六入五成双”,英文中被称为”round half to even”或”Banker’s rounding”。 “四舍六入五成双”是指,当保留精度的下一位不是5时,按正常的四舍五入;当保留精度的下一位是5时,如果5的后面为0则舍弃;而如果5的后面还有大于0的部分时,则无论5的前一位是奇数还是偶数,都进行进位。 1.当保留精度的下一位不是