C语言

位逻辑运算符(6个)
按位与&,按位或|,按位异或^,按位取反~,左移<<,右移>>。

a &= ~(1<<6);  //括号内 1 左移 6 位,得二进制数:0100 0000
                //按位取反,得 1011 1111 ,所得的数与 a 作”位与&”运算,
                // a 的第 7 位(bit6)被置零,而其它位不变。

a |= (1<<6); //把第七位(bit6)置 1,其它为不变

a ^=(1<<6); //把第七位(bit6)取反,其它位不变

逻辑运算符
逻辑与&&、逻辑或||、逻辑非!

复合赋值运算符
Xop = Y;(Y的值先计算,再与X计算)
i = j - 2;等价于i = (j - 2);

增1/减1运算符
优先级高于算术运算符,与单目运算符优先级相同,增1/减1运算符的结合性是自右向左。
-i++等价于-(i++)

逗号运算符
属于双目运算符,先求表达式1,再求表达式2,并将表达式2的解作为逗号表达式的值。

条件运算符
条件运算符的优先级低于逻辑运算符,高于赋值和逗号运算符。结合性是自右至左。

浮点数科学计数法
例:4.5E+2(+可省略)
1.整数部分可不写,小数部分可不写,但不能同时不写。
2.指数部分可省略(相当于小数表示法),若有指数部分,e(或E)两边都至少有一位数。
3.指数的数字必须是整数,可为正也可为负。

转义序列
\n 回车换行
\t 横向跳格
\v 竖向跳格
\r 回车不换行
\f 走纸换页
\b 退格

printf格式控制
1. %10.3f表示宽域为10,有效位为3.
2. %-4d表示左对齐,宽域为4。
3. %e表示科学计数法输出
4. %d十进制输出、%o八进制、%x十六进制、%u无符号数(地址值输出)

scanf输入域
除了%c,其他的转换序列都会以空格、Tab、回车来区分不同的输入域。
但若使用gets函数接收字符串时,并不以空格、Tab作为字符串输入结束的标志,而只以回车作为输入结束的标志。

switch case
case后常量值只能是整数或字符常量

文件操作

    FILE *fp;
    if((fp = fopen("d:\\A.dat", "r")) != NULL)
    {
        while(!feof(fp))
        {
        //...
        }   
        fclose(fp);
    }   
C语言中,文件被看成是“流”的序列,分两类:ASCII文件和二进制文件。
ASCII文件容易看懂,且容易移植,因为ASCII字符集的标准是统一的。
二进制文件的优点是占用空间少,在文件和内存间进行数据传输时不必进行转换。

fputc函数与fgetc函数
fPutc(‘字符’, fp); 返回值为要写入文件中的字符的ASCII值,或是返回EOF(-1)。

fprintf函数与fscanf函数 适用于对ASCII文件的操作
fprintf(fp, “%f %f”, 5.8, 7.0); //写入
fscanf(fp, “%f%f”, &x, &y); //读入

fread函数与fwrite函数 适用于对二进制文件的操作
fwrite(datapointer, size, count, fp); //写入文件
fread(datapointer, size, count, fp); //读入文件

double d[10] = {1.1, 1.2, 1.3, 1.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.1};
if((fp = fopen("d:\\A.dat", "wb")) != NULL)
    exit(0);
else if(fwrite(a, sizeof(double), 10, f) != 10)
    printf("文件读写错误");

fgets和fputs
fputs(字符串,文件指针);//字符串可以是字符串常量,也可以是字符数组名
fgets(字符数组名, n, 文件指针);//从文件读入字符不超过n-1个的字符串,储存在字符数组里,并加上字符串结束标志’\0’

文件的定位操作
rewind(fp); //指针移到文件的开始
fseek(文件指针, 位移量, 起始点);
//(只适应二进制文件)起始点有三种取值,0-文件开始, 1-当前文件,2-文件末尾
//fseek(fp, -100L, 2);的意义是把文件位置指针向文件末尾100个字节数。

ftell函数用于检测文件内部指针的位置,feof用于检测文件是否结束。
长整形变量 = ftell(fp);//文件开始到所指位置的总字节数。返回-1表示出错。
feof(fp) ;//是否在文件结束位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值