您好,欢迎访问三七文档
第一章概述c语言的源程序后缀(*.c),经过编译后生成目标程序(*.obj),经过链接后生成可执行文件(*.exe).VC6.0的使用,跳过,上机课再讲解解决问题的方法和步骤称为算法,包括数值运算和非数值运算。算法的五个特点:有穷性、确定性、可以没有输入、必须有输出、有效性。三种基本结构:顺序结构、选择结构、循环结构。由三种基本结构组成的算法可以解决任何复杂问题。第二章数据类型2.1任何一个可执行c程序,必须有且只有一个主函数main,程序总是从主函数开始执行,到主函数结束。每条语句都是由半角的分号结束。程序注释放在/*和*/之间,注释可以为任意内容,但不允许出现嵌套。2.2了解c语言数据类型分类2.3标识符命名规则:字母、数字、下划线组成,不能以数字开头。标识符分为关键字、预定义标识符和用户标识符。用户标识符不能使用关键字,尽量不要使用预定义标识符。2.4对于基本数据类型量,根据取值是否可以改变,分为常量和变量。变量的值可以改变,常量的值不可以改变。了解使用符号常量的好处。2.52.5.1整型常量根据进制分为八、十、十六进制,熟悉二、八、十、十六进制的转换。只有十进制可以带负号,由0-9共10个数码组成。八进制由0-7八个数码组成,必须有前缀0。十六进制由0-9,A-F组成,必须有前缀0X(十六进制中的字母不分大小写)。2.5.2整型数据在内存中以补码的形式存放,正数和无符号数的补码为二进制原码。负数的补码:①绝对值的二进制形式②按位取反③然后加1。整型变量的分类:unsigned/signedshort/longint及其数值范围。整型变量定义的方法及其注意要点2.62.61实型数据在c语言中只使用十进制,分为小数形式和指数形式。小数形式:由0-9和小数点组成,必须有小数点,可以有负号。指数形式:aEn(a为十进制数,n必须为整数,都可以有负号,E不分大小写)2.62实型变量使用float或double来定义。实型数据有舍入误差,如1.0/3*3不等于1。2.72.7.1字符常量:只能使用半角的单引号,只能是单个的字符,如’a’、‘1’等。字符可以是字符集中任意字符。字符’1’和数字1代表不同的值。2.7.2转义字符使用”\”开头,代表的也是单个字符。常用转义字符‘\n’‘\t’。特殊转义字符‘\\’‘\’’‘\”’八进制数表示转义字符‘\ddd’(ddd代表1-3位八进制数,没有前缀)。十六进制数表示转义字符‘\xhh’(hh代表1-2位十六进制数,有前缀x)2.7.3字符变量使用char来定义,如:charc;。2.7.4字符型数据在内存中占一个字节的空间,存放的是字符的ASCII码。字符数据可以参与运算,其值为字符的ASCII码值。字符’a’的ASCII码值为十进制的97、八进制的0141、十六进制的0X61给变量c赋值字符‘a’的六种表示形式:字符形式①c=’a’;②c=’\141’;③c=’\x61’;整型形式④c=97;⑤c=0141;⑥c=0X61;。2.7.5字符串常量使用双引号括起来,如”abc”,内存中占有4个字节。系统自动在字符串末尾添加一个字符’\0’作为字符串结束标记。字符串占有的字节数因为有结束标记,所以占用空间比实际字符个数多一个。2.8定义变量的时候给变量赋值称为变量赋初值,如:inta=3,b=1;第三章运算符和表达式3.1了解c运算符的构成和分类3.2+、-、*、/是双目运算符,具有左结合性。-作为负号时,为单目运算符,具有右结合性。参与运算的对象都为整型时,结果也为整型,如10/3的值为3。%为求余运算,运算对象只能为整数,如10%3的结果为1。10÷3=3„1。运算符和操作对象构成的式子称为表达式,任何表达式都是有值的。优先级决定了运算的先后顺序,结合性决定了运算的方向。自加自减++--运算的对象必须为变量,是单目运算符,右结合性。自加自减前置后置都会使运算对象的值增1或减1。前置则该表达式的值为当前变量的值,后置则表达式的值为当前变量的值加1或减1后的值。3.3赋值运算符=,右结合性,作用是把右边的值赋值给左边的变量。赋值运算符两边数据类型不一致时,将自动进行数据类型转换,右边的类型或转换为左边的类型。转换的具体规定:①实型-》整型,舍弃小数。②整型-》实型,增加小数部分③整型-》字符型,只取低8位。复合赋值,优先级与结合性与赋值运算符相同。如a+=3相当于a=a+3。3.4逗号运算符,,一般形式:表达式1,表达式2。规定把表达式2的值作为整个表达式的值。逗号运算符的优先级最低。3.5char和short类型参与运算会自动转换为int类型float类型参与运算会自动转换为double类型数据类型不同的数据混合运算时,会自动向精度高的方向转换为相同类型进行运算。赋值运算的转换规则参考3.3强制类型转换的作用是把表达式的结果强制转换为指定的数据类型,其一般形式:(类型说明符)(表达式)所有转换都是为了当次运算的需要,并不会改变变量原有的数据类型和数值。第四章顺序结构4.0程序中按语句出现顺序执行的结构程序顺序结构。4.1半角分号;是c语言语句结束的标志,了解c语句的分类。4.2赋值表达式加分号;构成赋值语句。区分inta=b=c=5;是非法的;a=b=c=5;是合法的。区分表达式和语句的区别(在于语句结束标志分号;)。4.3了解输入输入的概念,使用系统提供的标准输入输入函数,需要添加stdio.h头文件。4.4字符输入输出函数putchar和getchar,只能输入输出单个字符。charc;/*定义字符变量*/c=getchar();/*使用字符输入函数给字符变量赋值*/putchar(c);/*使用字符输出函数输出变量c所代表的字符*/4.5格式输出函数printf,一般形式:printf(“格式控制字符串”,输出表列);格式控制字符串的一般形式:%[标志][最小宽度][.精度][长度]类型([]内为可选项)参考教材Page33的表。格式输入函数scanf,一般形式:scan(“格式控制字符串”,输入表列);格式控制字符串的一般形式:%[*][最小宽度][长度]类型([]内为可选项)参考教材Page35的表。第五章选择结构5.1关系运算符、=、、=、==、!=共6个,其中、=、、=的优先级相同,高于==、!=。关系表达式的值是“真”或“假”,分别用1和0表示。5.2逻辑运算符&&与、||或、!非,其中!的优先级高于&&,&&高于||。熟悉逻辑运算的真值表。c语言没有表示逻辑值的数据类型,所以用1表示“真”,0表示“假”,但在判断的时候,非0值为“真”,0值为“假”。&&和||运算时,当根据运算符左边的表达式可以求出整个表达式的值的时候,右边的表达式将不会被执行。例如:1||任何表达式、0&&任何表达式。判断闰年:(year%4==0&&year%100!=0)||year%400==05.35.3.1①if(表达式)语句当表达式为真的时,执行语句,否则什么也不执行②if(表达式)语句1当表达式为真的时,执行语句1else语句2否则,执行语句2aif后必须为表达式,此处可以为任意表达式,值为0则为假,!0则为真后面的语句必须为一条语句,需要执行多条语句时,使用复合语句形式。两种if结构在语法上都认为是一条语句5.3.2两种if结构中,语句部分又可以是if结构,这样就构成了嵌套。else总是和if配对的,不能单独出现,配对原则是:与它前面最近的没有配对的if进行配对5.4条件运算符?:的一般形式:表达式1?表达式2:表达式3求值规则:计算表达式1为真,则表达式2的值为整个表达式的值表达式1为假,则表达式3的值为整个表达式的值5.5switch语句,一般形式:swith(表达式){case常量1:语句1;case常量2:语句2;case常量3:语句3;default:语句n;}表达式的值必须是整形或其兼容类型:short、long、char,不能用实型掌握switch结构的执行过程break语句用于跳出switch结构,不能单独使用第六章循环结构6.1while语句的一般形式:while(表达式)循环体语句执行过程,当表达式为真值时,执行循环体语句,否则循环结束。循环体语句为单条语句,如需执行多条语句则需使用符合语句。6.2dowhile语句的一般形式:do循环体语句while(表达式);执行过程,执行循环体,然后判断表达式,如果为真值,则继续执行循环体,否则循环结束。6.3for语句的一般形式:for(表达式1;表达式2;表达式3)循环体语句;执行过程:①求解表达式1②判断表达式2的真假值,如果为假,循环结束③执行循环体并求解表达式3④转回到步骤②其中表达式1、2、3都是可以省略的,但括号里的两个分号不能省略。省略表达式2相当于其值恒为真。6.5break语句,在循环体中出现break语句,则退出循环,使循环结束。continue语句,结束本次循环,进入下次循环。第七章数组7.17.1.1一维数组的定义形式:类型说明符数组名[常量表达式];例:inta[10];[]中的常量表达式必须为常量值,表示元素的个数。7.1.2数组元素的引用:数组名[下标]例:a[2]。下标可以为变量、常量、表达式等,下标是从0开始,表示第一个元素。下标会自动取整,如a[3.2]等价于a[3]7.1.3一维数组的初始化:类型说明符数组名[常量表达式]={值1,值2„„};可以只给部分元素赋值,若给全部元素赋值,可以省略数组的长度。7.27.2.1二维数组的定义形式:类型说明符数组名[常量表达式1][常量表达式2];例:inta[2][3];7.2.2数组元素的引用:数组名[下标]例:a[0][0]。7.2.3二维数组初始化:①按行分段赋值如:inta[2][3]={{1,2,3},{4,5,6}};②按行连续赋值如:inta[2][3]={1,2,3,4,5,6};可以对部分元素赋初值,未赋值的元素自动取0值。如对全部元素赋初值,则第一维的长度可以不给出。7.37.3.1字符数组具有普通数组的特点,定义、引用、赋初值和普通数组相同,另还具有其他特殊的属性。使用字符串赋初值:charc[]=“ABCDF”;系统在字符串后自动添加结束标志’\0’,所以字符数组c有6个元素。字符数组可以按照“%s”格式,使用printf和scanf整体输入或输出。7.3.2字符串输出函数:puts(str1);//输出字符数组str1中的字符串。字符串输入函数:gets(str1);//输入字符串给字符数组str1赋值。字符串连接函数:strcat(str1,str2);//把字符数组str2中的字符串连接在字符数组str1的字符串后面。字符串复制函数:strcpy(str1,str2);//把字符数组str2中的字符串复制到字符数组str1中。字符串比较函数:strcmp(str1,str2);//比较字符数组str1和str2中字符串的大小,并返回结果(00=0)。字符串测长函数:strlen(str1);//返回字符数组str1中字符串中实际字符的个数,不包括结束标志。第八章函数8.1概述c语言中,一个函数体内不能定义另一个函数,函数的定义必须放在函数体的外边,即不能嵌套定义,但可以嵌套调用。main函数不允许被其他函数调用,c程序执行的过程总是从主函数开始到主函数结束,并且只能有且只有一个主函数main。8.2函数定义的一般形式类型说明符函数名(类型说明符形式参数列表){函数体}如果定义没有返回值的函数,函数名前的类型说明符使用void关键字
本文标题:C语言知识要点
链接地址:https://www.777doc.com/doc-7241756 .html