2024年计算机等级二级C语言必考重点知识汇编(精品).docx
2024年计算机等级二级C语言必考重点知识汇编(精品)1、结构化程序是由顺序结构、选择结构(分支结构)、循环结构三大结构组成。2、读程序时都要从main()入口,然后从main中第一行程序依次顺序往下读。3、计算机数据在电脑中保存是以二进制形式存放的。4、bit是位,二进制中的。或1。byte是指字节,一个字节二八位。5、编译预处理不是C语言,不占运行时间,不要加分号。6、definePI3.1415926;这个写法是错误的,后面一定不能出现分号。7、每个C语言程序中main函数有且只有一个。8、在函数中不可以再定义函数。但是函数中可以再调用函数。9、算法:可以没有输入,但是一定要有输出。10break可用于循环结构和SWitCh语句。11、逗号运算符的级别最低,赋值的级别倒数第二。第一章C语言的基础知识第一节1、C语言编写的程序称为遍程序,又称为编译单位。2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。3、一个C语言程序有且只有一个main函数,是程序运行的起点。第二节1、VC是软件,用来运行写的C语言程序,上机考试的系统为VC6.0。2、每个C语言程序写完后,都是先编译,后链接,最后运行。(.C-÷.Obj-÷.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。(常考!)第三节1、标识符(必考内容):合法的要求是由字母,数字,下划线组成。并且第一个必须为字母或则是下划线,不可以是数字。2、标识符分为关键字、预定义标识符、用户标识符。关键字:不可以作为用户标识符号,都是小写。maindefinescanfprintf都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。预定义标识符:背诵definescanfprintfincludeo记住预定义标识符可以做为用户标识符。用户标识符:基本上每年都考,详细请见书上习题。第四节1、十进制转换第五节1、C语言中只有八、十、十六进制,没有二进制。但运行时,所有进制都要转成二进制来处理。a、C语言中的八进制规定要以O开头。018的数值是非法的,八进制不可以出现8ob、C语言中的十六进制规定要以OX开头。要看懂OXf九2、小数的合法写法:C语言小数点两边有一个是零的话,可以不用写。a、Lo在C语言中可写成“Lb、0.1在C语言中可以写成”.13、实型数据的合法形式:a、2.333e-l就是合法的,且数据是2.333X10b、考试口诀:e前e后必有数,e后必为整数。请结合书上的例子。4、整型一般是4个字节,字符型是1个字节,双精度一般是8个字节:longintx;表示X是长整型。unsignedintx;表示X是无符号整型。第六、七节核心:表达式一定有数值!1、算术表达式:+,-,*,/,%,考试重点为/和这两个。考试一定要注意:“/两边都是整型的话,结果取整。3/2的结果就是1.“/如果有一边是小数,结果为小数。3/2.0的结果就是0.5“犷符号请一定要注意是余数,考试最容易算成了除号。"%符号两边要求是整数。不是整数就错了。2、赋值表达式:赋值表达式的结果是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。1>intx=y=10:;错啦,定义时,不可以连续赋值。义宓威后,可以连续赋值。x7oX他是7. Oox+y=10;这个写法是错的。2、intX,y;x=y=10;对滴3、intx=7.7;对滴,4、floaty=7:对滴,5、赋值的左造只能莫一3、复合的赋值表达式:inta=2;、_、竹蕾嶷蜜噜疆在3哪养者打上括号。变成(2÷3)再运算。4、自加表达式:5、逗号表达式三11三is三rv½三oa+":优先级别最低(表达式的数值逗号最右边的那个表达式的数值)6>4 , 33Qu » , 224)1、空语句不可以随意执行,会导致逻辑错误。2、注释是最近几年考试的重点,注释不是C语言,不占运行时间,没有分号。不可以嵌套!3、强制类型转换:a、一定最SinQa不悬注意将*一定有揩号的。"山一口加.b、汪忌。nt(a+b)(int)a+bTO½,Jo刖是把a+b转型,后是把a转型再加bo4、三种取整丢小数的情况:1)inta=1.6;2)(int)a;3)1/2;3/2;结果a为I整个数值取整0和1第八节字符:有单单和转义字符之分。D字符数据的合法形式::单单(单引号里面单个字符),0,的ASCIl数值表示为48,'a'的ASen数值是97,'A'的ASCIl数值是65。勰翻隰I嬲肿久或相盘嚷黑以2)转义字符:单引号里面用加上另外字母形成新的组合。转义字符分为一般转义字符、八进制转义字符、十六进制转义字符。一般转义字符:背诵0、n、'、o三三.新#松初,鹦黜糕醉褊X是小写。3、字符型和整数是近亲:两个具有很大的相似之处第九节1)位运算的考查:会有一到二题考试题目。(必考题型)例1:chara=6.b:zr"冬4口解题题XA,为聚把税化成二进制,再做位运算。SI;盛舞觐三盛啜燧-位表薪以P品多喀表示除以2。第二章第一节:数据输出(一)(二)1、使用printf和scanf函数时,要在最前面加上#inclUde"sldio.h2、printf可以只有一个参数,也可以有两个参数。(选择题考过一次)这么背就可以。3、printf("第一局部,第二局部);把第二局部的变量、表达式、常量以第一局部的形式展现出来!4、printf(“a=%d,b=%d",12,34)考试重点!记住:是将第二局部的12和34以第一局部的形式在终端(也就是黑色的屏幕上)显示。考试核心为:一模一样。在黑色屏幕上面显示为a=12,b=34printf(a=%d,nb=%d,z,12,34)则输出的结果就是:a=12,b=345、i11tx=017;(一定要弄清楚为什么是这个结果!过程很重要)6、 O X d# % 6 6 6 4 6 4Xxx7f51 XIooO X%一定要背诵的格式说明表示内容格式说明表示内容%d整型int%c字符char%ld长整型longint%s字符串%f浮点型float%0不带前导。八进制%lf浮点型double%#0带前导O的八进制%输出一个百分号%x不带前导Ox十六进制%5d输出要求有%#x带前导Ox的十五位六进制7、举例说明:Printf("%2d,123);位,原样辎出123printf(“%5d,123);位,左边补两个空格123printf,1.25);为1.250000printfe%5.3f",1.25);(小数点黄一位)printf(w%3.If,1.25);(要进行血舍五入)第二局部123有三位,大于第一局部指定的两第二局部123有三位,小于第一局部指定的五小数要求补足6位的,没有六位的补0,。结果第一局部指定小数三位,整个五位,结果为1.250第一局部指定小数一位,整个三位,结果为1.3第三节数据输入1、scanf(a=%d,b=l",&a,&b)(考试超级重点)考试核心为:一模一样。以第一个局部双引号里面为输入标准形式。终端输入为:a=12,b=34才可把12和34正确赋值给a和b。2、scanf(%d,x,y);scanf的第二个局部一定要是地址(或是指针变量)!scanf(%d,%d",&x,&y);注意写成这样正确!3、特别注意指针在SCanf的考察(近几年重点)例如:intx=2;int*p二&x;scanfC%cl,z,x):错误scanf(%d,z,&p);错误scanf("%d”,p);scanf("%d",*p34、指定输入的长度(考试重点)终端输入:1234567scanf("%2d%4d%d”,&x,&y,&z);X为12,y为3456,Z为7终端输入:1234567由于1和2中间有空格,所以只有1位给Xscanf(%2d%4d%d,z,&x,&y,&z);X为1,y为2345,Z为675、字符和整型是近亲:intx=97;printf("%d,x);结果为97printf("%c,x);结果为a6、输入时候字符和整数的区别(考试超级重点)SCanf("刎,&x);这个时候输入1,特别注意表示的是整数1scanf("%c,&x);这个时候输入1,特别注意表示的是字符'1',ASCn为整数48。7、补充说明:1) SCanf("%d%d%*d%d",&a,&b,&c);跳过输入的第三个数据。2) putchar,getchar函数的考查。前是输出一个字符,后是获得一个字符。3) 交换两个数t=x;x=y;y=to当成单词去背。第三章特别要注意:1、C语言中是用韭”表示逻辑真,0_表示逻辑假的。2、C语言有构造类型,没有逻辑类型。3、关系运算符号:注意<二的写法,=和二的区别!(考试重点)4、if只管后面一个语句,要管多个,请用大括号!1)关系表达式:a、表达式的数值只能为1(表示为真),或0(表示假)。如9>8这个关系表达式是真的,所以9>8这个表达式的数值就是1。如7<6这个关系表达式是假的,所以7<6这个表达式的数值就是0b、考试最容易错的:就是intx=l,y=0,z=2;x<yz是真还是假?带入为l<0<2,从数学的角度出发肯定是错的,但是如果是C语言则就是正确的!因为要1<0为假得到0,表达式就变成了0C2那么运算结果就是1,称为了真的了!c、等号和赋值的区别!一定记住“二就是赋值,“二二”才是等号。做错了,我一定会强烈鄙视你!2)逻辑表达式:共有&&Il!三种逻辑运算符号核心:表达式的数值只能为1(表示为真),或O(表示假)。a、注意短路现象。考试比拟喜欢考。详细请见书上例子,一定要会做例1和例2ob、表示X小于。大于10的方法。(考试非常容易错的)0<x<10是不行的(一定记住),他永远为真。(0<x)&&(x<10)才是正确表示方法。3)if语句a、嚼奂魏髓即其鳖加语句匹配。b>c、d、(a<b) t=a ab b""t (a<b) H=a;a=b;b=t; 两个的区别,考试屡次考到了!出的 if 盾句:if (aVb) t=a;tj if 语句:if (a<b) min=a;else min-b;嵌套的if语句:if (a<b3(Sc) Printf ( "ok! ) )_;.多项选择_的 if z if (a= =t) printf ( *azz ); else if (b= =t) Printf ( "b) else if (c= =t) printf ( "c") else