复习了下C语言,总结如下
1.瑞年的判断
(1)能被4整除,但不能被100整除(2)能被100整除,又能被400整除
2.符号常量名使用大写,字符使用字母数字下划线组成,第一个字母必须为字母或下划线
3.以0开头的是八进制数 0123 十进制83
以0x开头的是十六进制数。 0x123
printf("十进制:%d\n8进制:%o\n十六进制:%x\n",a,a,a);
4.乘方要用pow()函数(需要包含math.h文件)
pow(10,1);返回10的1次方.
5.在int占用4个字节时,int的大小比21亿
占用两个字节时,int最大为32767
6.float只能接收7位有效数字,最后两位小数不起作用
7.C语言的语法结合方向为从左到右
8.,号表达式
9,char c=getchar();
putchar(c);
10 %md m指定输出的地段宽度,小于m则左补空格
%-md 长度小于m则右补空格
%m.nd 输出占m列只取左端的n个字符,左补空格,只指定n则m=n
%ld 输出长整形
%0 以8进制输出
11 C语言判断输入换行
回车'\r',换行'\n',在linux,Unix环境下严格区分,但在windows环境下
一般只使用'\n',如果保存兼容性则,可以写为:
char gc = getchar();
if(gc == '\r' || gc == '\n') break;
12 C语言,实参想形参的传递是值传递。
13 如果希望变量只被本文件使用,不被其他文件使用,
可以添加static声明
只在本文件中使用的函数为内部函数,加static声明
外部函数extern
14 预处理命名不需要加;
15 #include< >和#include“ ”的区别
< >引用的是编译器的类库路径里面的头文件
" "引用的是你程序目录的相对路径中的头文件
16 int array[10]={1,2,3,4,5,6,7,8,9,10};
int *p;
p=array;
printf("%d \n",*(p+1));
printf("%d \n",*(array+1));
17 C编译系统 a[i]转成 *(a+i) 实现
p p+i 大大提高执行效率
因为a是个指针常量在执行期间一直不变
18 多维数组
int array[2][3]={{11,12,13},{21,22,23}};
int *p;
p=array[0];
array[0] 便是array[0][0]
19 枚举类型
enum weekday{mon,tue,wed,thu,fri,sat,sun};
enum weekday work;
work=tue;
printf("%d ",work);
20 typedef 定义自己的变量
typedef struct{
int id;
}student;
定义了新类型student
21 位运算
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
>> 右移
22 交换两个元素的值不使用临时变量
int a=3,b=4;
b=a^b;
a=a^b;
b=a^b;
printf("a=%d b=%d",a,b);
a=a^a^b 则为b
23 移位操作
int b=4;
int a=b<<2;
printf("a=%d",a);
24 文件操作
FILE *fp;
25 文件的定位
rewind 使位置指针重新返回文件的开头
feof(fp) 若到文件末尾 为真非0
feek(文件类型指针,位移量,起始点)
起始点用0 1 2 代替 0 文件开始 1 当前位置 2 文件末尾
feek(fp,100L,0) 移到离文件头100个字节处
9.
10.