一,C语言部分
1.函数:函数是一块代码,接收零个或者多个参数,做sth,并返回零个或者多个值
例:
void sum (int begin,int end)//这一行,整体是一个函数头;
//void是返回类型,sum是函数名,括号中能够的部分是参数表,其中的参数以逗号隔开
{
int i;
int sum=0;
for (i=begin;i<=end;i++){
......
}
printf("%d %d %d",begin,end,sum);
}//花括号中的被称为函数体
2.调用函数:函数名(参数值);例如上方的 sum(int begin,int end)
这里()表示函数调用,即使无参也需要有()
如果有参数,需要给出正确是数量与顺序,这些值会按照顺序依次用于初始化函数中的参数
void sum (int begin,int end)
{
int i;
int sum=0;
for (i=begin;i<=end;i++){
......
}
printf("%d %d %d",begin,end,sum);
}
int main()
//程序运行到这里时,会将1与10分别赋给begin与end
//整体上回到开头并且执行上边中定义的函数
//下方也是同理(依次)
{
sum(1,10);
sum(20,30);
sum(35,45);
return 0;
}
3.函数返回:函数知道每一次是哪里调用它,会返回到正确的地方(即回到调用它的位置的下方)
例如:
第一次结束后——sum(20,30);
第二次结束后——sum(35,45);
第三次结束后——return 0;
4.从函数中返回值
return停止函数的执行并且送回一个值
两种:
(1)return;
(2)return 表达式;(表达式当然也可以是一个单一的变量)
第二种的意思是,将这个值交给调用此函数的地方
(多个return就是多出口,但是并不建议这样做,应当遵循单一输出原则)
返回的这个值,可以用于
(1)赋值变量(2)可以在传递给函数(3)甚至可以丢弃
若要做一个没有返回值的函数,则使用 :void 函数名(参数表)
注意:不能使用带值的return,可以没有return,调用时不能做返回值的赋值
5.函数的先后关系
void sum (int begin,int end)
{
int i;
int sum=0;
for (i=begin;i<=end;i++){
......
}
printf("%d %d %d",begin,end,sum);
}
int main()
{
sum(1,10);
sum(20,30);
sum(35,45);
return 0;
}
这样的将sum()写在上面,因为:
(1) C编译器自上而下顺序分析你的代码;
(2)在看到sum(1,10)时,它需要知道sum()的样子;
(3)所谓sun()的样子,一是它需要几个参数,二是每个参数的类型,三是返回什么类型
这样编译器才能检查你对sum()的调用是否正确
6.若将函数置于后方(便于看门见山的看见主函数),就要使用
函数原型来进行声明(在main()前声明)
函数原型:就是函数头以”:“结尾
函数原型的目的是告诉编译器这个函数长什么样(名称,参数(数量+类型),返回类型)
函数原型一般写在调用它的函数前面
原型中可以不写参数名字(写上为妙,这样方便阅读 编译器不会检查参数名称,仅仅检查参数的类型)
7.传值 (C语言在调用函数时,永远只能传值给函数)
每个函数有自己的变量空间,参数也位于这个独立的空间之中,与其他参数没有关系
对于函数参数表中的参数,我们可以直接称之为参数
调用函数时给的值,我们称之为值
例如
void swap (int a,int b);//这里是参数
int main()
{
int a=5;
int b=6;
swap (a,b);//这里是值
printf("a=%d b=%d",a,b);
return 0;
}
void swap(int a,int b)//这里是参数
{
int t=a;
a=b;
b=t;
}
8.本地变量(函数自己的变量空间之中的变量)(有时也会被叫做局部变量或者自动变量)
(1)函数每次运行就会产生一个独立的变量空间,在这个变量空间之中的变量,是函数这次运行所独有的,称为本地变量;
(2)定义在函数内部的变量就是本地变量;
(3)函数的参数表里的参数也是本地变量(有一样的生存区与作用域);
9.变量的生存期与作用域
(1)生存期:这个变量什么时候出现了,到什么时候消亡了;
(2)作用域:在代码的什么范围内可以访问这个变量(这个变量可以起作用);
(3)对于本地变量,这两个问题的答案都是”花括号内{}“
10.本地变量的规则
(1)本地变量是定义在块内的,也可以是定义在函数的块内,也可以是定义在语句的块内,甚至可以随便拉一对大括号来定义变量;
(2)程序运行进入这个块之前,其中的变量不存在,离开这个块,其中的变量就消失了;
(3)块外面的定义的变量在里面仍然有效;
(4)块里面定义了和外面同名的变量时,外面的变量会被遮盖;
(5)不能在一个块内定义同名的变量;
(6)本地变量不会被默认初始化;
(7)参数进入函数时就被初始化了。(所以调用函数时一定要给参数对应的值,这个值就会在进入函数时初始化参数)
二,设计部分
视觉是人类在认识世界、获得信息的各种感知方式中,最重要的一种方式,也是人类接受信息量最大的一种知觉工具。单从方正结构上讲,具有高度严谨的比例,体现着严谨、庄重、理性的构成特点。汉字又是由许许多不同形状的笔画组合而成的,这些笔画本身往往也是一个汉字,笔画自身又具有不同的特点与适应性。从组合方式上看,有独体字,有合体字;合体字又有左右结构式,也有上下结构;有包围结构,也有半包围结构;有的是由两个偏傍组成,也有的是由几个偏傍组成。汉字的这些结构特征具有稳定性,稳定之中又有美和变化。
加笔画与减笔画,不是错别字-----意料之外的汉字设计
实验性、趣味性、艺术性、设计性
少即是多
错误未必不是办法
拓片形式的利用
同时辅以立体或者错位空间的方式,也会有很好的效果