C语言基础必须掌握的 知识点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言基础必须掌握的知识点
C程序的结构和格式。
1.main函数
任何一个有效的程序都有且只能有一个main()函数,它的地位相当于程序的主体,就像大树的树干,而其他函数都是为main()服务的,就像大树树干分出的枝干。
main函数具有以下3个特点:
① C语言规定必须用main作为主函数名。其后的一对圆括号中间可以是空的,但不能省略。
②程序中的main()是主函数的起始行,也是C程序执行的起始行。每一个程序都必须有一个且只能有一个主函数。
③一个C程序总是从主函数开始执行,到main函数体执行完后结束,而不论main函数在整个程序中的位置如何。
2.程序中的注释
在一个C程序中放在符号“/*”和“*/”之间的内容,称为对程序的注释。注释是对程序的说明。编写注释时应遵循以下4条规则:
①符号“/*”和“*/”必须成对出现,“/”和“*”两者之间不可以有空格。
②注释可以用英文、中文,可以出现在程序中任意合适的地方。
③在注释之间不可以再嵌套“/*”和“*/”。例如,/*/*…*/*/形式是非法的。
④注释从“/*”开始到最近的一个“*/”结束,其间的任何内容都被编译程序忽略。换句话说,注释只是为了更好地看懂程序而做的标记,不对程序产生任何影响。
3.源程序的书写格式
C程序书写格式的基本习惯有:
①一行内可以写几个语句,一个语句可以分写在多行上。
②每个语句和数据定义的最后必须由一个分号“;”结束(分号是C语句的一部分,不是语句之间的分隔符)。
4.C语言的风格
C语言的风格主要有以下几个方面:
●C语言简洁、紧凑,使用方便、灵活;
●运算符丰富。C语言的运算符包含的范围很广泛,共有34种运算;
●数据结构丰富,具有现代化语言的各种数据结构;
●用函数作为程序模块以实现C程序的模块化;
●C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作;
●生成目标代码质量高,程序执行效率高;
●用C语言写的程序可移植性好(与汇编语言比)。
5.标识符
所谓标识符就是C语言中的变量名、函数名、数组名、文件名、类型名等。
C语言合法标识符的命名规则是:
①标识符由字母、数字和下划线组成;
②第一个字符必须为字母或下划线;
③大写字母与小写字母被认为是两个不同的字符;
④ C语言规定了一个标识符允许的字符个数,即标识符的前若干个字符有效,超过的字符将不被识别。
C语言的标识符可分为以下3类:
(1)关键字
C语言预先规定了一批标识符,它们在程序中都代表着固定的含义,不能另作他用。这些字符称为关键字。例如,int,double,if,else,while,for等。
(2)预定义标识符
即预先定义并具有特定含义的标识符。
(3)用户标识符
由用户根据需要定义的标识符称为用户标识符,又称自定义标识符,一般用来给变量、函数、数组等命名。
二级C语言赋值表达式。
1.赋值运算符
(1)赋值运算符
赋值运算符的符号为“=”,由赋值运算符组成的表达式称为赋值表达式。
【功能】先求出右边表达式的值,然后把此值赋给赋值号左边的变量。
【格式】变量名=表达式
【说明】在程序中可以多次给一个变量赋值,每赋一次值,与它相应的存储单元中的数据就被更新一次,内存中当前的数据就是最后一次所赋的那个数据。
(2)赋值表达式
【格式】<变量><赋值运算符>(表达式)
例如“a=6+4”就是一个赋值表达式。
使用赋值表达式时应注意以下6个事项:
①赋值运算符的优先级别只高于逗号运算符,比任何其他运算符的优先级都低,且具有自右向左的结合性。
②赋值运算符不是数学中的“等于号”,而是进行“赋予”的操作。
③赋值表达式x=y的作用是,将变量y所代表的存储单元中的内容赋给变量x所代表的存储单元,x中原有的数据被替换掉。
④赋值运算符的左侧只能是变量,不能是常量或表达式。
⑤赋值运算符右边的表达式也可以是一个赋值表达式。
⑥在C语言中,“=”号被视为一个运算符,x=78是一个表达式。
(3)赋值语句
【格式】<变量><赋值运算符>(表达式);
【说明】在赋值表达式的尾部加上一个“;”号,就构成了赋值语句,也称表达式语句。
例如,“a=6+4;”就是一个赋值语句。
小提示
赋值语句必须在最后出现分号,分号是语句中必不可少的部分;C语言规定赋值运算符的左边不能为常量或表达式。
2.复合赋值表达式
在赋值运算符之前加上其他运算符可以构成复合赋值运算符。
在C语言中共有10种复合赋值运算符,其中与算术运算有关的复合运算符有:+=、-=、*=、/=、-=(注:两个运算符之间不能有空格)。复合赋值运算符的优先级与赋值运算符的优先级相同。
3.赋值运算中的类型转换
如果赋值运算符两侧的数据类型不一致,在赋值前,系统将自动先把右侧表达式求得的数值按赋值运算符左边变量的类型进行转换,也可以用强制类型转换的方式人为地进行转换后将值赋给赋值运算符左边的变量。这种转换仅限于数值数据之间,通常称为“赋值兼容”。
在C语言的表达式中,如果运算符两边的整型类型不相同,将进行类型之间的转换。转换规则如下:
①当赋值运算符左边的变量为短整型变量,右边的值为长整型变量,短整型变量只能接受长整型变量低位上两个字节中的数据,高位上两个字节中的数据将丢失。
②当赋值运算符左边的变量为无符号整型,右边的值为有符号整型时,则把内存中的内容原样复制。右边数值的范围不应超出左边变量可以接受的数值范围。同时注意,这时负数将转换为正数。
③当赋值运算符左边的变量为有符号整型,右边的值为无符号整型时,复制的机制同上。这时若符号位为1,将按负数处理。
字符串处理函数
1、将格式化数据写入字符串:sprintf
int sprintf( char *buffer, const char *format, ... );
将数据打印到buffer中
例如:char result[100];
int num = 24;
sprintf( result, "%d", num );
例如:char string[50];
int file_number = 0;
sprintf( string, "file.%d", file_number );
file_number++;
output_file = fopen( string, "w" );
又例如:char result[100];
float fnum = 3.14159;
sprintf( result, "%f", fnum );
2、字符串长度查询函数: strlen
int strlen(const char *s);
3、字符串复制函数:strcpy、strncpy
char *strcpy(char *dest, const char *src);
4、字符串连接函数: strcat
char *strcat(char *dest, const char *src);
5、字符串比较函数: strcmp、strncmp、stricmp、strnicmp