---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
由于之前学习过java的知识,因此学习c语言时候发现有许多相似之处,也有一些不同的地方!在此,我认为不需要事无巨细的的来做笔记,而应该把容易混淆的地方和需要特殊记忆或者是我认为会遗忘的部分做记录,方便以后学习和复习!
- c语言的注释只有两种:单行注释“//”、多行注释“/**/”
- C语言的基本数据类型:int、char、float、double 其中long 和short是类型修饰符,可以用来修饰int。在64位系统中long int是8字节,简写为long。short int为2字节,简写为short
- C语言中变量数据类型所占的存储空间:int——4B、char——1B、double——8B、float——4B
- printf函数的用法:用来在控制台输出。printf("输入的数字是%d\n",xxx); %d是占位符,代表输出整数。%f输出小数,默认6位小数,指定位数方式%.4f,指输出4位小数。%c输出字符
- 变量在内存中的存储:内存以字节为单位。变量在内存中寻址是从大到小。.取得变量的地址:&变量名。输出地址:%p。局部变量一定先进行初始化,才能使用,否则值会乱七八糟。
- scanf函数的用法:用来接收用户输入。scanf("%d", &number);scanf函数只接受变量的地址,将用户输入的值赋值给number的地址。一次性输入多个数值,并且以某些符号隔开。scanf("%d#%d", &num1, &num2);输入则为:5#10。如果scanf参数中以空格隔开,实际输入可以以空格、tab、回车作为分隔符。注意:scanf中不能写\n。 scanf("%d\n", &a); 为错误写法。会无法结束输入。
C语言运算需要注意点:
- %模运算。两边都是整数,取余结果的正负性只跟%左边的数值有关。
- 自动类型转换(double->int) int a = 10.8;有编译警告,丢失精度。强制类型转换(double->int)int b = (int) 10.5; 无警告。自动类型提升(int->double) double c = 10.6 + 6;6自动提升为double类型。参与运算是什么数据类型,结果就是什么数据类型。如:double a=10/3;结果是3.000000,不是3.333333。
- 自增自减。无论是a++还是++a。a都自增1,只是赋值时++a加1后赋值再计算,a++是先计算再加1.
- sizeof,c语言特有运算符:计算数据占有的字节数。写法:①sizeof(10); ②sizeof 10; ③sizeof(int); 注意:不能写成sizeof int;
- c语言任何数值都有真假性,0为假,其他都为真。
- 关系运算符优先级:==、!=相同,>,<,>=,<=相同。并且后者优于前者。算术运算符优先级大于关系运算符。
- 优先级:括号()> 负号>!>算术运算符>关系运算符>&&>||
c语言结构:
- 下面的代码是错误的:作用域不明确
if (10 > 6)
int a = 5;
// 如果要在if后面的语句中定义新的变量,必须用大括号{}
- switch结构:switch(数值){case 数值1:语句1;break; case 数值2:语句2;break; default:语句3;break;} 注意:没有break后面不判断一直执行到遇到break。要在case后面定义变量必须加大括号。
- 最简单的死循环:while(1);必须设条件!for(;;);
- 函数不写返回值类型默认为int。默认情况下,C语言不允许两个函数的名称一样
- return的作用:
1> 退出函数
2> 返回一个具体值给函数调用者
-
返回值注意点
1> void代表没有返回值
2> 如果没有明确说明返回值类型,默认是返回int类型
3> 就算明确声明了返回值类型,也可以不返回任何值
- printf函数有返回值,返回字符串的字符数,而不是字数
- 函数声明:在使用函数之前进行声明 ,如:int test();函数可以声明多次,main函数中写未定义的函数只警告,写已定义却未声明的会报错。
-
include
1> 作用:拷贝后面文件的所有内容到#include所在的位置,可以用相对路径或者绝对路径。
2> 自定义的文件用"",系统自带的文件用<>
3> #include <stdio.h>的目的:拷贝printf函数的声明
- 团队开发:张三写主函数,李四写某些功能,除此之外李四要写函数声明,保存在*.h文件中。张三只要引用这个文件就可以了。编译时需要同时cc 张三.c 李四.c。或都编译成.o文件在执行cc
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com