C语言—基础总结 1. C语言基本特点 2. 基本概念 数据类型 类型转换 数组 指针 字符串 运算 3. 语法结构 4. 程序结构 函数 5. 内存动态分配与释放 C语言—基础总结 1. C语言基本特点 C语言是一个有结构化程序设计、具有变量作用域 以及递归功能的过程式语言。 优点: 最大的优点在于它的效率,优秀的c语言效率几乎于汇编语言一样高,但比汇编语言更容易开发。 C语言可以更方便的提供汇编语言的接口,是实现操作系统和嵌入式控制器软件的良好选择。 和许多其他语言相比,C给予程序员更多控制权,如控制数据的存储位置和初始化过程等。 学习好C语言的很多知识和技巧,如将、指针和标准库,也有助于你成为一名出色的C++程序员。 缺点 C语言缺乏安全性,要求程序员严格遵守相关规定,否则会有很多潜在问题。 2. 基本概念 数据类型 整形 int integer_number = -1; long long verylong_integer = -1; unsigned int integer_number2 = 1; unsigned long long verylong_integer2 = 1; 浮点型 double num1 = 1.0; // 优先使用double性能更好 float num2 = 1.0; // 浮点类型不准确,精确计算用整形 字符型 char character1 = 'a'; char character2 = '\n'; 数组 int array[3] = {1, 2, 3}; double array[] = {1.0, 2.0}; 指针 int* pnumber = NULL; 字符串 #include <string.h> int main() { char string[] = "string array"; // C语言的字符串其实就是以'\0'字符结尾的char型数组 return 0; } 结构和联合 typedef struct { int a; char b; float c; } Simple; Simple x; Simple y[20], *z; 详细… 类型转换 自动类型转换 当运算符两边出现不一致的类型时,会自动转换成较大的类型。 char->short->int->long->long long int->float->double 强制类型转换 double a = 1.0; double b = 2,0 int i = (int)(a/b); // 强制类型转换的优先级高于四则运算 数组 指针 指针基础 指针的应用 字符串 运算 按位运算符 在编程硬件设备中非常有用 符号 作用 & 可用于消除位数 | 可用于进行标记 ^(按位亦或) 不占用内存空间进行数据交换 ~ 取反 « » 移位运算符 swap(int& a, int& b) { a^=b; b^=a; a^=b; } 关系运算符 C语言提供6种关系运算符(> < <= >= == != )前四种优先级高于后两种。 逻辑运算 C语言本没有逻辑类型,在内部计算中使用整数表达关系运算和逻辑运算的结果,0表示false,而非0的值表示true。逻辑运算则是C语言固有的成分。 运算符 描述 ! 逻辑非 && 逻辑与 || 逻辑或 条件运算 count = (count>20)? cout-10: count //等价于 if( cout>20 ) count = count-10; else count = count+10; 逗号运算符 逗号用来连接两个表达式,并以其右边表达式的值作为它的结果。逗号优先级在所有运算符中最低的。 for ( i=0, j=10; i<j; i++, j-- ) { } 3. 语法结构 顺序结构 选择结构 If语句 switch语句 //C提供了三种形式的if语句 If( flag ) { // statement } If( a != 1) { // statement 1 } else // statement 2 If( a ==1 ) { // statement 1 } Else if( a == 2) // statement … else // statement n int i; Switch( i ) { case 1: // expression 1 break; case 2: // expression 2 break; … case n: // expression n break; default: // expression n+1 break; } 循环结构 goto语句(现已很少使用) while语句 do-while语句 for语句 Break语句用于跳出循环,continue用于结束本次循环。 while( ture ) { // while语句先判断表达式后执行语句 } do{ // do-while语句先执行语句后判断表达式 } while ( true ) for( i=0; i<10; i++ ) { if( i==2 ) { continue; } if( i==4 ) { break; } } 4. 程序结构 C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数。因此,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。 函数 调用 嵌套 递归 void function( int n ) { function( n-1 ); } void main() { function(10); } 详细… 5. 内存动态分配与释放 分配空间:指针变量=(类型*)malloc(字节数) 释放空间:free(指针变量) 详细… 阅读全文
wangc
Oct 11, 2017