您的位置:首页 > 编程语言 > C语言/C++

C语言学习笔记(一)——学前知识概述

2015-06-16 16:28 435 查看

将我大一学习C语言时做的笔记拿来与大家分享,内容比较浅显,比较适合初学者,如有错误还请见谅,提出改正,谢谢!

前言:此C语言笔记是本人在自学时记录的一些重点或初学者常犯的错误,是根据郝斌老师的C语言视频进行学习的,在此感谢郝斌老师,对郝斌老师的无私奉献精神致以崇高的敬意。同时,希望我的这本笔记能够对大家的C语言的学习有所帮助。

C语言学习笔记

C语言重点:流程控制、函数、指针、动态内存分配。


第一章、学前知识概述


小知识


1.如何看懂一个程序?



流程、功能、试数
(按电脑的思维去看一个程序)



2.变量的实质是内存的一块存储空间


3.分配内存是操作系统把某一块内存空间的使用权限分配给该程序;



释放内存是操作系统把分配给该程序的内存空间的使用权限收回,该程序就不能够再使用这一块内存空间。



注意:分配内存是指内存权限的分配,释放内存并不是把内存的内容清零,原数据会被保留而成为垃圾数据,所谓空
闲内存并不是指没有内容的内存,而是没有被占用的可供分配的内存,尽管里面是垃圾数据,但操作分配给程序权限
使程序可修改内存空间中的垃圾数据以供程序继续使用。



内存是由操作系统直接控制的,自Windows
2000以后,操作系统不允许程序直接访问内存,而只能通过请求操作系
统来访问内存,以前Windows 98和Windows
ME等允许程序直接访问内存和通过操作系统访问内存两种途径。





常见运算符

算术运算符:

+ - × /
%(取余数)

关系运算符:

>
>= <
<=
!=(不等于)
==(等于)

(3==5的值为布尔型,即为0)
非零是真零是假;真是1表示,假是0表示。

注意:=
为赋值
== 才为等于

逻辑运算符:

!(非) &&(且)
||(或)

注意:逻辑运算符和关系运算符的结果只能为真或假,真用1表示,假用0表示,即成立或不成立。常在if和while中使用。

赋值运算符:

= +=(加等)
-=(减等) *=(乘等)
/=(除等)

a+=3 :== a=a+3

a/=5 :== a=a/3


(i >= 80 && i < 90)// <=
所得结果为一逻辑值,是布尔型
其值为0或1,永远小于90,即此式永远成立!
其值永远为真(1)

而并不是表示i大于等于80小于90。


优先级别:算术>关系>逻辑>赋值

注意用括号!!!



int m;


int k = 10;


m = (21>3) && (k=5); //m为布尔型值,k=5为真,当且仅当k=0时才为假,即0为假,其他数为真


printf("m=%d, k=%d\n", m, k);//当左边无法判断m的真假值时,右边才执行;若左边即可以判断m值的真假,右边不执行。


&&左边的表达式为假时,右边的表达式肯定不会执行

||左边的表达式为真时,右边的表达式肯定不会执行



强制类型转化:
格式:(数据类型)(表达式)



inti;


floatsum = 0;
功能:把表达式的类型强制转化前面数据类型所指定的类型




for(i=1;i<=100;++i)


//sum= sum + 1.0/i;


sum= sum + 1/(float)(i);
//强制将i的类型转化为浮点型。




printf("sum= %f\n", sum); //浮点型必须以%f(或%lf)控制输出



输入控制符

printf与scanf在输出(输入)控制时,前面的控制符与后面的取值是一一对应的。

scanf("%d %d %d", &i,&j, &k);
//空格可连续赋值,也可点回车后一个一个赋值,比较方便。

scanf("%d,%d,%d",
&i, &j, &k); //而此种带必须输入非输入控制符“,”,否则无法完成三个变量的赋值。


doubledelta;


printf("请输入delta的值:");


scanf("%lf",&delta); //上面定义delta为什么类型变量,输入控制时就必须使用什么类型控制符,
否则会出错!!!



注意:输入/输出控制符与输入/输出参数必须一一对应

注意scanf()中的取地址符&


int 98---默认十进制

int 098---八进制

int 0x(X)98---十六进制



输出控制符

%x(X):
输出为十六进制整型(字母大小写) %#x(X):输出为Ox(X)十六进制整型

%d:输入输出为整型

%ld:长整型

%hd:短整型

%hu:无符号整型

%u %lu %s:输入输出为字符串

%c:输出为字符

%f:输入输出为浮点型

%lf:双精度浮点型




字符的存储

整数是以补码的形式转化为二进制代码存储在计算机中的;

实数是以IEEE754标准转化为二进制代码存储在计算机中的;

字符的本质实际也是与整数的存储方式相同。




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: