《C语言程序设计》总结_第1页
《C语言程序设计》总结_第2页
《C语言程序设计》总结_第3页
《C语言程序设计》总结_第4页
《C语言程序设计》总结_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言总结/C语言总结/1编辑链接编译执行c程序开发步骤程序代码的录入,生成源程序*.c/*.cpp语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe/编辑链接编译执行c程序开发步骤程序代码的录入,语法分析查错,2C程序结构C程序由函数构成,其中,至少包含main函数,还可以包含若干其他函数。

一个C程序总是从main函数开始执行,不管主函数在程序中的位置如何。函数由两部分组成:函数的说明部分函数名后面必须跟一对圆括弧,可以没有参数,如main(),fun();函数体,即函数说明部分下面的大括弧{…}内的部分。

/C程序结构C程序由函数构成,其中,至少包含main函3三种程序结构顺序结构选择结构循环结构/三种程序结构顺序结构/4C语言标识符(三种)关键字预定义标识符用户标识符/C语言标识符(三种)关键字/5常量、变量常量:在程序运行过程中,其值不能被改变的量。变量:在程序运行过程中,其值可以被改变的量。一个变量应该有一个名字,在内存中占据一定的存储单元,在该存储单元中存放变量的值。注意:区分变量名和变量值要求对所有用到的变量作强制定义,也就是“先定义,后使用”。/常量、变量常量:在程序运行过程中,其值不能被改变的量。/6运算符与表达式/%=与==表达式的值??/运算符与表达式//7自增、自减运算符及表达式的值作用是使变量的值增1或减1,如:++i,--i(在使用i之前,先使i的值加(减)1i++,i--(在使用i之后,使i的值加(减)1)不同之处在于:++i是先执行i=i+1后,再使用i的值;而i++是先使用i的值后,再执行i=i+1。表达式的值是????使用范围??/自增、自减运算符及表达式的值作用是使变量的值增1或减1,如:8关系运算和逻辑运算运算符号优先级逻辑真和逻辑假1)对于逻辑与运算,如果第一个操作数被判定为“假”,系统不再判定或求解第二操作数。2)对于逻辑或运算,如果第一个操作数被判定为“真”,系统不再判定或求解第二操作数if-----else(作用范围)/关系运算和逻辑运算运算符号/9switch语句的一般形式switch(表达式){case常量表达式1:语句组;break;case常量表达式2:语句组;break;......case常量表达式n:语句组;break;[default:语句组;[break;]] }switch语句

C语言提供了switch语句直接处理多分支选择。/switch语句的一般形式switch语句

C语言提供了sw10(2)执行过程1)求解“循环继续条件”表达式。如果其值为非0,转2);否则转3)。2)执行循环体语句组,然后转1)。3)执行while语句的下一条。while语句(1)一般格式

while(循环继续条件)

{循环体语句组;}表达式0语句非0/(2)执行过程while语句(1)一般格式

while(11直到型循环do-while语句2.执行过程(1)执行循环体语句组。(2)计算“循环继续条件”表达式。如果“循环继续条件”表达式的值为非0(真),则转向⑴继续执行;否则,转向⑶。(3)执行do-while的下一条语句。语句表达式非001.一般格式do{循环体语句组;}while(循环继续条件);/*本行的分号不能缺省*/当循环体语句组仅由一条语句构成时,可以不使用复合语句形式。/直到型循环do-while语句2.执行过程语句表达式非001122.for语句的执行过程(1)求解“变量赋初值”表达式。(2)求解“循环继续条件”表达式。如果其值非0,执行⑶;否则,转至⑷。(3)执行循环体语句组,并求解“循环变量增值”表达式,然后转向⑵。(4)执行for语句的下一条语句。for语句1.for语句的一般格式

for([变量赋初值];[循环继续条件];[循环变量增值])

{循环体语句组;}表达式1表达式2表达式3下一语句F语句T表达式1表达式2表达式3/2.for语句的执行过程for语句1.for语句的一般格式13循环的嵌套、break、continue嵌套:一循环体中再出现一个循环表达式2语句F表达式1语句T下一语句FTbreak表达式2语句F表达式1语句T下一语句FcontinueTbreak:continue/循环的嵌套、break、continue嵌套:一循环体中再出14字符型常量一个字符常量代表ASCII字符集中的一个字符。1.普通字符常量

即:单引号括起的单个字符。例:'a'、'A'、'!'、'1'、''字符型常量占一个字节的存储空间。转义字符\特定字符 例:'\n'、'\t'、'\b'、'\\'、'\''、'\"'/字符型常量一个字符常量代表ASCII字符集中的一个字符。字符15getchar()和putchar()getchar()用于从键盘上接收一个字符putchar()用于输出一个字符/getchar()和putchar()getchar()16[返回类型]函数名([形参类型说明表]){[函数体]}函数定义形式:/[返回类型]函数名([形参类型说明表])函数定义形式:/17函数的返回值return(表达式);或return表达式;或return;一个函数中可以有一个以上的return语句,执行到哪一个return语句,哪一个语句起作用。(只能带回一个返回值)在定义函数时对函数值说明的类型一般应该和return语句中的表达式类型一致。void类型/函数的返回值return(表达式);/18函数的定义函数的调用函数的声明/函数的定义/19一维数组的定义和引用1、定义类型名

数组名[数组长度]类型名:数组元素的类型数组名:数组(变量)的名称,标识符数组长度:常量表达式,给定数组的大小/一维数组的定义和引用1、定义/202、引用先定义,后使用只能引用单个的数组元素,不能一次引用整个数组数组名[下标]下标:整型表达式取值范围:[0,数组长度-1]下标不要越界不能使用a[10]/2、引用先定义,后使用下标不要越界/21一维数组的初始化定义数组时,对数组元素赋初值类型名数组名[数组长度]={初值表};inta[10]={1,2,3,4,5,6,7,8,9,10};a[0]=1,a[1]=2,...…a[9]=10/一维数组的初始化定义数组时,对数组元素赋初值/22使用一维数组编程数组和循环for(i=0;i<n;i++)printf("%d",a[i]);数组下标作为循环变量,通过循环,逐个处理数组元素

/使用一维数组编程数组和循环/23查找与逆序/查找与逆序/24输入一个正整数n(1<n≤10),再输入n个整数,用选择法将它们从小到大排序后输出。

例:排序问题/输入一个正整数n(1<n≤10),再输入n个整数,用选择法25选择法排序35281输入n(n<10),再输入n个数,用选择法将它们从小到大排序后输出。设n=535281(1)15283(2)2583(3)385(4)58/选择法排序35281输入n(n<10),再输入n个数,用选26二维数组的定义和引用定义:类型名

数组名[行长度][列长度]inta[3][2];定义1个二维数组a,3行2列,6个元素intb[5][10];定义1个二维数组a,5行10列,50个元素/二维数组的定义和引用定义:/272、引用先定义,后使用数组元素的引用:数组名[行下标][列下标]行下标和列下标:整型表达式行下标的取值范围是[0,行长度-1]列下标的取值范围是[0,列长度-1]inta[3][2];3行2列,6个元素a[0][0]a[0][1]a[1][0]a[1][1]a[2][0]a[2][1]下标不要越界/2、引用先定义,后使用下标不要越界/28二维数组在内存中的存放方式inta[3][2];3行2列,6个元素表示1个3行2列的矩阵a[0][0]a[0][1]a[1][0]a[1][1]a[2][0]a[2][1]二维数组的元素在内存中按行/列方式存放a[0][0]a[0][1]a[1][0]a[1][1]a[2][0]a[2][1]/二维数组在内存中的存放方式inta[3][2];二维数组的29二维数组的初始化1、分行赋初值inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};staticintb[4][3]={{1,2,3},{},{4,5}};数组a123456789数组b1230004500002、顺序赋初值 inta[3][3]={1,2,3,4,5,6,7,8,9}; staticintb[4][3]={1,2,3,0,0,0,4,5};/二维数组的初始化1、分行赋初值数组a数组b2、顺序赋初值/30省略行长度对全部元素都赋了初值,inta[][3]={1,2,3,4,5,6,7,8,9};或分行赋初值时,在初值表中列出了全部行staticintb[][3]={{1,2,3},{},{4,5},{}}建议不要省略数组a123456789数组b123000450000/省略行长度数组a数组b/31使用二维数组编程行下标和列下标分别做为循环变量,通过二重循环,遍历二维数组通常将行下标做为外循环的循环变量列下标内循环/使用二维数组编程行下标和列下标分别做为循环变量,通过二重循32inta[N][N];N是正整数a[i][j]:i、j的取值范围[0,N-1]用二维数组a表示N*N方阵时,对应关系:a[0][0]a[0][1]a[0][2]主对角线a[1][0]a[1][1]a[1][2]上三角a[2][0]a[2][1]a[2][2]下三角副对角线矩阵与二维数组i==ji<=ji>=ji+j==N-1/inta[N][N];N是正33字符串字符串常量用一对双引号括起来的字符序列一个字符串结束符'\0'"Happy"6个字符'H''a’'p’'p’'y''\0'有效字符字符串结束符字符串的有效长度:有效字符的个数/字符串字符串常量有效字符字符串结束符字符串的有效长度:有效字34字符串与一维字符数组字符串:一个特殊的一维字符数组

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论