c语言常考知识点有哪些查看详情

C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。下面是小编整理了c语言常考知识点有哪些,来欣赏和学习吧,希望能对大家有所帮助。 C语言基本知识 【考点1】C程序 C语言程序结构有三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switch) 【考点2】main函数 每个C语言程序中main 函数是有且只有一个。读程序都要从代理记账main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。 【考点3】存储形式 计算机的数据在电脑中是以二进制的形式保存。最低的存储单元是bit(位),位是由为 0 或者1构成。 byte 是指字节, 一个字节 = 八个位。数据存放的位公司注册置就是它的地址。 【考点4】注释 是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。 【考点5】书写格式 每条语句的后面必须有一个分号,分号是语句的一部分。一行内可写多条公司变更语句,一个语句可写在多行上。 【考点6】标识符 合法的用户标识符考查: 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了。 C语言标识符分如下3类 (1)关键字。它们在程序中有固定的含义,不能另进出口退税作他用。如int、for、switch等。 (2)预定义标识符。预先定义并具有特定含义的.标识符。如define、include等。 (3)用户标识符。用户根据需要定义的标识符,符合命名规则且不与关键字相同。 关键字不可以作为用户标识符号。main d工商年报efine scanf printf 都不是关键字。迷惑你的地方If 是可以做为用户标识符。因为If 中的第一个字母大写了,所以不是关键字。 【考点7】实型数据 实型数据的合法形式:小数形式和指数形式。掌握判定指数形式合法性。 2.333e-1 就是合法的公司注销,且数据是2.333×10-1。 考试口诀:e 前e 后必有数,e 后必为整数。 【考点8】字符 字符数据的合法形式:: ‘1’ 是字符占一个字节,”1″是字符串占两个字节(含有一个结束符号)。 ‘0’ 的ASCII 数值表示为48,’a’ 的ASCII 一般纳税人代理记账数值是97,’A’的ASCII 数值是65。 字符型和整数是近亲: char a = 65 ; printf(“%c”, a); 得到的输出结果:a printf(“%d”, a); 得到的输出结果:65 一般考试表示单个字符错误的形式税务代办:’65’ “1” 字符是可以进行算术运算的,记住: ‘0’-0=48 大写字母和小写字母转换的方法: ‘A’+32=’a’ 相互之间一般是相差32。 【考点9】整型数据 整型一般是两个字节, 字符型是一个字节,双精度一般是4 个字节: 考试时候一般会说,在16 位编译系统,或者是32 位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4 个字节就可以了。 【考点10】转义字符 转义字符的考查: 在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x 必须存在。 在程序中 int a = 06d, 是一个八进制的形式。 在转义字符中, ’\x6d’ 才是合法的,0 不能写,并且x 是小写。 ‘\141’ 是合法的, 0 是不能写的。 ‘\108’是非法的,因为不可以出现8。 【考点11】算术运算 算术运算符一共有+、—、*、/、%这五个。%符号两边要求是整数。不是整数就错了。 三种取整丢小数的情况:不是四舍五入是舍掉小数部分。 1、int a =1.6; 2、(int)a; 3、1/2; 3/2; 【考点12】强制类型转换 将一个运算对象转换成指定类型,格式为(类型名)表达式 一定是 (int)a 不是 int(a),注意类型上一定有括号的。 注意(int)(a+b) 和(int)a+b 的区别。前是把a+b 转型,后是把a 转型再加b。 【考点13】赋值 是表达式就一定有数值。 赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。 复合赋值运算符:注意:a*=m+2 是 a=a*(m+2) 自加、自减表达式:假设a=5,++a(表达式的值为6), a++(表达式的值为5); j=a++;等价于j=a;a=a+1; 而j=++a;等价于a=a+1;j=a;。 考试口诀:++在前先加后用,++在后先用后加。 【考点14】逗号运算 逗号表达式:优先级别最低; 表达式的数值逗号最右边的那个表达式的数值。 (2,3,4)的表达式的数值就是4。 【考点15】数制转换 一定要记住二进制 如何转换成十进制。 八进制是没有8 的,逢8 进1,018 的数值是非法的。 【考点16】位运算 C语言提供6种位运算符:按位求反~,按位左移<<,按位右移>>,按位与&,按位异或|,按位或^。 总的处理方法:几乎所有的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)。 异或运算的规则:0异或1得到1,0异或0得到0,1异或1得到0。可记为“相同为0,不同为1”。 C语言常用知识点 C语言知识点:选择结构 【考点1】关系运算 关系运算符有6个,分别是>,>=,<,<=,==,!=,前四种优先级高于后两种。 关系表达式: 关系表达式真时为1,假时为0 当关系的表达是为真的时候得到1。如 9>8 这个是真的,所以表达式的数值就是1。 【考点2】逻辑运算 只能为1(表示为真),或0(表示假) a) 共有三种逻辑运算符号。逻辑非(!),辑与(&&),逻辑或(||)。 b) !>&&>|| 优先的级别。 c) 注意短路现象。考试比较喜欢考到。 例a++||b++,如果表达式a++的值非零,则表达式b++不再执行。 d) 要表示 x 是比0 大,比10 小的方法。0 【考点3】if语句 可以单独出现,也可以与else匹配出现。if语句可以嵌套,这时else总是与离它最近的且没有与else匹配的if匹配。 注意if语句的子句是紧接if或else的一句,如有多句需要用{}括起来。 【考点4】条件运算 是唯一的三目运算符,格式:表达式1 ?表达式2 :表达式3 表达式1值为非0时,整个表达式值为表达式2的值,表达式1值为0时,整个表达式值为表达式3的值。考试口诀:真前假后。 【考点5】switch语句 a) 一定要注意有 break 和没有break 的差别,书上(53,54 页)的两个例子,没有break 时候,只要有一个case 匹配了,剩下的都要执行,有break 则是直接跳出了switch 语句。 b) switch 只可以和break 一起用,不可以和continue一起用。 c) switch(x) x:是整型常量,字符型常量,枚举型数据。 {case 1: …. 不可以是变量。 case 2: …. } switch后小括号里面的表达式不能为实型,case后表达式不能有变量。 口诀:switch表不为实,case表不为变。 语言知识点:数据的输入输出 【考点1】printf函数 格式为:printf(输出控制,输出列表)。输出控制是用一对双引号括起来的,包含格式说明和原样信息。输出列表包含若干输出项。 %d对应整型,%f对应单精度实型,%c对应字符型,%o对应八进制无符号整型,%x对应无符号十六进制整型,%u对应无符号整型,%e对应指数型,%s对应字符串型。可在%和格式字符之间加一个数来控制数据所占的宽度和小数位数。 【考点2】scanf函数 格式为:scanf(输入控制,输入列表) 注意该函数的第二个部分是&a 这样的地址,不是a; scanf(“%d%d%*d%d”,&a,&b,&c); 跳过输入的第三个数据。 【考点3】putchar与getchar函数 可用于输出或输入单个字符,这两个函数是stdio.h文件中的库函数,它们是printf与scanf函数的简化。 char a = getchar() 是没有参数的,从键盘得到你输入的一个字符给变量a。 putchar(‘y’)把字符y 输出到屏幕中。 【考点4】如何交换两个变量 如何实现两个变量x ,y 中数值的互换(要求背下来) 不可以把 x=y ,y=x; 要用中间变量 t=x;x=y;y=t。 【考点5】实现保留三位小数 如何实现保留三位小数,第四位四舍五入的程序 float x=12.34567; float y=((int)(x*1000+0.5))/1000.0; 这个有推广的意义,注意 x = (int)x 这样是把小数部分去掉。 C语言知识点:C语言基本知识 【考点1】C程序 C语言程序结构有三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switch) 【考点2】main函数 每个C语言程序中main 函数是有且只有一个。读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。 【考点3】存储形式 计算机的数据在电脑中是以二进制的形式保存。最低的存储单元是bit(位),位是由为 0 或者1构成。 byte 是指字节, 一个字节 = 八个位。数据存放的位置就是它的地址。 【考点4】注释 是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。 【考点5】书写格式 每条语句的后面必须有一个分号,分号是语句的一部分。一行内可写多条语句,一个语句可写在多行上。 【考点6】标识符 合法的用户标识符考查: 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了。 C语言标识符分如下3类 (1)关键字。它们在程序中有固定的含义,不能另作他用。如int、for、switch等。 (2)预定义标识符。预先定义并具有特定含义的标识符。如define、include等。 (3)用户标识符。用户根据需要定义的标识符,符合命名规则且不与关键字相同。 关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If 是可以做为用户标识符。因为If 中的第一个字母大写了,所以不是关键字。 【考点7】实型数据 实型数据的合法形式:小数形式和指数形式。掌握判定指数形式合法性。 2.333e-1 就是合法的,且数据是2.333×10-1。 考试口诀:e 前e 后必有数,e 后必为整数。 【考点8】字符 字符数据的合法形式:: ‘1’ 是字符占一个字节,”1″是字符串占两个字节(含有一个结束符号)。 ‘0’ 的ASCII 数值表示为48,’a’ 的ASCII 数值是97,’A’的ASCII 数值是65。 字符型和整数是近亲: char a = 65 ; printf(“%c”, a); 得到的输出结果:a printf(“%d”, a); 得到的输出结果:65 一般考试表示单个字符错误的形式:’65’ “1” 字符是可以进行算术运算的,记住: ‘0’-0=48 大写字母和小写字母转换的`方法: ‘A’+32=’a’ 相互之间一般是相差32。 【考点9】整型数据 整型一般是两个字节, 字符型是一个字节,双精度一般是4 个字节: 考试时候一般会说,在16 位编译系统,或者是32 位系统。碰到这种情况,不要去管, 一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4 个字节就可以了。 【考点10】转义字符 转义字符的考查: 在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x 必须存在。 在程序中 int a = 06d, 是一个八进制的形式。 在转义字符中, ’\x6d’ 才是合法的,0 不能写,并且x 是小写。 ‘\141’ 是合法的, 0 是不能写的。 ‘\108’是非法的,因为不可以出现8。 【考点11】算术运算 算术运算符一共有+、—、*、/、%这五个。%符号两边要求是整数。不是整数就错了。 三种取整丢小数的情况:不是四舍五入是舍掉小数部分。 1、int a =1.6; 2、(int)a; 3、1/2; 3/2; 【考点12】强制类型转换 将一个运算对象转换成指定类型,格式为(类型名)表达式 一定是 (int)a 不是 int(a),注意类型上一定有括号的。 注意(int)(a+b) 和(int)a+b 的区别。前是把a+b 转型,后是把a 转型再加b。 【考点13】赋值 是表达式就一定有数值。 赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。 复合赋值运算符:注意:a*=m+2 是 a=a*(m+2) 自加、自减表达式:假设a=5,++a(表达式的值为6), a++(表达式的值为5); j=a++;等价于j=a;a=a+1; 而j=++a;等价于a=a+1;j=a;。 考试口诀:++在前先加后用,++在后先用后加。 【考点14】逗号运算 逗号表达式:优先级别最低; 表达式的数值逗号最右边的那个表达式的数值。 (2,3,4)的表达式的数值就是4。 【考点15】数制转换 一定要记住二进制 如何转换成十进制。 八进制是没有8 的,逢8 进1,018 的数值是非法的。 【考点16】位运算 会有一到二题考试题目。 C语言提供6种位运算符:按位求反~,按位左移<<,按位右移>>,按位与&,按位异或|,按位或^。 总的处理方法:几乎所有的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)。 异或运算的规则:0异或1得到1,0异或0得到0,1异或1得到0。可记为“相同为0,不同为1”。 见教材31页例1。 C语言基本知识点归纳 一、C语言知识点归纳: 1、C语言程序是由多个函数构成的。 2、每个C语言程序中有且只有一个main函数。 3、C语言不使用行号,无程序行的概念。 4、程序中可使用空行和空格。 5、C语言程序格式常用锯齿形书写格式。 6、C语言程序中可加任意多的注释,注释形式/*……*/,并且注释形式不能嵌套,即不能注释里面又有另一个注释。//行注释是C++当中新增加的内容。 7、引用C语言标准库函数,一般要用文件包含预处理命令将其头文件包含进来。 8、用户自定义的函数,必须先定义后使用。 9、变量必须先定义后使用。 10、变量名,函数名必须是合法的标识符,标识符习惯用小写字母,C语言是字母大小写敏感的语言。 11、不能用关键字来命名变量和函数。 12、C语言的语句都是以分号结尾的。 13、计算机中使用的进制数是二进制数,而不是十进制数,因为二进制只有两个数码,运算简单便于硬件实现,同时二进制便于逻辑运算。将十进制数转换成二进制数应分为整数部分转换和小数部分转换,整数部分转换可采用基数除法来实现,小数部分转换可采用基数乘法来实现。八进制和十六进制也是C语言中经常表示数据的进制,因为它们与二进制之间的转换非常方便,但要注意他们不是计算机中使用的进制。 14、机器数的表示形式有原码、反码和补码几种形式,计算机中通常使用补码的形式来表示一个数,因为补码运算可以连同符号位一起参与运算,这便于运算器的设计与实现。 二、编程过程中初学者极易犯的错误: 1、书写标识符时,忽略了大小写字母的区别。例如把变量a写成A。 2、忽略了变量的类型,进行了不合法的运算。例如floata,b;printf(“%d”,a%b);,其中%运算只能是整形变量或常量。 3、将字符常量与字符串常量混淆。例如charc;c=”a”;,应该是c=’a’; 4、语句末尾忘记加分号。 5、容易多加不需要的分号,例如{inta,b;printf(“%d,%d”,a,b);};这里花括号外是不能加分号的。 6、将C语句写在{}的外面。 7、变量未定义就使用。 8、在执行部分定义变量。在TC下,函数由生命部分和执行部分组成,并且这两部分不能交叉,也就是说,不能在C语言中间定义变量。下面程序中,变量b的定义放到了执行部分。 voidmain() { inta; a=10; intb; b=a; } 但要记住VC6.0中没有这样的规定,只要变量定义在前,使用在后就行。 9、给变量赋值时忽视了变量的表示范围。例如charch=130;char类型的取值范围是-128~127,这里130超出了ch的表示范围。 10、定义变量时,变量名之间用了空格或分号分隔。例如:intab;应改为:inta,b; 11、输入字符常量时漏掉单引号,认为A、B就是’A’、’B’。例如charch=A; 12、C语句末尾的分号用了中文的分号(;)而不是英文的(;),导致编译错误。 13、误将字母o当成数字零0。 14、编程中经常漏掉}、)、’、”。 15、定义变量时数据类型名与变量名之间无空格。例如inta; 16、对于float型变量,使用%运算符。 17、对表达式进行强制类型转换时漏掉了(),例如:int(3.2+a),应该为:(int)(3.2+a)。 18、赋值运算符的左边使用表达式:例如:a+b=30;或者是30=a+b; 19、语序颠倒。例如下列程序中初学者会误认为程序的输出为a=21: main() { inta,b; a=b+1; b=20; printf(“a=%d”,a); } 20、#include或#define命令用分号结束。 #开头的是预处理命令,而不是C语句,因此,不用用分号结尾。例如#include;就是错误的,多了个分号。 21、利用scanf函数输入变量值时漏掉取地址符&。 22、利用printf函数和scanf函数时,格式控制符与表达式类型不一致,或数量不相等。例如: inta,b; scanf(“%d”,&a,&b);//格式控制符与表达式的’数量不相等 printf(“a=%d,b=%f”,a,b);//%f应改为%d。 23、调用scanf函数输入浮点数时规定了精度。 例如: floatf; scanf(“%5.2f”,&f);//应改为scanf(“%5f”,&f); 24、对算数表达式取地址。 取地址运算符&只能用于变量。 下面做法是错误的: inta,b; scanf(“%d”,&(a+b));//错误 25、利用printf打印单引号、双引号、反斜杠时,没有在这些字符前利用反斜杠构成转义字符。 例如printf(”youshouldsay”bye”!”); 应改为:printf(”youshouldsay”bye”!”); 三、C语言编程习惯。 1、一行只放一条语句。尽管C语言允许在一行放置多条语句,但一行只放一条语句有助于程序的调试。 2、养成随时给程序加注释的习惯。一边别的程序员或自己日后对程序的快速理解。 3、程序的书写要有层次感,及锯齿形。 4、编写函数时,变量定义部分和函数的执行部分之间增加一空行,或者在程序的执行部分按照完成的功能块增加相应的空行,会增加程序的易读性。 5、为变量起有意义的名字,既可以帮助程序员读懂程序,也可以避免变量的重复乱用,导致程序的逻辑错误。 6、在运算符和赋值符号的两边加上一个空格会增加程序的易读性。 例如a=a+b;写成a=a+b;更好。 c语言常考知识点有哪些相关文章: ★ c语言知识点最新大全 ★ 公务员计算机专业知识 ★ 中考历史的高频考点和必背知识点有哪些 ★ 2021年中考生物核心知识必背知识点有哪些 ★ 数学人教版平行线知识点有哪些 ★ 程序员必读书籍推荐 ★ 2021中考历史必背知识点有哪些 ★ 中考生物科目知识点复习有哪些 ★ 2021中考语文复习知识点总结有哪些 ★ 与地球结构有关的知识点有哪些

文章来源于网络,如有侵权,请联系删除。

我司专注于财务软件开发,财务会计软件生产管理财务软件企业微信财务软件

APP财务软件。多年来一直专于研发,销信于一体软件财务公司

c语言的常用知识点有哪些查看详情

C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。下面一起来看看小编为大家整理的c语言的常用知识点有哪些,欢迎阅读,仅供参考。 C语言知识点大汇总 ◆知识点1:交换两个变量值的方法 1)采用第三方变量(最容易想到的方法) 2)采用加减法进行值得交换(面试时常用**) 代码如下: b = a – b;a = a – b;b = a + b; 3)采用按位异或的位方式代理记账 代码如下: a = a^b;b = a^b; a = a^b; ◆知识点2:取余运算%的结果与被除的符号相同,结果为两个正数取余后前面加符号 ◆知识点3:sizeof的使用 sizeof是一种运算符不要想当然理解为函数 sizeof使用时可以不加() s公司注册izeof可以加变量、常量、数据类型 跟数据类型是必须加() ◆知识点4:#include编译预处理命令与多文件团队开发 include编译预处理命令可以认为是:将后面的文件内容拷贝到当前的文件中 多文件团队开发:模块分别编译成.o都不能链接成功,合起来链公司变更接生成最终程序。 链接:把项目中所有相关联的.o目标文件、C语言函数库合并在一起,生成可执行文件 ——函数的定义放.c文件,函数的声明放.h文件 ——如果要使用某个.c文件中定义的函数,只需要#include这个.c文件对应的.h文件 ——h文件的作用:被进出口退税别人拷贝。编译链接的时候不需要管.h文件 ◆知识点5:数组的几种初始化方式如下: int a[3] = {10, 9, 6};int a[3] = {10,9};int a[] = {11, 7, 6};int a[4] = {[1]=11,[0] =工商年报 7};(知道有此种初始化方式即可) ◆知识点6:数组的内存分析和注意点 存储空间的划分(内存的分配是从高地址到低地址进行的,但一个数组内部元素又是从低到高进行的)【注:对于以后学习重要】 数组名的作用,查看元素地址 注意数组不要越界 ◆知识点7:字符串知公司注销识点 “123”其实是由’1’、’2’、’3’、’\0’组成 字符串的输出”%s”,’\0’是不会输出的 ◆知识点8 : 字符串处理函数:strlen() 计算的是字符数,不是字数 计算的字符不包括’\0’,一个汉字相当于3个字符 例子:”哈haha” 字一般纳税人代理记账符数为7 从某个地址开始的数字符个数,知道遇到’\0’为止 指针部分在C语言中占据重要地位,所以重点学习与整理了指针的知识: ◆知识点9:指针定义的格式 变量类型 *变量名 如:Int *p ◆知识点10:指针作用 能够根据一个地址值,税务代办访问对应的存储空间 例: Int *p;Int a = 90;P = &a;*p = 10;//把10赋值给p所指的存储空间 ◆知识点11:指针使用注意 Int *p只能指向int类型的数据 指针变量只能存储地址 指针变量未经初始化不要拿来间接访问其他存储空间 ◆知识点12:指针与数组 遍历数组 int ages[5] = {10, 4, 9, 44, 99};for(int i = 0; i<5; i++){ printf("%d\n", ages[i]);} 使用指针遍历数组: int *p;// 指针变量P指向了数组的首地址p = &ages[0];// 使用指针遍历数组for(int i = 0; i<5; I++){ printf("ages[%d] = %d\n", i, *(p + i));} 注:指针+ 1取决于指针的类型 注:数组的访问方式 数组名[下标] 指针变量名[下标] *(p + i) ◆知识点12:指针与字符串 定义字符串的两种方式: 1、利用数组 Char name[] = “Andyzhao” 特点:字符串里的字符可以修改 适用场合:字符串内容需要经常修改 2、利用指针 Char *name = “itcast” 特点:字符串是一个常量,字符串里面的字符不能修改 使用场合:字符串的内容不需要修改,而这个字符串经常使用 ◆知识点13:预处理指令(三种): 宏定义 条件编译 文件包含 1、宏定义的配对使用和带参数的宏: #define ... #undef 带参数的宏: #define sum(v1,v2) ((v1) + (v2))//括号是必须的 例如: #define pingfang(a) a*a #define pingfang(a) (a*a) 调用时 pingfang(10)/pingfang(2)//不正确 pingfang(5+5)//不正确 带参数的宏效率比函数高 2、条件编译(一般是判断宏的值) #if 条件 ... #elif 条件 ... #else ... #endif(非常重要)不然后面的代码全部无效 3、文件包含: <>表示系统自带的文件,””表示自定义文件 不允许循环包含,比如a.h包含b.h,b.h又包含a.h ◆知识点14:typedef 只是给类型起了个别名并不是定义新类型 struct Student{ int age; char *name; }; typedef struct Student Student; 等价于typedef struct Student{ int age; char *name; }Student; 也等价于typedef struct { int age; char *name; }Student; 类似的给枚举类型起名 typedef enum Sex { Man,Women }Sex; 下面这种情况的写法比较特殊 //下面是函数指针类型的自定义数据类型,返回值类型和参数类型要匹配 #include typedef int (*TypeFuncPointer)(int, int); int add(int a, intb) { return a + b; } int minus(int a, intb) { return a – b; } int main() { TypeFuncPointer p = add;//使用自定义类型Î TypeFuncPointer p2 = minus;//使用自定义类型Î printf(“add = %d\n”,p(1, 2)); printf(“minus = %d\n”,p2(1, 2)); return 0; } 下面是定义结构体的指针类型 typedef struct Student{ int age; char *name; }*PtrStu; //使用方式 Student stu ={18, “zhangsan”}; PtrStu p = &stu; 宏定义也是可以为类型起名的 #define Integer int 相当于typedef int Integer 注意和typedef的区别 例如: typedef char * String #define String2char * ◆知识点15:static和 extern区别是能否进行跨文件访问 ①.函数 ②.变量 1、对函数的作用: 外部函数:定义的函数能被本文件和其他文件访问 内部函数:定义的函数只能被本文件访问 默认情况下,所有函数都是外部函数(相当于带关键字extern),所以可以省略 extern作用: 完整的定义和引用一个外部函数都加extern 引用时也是默认是外部函数所以也省略extern static作用:定义一个内部函数 使用:static返回类型函数名(参数列表) 不能被其他文件调用 一个项目中,本文件的外部函数名不能和其他文件的外部函数同名(error) 本文件中的内部函数(static)可以和其他文件的函数名同名的 2、对变量的作用: 全局变量分为两种: 外部变量:定义的变量可以被其他文件访问 ①.默认情况下所有的全局变量都是外部变量 ②.不同文件中的同名外部变量都代表同一个 ③.定义一个外部变量不加extern,声明才加extern 同样的声明是没有错误的 内部变量:定义的变量不能被其他文件访问 学好C语言必须要掌握四个知识点 (一) 基本的数据操作,运算规则,常见程序结构设计 很多人觉得这么几点我都看了多少遍了,早就烂熟于心了。举个简单的例子,printf打印可能是最常使用的函数了,但是这个函数在真正大型工程中,很少直接去调用,为什么? 主要项目中涉及到封装的概念,什么时机加入打印在调试大型系统的时候,更容易定位问题,这些编程思维对于初学者来说很难接触到,也很难想到,任何复杂的事物都是由简单的细节环绕而成,在学习之初不要觉得这些很简单的数据操作很简单,要真正纳入自己的知识体系还是需要花点心思。可以在学习的时候,网上搜一些资料看这些数据操作以及运算规则是如何使用具体的场景中。 很多人初学者可能会有疑问觉得去哪里找这些代码去,世界软件发展了这么多年,最不缺的就是代码,在github或者开源中国里面代码多如牛毛。学习的对象也是数不胜数。有点扯远了,这触及到另外一个学习编程的步骤,学会看懂别人的代码,然后才能尝试写出优质的代码,知己知彼百战不殆。曾经听一个编码高手说过“技术这东西只要花的时间长,肯下功夫早晚都能搞定,只要进入状态了,什么方法都能想的出来”,看书学习也罢,看视频学习也罢,需要让自己插上联想的翅膀,把自己的思维境界打开。 说到运算规则,涉及到代码的格式的问题,说说身边人的事情,去年招了一个刚毕业的学生,基本功不是很好,但是有一个特质专注力很高,能沉得住气。当初见第一眼就觉得是个做软件的苗子,有了第一印象后面的事情就顺理成章了。很多经验不是很足的同学,参加面试回答的问题也不是很理想,但还是被录取了,其中一个因素就是你身上有公司需要的基因,这多少算来有点运气的成分在里面了。今年这哥们觉得很突然,说为啥当初刚开始写代码的时候为啥不要求那么严格,说了几句话,初学者特别是基础很差的情况下,要求太多只会让一个人慢慢失去对这个行业的信心,也许会错失一个软件天才。随着时间推移能够迈入轨道了,那么就该要求一些基本的职业素养了,代码的格式,就该要求了。很多初学者觉得写的代码越高深,越让人看不懂才叫高手,有这种想法的趁早打住。大道至简,这四个字在任何时候都不过时。做的复杂逻辑混乱只能说明当初在设计的时候,没有彻底想明白,想明白了展示出来一般都比较舒坦平整。 (二) 指针,数组,结构体,枚举灵活运用 不要只看这几个字,几乎是C语言里面最精髓的代表。数组这个概念基本上还能理解透彻,说到指针这个应用场景太多,而且在什么项目中几乎都离不开指针的使用。变化无穷,会用的觉得其乐无穷,不懂的哭上天。记得在互联网有个流传很长时间的文章,林锐的我的大学十年(有兴趣的同学可以去网上查阅,编程的人生也可以很彪悍,记得当初发烧期间还专门买了林锐的一本高质量编程)提到了做了一个C语言的项目,为了绕开指针最后全部用数组代替实现了,后来做的项目也黄了。不是说因为用数组使用就不行,项目的定位方向出问题了。用数组完全替代指针这条路也是可行的,但是会花费相当大的周折。 说到指针,不能不提到计算机专业开的另外一个课程,数据结构。数据结构就是原生数据或者组合数据的混合运用的一种规则集合。连接这些数据,将这些数据有机的串联在一起,指针起到非常关键的作用。经常见到初学者说数据结构和天书差不多,几乎看不懂,建议回炉好好学习指针,说到指针还是存在很多故事,在入门之初有幸遇到一位水平极高的老手带着,基本功扎实的不得了,记得有一次使用指针忘记初始化,这老手叹了口气,当年我每次用指针错一次,就被项目经理当众批评一次,后来再也不敢不初始化使用了,所以印象才能这么深刻,话说到这里刚入门的小白挨多少批评或者鄙视,是最正常不过的事情了,这对于编程界来说稀松平常。 结构体在项目中用的特别多,很多初学者觉得结构体都在教材的最后章节,觉得不是那么重要。其实结构体在一定层次上决定着软件的脉络框架。很多高手在设计模块的时候,不是急急忙忙的写代码,而是先把头文件里面的结构体设计出来,简单的来说就是把数据模型先搞起来。有个数据模型代码实现起来就比较轻松了。面向对象里面类的老祖宗就是结构体延伸来的。关于结构体如何赋值,包含着指针的情况下,如何赋值这些都是常见的初学者经常容易掉的坑。枚举一般用在罗列不同类别,存在多个相同功能的实物,搭配switch使用的很多,在这就不一一列举了。 (三)活用函数 函数是面向过程编程最基本的单位,任何C程序的运行都有函数的身影,因为程序的入口main就是一个函数,函数传值方式,调用方式(递归,回调)都是函数内在的表现。函数的里面又可以嵌套别的函数,使得程序慢慢变得复杂化。前几天和一个非计算机专业的聊天,谈到如何学习函数,说到了数学不好是不是编程不好学。函数的编程基本因子,和数学里面的函数有一定的共性,但编程里面的含义引申的层次更多,数学在一定层面就是提供一个工具或者方法而已,函数的设计里面夹杂着诸多的编程思想。 检验一个程序员水平的高低可以简单让用函数实现一个相对复杂一些的功能,基本上就能看出编程思想掌握的深浅程度。不妨自己实现一个函数,检验下自己编程水准,函数的检验是面试里面必不可少的题目。 一个函数基本上代表一个小的模块,多个模块有机的组合形成一个系统。建议初学者在学习函数的时候,不要满足于会使用函数,还要让自己站的层次更高一点。这能决定自己是一个纯粹的执行者还是未来框架的设计者,不要觉得这些东西距离自己很远,慢慢的积累时间长了,慢慢也就从量变变成质变了。 (四)对于内存和性能有少许的理解 内存和性能对于初学者来说,可能觉得很遥远,其实这两样东西贯穿整个编码界,检验软件功能最重要的两项指标,软件占用内存多少,运行时间长了会不会让系统变缓慢。同时开启在多个软件的时候,你设计的软件是不是变得很卡顿,这些都是大家平常在使用软件时候经常遇见的现象。今天在车上闲聊,司机说当年的XP运行的多好,非要升级搞什么windows7或者windows10之类的,把电脑搞的卡的要死。这其实是微软操作系统设计理念的一个延伸,用空间换时间。说的通俗点,提前把一些常见的软件加载到内存里面,使用的时候流畅度会感觉好一些,理念这么好,为啥还变得这么卡慢,主要机器配置太低了。微软这帮大佬认为你机器内存和CPU还是相当不错的,因为现在硬件成本基本上接近白菜价了。在机器配置还不错的情况下,windows7,10运行的速度还是很不错的。透过这些生活常识,归结对编程,对编码的认知程度上,慢慢就会建立起自己的知识体系。 这点在嵌入式设备上表现的很明显,一般嵌入式设备内存和cpu配置不是高,内存就要省着点用,占用CPU很高的一些函数尽量少去调用,避开雷区,这些经验就要靠平时多去积累,多去思考,才会融入自己知识体系,才会慢慢认识到写代码其实在编程时候,只占很小的一部分,大部分的时间还是在思考如何让代码更加利索,内存更少的去使用,cpu占用率低一些。认识到这些时候,层次就不一样了,就会越来越觉得设计思想的重要性了。 C语言基础知识点 【知识点1】C程序 C语言程序结构有三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switch) 【知识点2】main函数 每个C语言程序中main 函数是有且只有一个。读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。 【知识点3】存储形式 计算机的数据在电脑中是以二进制的形式保存。最低的存储单元是bit(位),位是由为 0 或者1构成。 byte 是指字节, 一个字节 = 八个位。数据存放的位置就是它的地址。 【知识点4】注释 是对程序的`说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。 【知识点5】书写格式 每条语句的后面必须有一个分号,分号是语句的一部分。一行内可写多条语句,一个语句可写在多行上。 【知识点6】标识符 合法的用户标识符考查: 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了。 C语言标识符分如下3类 (1)关键字。它们在程序中有固定的含义,不能另作他用。如int、for、switch等。 (2)预定义标识符。预先定义并具有特定含义的标识符。如define、include等。 (3)用户标识符。用户根据需要定义的标识符,符合命名规则且不与关键字相同。 关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If 是可以做为用户标识符。因为If 中的第一个字母大写了,所以不是关键字。 【知识点7】实型数据 实型数据的合法形式:小数形式和指数形式。掌握判定指数形式合法性。 2.333e-1 就是合法的,且数据是2.333×10-1。 考试口诀:e 前e 后必有数,e 后必为整数。 【知识点8】字符 字符数据的合法形式:: 1 是字符占一个字节,”1″是字符串占两个字节(含有一个结束符号)。 0 的ASCII 数值表示为48,a 的ASCII 数值是97,A的ASCII 数值是65。 字符型和整数是近亲: char a = 65 ; printf(“%c”, a); 得到的输出结果:a printf(“%d”, a); 得到的输出结果:65 一般考试表示单个字符错误的形式:65 “1” 字符是可以进行算术运算的,记住: 0-0=48 大写字母和小写字母转换的方法: A+32=a 相互之间一般是相差32。 【知识点9】整型数据 整型一般是两个字节, 字符型是一个字节,双精度一般是4 个字节: 考试时候一般会说,在16 位编译系统,或者是32 位系统。碰到这种情况,不要去管, 一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4 个字节就可以了。 【知识点10】转义字符 转义字符的考查: 在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x 必须存在。 在程序中 int a = 06d, 是一个八进制的形式。 在转义字符中, ’x6d’ 才是合法的,0 不能写,并且x 是小写。 ‘141’ 是合法的, 0 是不能写的。 ‘108’是非法的,因为不可以出现8。 【知识点11】算术运算 算术运算符一共有+、—、*、/、%这五个。%符号两边要求是整数。不是整数就错了。 三种取整丢小数的情况:不是四舍五入是舍掉小数部分。 1、int a =1.6; 2、(int)a; 3、1/2; 3/2; 【知识点12】强制类型转换 将一个运算对象转换成指定类型,格式为(类型名)表达式 一定是 (int)a 不是 int(a),注意类型上一定有括号的。 注意(int)(a+b) 和(int)a+b 的区别。前是把a+b 转型,后是把a 转型再加b。 【知识点13】赋值 是表达式就一定有数值。 赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。 复合赋值运算符:注意:a*=m+2 是 a=a*(m+2) 自加、自减表达式:假设a=5,++a(表达式的值为6), a++(表达式的值为5); j=a++;等价于j=a;a=a+1; 而j=++a;等价于a=a+1;j=a;。 考试口诀:++在前先加后用,++在后先用后加。 【知识点14】逗号运算 逗号表达式:优先级别最低; 表达式的数值逗号最右边的那个表达式的数值。 (2,3,4)的表达式的数值就是4。 【知识点15】数制转换 一定要记住二进制 如何转换成十进制。 八进制是没有8 的,逢8 进1,018 的数值是非法的。 c语言的常用知识点有哪些相关文章: ★ c语言知识点最新大全 ★ 公务员计算机专业知识 ★ 高考学霸励志故事与逆袭经验分享 ★ 高中语文现代文阅读解题方法与万能模板2021 ★ 2021年高考语文全国卷一最新作文教案

文章来源于网络,如有侵权,请联系删除。

我司专注于财务软件开发,财务会计软件生产管理财务软件企业微信财务软件

APP财务软件。多年来一直专于研发,销信于一体软件财务公司