- c语言运行时:用编译器把源程序(.c或 .cpp结尾)编译为汇编代码(.s结尾),汇编器把汇编代码编译为目标代码(以.obj或.o结尾),链接器把库代码和启动代码和目标代码链接在一起,生成可执行代码(以.exe结尾)
- GUN编译器集合被称作GCC,用gcc命令就可以调用GCC C编译器;gcc命令可以用cc代替
- getchar(); 可以实现程序完成后,输入一个键窗口才消失的效果
- int main(void); int表明main()函数返回一个整数,void表示没有参数
- 注释有两种/* 这种是可以输入很多行的 */;//这种只能有一行,但是可以在任意一行
- <stdio.h>是标准输入输出文件,使用printf()函数和scanf()函数应该包含这个头文件
- 变量必须先声明后使用
- int dogs, bilibili = 1; 这种方式可以,但是不推荐使用,很容易让人不经意间误解含义,所以最好不要把初始化的变量和未初始化的变量放在同一条声明中。
- 十进制显示 %d ,以八进制显示%o ,以十六进制显示 %x。但如果要显示0x12,072这种格式,需要相应的变为%#o,%#x,%#X
- short int 可以short (long 同理),long long int可以写成long long;short ,short int,signed short,signed short int 都是同一种类型。
- long 使用%ld ,double使用%lf,short 的有%hd %ho %hx;;;;类似的还有lu ;lld,llu等等等等
- 单引号内叫字符,双引号叫字符串
- 从技术上看,char是整数类型。%d打印char类型,打印的是一个整数
- float 类型有效数字至少6位,double类型精度为至少13位有效数字
- scanf()遇到空白(空格,制表符,换行符)就不再读取输入
这行代码告诉我们,如何在整形变量中使用精度(%5.3d)生成足够的前导0来满足最小的位数。使用0标记则会使用前导0填充满整个字段宽度。最后,如果0标记和精度一起出现,0会被忽略printf(“|%5d|%5.3d|%05d|%05.3\n”,5,5,5,5) | 5| 005|00005| 005
printf(“%2s\n%10.5s","abcdefg") abcdefg abcde
这行代码告诉我们,虽然第一个宽度为2,但还是会自动扩展为可容纳字符串的长度。二是精度值则是打印字符的个数
- printf函数返回值是打印的字符的个数,如果出错,返回一个负值;scanf函数返回成功读取的项数
- 双引号不能直接用回车键换行,但可以用反斜杠\
- %*d在printf()中可以用参数确定精度值,在scanf()函数中 会抑制赋值,比如scanf(“%*d %*d %d”,&n)输入 4 5 6则n = 6
- scanf()把字符串放入数组时,比如scanf(“%s”,a),它会在字符序列的末尾加上‘\0’
- getchar()读取单个字符,fgets()读取包含空格的字符串
- 模除运算符号只看前者 -11%5=-1 11%-5=1,模除时只要ab都是整数,就可以通过a-(a/b)*b来计算
- C语言写法
while(++a>0) { statement } 比下面的写法好 while(a>0) { statement a++; }
- a=(i++)+(i++*3)这种写法无法保证结果,编译器不同结果不同。无法确定先执行前面的括号还是后面的括号;但是逗号却可以规定顺序,比如a=(b++,b+2,b*3),从左边执行,执行完一个,把b的值确定好再执行下一个,最后整个表达式的值是最右边的。与此对应的是,赋值表达式的值是最左边的,比如if 3 ==(a=2) ,等价于if 3 == 2
- 专业一点的说法——序列点:在一个语句中赋值运算符,递增递减运算符对对象做的改变在序列点的后面语句执行之前完成。逗号,分号都是序列点
- 当作为参数传递时,char和short 都会被自动转换为int ,float会被转换为double
- 强制转换类型 比如 (int)a
- 另一个C语言写法
while(scanf("%d",&a)==1)//当输入一个整数时才循环 { statement } ********************************* while(sacnf("%d",&a)==1)用来跳过整数输入 ;
- for循环可以很多样化
for(ch="a";ch<"z";ch++) for(dabt=1;debt*debt<100;debt=debt*100) for(i=0,j=0;i*j<100;i+=1,j*=54) 但注意,第一个表达式只能执行一次
- 下一篇从数组开始讲,这次就到这里
- 当然我要解释一下,为什么内容那么杂乱,因为很简单很零散,所以很基础的东西我就没有讲
- 当然当然,这是我复习的时候看了一遍书圈下来的知识点,所以在一定程度上只能适用于一部分人
- 最后,有错误欢迎指出
- 作者:板蓝根的板蓝
- 公众号:码与人生
- 邮箱:3338484750@qq.com