《C程序设计》重点总结(共4篇)
早晨: 06:40
起床
07:20——08:20 上午: 08:30——10:30 10:50——11:30 中午: 12:00——02:00
下午: 02:30——04:30
晚上: 05:30——08:00 08:00——09:00 09:00——11:00
11:30
英语 1小时
新概念英语(单词、语法、听读背)大学英语(单词、语法、听读背)
计算机基础 2小时 计算机科学技术导论 计算机组成原理 微机原理及接口技术
Intel微处理器结构编程与接口 深入理解计算机系统 80x86汇编语言程序设计
8086-8088宏汇编语言程序设计教程 BIOS研发技术剖析 自己动手写操作系统 操作系统原理
Windows操作系统原理 Windows内部原理系列 Windows程序内部运行原理 计算机网络第五版
午休
计算机应用及编程
Windows用户管理指南、AD配置指南、网络专业指南、Windows即学即会教程
Windows下32位汇编语言程序设计、C#编程 锻炼、晚餐 辅导
专业基础 2小时
大学数学、大学物理、电机及拖动、电力电子技术、通信技术 休息
目 录
第一章 C语言概述.................................................................................................................................1.1 C程序结构特点16................................................................................................................1.2 C程序上机步骤17...................................................................................................................第二章 程序的灵魂——算法23............................................................................................................2.1 算法24.....................................................................................................................................2.2 算法的三种基本结构...............................................................................................................2.3 结构化程序设计方法42..........................................................................................................第三章 数据类型 运算符与表达式48..................................................................................................3.1 C语言的基本元素48...............................................................................................................3.2 C的数据类型48.......................................................................................................................3.3 常量与变量48..........................................................................................................................3.4 基本类型...................................................................................................................................3.5 变量63.....................................................................................................................................3.6 不同类型数据间的混合运算...................................................................................................3.7 函数的调用过程(补充).......................................................................................................第四章 最简单的C程序设计——顺序程序设计77...........................................................................4.1 字符数据的输入输出...............................................................................................................第五章 选择结构的程序设计97............................................................................................................第六章 循环结构程序设计.....................................................................................................................6.1 语句标号...................................................................................................................................6.2 break语句和continue语句......................................................................................................第七章 数组132......................................................................................................................................7.1 构造类型...................................................................................................................................7.2 数组133...................................................................................................................................7.3 二维数组...................................................................................................................................7.4 字符串——字符数组...............................................................................................................7.5 字符串处理函数 #include
1.1 C程序结构特点16
1、C程序的基本构件——函数。
2、一个函数由函数首部和函数体两部分构成。
函数首部一般包括函数类型、函数名、函数参数等。
函数体一般包括声明部分和执行部分。其中:在声明部分中定义所用到的变量;执行部分则由若干个语句组成。
3、C程序只有一个main函数,且总是从main函数开始执行。
4、C语言语句必须以“;”结束。
5、用/*
*/作为注释。
6、C编译器一般自顶向下顺序编译C源程序,如果被调函数定义在主调函数之后位置时,要在主调函数前,给出被调函数的原型说明。以便编译器在编译被调函数的调用语句时,对调用语句进行参数检查。
如果不进行原型说明,则无法通过编译检查。
原型说明:类型说明 函数名(参数类型,参数类型,„„)
7、头文件——头文件包含了C语言的标准函数库的原型说明。
C语言通过使用#include <>预处理命令,将库函数的原型说明插入到源文件中。
1.2 C程序上机步骤17
1、编辑源文件.c;
2、编译成目标文件.obj;
3、连接——将目标程序和库函数及其他目标程序连接起来,生产可执行文件,文件扩展名为.exe;
4、执行。
结构体、共用体、枚举型。
3、指针类型:用于存储地址的一类数据类型。
4、空类型:
编译器根据变量的数据类型,给变量分配存储单元。
3.3 常量与变量48
1、符号常量——符号常量在其作用域内不能改变,也不能被赋值。#define 符号常量(大写)常量
2、变量——变量由变量名和变量值标识。数据类型 变量;
变量名实际上是一个符号地址,编译连接程序时给每个变量名分配一个内存地址,当程序访问变量值时,实际上是通过变量名找到相应的内存地址,从其存储单元中读取数据。
3.4 基本类型
1、整形数据在内存中的存放,是以补码形式存放的。
2、实型数据:单精度 双精度。 在内存中以指数形势存放。
若数据超过有效位,则超过C语言规定有效位的数据将被舍去,故产生误差。
3、字符型数据:用一个字节存储单元存储。即将字符的ASCII码存储到内存单元中。
用单引号括起来的一个字符。
转义字符——特殊字符常量或者控制字符常量,它们都以“”开头。 Char、unsigned char区别:char用7位数表示,最大表示编码为127的字符;unsigned char用8位数表示,最大表示编码为255的字符。 字符数据与整型数据可以相互赋值。
字符数据可以以字符数据输出,也可以以整型数据形式输出。
4、字符串常量:C语言中,必须是用字符数组来保存字符串常量。在内存中顺序存储。
用一对双引号括起来的字符序列。
(2)一般把建立存储空间的声明称为变量定义,把不需要建立存储空间的声明成为变量声明。
3.6 不同类型数据间的混合运算
不同类型数据进行混合运算时,不同类型的数据要先转换成同一类型,按照类型级别由低到高(char,short—int——unsigned—long—double;float—double)的顺序进行转换。
强制类型转换——(类型名)表达式。强制类型转换也就是将存储数据的内存单元强制转换为另一种数据类型的单元大小。即强制将存放数据的内存单元改变。
赋值时进行类型转换:将数据复制给变量时,将会将数据强制转换为要赋值变量的类型。一般短类型转换为长类型时,进行符号扩展;长类型转换为短类型时,仅赋值低位,难以保证数据的正确性。
3.7 函数的调用过程(补充)
C函数其实就是一个程序模块。
C函数在编译时,单独编译成一个指令模块,在函数模块开始处定义保护现场指令,将用到的CPU寄存器压入堆栈。在返回时定义了恢复现场指令,将堆栈数据恢复到CPU寄存器。
在调用函数时,一般利用堆栈传递输入参数;利用EAX传递输出参数,注意在函数调用完成后,要维持堆栈平衡,且函数返回输出参数在EAX中,在使用输出参数前,不要改变EAX的值。
第四章 最简单的C程序设计——顺序程序设计77 4.1 字符数据的输入输出
1、C语言没有输入输出语句,IO操作通过调用系统函数实现。
2、在程序的开头,要有:#include “stdio.h”或 #include
stdio.h 输入输出语句
2、数组——数组必须先定义后引用。静态数组变量定义时编译器自动初始化数据元素为0,动态数组变量在程序执行时分配存储空间,在未被赋值初始化之前其值随机。
3、C语言只能逐个引用数组元素,不能一次引用整个数组。
4、数组引用是“数组名+下标”引用,数组下标均为整数。如a[2]。
7.3 二维数组
1、数组元素为数组。
2、在内存中,C语言的二维数组中数组元素的存放顺序是按行存放的。
3、二维数组引用是“数组名+下标+下标”。如a[1][2]。
7.4 字符串——字符数组
1、一般用来标识字符串结尾。占用一个字符变量空间。
2、用字符串赋值字符数组时,C编译器在字符串后自动加赋给字符数字。
3、字符数组可以一次引用整个字符串数组。如整个字符串(数组)的输入输出,用%s格式,且在输入字符数组时,用数组名代表数组的首地址,对于二维数组,仅仅写行下标不写列下标,也可以代表给行数组的首地址。
在用%s输入输出字符串数组时,遇到结束。
7.5 字符串处理函数 #include
1、gets(字符数组名)
从键盘输入一个字符串(以回车结束),并返回字符数组的起始地址。如get(str)。
2、puts(字符数组名/字符串)
将数组中的字符串(结尾的字符序列)输出到终端上,输完换行。如puts(str),puts(“ok”)。
3、strcpy(目的字符数组1名,源字符串/字符数组2名)拷贝时,将“”一起拷贝过去。
4、strcat(字符数组1名,字符串/字符数组2名)将字符串/字符数组2连接到字符数组1中。
在某个复合语句中定义的变量。
2、全局变量——在函数之外定义的变量。有效范围是从定义变量的位置开始到源文件结束。
8.4 变量的存储类别
变量的存储类别,即生存期。内存中供用户使用的存储空间包括:程序区、静态存储区、动态存储区。
1、静态存储区——在编译时分配空间,在程序运行完后才释放存储空间。存储静态局部变量和全局变量。
局部静态变量在编译时赋初值,在执行时可改变该值,但该存储空间一直保存到程序结束。
定义局部静态变量,如果没有赋初值,编译时会自动赋默认初值。 局部静态变量只能在定义它的函数中使用。 全局变量都是静态的。
利用extern 外部变量方式表示变量的定义在别的文件中,提示编译器遇到此变量时,在其他模块中寻找其定义。而函数则是利用函数原型来声明。 用static 关键字说明一个不能在其他源文件中引用的全局变量。即静态全局变量在声明它的整个文件都是可见的,但是在文件之外是不可见的。
2、动态存储区——仅在在执行时分配空间,用完后释放存储空间。存放自动变量和形式参数。
寄存器变量——用register关键字说明。寄存器变量对寄存器的占用是动态的。
第九章 预处理命令197 9.1 预编译命令作用
预编译命令主要完成宏定义、文件包含、条件编译三种功能。
1、宏定义——指用一个指定的标识符(名字)来代表一个字符串。在预编译时,将宏名替代成字符串的过程称为宏展开。如:
# define PI 3.1415926 定义宏, # undef PI
终止宏定义的作用域。
#define V(a,b,c)a*b*c 定义带参数的宏。当宏展开时,将引用宏名语句中的实参字符串代替宏定义的形参字符串。int v =V(2,3,4)则宏展开后为:int v= 2*3*4;
2、文件包含——指一个源文件可以将另一个源文件的全部内容包含进来。如: #include “文件名”或
#include <文件名> 编译预处理时,将包含文件的全部内容复制到源文件中。在编译时作为一个源程序来编译。
3、条件编译——在预编译处理时,确定编译时要编译的部分。如:
0
而数组名的值不可以改变。
6、函数的指针专门用来存放函数的入口地址,当把函数的地址赋值给它时,它就指向该函数的入口地址。
声明格式:数据类型(*指针变量名)()如:int(*P)();
赋值格式:p=max; 注max为定义的函数名;函数名代表该函数的入口地址。引用格式:c=(*p)(a,b);等价——c=max(a,b);
7、只能将变量已分配的地址赋值给指针变量,不能直接将整数赋值给指针变量。
8、指针变量可以有null值,防止指针误作用。
第十一章 结构体270 11.1 结构体270
1、作用——将不同类型的数据组合成一个有机的整体。
2、结构体的定义——结构体是一种数据结构,按照某种规则定义,将若干个不同数据类型(也可相同)的数据项的组合成的一个有机整体。
3、声明结构体类型的形式:struct 结构体类型名字 {成员列表}; 成员列表形式:类型符 成员名
如:int num;
11.2 声明结构体类型变量的方法271
1、先定义结构体类型:struct 结构体类型名字 {成员列表};再定义结构体变量:struct结构体类型名字 结构体变量名。
2、可在定义结构体类型时,定义结构体类型变量。struct 结构体类型名字 {成员列表}结构体类型变量1,结构体类型变量2,„„;
11.3 结构体变量引用273
1、不能将一个结构体变量作为一个整体进行输入输出,只能对结构体变量成员分别赋值。
2、结构体变量成员引用方式:结构体变量名.成员名
3、如果结构体变量成员是另一个结构体变量,则要用若干个成员运算符,一级一级找到最低一级的成员。
11.8 共用体 297
1、共用体指将几种不同类型的变量存储在同一段内存单元中。
2、共用体变量的存储单元大小等于最长成员变量所占内存的长度
3、共用体变量中起作用的是最后一次存放成员。
4、共用体类型声明方式:union 公用体类型名称 {成员变量列表};
5、共用体变量声明方式:(1)union 公用体类型名称 {成员列表}共用体变量;(2)先声明共用体类型,然后声明共用体变量,union 公用体类型名称 共用体变量。
11.9 枚举类型301
1、枚举类型——指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内的一个。
2、声明枚举类型:enum 枚举类型名称 {枚举常量列表};
3、声明枚举变量:enum 枚举类型名称 枚举类型变量;
普通文件——指磁盘文件。
2、从操作系统的角度看:每一个与主机相关联的输入输出设备都可看作一个文件。
(1)根据文件的组织形式分为:顺序存取文件 和 随机存取文件。(2)根据文件的存储形式分为:ASCII文件 和 二进制文件。
13.3 C语言对文件的处理方法319 C语言中对文件的存取是以字符(字节)为单位的,一个输入输出流就是一个字节流或二进制流。
文件的存储方式分为缓冲文件系统和非缓冲文件系统。区别是缓冲文件系统是系统自动开辟缓冲区,非缓冲文件系统是由程序为每个文件设定缓冲区。
ANSI C标准只采用 缓冲文件系统 来处理文件。
13.4 文件结构体类型321 缓冲文件系统中,每个被使用的文件都在内存中开辟一个FILE结构体类型的区,用来存放文件的有关信息(文件名字、文件状态、当前位置、缓冲区等有关信息),FILE结构体类型原型: typedef struct{
short level;
/*缓冲区“满”或“空”的程度*/
unsigned flags;/*文件状态标志*/
char fd;
/*文件描述符*/
unsigned char hold;/*如无缓冲区不读取字符*/
short bsize;
/*缓冲区的大小*/
unsigned char *buffer;/ *数据缓冲区的位置*/
unsigned char *curp;/*指针,当前的指向*/
unsigned istemp;/*临时文件,指示器*/
short token;/*用于有效性检查*/}FILE;
13.5 文件结构体数组和指针321 FILE *fp——声明了一个指向FILE类型结构体的指针变量。
buffer:是一个指针。对fread 来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址(均指起始地址)。
size:
要读写的字节数。
count: 要进行读写多少个size字节的数据项。fp:
文件型指针。
6、格式化读写函数:
fprintf(文件指针,格式字符串,输出表列); fscanf(文件指针,格式字符串,输入表列);
注意:
用fprintf和fscanf函数对磁盘文件读写,使用方便,容易理解,但由于在输入时要将ASCII码转换为二进制形式,在输出时又要将二进制形式转换成字符,花费时间比较多。因此,在内存与磁盘频繁交换数据的情况下,最好不用fprintf和fscanf函数,而用fread和fwrite函数。
7、以“字”或者整数为单位读写函数: putw(int i,FILE * fp); int i = getw(FILE * fp);
8、以“字符串”为单位读写文件的函数:
fgets(str,n,fp);从fp指向的文件读出n-1个字符,在最后加一个’’。返回值:str的首地址。如果遇到EOF则读入结束。
fputs(“china”,fp);把字符串写入到fp指向的文件。第一个参数可以是字符串常量、字符数组名或字符型指针。字符串末尾的′\0′不输出。
13.7 文件的定位333
1、将文件当前的位置指针重新返回到文件的开头位置:无返回值。 rewind(fp);执行后,将文件的位置指针重新定位到文件的开头。
2、随机读写:改变文件的位置指针,一般用于二进制文件。 fseek(文件类型指针,位移量,起始点);无返回值。起始点:文件开头
SEEK_SET
0
文件当前位置
SEEK_CUR
文件末尾
SEEK_END
putw()把一个字输出到指定文件
fread()从指定文件中读取数据项
fwrite()把数据项写到指定文件中
fscanf()从指定文件按格式输入数据
fprintf()按指定格式将数据写到指定文件中
第十四章 C++对C的扩充 338 14.1 C++的特点338
1、C++保留了C语言原有的所有优点,增加了面向对象的机制。
2、C++源文件以.cpp为后缀。
3、除了可以用 /*……*/ 形式的注释行外,还允许使用以// 开头的单行注释。
4、除了可以用printf函数输出信息外,还可以用cout进行输出。cout的作用是将<<运算符右侧的内容送到输出设备中输出。使用cout需要用到头文件iostream.h,在程序的第一行用#include命令将该头文件“包含”进来。
cout <<“ This is a c++ program.n” ;
14.2 C++的输入输出 339 C++为了方便使用,除了可以利用printf和scanf函数进行输出和输入外,还增加了标准输入输出流cout和cin。cout是由c和out两个单词组成的,代表C++的输出流,cin是由c和in两个单词组成的,代表C++的输入流。它们是在头文件iostream.h中定义的。在键盘和显示器上的输入输出称为标准输入输出,标准流是不需要打开和关闭文件即可直接操作的流式文件。
14.3 C++的输出cout
1、cout必须和输出运算符<<一起使用。<< 在这里不作为位运算的左移运算符,而是起插入的作用,例如:cout<<“Hello!n”;的作用是将字符串“Hello!n” 插入到输出流cout中,也就是输出在标准输出设备上。
2、也可以不用n控制换行,在头文件iostream.h中定义了控制符endl代表回车换行操作,作用与n相同。endl的含义是end of line,表示结束一行。
0
存。在C++中,这种输入操作称为“提取”(extracting)或“得到”(getting)。>> 常称为“提取运算符”。
2、cin要与 >> 配合使用。例如:
3、C++为流输入输出提供了格式控制,如:dec(用十进制形式),hex(用十六进制形式),oct(用八进制形式),还可以控制实数的输出精度等。
14.5 函数的重载342
1、C++允许在同一作用域中用同一函数名定义多个函数,这些函数的参数个数和参数类型不同,而且函数类型也可不同,这就是函数的重载,即一个函数名多用。
2、系统会根据参数的类型和个数找到与之匹配的函数,并调用不同的函数。
14.6 带缺省参数的函数344 C++允许实参个数与形参个数不同。办法是在形参表列中对一个或几个形参指定缺省值(或称默认值)。
例如某一函数的首部可用如下形式:
void fun(int a,int b,int c=100)在调用此函数时如写成fun(2,4,6),则形参a,b,c的值分别为2,4,6(这是与过去一样的)。如果写成fun(2,4),即少写了最后一个参数,由于在函数定义时已指定了c的缺省值为100,因此a,b,c的值分别为2,4,100。请注意:赋予缺省值的参数必须放在形参表列中的最右端。例如:
void f1(float a,int b,int c=0,char d=′a′)(正确)void f2(float a,int c=0,char d=′a′,int b)
(不正确)注意:不要同时使用重载函数和缺省参数的函数,因为当调用函数时少写一个参数,系统无法判定是利用重载函数还是利用缺省参数的函数,会发生错误。
14.7 变量的引用类型345
1、“引用”(reference)是C++的一种新的变量类型,是对C的一个重要扩充。它的作用是为一个变量起一个别名。
2、假如有一个变量a,想给它起一个别名b,可以这样写:
int a;
实参把变量名传给形参。i的名字传给引用变量a,这样a就成了i的别名。同理,b成为j的别名。a和i代表同一个变量,b和j代表同一个变量。在swap函数中使a和b的值对换,显然,i和j的值同时改变了。
当读者看到&a这样的形式时,怎样区别是声明引用变量还是取地址的操作呢?请记住,当&a的前面有类型符时(如int &a),它必然是对引用的声明;如果前面无类型符(如&a),则是取变量的地址。
14.8 内置函数 348 调用函数时需要一定的时间,如果有的函数需要频繁使用,则所用时间会很长,从而降低程序的执行效率。C++提供一种提高效率的方法,即在编译时将所调用函数的代码嵌入到主调函数中。这种嵌入到主调函数中的函数称为内置函数(inline function),又称内嵌函数。
例如:
#include
{ if(b>a)a=b;if(c>a)a=c;return a;} void main(){int i=7,j=10,k=25,m;m=max(i,j,k);cout<<“max=”< 14.9 作用域运算符349 1、作用域运算符∷,∷aa表示全局作用域中的变量。 2、不能用∷ 访问函数中的局部变量。 一周的计算机C语言课程设计很快就结束了,回想这一周,几分欣喜,几分紧张,欣喜的是学了C语言能得到应用,紧张的是怕自己不能更好的设计自己的程序,生怕自己设计的程序不能顺利的完成。但是在老师的帮忙下,在我们组员的共同的努力下,我们能很好而顺利的将程序设计并且运行出来,虽然有几处不足但在老师的改正下我们的程序也得到了完善。 透过这一周的C语言课程设计,我懂得了很多,它让我明白做事情需要认真与细心,需要耐心与恒心。就拿我们的程序来说把,起初做完运行后有很多错误,当时我们组每个人都十分焦虑,的确,看着长长的程序想要去一一把问题解决也并非是件简单的事,但如果你静下心来细心的去找就会把错误一个一个的找出来。还有一点是十分重要的,那就是有不懂的地方及时向老师提问,那样的话你就会对不懂的地方有个深刻的理解,以后再碰到此类问题自己也就能解决了。所以我们的程序是在老师的帮忙下,在我们组成员的耐心的查找与改正下完成的。我们的成功离不开老师的指导,离不开我们的共同努力。看着运行出来的程序我们笑了,真的,当时的情绪真的想不出用哪个词语去形容,也许笑容代表了一切。 短短的几天时间让我对C语言有了一个全新的概念,它不仅仅是一门课程,更是一门技术。也使我领会到实践的重要性,我期望在以后的学习生活中我会有更多的实践机会来提高我的思考潜力与动手潜力,培养我的细心、耐心与恒心。这是难忘的一次实训课程,它会在我的人生旅途中写上浓重的一笔。感谢老师的指导帮忙,感谢同组兄弟的支持,谢谢!未来的社会必将是科学技术全面,全面发展的社会,我们需要更就应懂得并掌握现代化的科学知识,C语言是一门全新的课程,也许当我们初次接触这门课程会感觉到新鲜,当你更加深入的学习它你会体会到它的乐趣与方便,而未来的社会也正需要全能型的人才,让我们共同努力吧,学会更多的知识技术,为了完美的未来而加油! 第一节 图案的含义 图案的含义:图案最初是从design翻译而来,20世纪初从日本传入我国,成为装饰类和纹样类设计的专用术语 1.图案最大的特点就是它的(装饰性)和(实用性)。2.图案强调形式美,而设计重于功能性。 3.图案工作就是设计一切器物的造型 和一切器物的装饰。也就是说图案广义上是指为了某种器物的造型结构,色彩,纹理进 行预想工艺处理,并根据材料要求,制作要求,实用功能,审美要求所创作的方案,图 样的通称,属于实用美术,装饰美术,工艺美术的范畴。对于某些立体造型结构,没有 装饰纹样,也属于图案范畴。 4.图案具有实用和美观的双重意义,与一般意义上的绘画有着明显区别。第二节 图案的类别 1.从题材方面分类:人物图案,动物图案,植物图案,风景图案和几何图案.2.从空间形态分类:(平面图案)和(立体图案)。 3.从形态构成分类:(自然形态构成的图案)和(抽象形态构成的图案)。以不具体的自 然形态为对象的图案被称为抽象形态构成的图案。 4.从组织形式分类:(单独纹 样),(连续图案)和(适合纹样)。 5.从艺术风格上看:图案可以分为(传统图案),(现代 图案)和(民间图案)。 第三节 图案的特性 图案的特性;共同性 1.民族性 2.现实性 3.思想性 4.艺术性 特殊性 1.实用性 2.装饰性 3.技术性 4.制约性 5.系统性 第二章 图案艺术发展演变 第一节 中国传统图案 一,原始社会时期 1.原始社会的图案以彩陶文化为代表,因此大部分的装饰主要表现在彩陶,黑陶和印文陶上。其形式多以单独和连续纹样为主,此时期主要是植物和动物纹饰。2.原始社会的最大成就是创造了双关图案,根据造型呈现双重效果:平视是二方连续纹样,俯视则为适合纹样 3.彩陶图案锁创造的‘s’形格式被称为太极图形 二,商周时期 1.青铜器的装饰图案以动物为主,主要有饕餮纹,夔龙纹,凤鸟纹,象纹。饕餮纹:也称兽面纹,常以左右对称形式的正面形象装饰于器物的腹部。2.青铜器的装饰纹样多以对称格式出现,这是有成型技术决定的。三,秦汉时期 1.青铜器纹样主要有三种组织结构:(主体装饰)(分区构图)和(二方连续)四,春秋战国时期 1.瓦当:是古代建筑中使用的简筒瓦片最下面的滴水部分,主要有圆形和半圆形两种形式。2.汉代瓦当装饰主要有(云纹瓦当)(文字瓦当)和(动物瓦当),在动物瓦当中青龙,白虎朱雀和玄武常组成四件一套的瓦当,称四神纹。 五,魏晋南北朝时期 1.六朝时代,佛教的兴起对稳定政治、经济起到重要作用,艺术发展也被注入了新的活力。其中(飞天图形)和(莲花图形)最具有代表性。六,隋唐时期 国际交流的频繁,思想的解放,使的唐代的装饰艺术丰满,华贵,富丽,造型上饱满而挺拔,简洁而有张力,最突出的表现是花卉植物开始占据主导地位。因此我们可以说从隋唐起审美因素在图案设计上已经占据了主导地位。 1.宝相花是与唐草纹同时诞生的佛教象征性花卉纹,主要由莲花、牡丹花等演变而来。2.团花是围绕圆形而设计的适合纹样。 3.卷草纹也称 唐草,是在继承南北朝忍冬图案的基础上发展而来的,它不是某一植物或单一形成,而是多种花卉组成的复合式纹样,采用二方连续波浪式的带状图案出现。 4.折枝花即单独纹样图形,是一种独立的基本图案,常常与云纹,鸟纹等组合成二方连续、四方连续的适合纹样,多采用对称式和平衡式,具有和谐的美感。 5.联珠纹也是隋朝时期典型的图案纹样,属于波斯萨珊朝的纹样形式,有圆形串珠构成,内部以立鸟,对兽等填充。后来逐渐发 展为以卷草纹代替圆圈,圈内填充鸾凤,游龙,羊马等,最后连珠完全消退,只留下对 鸟,对兽纹样与植物纹样的结合。七,宋元时期 宋代的装饰,逐渐走向写实,趋向自然,强调平淡之美,这一时期最基本的装饰题材是花鸟1.宋代是中国陶瓷的一个高峰期出现了钧窑、汝窑、官窑、哥窑、定窑五大名窑 2.元代的瓷器装饰有两种倾向:一种装饰风格是精细、工整、繁复,另一种装饰风格是粗放、朴实、简练。 3.元代的瓷器以青花、釉里红为代表 4.青花又称白地青花瓷器,是从唐宋时期的釉下黑花基础上发展起来的,它是用含氧化钴 矿为原料,在瓷器胎体上描绘纹饰,再罩上一层透明釉,经高温还原焰一次烧成。青花属釉下彩 5.元代著名的名锦被称为织金锦,又被称为纳石失,实在织物上加金的一种工艺,一般指 以片金线或者圆金线为纹纬的织金锦或织金缎以及织金锡缎。6.①折枝花式:写生时选取带有花头,枝叶的单枝花作为素材,经平面整理后保持生动的写实外形和生长状态,作为一个单位纹样。折枝花显示恬淡自然的风格,成为宋代审美意识的典型纹样。②穿枝花式:穿枝花式是根据唐曹雯的折枝花纹发展而来的纹样,在平面中将众多的写实花卉的纹样散点排列,通过枝叶所形成的的S形的伸张与反转,是单位花纹相连接,流畅的韵律线与花头,叶子形成线与点对比,不但生动自然而且富有韵律美。③缠枝花式:缠枝花式是直接由穿枝花式变来的,穿之花式仍然保留了自然花卉的生长形态,花茎连接自然不漏痕迹,而缠枝花式则有规律性很强的主茎线,呈S形,在主茎上分枝发叶,并围绕主花周围生长,整体效果富有装饰性。缠枝花式标志着我国从隋唐卷草纹,宋代的穿枝花式到元代的缠枝花形式的发展而成熟,这个纹样在明清时期广泛应用。④喜相逢式:喜相逢式由唐代的团花发展变化而来,把一反一正两个写实莲花,以S形线分成两个阴阳交互的两级,形成一对相反相成的形象。八,明清时期 1.明朝家具设计是家具设计的顶峰时期。出现了诸如《鲁班经》《髹饰录》《遵生八笺》《三才图绘》。2明式家具的种类主要有椅凳、几案、橱柜、床榻、台桌、屏座六大类。 3.明式家具具有下列艺术特色:一是注重结构美,二是注重材质美,三是注重造型美,四是注重装饰美。 4.青花:明永乐、宣德时期被誉为中国青花瓷器制作的“黄金时代”,宣德之后的正统、景泰、天顺三朝被后人称之为景德镇官窑制瓷的“黑暗时代”。5.斗彩:斗彩是釉下青花和釉上彩色相结合的一种彩瓷工艺 6.五彩:五彩石瓷器釉上彩的一种。由于康熙时新创了粉彩、五彩历史久远,孤儿康熙五彩又称为“古彩” 7.粉彩:粉彩的特点是色彩绵软柔和,俗称“软彩”;五彩的色泽明亮,所以康熙五彩又称“硬彩”。粉彩瓷又叫软彩瓷,是景德镇窑四大传统名瓷之一。 8.景泰蓝:景泰蓝图案是一种中西结合的掐丝珐琅工艺品,器形非常丰富,有花瓶,仿古器,陈设 品和部分生活用品,景泰蓝源自波斯的铜胎掐丝珐琅,14世纪传至中国,明代开始大量烧制,并于景泰年间达到了一个高峰,后市称其为景泰蓝,在造型,图案,工艺技术上形 成了民族的风格,景泰蓝经过铸铜胎,掐死,焊丝,上药烧制,打磨上光等七道工序才 能完成,此后金泰蓝就成了铜胎掐丝珐琅器的代称。 9.明代纹样组织形式主要有锦上添花式、落花流水式。清代比较典型的是吉祥纹样。第三章 中国民间图案 一,民间图案的内容 民间图案的主要特点:求大、求活、求全。求全:求全讲究构图完整、圆满、双数、对称。二,民间图案的种类 1.宫廷图案与专业图案的区别:设计者不同、使用者不同、影响不同、内容不同、形式不同、工艺制作不同。 2.选择使用某种图案加工制作方法时要考虑以下几个方面:图案的题材、图案的内容、图案的大小、图案的应用。 3.㈠剪纸:⑴剪纸就是用剪刀或者刻刀在纸材料上进行加工制作,通过民间艺人手工完成的艺术表现 形式。⑵在民间,剪纸在色彩上主要有单色剪纸和彩色剪纸。⑶剪纸的形式主要分为以下三类:喜花,挂笺,彩色剪纸 ㈡刺绣:⑴刺绣是以针引彩线,按照设计的的图案纹样,在织物上刺辍运针,形成锈迹,构成纹样,由于刺绣用的是丝线,布料以及针法的不同,所以刺绣的品种多种多样。⑵中国四大名绣,苏绣,湘绣,粤绣,蜀绣。 ㈢木板画:⑴木版年画是由民间一人用木刻水印的形成创作并刻制而成的一种民间的装饰画。⑵中国民间最具有代表性的木板年画有:天津杨柳青、山东潍坊、苏州桃花坞、河北武强、四川绵竹。 ㈣民间印染:⑴蜡染技术早在隋唐时期就已经流行,是我国古老的民间传统纺织印染手工艺。⑵在侵染中,作为防染剂的蜡自然龟裂,使布面呈现特殊的“冰纹”。⑶蜡染技术在云南主要盛行于苗族中,历史上曾成为“铁笛布”。⑷目前的蜡染主要分为三大类,一类是西南少数民族地区,另一类是工厂,第三类是以艺术家为中心制作的纯观赏艺术品⑸蜡染工艺流程主要包括画蜡,侵染,去蜡,漂洗,晾干整理几个步骤其中使用蜡刀和点蜡的方法最为常用。⑸扎染俗称扎花布,其工艺流程即设计、上稿、扎花、脱浆、浸染、拆线、漂洗、整检八步,其中最主要的是扎和染这两道工艺。⑹彩印花布源于秦汉,兴盛于唐宋时期,明清、民国时期在山东临沂盛行 ㈤面具:早期的面具一般用于丧葬与驱邪仪式或原始乐舞之中。 ㈥脸谱:⑴脸谱是中国戏曲演员脸上的绘画,用于舞台演出时的化妆造型艺术。一类是工艺美术性 脸谱。另一类是舞台实用脸谱。⑵京剧脸谱以象征性和夸张性著称⑶脸谱的主要特点: 一、美与丑的矛盾统一,二、与角色的性格关系密切,三、其图案是格式化的。㈦皮影:皮影戏属于傀儡戏的一种,也是中国古老剧种。皮影是对皮影戏和皮影戏人物(包括场面道具景物)制品的通用称谓。 ㈧民间绘画:民间绘画其中尤以天津的(杨柳青)和(杨家埠)年画最为有名。㈨泥玩具 ㈩风筝:山东潍坊⑴古代风筝曾被用于军事上的侦察工具外,更有测距、越险、载人的历史记录。⑵十三世纪,意大利马可波罗将风筝传到世界各地。 ㈩㈠木雕:最著名的四大木雕是:浙江东阳木雕,广东金漆木雕,温州黄杨木雕,福建龙眼木雕。 ㈩㈡砖雕:砖雕俗称硬花活,实在青砖上雕刻出人物,山水,花卉等图案,是古建筑雕刻中很重要的一种艺术形式,通常也指青砖雕刻而成的雕塑工艺品。 ㈩㈢石雕:石雕亦称石刻,是中国古代的石雕,陶雕,木雕,铜雕,泥雕五大传统雕塑之一,㈩㈣陶瓷 三,吉祥图案(求福,长寿,喜庆,吉祥)第四章 图案造型 一,收集素材的主要途径 1,图案的写生方法:白描法,明暗法,影绘法,色彩写生法 1)白描法:用单线勾勒出物象的外形和结构整体效果比速写更工整,用笔起落严谨,通过线条的疏密来表现节奏。2)明暗法:是指通过对表现对象光影虚实的变化来描述对象。3)影绘法:注重描述物象的外轮廓,多采用黑色来绘制形体,描述的物象如同映在墙上的影子。效果同剪纸类似,又被称为剪影画法。2,花卉主要有花头,花枝,叶片三部分组成。 3,动物一般有头,颈,躯干,四肢和尾部五部分组成。 三,自然形态到图案形态(简化,修饰,夸张,想象,添加,巧合,象征) 1,简化:是图案设计的基础方法,简化就是对自然形态的素材提炼概括,使形象更加典型,更完美,主题更突出。 2,修饰:是对素材进行休整加工的装饰,把杂乱的内容理顺,使之整齐统一。 3,夸张:就是强化事物最本质最突出的特征,夸张的部分主要体现在装饰的因素上,从而使对象的特征与装饰美更突出,夸张的目的是使形象更加优美和神似。4,想象:总是在某种程度上离开现实生活,而客观的现实生活又是想象的源泉。想象包括两个方面,意识对自然形态进行装饰处理,形成有益于自然地新形态。5,添加:在民间图案中常用添加来增加象征性意义。 6,巧合:巧合是两种以上的形态,相互关联而产生的共性。在不合理中求得合理,合理又有存在着不合理的因素。 四,图案的形式美(变化与统一,对称与均衡,节奏与韵律,对比与调和) 1,变化与统一:是构成形式美得两个基本要素。对称与均衡:对称指以相同的装饰元素,按照相同的距离,有一个中心点或线,向外放射状或向内集中。对称给人一种相对平稳安定的感觉,处理不好容易产生呆板的感觉,均衡也叫非对称平衡,也叫做力的平衡。2,节奏与韵律:来自于音乐术语,节奏原来指音乐中节拍的长短,韵律原指音乐中的声韵和节奏。3,对比与调和:对比是通过两个以上不同造型因素体现的,是达到变化的最佳最方便的方法与手段,对比的程度一般根据画面效果来合理安排。调和是构成要素中共性因素的关系强调,使我们在视觉上与感觉上形成近似的协调统一。调和的目的就是突出重点,强调造型因素中的共性,使两者和谐。 五,图案的色彩。(图案色彩设计:明度对比设计,纯度。色相。类似色。对比色。冷暖。面积。) 1,明度是色彩的明暗程度,又称光度。 2,明度对比设计的三种表现手法:明图暗地,暗图明地,地为中间灰调,而图的表现为有明有暗。3,纯度是指色彩鲜艳与浑浊的程度,也可称为色度和饱和度。 4,面积对比设计是指两色或两色以上并存时,各色所占的面积与比例大小,在图案设计中面积设计所起的作用非常重要,有时面积设,计决定图案设计的成败。面积也决定了图案的色调均衡及对比强弱等关系。 5,材料表现:点绘,勾线,平涂,平擦,光影,水彩,渲染,皱纸,撇丝,蜡笔,枯笔,彩铅,喷绘,电脑。六,图案的造型与变化 1,单独纹样:不受固定的外形限制,其结构比较自由,造型完整。其结构形式由对称式和均衡式两种 2,均衡及平衡:是以中轴线或中心点才去等量而不等形的纹样结构组织形式,上下左右的纹样组织不受任何制约,只求分量与空间的稳定平衡。常见的表现形式有上下均衡、相对、、相背、、交叉、、S形、、。3,适合纹样:具有一定外形限制的图案纹样,他是将图案素材在限定的图形中进行变化处理,当这些外轮廓去掉时,纹样仍保留该形的特点 4,适合纹样的构成骨骼可以概括为如下几种。(1)直立式纹样(2)放射式纹样(3)向心 式纹样(4)漩涡式纹样(5)边缘式纹样(6)角隅式纹样 47.角隅式纹样。 5,二方连续,由一个或者两三个纹样组合成单位纹样,向左右或者上线方向做重复的连续 排列形成带状的无线连续的纹样。 1)字符串操作 strcpy(p, p1)复制字符串 strncpy(p, p1, n)复制指定长度字符串 strcat(p, p1)附加字符串 strncat(p, p1, n)附加指定长度字符串 strlen(p)取字符串长度 strcmp(p, p1)比较字符串 strcasecmp忽略大小写比较字符串 strncmp(p, p1, n)比较指定长度字符串 strchr(p, c)在字符串中查找指定字符 strrchr(p, c)在字符串中反向查找 strstr(p, p1)查找字符串 strpbrk(p, p1)以目标字符串的所有字符作为集合,在当前字符串查找该集合的任一元素 strspn(p, p1)以目标字符串的所有字符作为集合,在当前字符串查找不属于该集合的任一元素的偏移 strcspn(p, p1)以目标字符串的所有字符作为集合,在当前字符串查找属于该集合的任一元素的偏移 * 具有指定长度的字符串处理函数在已处理的字符串之后填补零结尾符 2)字符串到数值类型的转换 strtod(p, ppend)从字符串 p 中转换 double 类型数值,并将后续的字符串指针存储到 ppend 指向的 char* 类型存储。 strtol(p, ppend, base)从字符串 p 中转换 long 类型整型数值,base 显式设置转换的整 型进制,设置为 0 以根据特定格式判断所用进制,0x, 0X 前缀以解释为十六进制格式整型,0 前缀以解释为八进制格式整型 atoi(p)字符串转换到 int 整型 atof(p)字符串转换到 double 符点数 atol(p)字符串转换到 long 整型 3)字符检查 isalpha()检查是否为字母字符 isupper()检查是否为大写字母字符 islower()检查是否为小写字母字符 isdigit()检查是否为数字 isxdigit()检查是否为十六进制数字表示的有效字符 isspace()检查是否为空格类型字符 iscntrl()检查是否为控制字符 ispunct()检查是否为标点符号 isalnum()检查是否为字母和数字 isprint()检查是否是可打印字符 isgraph()检查是否是图形字符,等效于 isalnum()| ispunct() 4)函数原型 原型:strcpy(char destination[], const char source[]);功能:将字符串source拷贝到字符串destination中 例程: #include void main(void){ char str1[10] = { “TsinghuaOK”}; char str2[10] = { “Computer”}; cout < 注意:在定义数组时,字符数组1的字符串长度必须大于或等于字符串2的字符串长度。不能用赋值语句将一个字符串常量或字符数组直接赋给一个字符数组。所有字符串处理函数都包含在头文件string.h中。 strncpy(char destination[], const char source[], int numchars);strncpy:将字符串source中前numchars个字符拷贝到字符串destination中。strncpy函数应用举例 原型:strncpy(char destination[], const char source[], int numchars);功能:将字符串source中前numchars个字符拷贝到字符串destination中 例程: #include char str1[10] = { “Tsinghua ”}; char str2[10] = { “Computer”}; cout < 原型:strcat(char target[], const char source[]);功能:将字符串source接到字符串target的后面 例程: #include char str1[] = { “Tsinghua ”}; char str2[] = { “Computer”}; cout < 原型:strncat(char target[], const char source[], int numchars);功能:将字符串source的前numchars个字符接到字符串target的后面 例程: #include char str1[] = { “Tsinghua ”}; char str2[] = { “Computer”}; cout < 原型:int strcmp(const char firststring[], const char secondstring);功能:比较两个字符串firststring和secondstring 例程: #include void main(void){ char buf1[] = “aaa”; char buf2[] = “bbb”; char buf3[] = “ccc”; int ptr; ptr = strcmp(buf2,buf1); if(ptr > 0) cout <<“Buffer 2 is greater than buffer 1”< else cout <<“Buffer 2 is less than buffer 1”< ptr = strcmp(buf2,buf3); if(ptr > 0) cout <<“Buffer 2 is greater than buffer 3”< else cout <<“Buffer 2 is less than buffer 3”< 原型:strlen(const char string[]);功能:统计字符串string中字符的个数 例程: #include cout <<“The length of the string is :”< void *memset(void *dest, int c, size_t count);将dest前面count个字符置为字符c.返回dest的值.void *memmove(void *dest, const void *src, size_t count);从src复制count字节的字符到dest.如果src和dest出现重叠, 函数会自动处理.返回dest的值.void *memcpy(void *dest, const void *src, size_t count);从src复制count字节的字符到dest.与memmove功能一样, 只是不能处理src和dest出现重叠.返回dest的值.void *memchr(const void *buf, int c, size_t count);在buf前面count字节中查找首次出现字符c的位置.找到了字符c或者已经搜寻了count个字节, 查找即停止.操作成功则返回buf中首次出现c的位置指针, 否则返回NULL.void *_memccpy(void *dest, const void *src, int c, size_t count);从src复制0个或多个字节的字符到dest.当字符c被复制或者count个字符被复制时, 复制停止.如果字符c被复制, 函数返回这个字符后面紧挨一个字符位置的指针.否则返回NULL.int memcmp(const void *buf1, const void *buf2, size_t count);比较buf1和buf2前面count个字节大小.返回值< 0, 表示buf1小于buf2;返回值为0, 表示buf1等于buf2;返回值> 0, 表示buf1大于buf2.int memicmp(const void *buf1, const void *buf2, size_t count);比较buf1和buf2前面count个字节.与memcmp不同的是, 它不区分大小写.返回值同上.char *strrev(char *string);将字符串string中的字符顺序颠倒过来.NULL结束符位置不变.返回调整后的字符串的指针.char *_strupr(char *string);将string中所有小写字母替换成相应的大写字母, 其它字符保持不变.返回调整后的字符串的指针.char *_strlwr(char *string);将string中所有大写字母替换成相应的小写字母, 其它字符保持不变.返回调整后的字符串的指针.char *strchr(const char *string, int c);查找字 串string中首次出现的位置, NULL结束符也包含在查找中.返回一个指针, 指向字符c在字符串string中首次出现的位置, 如果没有找到, 则返回NULL.char *strrchr(const char *string, int c);查找字符c在字符串string中最后一次出现的位置, 也就是对string进行反序搜索, 包含NULL结束符.返回一个指针, 指向字符c在字符串string中最后一次出现的位置, 如果没有找到, 则返回NULL.char *strstr(const char *string, const char *strSearch);在字符串string中查找strSearch子串.返回子串strSearch在string中首次出现位置的指针.如果没有找到子串strSearch, 则返回NULL.如果子串strSearch为空串, 函数返回string值.char *strdup(const char *strSource);函数运行中会自己调用malloc函数为复制strSource字符串分配存储空间, 然后再将strSource复制到分配到的空间中.注意要及时释放这个分配的空间.返回一个指针, 指向为复制字符串分配的空间;如果分配空间失败, 则返回NULL值.char *strcat(char *strDestination, const char *strSource);将源串strSource添加到目标串strDestination后面, 并在得到的新串后面加上NULL结束符.源串strSource的字符会覆盖目标串strDestination后面的结束符NULL.在字符串的复制或添加过程中没有溢出检查, 所以要保证目标串空间足够大.不能处理源串与目标串重叠的情况.函数返回strDestination值.char *strncat(char *strDestination, const char *strSource, size_t count);将源串strSource开始的count个字符添加到目标串strDest后.源串strSource的字符会覆盖目标串strDestination后面的结束符NULL.如果count大于源串长度, 则会用源串的长度值替换count值.得到的新串后面会自动加上NULL结束符.与strcat函数一样, 本函数不能处理源串与目标串重叠的情况.函数返回strDestination值.char *strcpy(char *strDestination, const char *strSource);复制源串strSource到目标串strDestination所指定的位置, 包含NULL结束符.不能处理源串与目标串重叠的情况.函数返回strDestination值.char *strncpy(char *strDestination, const char *strSource, size_t count);将源串strSource开始的count个字符复制到目标串strDestination所指定的位置.如果count值小于或等于strSource串的长度, 不会自动添加NULL结束符目标串中, 而count大于strSource串的长度时, 则将strSource用NULL结束符填充补齐count个字符, 复制到目标串中.不能处理源串与目标串重叠的情况.函数返回strDestination值.char *strset(char *string, int c);将string串的所有字符设置为字符c, 遇到NULL结束符停止.函数返回内容调整后的string指针.char *strnset(char *string, int c, size_t count);将string串开始count个字符设置为字符c, 如果count值大于string串的长度, 将用string的长度替换count值.函数返回内容调整后的string指针.size_t strspn(const char *string, const char *strCharSet);查找任何一个不包含在strCharSet串中的字符(字符串结束符NULL除外)在string串中首次出现的位置序号.返回一个整数值, 指定在string中全部由characters中的字符组成的子串的长度.如果string以一个不包含在strCharSet中的字符开头, 函数将返回0值.size_t strcspn(const char *string, const char *strCharSet);查找strCharSet串中任何一个字符在string串中首次出现的位置序号, 包含字符串结束符NULL.返回一个整数值, 指定在string中全部由非characters中的字符组成的子串的长度.如果string以一个包含在strCharSet中的字符开头, 函数将返回0值.char *strspnp(const char *string, const char *strCharSet);查找任何一个不包含在strCharSet串中的字符(字符串结束符NULL除外)在string串中首 次出现的位置指针.返回一个指针, 指向非strCharSet中的字符在string中首次出现的位置.char *strpbrk(const char *string, const char *strCharSet); 【《C程序设计》重点总结】推荐阅读: c语言设计程序11-11 c程序设计作业10-13 c语言程序设计实验11-19 c语言程序设计作业三06-24 C语言图形程序设计报告10-13 c语言程序设计基础题10-28 c语言程序设计补充题11-17 《C程序设计》课程教学大纲10-19 c语言程序设计复习题10-28 《C语言程序设计》精品试题(附讲解答案)06-10c语言课程设计总结 篇2
图案设计重点总结 篇3
《C程序设计》重点总结 篇4