第1页共17页1、机器语言:由计算机硬件系统可以识别的二进制指令组成的语言称为机器语言。2、汇编语言:汇编语言将机器指令映射为一些可以被人读懂的助记符,如ADD、SUB等。3、高级语言:高级语言屏蔽了机器的细节,提高了语言的抽象层次,程序中可以采用具有一定涵义的数据命名和容易理解的执行语句。这使得在书写程序时可以联系到程序所描述的具体事物。高级语言:包括面向过程的高级语言和面向对象的高级语言。4、C语言的特点:丰富的数据类型、结构化的控制语句、运算符种类丰富、可移植性好。5、C语言三类函数及其采用意义:主函数,用户自定义函数,C语言提供的库函数,意义:函数可以简化了主函数以及实现模块化程序设计。6、程序=算法+数据结构+程序设计方法+语言工具和环境7、8、实型常量指数形式:1.2×10-3---------1.2e-3例如123.456可以表示为:123.456e0、12.3456e1、1.23456e2、„把其中的1.23456e2称为“规范化的指数形式”:即在字母e(或E)之前的小数部分中,小数点左边应有一位(且只能有一位)非零的数字。9、所有的实型常量均视为双精度类型。10、字符常量是指用一对单引号括起来的一个字符。如‘a’,‘9’,‘!’11、(1)基本整型:以int表示。(2)短整型:以shortint表示,或以short表示。(3)长整型:以longint表示,或以long表示。取值范围:long=int=shortint型变量的值范围:-32768~3276712、无符号型变量只能存放不带符号的整数,而不能存放负数。一个无符号整型变量中可以存放的正数的范围比一般整型变量中正数的范围扩大一倍。13、数据类型转换有两种方式:自动类型转换、强制类型转换。无论是自动类型转换还是强制类型转换,都并没有改变变量本身的数据类型。unionstructenumcharvoiddoublefloatlongshortC共用体型结构体型数组型枚举型构造类型字符型空类型指针类型双精度型单精度型浮点型实型长整型短整型基本整型整型基本类型语言的数据类型)()(int第2页共17页14、15、表达式=运算符+运算对象16、单目算术运算符:自增、自减运算符为单目算术运算符,具有右结合性。作用是使变量的值增1或减1,如:++i,--i(在使用i之前,先使i的值加(减)1)i++,i--(在使用i之后,使i的值加(减)1)17、条件运算符是C语言中唯一的一个三目运算符。格式:表达式1?表达式2:表达式3功能:根据表达式1的真假来决定整个条件表达式的取值。18、字符输出函数putchar()(1)参数c可以是字符型变量、整型变量、字符常量或整型常量(要求在0-255范围内)。(2)函数返回值为输出字符的ASCII码值。(3)putchar函数也可以输出转义字符。(4)一个putchar函数只能输出一个字符。19、字符输入函数getchar()(1)函数返回值为输入字符的ASCII码值。(2)getchar函数的值可以赋给一个字符变量或整型变量,也可以不赋给任何变量。(3)一个getchar函数只能接收一个字符。20、printf(格式控制,输出表列)“格式控制”包括两种信息:①格式说明:由“%”和格式字符组成。②普通字符:即需要原样输出的字符。原则上,输出表列中变量的个数和类型应与格式控制中指定的数据的个数和类型应一致,且从左到右一一对应。(1)printf(“%e”,123.456);输出:1.234560e+002。(2)intn=10;printf(%d,%o,%x\n,n,n,n);,&,*,,.[](),,^,|,&,^|,&,~%/*||,&&,!!,,,,,11%/*指针运算符成员运算符下标运算符强制运算符专用运算符复合位赋值运算符位移位运算符位逻辑运算符位运算符数据长度运算符条件运算符逗号运算符复合算术赋值运算符基本赋值运算符赋值运算符逻辑运算符关系运算符运算符减增基本算术运算符算术运算符基本运算符语言运算符,sizeof?:,,,,,,,,,,C第3页共17页printf(%#o,%#x\n,n,n);运行结果:10,12,a012,0xa(3)floatf=123.456;printf(%f%10f%10.2f%.2f%-10.2f\n,f,f,f,f,f);输出结果如下:123.456001123.456001123.46123.46123.4621、格式输入函数scanf()scanf(格式控制,地址表列)“格式控制”的含义同printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。说明:1、在执行数据输入时,以一个或多个空格、或回车键、或跳格键(Tab)作为分隔符。2、“&”是地址运算符,作用于变量,其地址在变量定义时由编译程序确定。22、(1)可以指定输入数据所占列数,系统自动按它截取所需数据。scanf(%3d%3d,&a,&b);输入:123456系统自动将123赋给a,456赋给b。(2)此方法也可用于字符型:scanf(“%3c”,&ch);如果从键盘连续输入3个字符abc,由于ch只能容纳一个字符,系统就把第一个字符‘a’赋给ch。(3)输入数据时不能规定精度,例如,scanf(%7.2f,&a);是不合法的,不能企图用这样的scanf函数并输入以下数据而使a的值为12345.67。(4)如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同的字符。23、注意:(1)在scanf中应使用变量的地址。(2)选择合适的输入分隔符。(3)可以指定输入数据的宽度,系统自动截取。(4)在用“%c”输入字符时,空格和“转义字符”都作为有效字符输入,不需要用空格作间隔。(5)输入数据时不能规定精度。(6)在输入数据时,遇到以下情况该数据认为结束:遇空格、回车、跳格键(Tab)、遇宽度结束、遇非法输入。24、表达式语句。表达式语句由表达式加上分号组成。格式:表达式;功能:计算表达式的值。说明:C语言中的任何一个表达式都可以构成语句。注意:如果没有分号,如“x=y+z”只是一个表达式,而不是一条语句。25、函数调用语句。此类语句由函数调用加上分号构成。格式:函数名[(实参列表)];功能:调用函数,以完成函数所规定的功能。例如:printf(“CProgram”);26、控制语句。控制语句用于控制程序的流程,以实现程序的各种结构方式。27、空语句。空语句仅由一个分号组成。第4页共17页格式:;功能:不执行任何操作。28、编程风格:正确性、可靠性、规范化、可读性、灵活性:29、if语句格式一:if(表达式)语句功能:如果表达式为真,则执行其后的语句,否则不执行语句。30、格式2:if(表达式)语句1else语句2功能:如果表达式为真,则执行语句1;否则执行语句2。31、格式3:if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3„„elseif(表达式n)语句nelse语句n+132、if关键字之后均为表达式。该表达式可以是逻辑表达式、关系表达式以及其它表达式。只要表达式运算的结果为非0,就按“真”处理,执行相应的语句;否则按“假”处理,执行相应的语句。在if语句中的条件判断表达式必须用圆括号括起来,每个语句之后必须加分号。在if语句的第二、三种形式中,else子句不能作为语句单独使用,必须是if语句的一部分,应与if配对使用。在if语句的三种形式中,所有的语句应为单个语句,如果想在满足条件时执行一组(多个)语句,则必须把这一组语句用“{}”括起来组成一个复合语句。但是在“}”之后不能加分号。在if语句的表达式中,一定要避免判断实数与零值的等值比较。虽然在C里面,常量NULL、零值都是false,非零值都是true,但是为了使得程序清晰易读,建议在表达式中不要使用“if(a)”这样的语句。33、if语句的嵌套:格式:if(表达式)if语句或者:if(表达式)if语句elseif语句注意:正确书写格式。一般按层次缩进书写,以便掌握配对关系.在多重嵌套时,else总是与在它之前出现的、尚未匹配的且离它最近的if匹配。如果if与else数目不相等,最好用花括号确定配对关系。第5页共17页形成多重嵌套实质上是为了进行多分支选择,这种问题一般可以使用if语句的第三种形式,即“if-else-if”语句,或者将要介绍的switch语句完成。因此,在一般情况下,较少使用if语句的嵌套结构,以使程序更便于阅读理解。34、选择结构——switch语句格式:switch(表达式){case常量表达式1:语句1case常量表达式2:语句2case常量表达式n:语句ndefault:语句n+1}功能:计算表达式的值,并逐个与其后的常量表达式进行比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。说明:“case常量表达式”只相当于一个语句标号,表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch语句。为了避免上述情况,C提供了break语句。在case后的各个常量表达式的值不能相同,否则会出现错误。在case后,允许有多个语句,可以不用{}括起来。各个case和default子句的先后顺序可以变动,不影响程序的执行结果。default子句可以省略不用,此时当表达式的值与所有case后的常量表达式的值不同时,退出switch语句,继续执行后续程序。switch后面括号中的表达式只能是整型、字符型、枚举类型,case后的常量表达式的类型必须与之匹配。各个case之后是常量表达式,一定不要试图使用条件表达式或者逻辑表达式。多个case可以共用一组执行语句。35、循环结构——while语句格式:while(表达式)语句功能:计算表达式的值,当值为真时,执行循环体。说明:(1)while语句中的表达式一般是关系表达式或者逻辑表达式,只要值为真就可以继续执行循环体。(2)如果循环体包含一个以上的语句,必须用{}括起来构成复合语句。36、do-while语句格式:do{语句}while(表达式);功能:先执行一次循环体,再判别表达式的值,如果为真则继续执行循环,否则终止循环。说明:(1)do-while语句的表达式后必须加分号。(2)如果循环体由多个语句组成,也必须由{}括起来,组成一个复合语句。37、for语句格式:第6页共17页for(表达式1;表达式2;表达式3)语句功能:(1)首先计算表达式1的值;(2)再计算表达式2的值,若值为真,则执行一次循环体,否则跳出循环;(3)计算表达式3的值,转回第(2)步重复执行。38、for语句最易理解的如下形式:for(循环变量赋初值;循环条件;循环变量增值)语句39、说明:for语句的各个表达式均可省略,但是分号不可缺少。如果循环变量已经在for语句前赋初始值,那么表达式1可以省略。如果省略表达式2,一般在循环体中加入break语句来退出循环。若省略表达式3,应在循环体中修改循环变量,保证循环能结束。可以同时省略三个表达式中的任意2个。三个表达式可以全部省略。循环体可以是空语句。表达式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其它表达式。表达式2一般是关系表达式或者逻辑表达式,但也