一
1、Mac系统简介—基本功能
1.1commad+空格 切换输入法
1.2系统自带截屏功能(command+shift+3、command+shift+4)
1.3所有设置都可以通过“偏好设置”来调整(快捷键是command+,)
1.4ctrl+左右键切换桌面,ctrl+上键添加桌面
1.5 command+shift+删除键 清空废纸篓
1.6应用程序切换command+tab
1.7退出当前应用 command+Q
1.8关闭当前窗口command+w
2、Xcode
二
1、C语言基础
1.1进制转换方法:按权求和、连除倒取余(10进制转化为其他进制的方法)
1.2二进制用B表示,八进制用0表示,十进制用H表示,十六进制用0X表示
1.3注释(单行和多行注释)
1.4、基本数据类型:char 、int、short、long、float、double
1.5、sizeof的使用方法,sizeof输出值使用%lu;
1.6、常量:程序运行期间不可改变的量。
1.7、float类型最大可以表示6位小数精度,而double类型最大可以表示15位小数精度。double在32位系统中占用4个字节,在64位系统中占用8个字节。但是double类型在默认情况下,输出小数点后6位,我们通常要减少其小数点后的长度。则可以使用 “%m.nlf"的形式,其中m和n都为正整数。m表示输出的浮点型的数据占m位,如果实际长度不等于m,则按实际长度输出,n表示输出的小数点位数。所以说,m实际上可以不用管,直接用0代替或者不写都可以!
1.8、记住下面的格式化字符串:
记住下面的格式化字符串:
Code 格式:
%% 一个'%'符号
%c 字符
%d 带符号整数
%i 带符号整数
%e 科学计数法, 使用小写"e"
%E 科学计数法, 使用大写"E"
%f 浮点数
%g 使用%e或%f中较短的一个
%G 使用%E或%f中较短的一个
%o 八进制
%s 一串字符
%u 无符号整数
%x 无符号十六进制数, 用小写字母
%X 无符号十六进制数, 用大写字母
%p 一个指针
%n 参数应该是一个指向一个整数的指针
指向的是字符数放置的位置
1.9、command+反斜杠 添加断点
2.0、C中共有32个关键字
2.1、表达式:常量、变量和运算符的有效合理组合,表达式都有值;
三
1.1、Bool类型:非0即为真。只有真和假两种状态。(在标准的C语言中是没有bool类型的,从C99版本开始添加bool类型)在OC中使用YES表示真,使用NO表示假;其他语言,一般使用true表示真,使用false表示假;
1.2、关系运算符
1.3、逻辑运算符
1.4、运算符优先级:算数运算符>关系运算符>逻辑运算符>赋值运算符
1.5、逻辑运算符
1.6、C中的三种结构:顺序结构、分支结构、循环结构
1.7、switch语句中的变量和case值都必须是整形,而不能是其他类型;
1.8、数据类型分为基本数据类型和特殊类型,特殊类型包括bool型和构造类型,构造类型又包括枚举、数组等;
1.9、注意枚举类型的学习;
2.0、typedef的使用方法。
四
1、while循环,do-while循环,for循环;
2、随机数 arc4random()的使用方法, arc4random();输出随机数的类型是unsigned int类型,数据范围为0--2^31-1;
3、求最大值的时候,max定义的初始值不能比任何一个随机数大,而求最小值的时候,min定义的初始值不能比任何一个随机数小;
4、循环结构药店:循环初始值—决定循环从哪开始;
循环条件—决定循环是否继续进行(什么时候结束)
循环体—决定我要干什么(内容)
循环增量—计数的功能(防止死循环)
5、c/oc中m的n次方可以使用函数pow(m,n);
6、变量起名规则:变量名字只能有数字、字母、下划线组成,且不能由数字开头;不能和系统的关键字重名;同一作用域变量名不能重名;变量名见名知意;
7、数组 int a[10];它的数据类型是int [10],而变量名是a;
8、字符数组定义方式:char string[10]={‘a’,’b’,’c’,’d’,’e’};
char string[10]=“abcde”;有一个隐形的 字符;
char *string=“abcde”;有一个隐形的 字符;
9、有’ ’结束标识的字符数组也称为字符串。
系统提供的字符串处理函数包括:
strlen();计算字符串(有效)长度, 不包括’ ’的长度;例如:char string[]=“ios”;字符串长度是3个字符,而内存分配的空间是4个字符。
strcpy();字符串拷贝,例:strcpy(b, a);
strcat();字符串拼接
strm p();字符串比较
字符串所占的空间 ⾄至少要⽐比 字符串⻓长度⼤大1,因为 字符串以 ‘ ’ 表⽰示结束。系统提供的字符串处理函 数都是根据 ‘ ’ 来判断字符串是否结束 。
10、char类型可以使用%d打印其ASCII码,也可以使用%c打印其值,其中char默认为 signed char,其取值范围为-128到127,也可以定义为unsigned char,其取值范围为0到256;
例子:int main(int argc, char *argv[])
{
unsigned char str[10], i;
for(i = 0; i < 255; i++) //有256改为255
printf("%d ", i);
printf("%d", i);
// printf("%d ", i);
printf("addbhakdhkj");
str[i] = i;
printf("%d ",i);
printf("%c ",i);
return 0;
}
/*13、(***)模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A、B、C、D表示,当选某候选人时,直接输入其编号(编号由计算机随机产生),
若输入的不是A、B、C、D则视为无效票,选举结束后按得票数从高到低输出候选人编号和所得票数。
*/(第四堂课作业),注意加法的实现和排序(*******把人名和票数捆绑*********)重要、、重要
//使用随机数+数组实现
int main()
{
int people_num;
printf("输入群众人数:");
scanf("%d",&people_num); //群众人数输入
int candidate = 0; //候选人序号
int tickets[4]={0,0,0,0}; //候选人票数a[0],代表A的票数
char people[4]={'A','B','C','D'};
printf("产生的随机票为:");
for (int i = 0; i < people_num; i++)
{
candidate=arc4random()%(4-0+1);//产生随机票,0代表A,1代表B,2代表C,3代表D,4
printf("%d ",candidate);
if (candidate > 3){
continue;
}else{
tickets[candidate]++;
}
}
for ( int i = 0; i <4-1; i++) {
for (int j = 0; j< 4 - i -1; j++) {
if (tickets[j] < tickets[j+1]) {
int temp = 0;
temp = tickets[j];
tickets[j] = tickets[j+1];
tickets[j+1] = temp;
char temp2 = '0';
temp2 = people[j];
people[j] = people[j+1];
people[j+1] = temp2;
}
}
}
printf(" ");
for (int i = 0; i< 4; i++) {
printf("%c得票%d ",people[i], tickets[i]);
}
return 0;
}
作业:注意作业中通过数组实现某些过程会特别方便,例如打印*组成的菱形可以通过定义两个数组,一个存放空格,另外一个存放*,这样可以很方便的实现打印的过程。