C语言复习

基本结构

#include<stdio.h>
int main()
{
    /*在双引号中间输入Hello World*/
    printf("Hello World");
    return 0;
}

末尾需要有

注释

多行注释: /* 注释内容 */

单行注释: //注释一行

标识符的长度最好不要超过8位

不允许连续赋值,如int a=b=c=5;是不合法的。

数据类型

char int float double

int,short int, long int, unsigned int…

long double…

 

常量

#define 标识符 常量值

强制类型转换

(数据类型) (表达式)

  1. 数据类型和表达式都必须加括号, 如把(int)(x/2+y)写成(int)x/2+y则成了把x转换成int型之后再除2再与y相加了。
  2. 转换后不会改变原数据的类型及变量值,只在本次运算中临时性转换。
  3. 强制转换后的运算结果不遵循四舍五入原则。

 

运算

intint,结果也为整数(直接忽略小数部分)

只能两个整数之间取余%运算后的符号取决于被模数的符号,如(-10)%3 = -1;10%(-3) = 1;

与运算&&

或运算||

 

三目运算符

表达式1 ? 表达式2 : 表达式3;

先判断表达式1的值是否为真,如果是真的话执行表达式2;如果是假的话执行表达式3。

控制语句

if(表达式)

{

}

else

{

}

switch(变量){

case 变量值:

break;

default:

}

while()

{

}

do

{

}while()

//区别:至少保证执行一次循环,在循环尾部才检查条件

for(init; condition; increment )

{

}

break //终止整个循环or switch,不能单独用在if else

多层循环中,一个break语句只跳出当前循环

continue //仅停止本次循环

无限循环

for(;;)

数组

连续内存

double  a[3] = {1.0,2.1,3.4};

int length = sizeof(a)/sizeof(a[0]);

定义局部变量时要记得初始化

多维数组

int a[3][4];

指针

&var取地址

type *p;

p=&var

//p=var的地址,*p=var的值

习惯为指针赋值NULL

int *p = NULL;

 

指针数组

int *ptr[MAX];

每个 元素都是一个指向int的指针

 

指针运算

  • 指针的每一次递增,它其实会指向下一个元素的存储单元。
  • 指针的每一次递减,它都会指向前一个元素的存储单元。
  • 指针在递增和递减时跳跃的字节数取决于指针所指向变量数据类型长度,比如 int 就是 4 个字节
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值