您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 期末复习-C语言知识点归纳
期末复习C语言知识点归纳一、概述部分主要考察知识点:C程序的结构特点;C程序的扩展名;程序的开发过程;函数的构成;C语言使用的基本符号:ASCII字符集;标识符的命名规则;关键字、用户自定义标识符1.C程序的基本模块是函数,一个C语言源程序可以由一个或多个函数组成,有且只有1个main()函数,可以放在程序中的任何位置.2.函数的定义是平行的,不能嵌套定义,但可以进行嵌套调用。3.一个C程序不论有几个函数,都是从main()函数开始执行.4.C源程序文件的扩展名.c。5.VC++6.0下C语言程序的完整实现过程包括4个基本步骤:编辑形成源文件(.c)编译,形成目标文件(.obj)链接,形成可执行文件(.exe)运行.6.函数的构成:变量定义、语句、注释7.标识符按照C语言所定义的规则来命名的符号,用作变量名、数组名、函数名等,系统定义的关键字也遵循该规则。规则:由字母、数字、下划线组成,第一个字符必须是字母或下划线。C语言中的标识符分:关键字、用户定义标识符例如:area、a234、_1234为合法标识符6x、a-b、a+b为非法标识符注意:标识符区分大小写。PRINTF和printf是不同的标识符用户自定义的标识符应避开C语言的关键字及库函数名。4.c语言的32个关键字:看附表,留印象二、数据类型、常量、变量、表达式注意:常用数据类型的关键字;常量的表达形式;变量的定义及赋值;各类表达式的计算规则;不同数据类型数据混合运算时的类型转换;典型问题:数据的混合计算、整数的分解、数据交换1.数据类型c语言中,整型、实型、字符型是最基本的数据类型.此外还有构造类型,如数组,结构体,共用体等。2.常量指在程序运行中,其值不能被改变。分为整型常量、实型常量、字符常量、字符串常量。整型常量C语言中主要有十进制、八进制、十六进制等:8进制以0引导,16进制以0x或0X引导,十进制不能以0开头.十进制例如12、-3、32767等。八进制用数字0开头,由0-7这8个数字组成。例如010、016为合法八进制数127、018为非法八进制数十六进制用数字0和字母x或X开头,用0-9表示前10个数字,字母A-F(可小写)表示后6个数字。例如0xAF、0x10、0x34为合法十六进制数100、ABC、0xAFH为非法十六进制数实型常量(float或double型)表示方式有两种:小数形式和指数形式。小数形式:例如:0.123、.123、123.都是合法形式,为double型。0.123F(float型)指数形式:例如:2.3026可用以下任何一种指数表示0.23026E1、2.3026e0、23.026E-1但下面的指数形式为非法E3.5e3.6字符型常量一个字符常量占一个字节存储空间.用单引号限定。有普通字符和转义字符。如:普通字符:如‘A’、’c’、’5‘都是合法的字符常量。转义字符:如’\n’换行’\\’反斜杠’\’’单引号’\”’双引号’\ddd’三位八进制’\xhh’二位十六进制’\0x41’(表示以十六进制数41为ASCII码值的字符,即’A’的转义字符形式).‘\0’(表示空字符,在字符串中用作字符串的结束标志)注意:转义字符表面上由多个字符组成,但在内存中只占1字节的空间。字符串常量用英文双引号括起来.如:”hello\n”字符串中的字符个数称为字符串的长度.空字符串长度为0.字符串存储中每个字符占一个字节,字符串结尾自动加一个结束标志符’\0’,所以字符串存储的时候,占用的空间长度要比串的实际长度多1.strlen(“china”),求字符串的字符个数,5(个)sizeof(“china”),求字符串占用的存储空间,6(字节)注意下面两种情况:(1)charch[100]={“Hello”};该串的长度(字符个数)为5,但数组ch的空间长度为100。(2)charch[]={“Hello”};该串的长度(字符个数)为5,但数组ch的空间长度为6。3.变量指在程序运行过程中其值可以改变的量,表示存储数据的空间,需要时要先定义。变量的命名必须符合标识符的命名规则,且不能和C语言中关键字同名。(例如:main是关键字)例如:a、b、ab、a_1为合法变量define、printf为非法变量注意:ab是一个整体,含义不同于a乘以b。变量定义,如:intx,a1,a2;charch1,ch2;floatm;doubles;VC++6.0下,int型数据占4个字节,float型数据占4个字节,double型数据占8个字节,.char型数据占1个字节.自加和自减运算符例如:a++和++a等价于a=a+1b--和--b等价于b=b-1a++和++a的区别:假设a的初值为5表达式a++值为5,最后a值为6。表达式++a值为6,最后a值为6。条件运算由?和:构成,它是根据条件从两个表达式中选择一个进行计算取值的操作,优先级高于赋值运算符,低于算术运算和关系运算.例如:inta=1,b=2,c=3,d=4,z;z=(ab)?c:d;结果:z值为4三、输入输出函数重点:输入输出的格式控制1.数据输出printf格式:printf(格式符,输出项1,输出项2,….)格式符功能%c输出一个字符%d输出十进制整数%f输出小数形式浮点数%e输出指数形式浮点数%s输出一个字符串数据宽度说明:1)在%和格式字符之间插入一个整数来指定输出宽度。例如:%4d、%5c2)对于float和double类型的实数,可以用n1.n2形式n1指定输出数据的宽度(包括小数点),n2指定小数点后小数的位数。例如:%12.3f、%12.0f题型:判断输出结果时格式的正确与否!例1输出整型变量a和b的值,数据宽度均为4。printf(“a=%4d,b=%4d”,a,b);例2输出单精度变量k的值。printf(“%10.2f”,k);2.数据输入scanf格式:scanf(格式符,输入项1,输入项2,…)格式符功能%c输入一个字符%d输入十进制整数%f输入单精度数%lf输入双精度数%s输入一个字符串题型:判断输入数据时的格式正确与否!例1从键盘上输入两个整数,保存在变量a和b中。scanf(“%d%d”,&a,&b);例2从键盘上输入一个双精度数,保存在变量data中。scanf(“data=%lf”,&data);键盘输入23.5,则输入格式应为:data=23.53.字符专用的getchar函数和putchar函数分别用来输入字符和输出字符。例1从键盘上输入一个字符保存在ch中。charch;ch=getchar();例2charc1=’A’,c2;c2=c1+1;putchar(c2);输出结果是’B’。例3输出一个回车换行符。putchar(‘\n’);例:从键盘上输入一串字符,最后以’!’为结束标志。分别统计大写字母,小写字母、数字出现的次数。#includestdio.hmain(){charch;intn1=0,n2=0,n3=0;printf(“请输入一串字符以!结束:\n”);ch=getchar();//先输入一个字符while(ch!='!'){if(ch='A'&&ch='Z')n1++;if(ch='a'&&ch='z')n2++;if(ch='0'&&ch='9')n3++;ch=getchar();//继续输入下一个字符}printf(大写字母出现次数是%d\n,n1);printf(小写字母出现次数是%d\n,n2);printf(“数字出现次数是%d\n,n3);}4.字符串专用的输入输出函数gets()和puts()例如:charstr[100];gets(ch);//输入一个字符串存入字符数组strputs(ch);//输出字符数组str中存放的字符串6.复合语句格式:{语句1语句2….语句n}例2若已经定义inta,b;且已赋值,要将a和b中的数进行交换,下面选项中不正确的是A){a=a+b,b=a-b,a=a-b}B){t=a,a=b,b=t;}C){a=t;t=b;b=a;}D){t=b;b=a;a=t;}结构化程序设计的三种基本结构:顺序结构、选择结构(分支结构)、循环结构四、选择结构注意:条件表达式的构造;关系运算、逻辑运算;选择结构的基本语句:if语句if-elseif-else的嵌套结构(else与if的匹配规则)switch语句的语法要求,执行流程1.关系运算符、、=、=、==、!=关系运算的结果只有两种:真或假C语言中关系运算的结果为真用1表示,假用0表示。例16=6‘a’’A’’1’‘5’结果均为真,值为1例26!=6‘D’==’d’‘9’’F’结果均为假,值为02.逻辑运算符&&(与)||(或)!(非)优先级:!&&||例1若变量a值为10,变量b值为16,计算表达式。ab||asqrt(b)&&b=16最后结果为真,表达式的值为13.条件表达式的构造:注意:数学上的表达式:0≤x≤10在C程序中的表达:x=0&&x=10判断char型变量ch中存放的是大写字母或小写字母:判断整数n能否被整除m整除:判断年份是否是闰年:3.if语句单分支结构:if(条件表达式)语句若表达式为真,则执行语句;否则if语句结束。注意:条件表达式可以是常量、变量、关系表达式、逻辑表达式当常量、变量、关系表达式、逻辑表达式的取值不是0的时候,条件为真;若取值为0,则条件为假。4.if-else:二选一if(条件表达式){语句组1}else{语句组2}表达式的值非0表示真,执行语句组1;否则,执行语句组2.例1从键盘上输入两个整数,输出较大的数。#includestdio.hmain(){intx,y;printf(“请输入两个整数:\n”);scanf(“%d%d”,&x,&y);if(xy)printf(“%d”,x);elseprintf(“%d”,y);}5.if语句的嵌套多选一结构:if(表达式1){语句组1}elseif(表达式2){语句组2}elseif(表达式3){语句组3}else{语句组n}注意:else与if的配对规则:else总是与它前面的、最近的、没有与其他else进行配对的if进行配对。例1根据输入的学生成绩,大于或等于90分为A,60分以下等级为E,其余每10分一个等级。#includestdio.hmain(){intg;printf(“请输入一个整数:\n”);scanf(“%d”,&g);if(g=90)printf(“A\n”);elseif(g=80)printf(“B\n”);elseif(g=70)printf(“C\n”);elseif(g=60)printf(“D\n”);elseprintf(“E\n”);}6.switch语句一般格式:switch(表达式)/*switch表达式为整型或字符型值!*/{case常量1:语句组1/*case后面必须是常量或常量表达式!*/case常量2:语句组2.........default:语句组//也可省略该语句}可以使用break语句来中止后面语句的执行.switch表达式通常为整型或字符型值,case中的常量类型与之对应,case后面的表达式可以是常量或常量表达式,不能为变量表达式.若表达式的值与表达式1相等,则执行语句1;若与表达式2相等,则执行语句2……若均不相等则执行语句n。例1分析switch语句的执行#includestdio.hmain(){intg=3;switch(g){case1:printf(“****\n”);break;case2:printf(“####\n”);break;case3:printf(“&&&&\n”);case4:printf(“@@@@\n”);break;case5:printf(“$$$$\n”);break;default:printf(“~~~~\n”);}}程序运行结果:&&&&@@@@五、循环结构
本文标题:期末复习-C语言知识点归纳
链接地址:https://www.777doc.com/doc-1656331 .html