您好、欢迎来到现金彩票网!
当前位置:盛世彩票 > 复合赋值符 >

C语言基础知识笔记

发布时间:2019-07-07 20:03 来源:未知 编辑:admin

  就是一条预处理命令,它的作用是通知C语言编译系统在对C程序进行正式编译之前需做一些预处理工作。

  一个C程序有且只有一个主函数,即main函数。主函数就是C语言中的唯一入口。

  1.一个说明或一个语句占一行,例如:包含头文件、一个可执行语句结束都需要换行;

  3.括号要成对写,如果需要删除的线.当一句可执行语句结束的时候末尾需要有分号;

  C 语言规定,标识符可以是字母(A~Z,a~z)、数字(0~9)、下划线_组成的字符串,并且第一个字符必须是字母或下划线。在使用标识符时还有注意以下几点:

  1.标识符的长度最好不要超过8位,因为在某些版本的C中规定标识符前8位有效,当两个标识符前8位相同时,则被认为是同一个标识符。

  2.标识符是严格区分大小写的。例如Imooc和imooc 是两个不同的标识符。

  ,C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类。如图所示:

  。生活中有很多信息适合使用整型数据来表示,比如:人的年龄、班级的人数、书的总页数等等。因此整型的类型比较多:

  注:int、short int、long int是根据编译环境的不同,所取范围不同。而其中short int和long int至少是表中所写范围,但是int在表中是以16位编译环境写的取值范围。另外

  c语言int的取值范围在于他占用的字节数 ,不同的编译器,规定是不一样。ANSI标准定义int是占2个字节,TC是按ANSI标准的,它的int是占2个字节的。但是在VC里,一个int是占4个字节的。

  。生活中有很多信息适合使用浮点型数据来表示,比如:人的体重(单位:公斤)、商品价格、圆周率等等。因为精度的不同又分为3种:

  从计算机上显示。这样做的好处,是有利于计算机能够准确的将我们所要类型数据给我们。其格式为:

  如果要输出多个变量的并指定变量的位置时候,格式符还可以连用,变量之间需要用逗号隔开,如:

  。自动转换遵循的规则就好比小盒子可以放进大盒子里面一样,下图表示了类型自动转换的规则。

  char类型数据转换为int类型数据遵循ASCII码中的对应值,ASCII码请查看WIKI。

  ,如把(int)(x/2+y)写成(int)x/2+y则成了把x转换成int型之后再除2再与y相加了。2、转换后不会改变原数据的类型及变量值,只在本次运算中

  在C语言中同样有运算符,只是写法可能有所不同。先说一下C语言中的运算是什么?C语言中的运算就是对数据进行操作、处理的过程。那么运算符又干什么的呢?运算符就是指定该运算的处理方式。

  的话,则结果也为整数,小数部分省略,如8/3 = 2;而两数中有一个为小数,结果则为小数,如:9.0/2 = 4.500000。取余运算中注意:

  进行取余运算,如:10%3 = 1;而10.0%3则是错误的;运算后的符号取决于被模数的符号,如(-10)%3 = -1;而10%(-3) = 1。注:C语言中没有乘方这个运算符,也不能用×,÷等算术符号。

  注意:无论是a++还是++a都等同于a=a+1,在表达式执行完毕后a的值都自增了1,无论是a--还是--a都等同于a=a-1,在表达式执行完毕后a的值都自减少1。

  和复合赋值运算符,之前我们已经接触过简单赋值运算符“=”号了,下面讲一下复合赋值运算符:复合赋值运算符就是在简单赋值符“=”之前加上其它运算符构成,例如+=、-=、*=、/=、%=。

  在程序中这样写一个变量的范围值是不行的,计算机是看不懂这样的算式的,那么怎样让计算机看懂呢?这里就要用到逻辑运算符了。

  那么前面的那个算式写成计算机可以看的懂的算式就是:x7 && x100;

  逻辑运算的值也是有两种分别为“真”和“假”,C语言中用整型的1和0来表示。其求值规则如下:

  结果就为真。 两个量都为假时,结果为假。例如:5=558,运算结果为真;非运算(!)

  为假;参与运算量为假时,结果为线),运算结果为线、三目运算符我们购物的时候经常会说如果这个物品大于多少钱就不买了,条件就是大于多少钱,结果就是不买了。那么上面所说的能不能在C语言中表示出来呢?当然是可以了,不过C语言中,需要用到一个符号,这个符号就是三目运算符。

  先判断表达式1的值是否为真,如果是线;如果是假的线。用代码来写一下上面的例子:

  还曾记得小时候,每当快考试的时候,家长总会说如果你能考得100分的话,就会给买个玩具。不难看出这是个判断句,那么在C语言中,这种判断语句该如何表达呢?这就要用到C语言中的

  考试之前,家长会说如果考100分就买玩具。那么我们会问那考不了100分呢,家长这时会说考不了也没关系下次再接再厉,只是没有奖励了。

  那么像上面这种情况,在C语言中就要用到if-else语句了,简单的if-else语句的基本结构如下:

  那么针对这种多重的条件的话,在C语言中就要用到多重if-else语句,其结构如下:

  考试之前,家长说了,你如果考90分以上的话会买玩具,否则没有奖励,如果能在获得玩具的情况下获取班级前三名的话会有大餐吃。

  那么想满足这位家长所有说的,就需要用到C语言中嵌套if-else语句。嵌套if-else语句的意思,就是在if-else语句中,再写if-else语句。其一般形式为:

  小明在英语测验的时候,computer这个单词写错了,小明为了记住该单词,下狠心要抄写10遍,然后小明苦兮兮的抄写了10遍。这里我们就可以说小明在循环抄写。

  。while语句的语义是:计算表达式的值,当值为线)时, 执行循环体代码块。其执行过程可用下图表示:

  ,否则会出现死循环(无休止的执行)。3、循环体如果包括有一个以上的语句,则

  小明英语测验,“computer”这个单词再一次写错了,小明又决定抄10遍,但是小明想“我写一遍就能记住了,剩下的交给计算机帮我完成!”。对于小明这个想法,就可以用到C语言中的do-while循环,一般形式如下:

  第二步:判断表达式2,若其值为线),则执行for循环体中执行代码块,然后向下执行;若其值为假(0),则结束循环;

  ;表达式2是一个关系表达式,它决定什么时候退出循环;表达式3是循环变量的步进值,定义控制循环变量每循环一次后按什么方式变化。这三部分之间用分号(;)分开。使用for语句应该注意:1、for循环中的“表达式1、2、3”均可可以缺省,但

  2、在不知道循环次数的情况下适合使用while或者do-while循环,如果有可能

  应考虑使用while循环,如果至少循环一次应考虑使用do-while循环。但是从本质上讲,while,do-while和for循环之间是可以相互转换的,如:小明被老师罚抄10次computer这个单词,分别用三种语法写:

  在功能需求上,往往一个循环满足不了,比如:循环用一个“*”输出,得到一下图形

  。因为循环层数越多,运行时间越长,程序越复杂,所以一般用2-3层多重循环就可以了。另外不同循环之间也是可以嵌套的。

  多重循环在执行的过程中,外层循环为父循环,内层循环为子循环,父循环一次,子循环需要全部执行完,直到跳出循环。父循环再进入下一次,子循环继续执行...

  在我们生活中,可能会由于某中原因需要中断当前的事情,过一会还能继续进行。如:小明今天篮球训练,需要运球10次,当运到5次的时候,突然来电话了,然后接完电话回来继续训练。我们可以将运球看成是一个循环,那么循环5次的时候,需要

  **break语句与continue语句的区别是:break是跳出当前整个循环,continue结束本次循环开始下一次循环。 **

  11、分支结构之switch语句C语言还提供了一种用于多分支选择的switch语句,它的用处也不少,例如:小明对自己每周的学习和生活制定了计划方案,每天应该做什么都详细规划。

  2、在case子句后如果没有break;会一直往后执行一直到遇到break;才会跳出switch语句。

  ,可以不用{}括起来。5、各case和default子句的先后顺序可以变动,而不会影响程序执行结果。

  那么C语言中也有这样的语句,就是goto语句,goto语句是一种无条件分支语句,goto 语句的使用格式为:

  其中语句标号是一个标识符,该标识符一般用英文大写并遵守标识符命名规则,这个标识符加上一个“:”一起出现在函数内某处,执行goto语句后,程序将跳转到该标号处并执行其后的语句。

  goto语句通常不用,主要因为它将使程序层次不清,且不易读,但在特定情况下,可以使用goto语句来提高程序的执行速度,所以还是少用为妙。例如:用goto语句和if语句构成循环求10以内的数之和。

  C语言提供了大量的库函数(右侧资料下载中有),比如stdio.h提供输出函数,但是还是满足不了我们开发中的一些逻辑,所以这个时候需要自己定义函数,自定义函数的一般形式:

  4、形参与实参小明和小刚都说,要早起去锻炼,但是呢,小明每天都在睡懒觉,他只是形式上说说而已;而小刚则每天都在坚持,他是在实际行动。C语言函数中的参数也和情景中的类似有两种。函数的参数分为

  ,就类似小明,说了的话而不实际行动;实参是在调用时传递该函数的参数,就如小刚能实际行动起来。函数的形参和实参具有以下特点:形参只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效

  1. 函数的值只能通过return语句返回主调函数。return语句的一般形式为:

  从前有座山啊,山里有座庙啊,庙里有个老和尚和一个小和尚,他们在干什么呢?老和尚在给小和尚讲故事,讲的什么呢?讲的是从前有座山...看到这,大家都会问老师你不讲课,你说这个老掉牙的故事干吗?

  在这说这个故事是有意义的,大家在仔细读读这个故事,是不是老和尚在说一件事,当碰到一个条件的时候都会再重复的从头说起呢?

  , 离开该函数后再使用这种变量是非法的。在复合语句中也可定义变量,其作用域只在复合语句范围内。

  全局变量也称为外部变量,它是在函数外部定义的变量。它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。

  静态存储方式:是指在程序运行期间分配固定的存储空间的方式。静态存储区中存放了在整个程序执行过程中都存在的变量,如全局变量。动态存储方式:是指在程序运行期间根据需要进行动态的分配存储空间的方式。

  ,通常包括:函数形式参数;自动变量;函数调用时的现场保护和返回地址等。C语言中存储类别又分为四类:自动(auto)、静态(static)、寄存器的(register)和外部的(extern)。

  1、用关键字auto定义的变量为自动变量,auto可以省略,auto不写则隐含定为“自动存储类别”,属于动态存储方式。如:

  。3、为了提高效率,C语言允许将局部变量得值放在CPU中的寄存器中,这种变量叫“寄存器变量”,用关键字register作声明。例如:

  局部静态变量不能定义为寄存器变量。4、用extern声明的的变量是外部变量,外部变量的意义是某函数可以调用在该函数之后定义的变量。如:

  在C语言中不能被其他源文件调用的函数称谓内部函数 ,内部函数由static关键字来定义,因此又被称谓静态函数,形式为:

  这里的static是对函数的作用范围的一个限定,限定该函数只能在其所处的源文件中使用,因此在不同文件中出现相同的函数名称的内部函数是没有问题的。

  在C语言中能被其他源文件调用的函数称谓外部函数 ,外部函数由extern关键字来定义,形式为:

  C语言规定,在没有指定函数的作用范围时,系统会默认认为是外部函数,因此当需要定义外部函数时extern也可以省略。

  数组只声明也不行啊,看一下数组是如何初始化的。说到初始化,C语言中的数组初始化是有三种形式的,分别是:

  1、数组的下标均以0开始;2、数组在初始化的时候,数组内元素的个数不能大于声明的数组长度;

  3、如果采用第一种初始化方式,元素个数小于数组的长度时,多余的数组元素初始化为0;

  4、在声明数组后没有进行初始化的时候,静态(static)和外部(extern)类型的数组元素初始化元素为0,自动(auto)类型的数组的元素初始化值不确定。

  当我们去超市回来买了一堆东西,就想要是有个机器人能帮我把东西拿出来放好,就完美了。

  那么在程序中,数组就可以采用循环的方式将每个元素遍历出来,而不用人为的每次获取指定某个位置上的元素,例如我们用for循环遍历一个数组:

  前面我们学过,变量可以当作参数是吧!这里数组也是可以当做函数的参数滴,啊?什么?你问数组咋当参数?请看下面知识。

  数组可以由整个数组当作函数的参数,也可以由数组中的某个元素当作函数的参数:

  字符串是神马?字符串就是由多个字符组合而成的一段话。在C语言中,是没有办法直接定义字符串数据类型的,但是我们可以使用数组来定义我们所要的字符串。一般有以下两种格式:

  1、[]中的长度是可以省略不写的;2、采用第2种方式的时候最后一个元素必须是\0,\0表示字符串的结束标志;

  数据类型 数组名称[常量表达式1][常量表达式2]...[常量表达式n];

  。其中第一个[3]表示第一维下标的长度,就像购物时分类存放的购物;第二个[3]表示第二维下标的长度,就像每个购物袋中的元素。我们可以把上面的数组看作一个3×3的矩阵,如下图:

  数据类型 数组名称[常量表达式1][常量表达式2]...[常量表达式n]; 数组名称[下标1][下标2]...[下标n] = 值;

  1、采用第一种始化时数组声明必须指定列的维数。因为系统会根据数组中元素的总个数来分配空间,当知道元素总个数以及列的维数后,会直接计算出行的维数;

  6、多维数组的遍历在超市买东西回来后,就算是东西再多,再怎么分类,我们还是要拿出来看一下所买的商品的。

  多维数组也是存在遍历的,和一维数组遍历一样,也是需要用到循环。不一样的就是多维数组需要采用嵌套循环,如:遍历输出int num[3][3] = {{1,2,3},{4,5,6},{7,8,9}};

http://coolscala.com/fuhefuzhifu/573.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有