1)
%d代表十进制有符号整数,
%u表示十进制无符号整数,
%o表示八进制数据,
%x表示十六进制数,
%s代表字符串,
%c代表单个字符,
%f代表float型小数,
%lf代表double型小数,
%E科学计数法表示的小数,
%p指针
2)
1.输出定宽数据:%6d,%06d,%8f,%10s,如果要输出的数据超出宽度,则按实际输出;如果不足宽度,右对齐,左补空格;指定宽度前加上0表示用0补位
2.输出带有正号的数:%+d
3.左对齐:%-10d,%-10.2f;输出数据左对齐,不足宽度时右补空格
4.小数,字符串宽度和小数位:%.2f表示输出2位小数,%.2s表示只输出这个字符串的前两个字符;
5.%8.2f表示输出8位宽度的两位小数,%7.2s表示输出7位宽度的字符串前两位
3) 转义字符前加反斜杠\,
\n表示回车换行,
\t表示水平制表,
\b表示退格,
\\表示右斜线,
\‘表示单引号,
\"表示双引号
4)
long型加后缀L:long c=30L ;
long long型加后缀LL ;
unsigned加后缀u:unsigned e=123u;
float型常量加f后缀
5) 常量的表示:
1.十进制常量写法没有特别之处;
2.八进制常量第一个数字是0,后面跟着0~7中的数,比如0124,045;
3.十六进制常量前面先写0x,后面跟着0-9或a~f中间的数,比如0x17c,0x123
4.十进制指数:由0~9和E或e组成,比如1.9e2表示1.910^2(这里有规范写法:小数点左边有且只有1位非零的数字,比如0.2e2是不规范的,1.2e2是规范的)
6) 字符不能独自存在,应写在一对单引号中
7) 使用平方根等数学符号要引用数学库函数–#include<math.h>
8) 宏定义用–define PI 3.14 (#define <符号常量> <字符串>)
9) a++和++a和a=a+1的不同。a++表示循环后再加,++a表示先加在循环,a=a+1只是表示a的值加1
10) char类型既可以表示-128~127之间的整数,也表示ASCII吗表中的任何一个字符
11) ASCII码表中大写字母比对应小写字母码值少32,ASCII表中数字0~9,48-57,a的ASCII码值为97,A的ASCII码值为65
12) 求字节数(长度)运算符:sizeof ; 指针运算符: & ; 成员运算符:. -> ;位运算符:<< >> ~ | ^ & ; 条件运算符:?: ;
13) 取绝对值:对整数取用abs(数字) ; 对小数取用fabs(数字) ;
14) 注意模运算的运算数必须全是整形,否则没有意义
15) 对于运算符优先级问题,如果记不住,可以用加括号的方式解决
16) 自动类型转换:
对于整型:char->short->int->long,signed->unsigned
对于实型:float->double
整型与实型:整型->double
否则要用强制类型转换,例(int)(x+y)
17) break语句作用是结束最近一层的循环,continue语句的作用是,这个循环下面的语句不在执行,直接开始下一次循环
18) 条件表达式:
形如:a?b:c的形式。如果a是真命题或者a不等于0,执行b,否则执行c
19) 单个字符输入输出函数:getchar(),putchar().
格式输入输出函数:scanf(),printf().
20) 存储字符串的字符数组一定要有一个空字符’\0’作为字符串结束的标志,而字符串的长度(及有效字符的个数),是不会把’\0’算进去的一些自带的字符串函数:字符串输出函数puts(),字符串输入函数get(),字符串连接函数stract(),字符串复制函数strcpy(),字符串比较函数strcmp(),测字符串长度函数strlen().使用这些函数要引用#include<string.h>,另外,如果字符串用数组存放,可能字符串长度不等同于字符数组长度,比如有一个字符串数组char a[]=“abc\0defg”,这个字符串长度是3,而字符数组长度是9,计算字符数组长度可以用sizeof(a)/sizeof(char);
21) 可以用&获得变量的地址,可以用*访问指针指向的变量
22) 指针与一维数组的联系:
1.用指针指向数组元素:比如int a[10],int *p; p=&a[8];即将数组中第9个元素的地址赋给指针变量p
2.指向数组:比如int a[10],int *p;p=a;这就将数组a的起始地址赋给指针p;
3.引用数组元素:比如int a[10],int *p;那么访问数组的第6个元素
有3种方法:a[2], *(a+2), (p+2)
23) 用指针定义字符串:char str="abc"等同于char str[]=“abc”;
24) 二维数组初始化4种方式:
1.int a[2][2]={{1,2},{3,4}};
2.int a[2][2]={1,2,3,4};
3.int a[][2]={1,2,3,4};
4.int a[2][2]={{1}};(这一种是部分元素初始化)
指针与二维数组的联系:a代表二维数组首元素的地址,就相当于&a[0],如果换成数组的第二行的话,只需要改成a+1;
我们可以把a[0]看做是指向a[0][0]的指针,那么a[0]+1即指向a[0][1],即此时的地址为&a[0][1].
在一维数组与指针的关系中,a[i]等价于(a+i),同理,在二维数组,有a[i][j]等价(a+i)+j,也等价于a[i]+j,都表示数组元素a[i][j]的地址
5.二维字符数组初始化:比如初始化全为字符a
char s[m][n];
memset(s,‘a’,m*n*sizeof(char));
c语言知识点温习-1-零碎知识点
最新推荐文章于 2022-05-20 16:01:47 发布