C语言再学习笔记:如果想学C语言,没什么参考价值。


基本数据格式 char int float double void
修饰 signed,unsigned long short
字符常量和int型常量存储在内存的均为数字
A 65
a 97
表达式的最后结果总是 0 或者 1’
位操作 & | ^(异或,当且只有一个1,结果为1)
~ NOT >> <<
(a>b)?a:b;
逗号操作符
(x=3,y=4,x+y) 这个表达是的结果为7,最右边的那个值


stdio.h 的函数
float a = 652.225654
scanf(%d,&a);
printf(“%6.3f”,&a); 总共输出6位,其中小数点后3位
输出 c字符 o八进制 d十进制 x16进制 u无符号 s字符串 f浮点  e科学技术法 g:f/e 较短的输出
单个字符输入输出
getchar
putchar

C 语言函数的定义可以是这样的
int getMax(a,b)
int a,b;
{
}
可是一直以来我一直以为只有酱紫的
int getMax(int a, int b)
{
}
:(  不认真害死人啊……



auto 是动态存储变量,调用时分配存储空间,函数结束时释放存储空间
变量默认是auto 关键字修饰的
寄存器变量 register, 保存在CPU 寄存器中,无需存入内存
静态存储变量,在编译时分配存储空间的变量,顶叶和初始化均在编译时进行,调用函数结束,静态存储变量不消失且保留原值 static修饰

#define 使用 \ 来换行
#error 停止编译,主要用于调试
#include 使编译程序将另一个源文件嵌入带有#include的源文件
#ifdef
#else
#endif
#undef 取消前面已经定义过的宏命名
#line  100 指定当前行计数器为100
#pragma 实现时定义的命令,允许向编译程序传送各种指令

字符串操作
strcpy(s1,s2)
strcat(s1,s2)
strlen(s1)
strcmp(s1,s2)

指针
指针变量: 和实体变量一样,也是一个变量,这个变量保存了一个指针。
如果是数组指针变量,则指针变量保存的是数组在内存中的地址

*  :引用字符。 如 *p 表示获取 p 这个指针指向的值
& :取地址字符。 如 &a 表示获取 a 这个变量在内存中的地址

在一维数组
 int a[],*ptr;
ptr=a;

ptr,a,&a[0] 取地址等效
ptr+n,a+n, &a[n] 取地址等效
同理 *(ptr+n), *(a+n), a[n] 取值等效
另 *(ptr+n) 可用 prt[n] 表示

二维数组中
int a[3][4],*p;
p= a;
a,&a[0][0],p,&a[0] 取地址等效
&a[2],&a[2][0],

字符串数组中
char str[20];
*p = str;
gets(str);l
print(“%s\n”,str);
print(“%s\n”,p)
需要注意,这里str 在gets 方法中自动加了\0,可以使用%s来输出
但是如果 str 这个数组不是以\0结尾,使用%s输出将会出错


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值