C语言重点难点总结

 

int niao = 10;

int daNiao = ++niao;/int daNiao = niao++;

 //++在前:刚开始niao的值是10,++niao会先加1(11)再把值赋值给daNiao 这时daNiao是11

 //++在后:会先将niao(10)赋值给daNiao,然后再再自加。


在输出浮点类型的值的时候 可以使用 %0.?f 来控制小数点之后的位数


格式转换符:%c(char) %d(整型:short、int、long)%f(浮点类型:float、double)


**使用随机数需要导入#include


赋值运算符:=

算数运算符:+、-、* (乘)、/ (除)、++ 、--

综合运算符:+=、-=、*=、/=、%=

关系运算符:是比较两个元素的关系的对比符号

 <(小于)、>(大于)、==(相同)、<=(小等于)、>=(大等于)、!=(不相同)

逻辑运算符:&&(并且)、||(或者)、!(取反)(int a=5; !a;)

 关系运算符和逻辑运算符只有两种情况(是(真)、否(假))


三目运算的公式:char*表达式?(问电脑表达式是不是真的)

 第一个结果(真的):

 第二个结果(假的);


枚举的公式之一:⬇️

 enum 枚举的名字{

 枚举的例子,(使用逗号隔开,默认从0开始)

 枚举的例子,(当这个元素的值改变成5,下个元素默认是6)

 枚举的例子(最后一个元素没有逗号)

 };

enum 枚举名 变量名 = 枚举值;

printf("%d\n",type);


枚举的公式之二:

typedef enum 枚举的名字

 {

 枚举的例子,(使用逗号隔开,默认从0开始)

 枚举的例子,(当这个元素的值改变成5,下个元素默认是6)

 枚举的例子(最后一个元素没有逗号)

 }要替代的名字;


switch:当有多个条件可以提供选择的时候,可以使用switch,来替代if;

switch (条件变量) {

 case 条件1:

 具体代码

 break;

 case 条件2:

 具体代码

 break;

 case 条件3:

 具体代码

 break;

 default:

 break;

 }

default:默认 任何条件 都不满足的时候  进入default


while(表达式){

          循环体

 }


for循环语句:

 for (初始值变量;循环的条件;改变变量){

       循环语句

 }


数组:sizeof(list)/sizeof(int) 相当于数组总元素总量/单个元素总量

字符组:

char a[3]={'B','C','D'}

Char*a[3]={"B","C","D"}


二维数组:int a[2][3] = {{4,0,5},{9,1,2}}


结构体:

struct 名字{部件;部件;部件;......}; 分号 隔开

 结构体赋值:

struct 名字 变量名;

eg:

struct House{

 int doorOfHouse;

 char *window;

 double c;

 } ;

 struct House dogOfHouse;


函数:

 无参数函数不需要得到结果,也不需要提供给它任何东西,无参数的函数,里面只能是固定的内容。

 有参数函数根据传入的参数内容去发生改变,即输入的值不同出来的值就不同,可以灵活使用。

void 函数名(参数列表){

 功能代码

    }


 有返回值函数(1)return携带的值就是返回值(2)是一个具体的值是一个有实际值的变量

(3)返回值类型 函数名(){

 功能代码

 return与返回值类型相同的参数;

 }

eg:char*message(){

 char*c="今天光棍节!";

 return c;

 }

int main(int argc, const char * argv[]) {

Printf("%f",message(c));


1、定义指针变量的时候,*表示这是一个指针类型

int *a;   int * 是一个常整数指针类型

2、当取值的时候,取这个内存地址里面的值的一个符号

 & 取地址符 可以通过&取一个变量的内存地址;

   %p 来打印内存地址

3、指针指向数组名,是指向的数组里面的第一个元素的内存地址

 int a[3]=[10,15,20];

 则 char* a[3]指向的是下标为0的元素(即10)的内存地址。

你可能感兴趣的:(C语言重点难点总结)