C基础知识

变量

  • 变量存储形式:静态存储(程序运行时分配固定存储空间),动态存储(程序运行时根据需要动态分配存储空间)

  • 存储修饰符:自动变量(auto),静态变量(static),寄存器变量(register),外部变量(extern)

  • auto变量:存储在动态存储区,每次执行该变量,都会产生一个新变量,并且重新进行初始化。auto可以省略,不特别指定的情况下,局部变量的存储方式默认是auto型

  • static变量:存储在静态存储区,保持不变,初始化只在第一次执行时起作用,随后的运行过程中变量将保持语句块上一次执行的值

  • register变量:频繁访问的局部变量存放在计算机的硬件寄存器中,而不是内存中。可以提高程序的运行速度。由于CPU的寄存器数量有限,编译器可以忽略register对变量的修饰,用户无法获取寄存器变量的地址

  • extern变量:使用在其他程序文件中定义过的变量
    常用的数据输入、输出函数

  • 字符的输出函数:putchar(int ch) ch可是字符型变量、整型变量、常量、转义字符

  • 字符的输入函数:getchar():从终端输入一个字符。没有参数

  • 字符串的输出函数: puts(char *str) str字符指针变量,接受要输出的字符串,输出字符串后,并自动换行(printf函数需要添加“\n”换行符)。会在字符串中判断“\0”结束符,遇到结束符,后面的字符不再输出,并且自动换行

  • 字符串的输入函数 : char* gets(char* str ) str字符指针变量,存储用户输入的字符串,输入的最后换行符转换成终止符“\0”

  • 格式输入\输出函数:scanf( 格式控制,地址列表) \printf( 格式控制,输出列表)
    选择结构程序设计

  • if else

  • switch case

  • 循环控制

  • while

  • do while:至少执行一次循环

  • for

  • 转移语句

  • goto:跳转到指定标识符

  • break:中断当前循环,跳出循环体

  • continue:中断本次循环,继续下一次条件判断

  • 函数

  • 函数分类:

  • 内部函数(静态函数):只能被所在源文件使用,static 返回值类型 函数名(参数)

  • 外部函数:可以被其他文件调用的函数, extern 返回值类型,函数名(参数)

  • 若函数未指定内部函数还是外部函数,默认外部函数

  • 变量作用域:

  • 局部变量:函数内定义的变量,且内层同名变量覆盖外一层的同名变量

  • 全局变量:在所有函数外部声明的变量,可以在程序的任何位置访问,不属于某个函数,属于整个源文件。如果外部文件要访问,需要用EXTERN关键字进行引用修饰

  • 数学函数:abs(绝对值)、labs(长整型的绝对值)、fabs(实型数的绝对值)、sin(正弦)、cos(余弦)、tan(正切)

  • 字符函数:isalpha(检测某个字符是否字母,如果是返回非0值,不是返回0)、isdigit(检测某个字符是否数字,若是返回非0值,不是返回0)、isalnum(检测某个字符是否字母或数字,若是返回非0,不是返回0)

  • 字符串函数:

  • 字符串复制:strcpy(字符串1,字符串2) 把字符串2复制到字符串1,字符串的结束标志“\0”也一同复制

  • 字符串连接:strcat (字符串1,字符串2) ,把字符串2连接到字符串1的末尾,称为一个新字符串,并删除字符串1中原有的串结束标志“\0”

  • 字符串比较:strcmp(字符串1,字符串2),将一个字符串1与字符串2从首字母开始,按ASCII码的顺序逐个比较。字符串1=字符串2,返回0,字符串1>字符串2,返回正数,字符串1<字符串2,返回负数

  • 字符串的小写字母转换成大写:strupr(字符数组名)

  • 字符串的大写字母转换成小写:strlwr(字符数组名)

  • 字符串长度函数:strlen(字符数组名)计算数组中存放的字符串的实际长度,不包含结束标志“\0”
    指针

  • &:取址运算符,获取变量所在内存的地址

  • *:指针运算符,返回指定地址内保存的变量值

  • *&a:表示获取a的变量

  • &*a:表示获取a的地址

  • 指针的自增与自减不同于普通变量,而是按它所指的数据类型的直接长度进行增减

  • 数组与指针

  • 数组名是数组在内存中的首地址 数组 a[5] a+n表示数组元素的地址。 *(a+n)表示数组元素

  • *(a[m]+n) :二维数组第m+1行,第n+1列的元素

  • 字符串与指针

  • 指针数组:一个数组,其元素均为指针类型数据

  • 指向指针的指针: 类型标识符 **指针变量名
    int **p:定义个指针变量P,它指向另一个指针变量,该指真变量又指向另一个整型变量。*运算符自右向左运算

返回指针值的函数

  • 函数指针:函数在编译时时会被分配一个入口地址,该入口地址称为函数的指针
  • 类型名 *函数名(参数列表)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值