程序设计个人总结.doc_第1页
程序设计个人总结.doc_第2页
程序设计个人总结.doc_第3页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、程序设计个人总结C程序设计实训个人总结通过上个学期的C语言学习之后这学期我开始了C语言的实训。这次实训一共有12道题可以说这12道题要运用学过的所有C语言知识。刚开始的两天由于长时间没有接触这科所以编程的时候有一些困难通过课下的复习我逐渐开始适应编程的节奏。这一周的编程我对于之前不怎么熟悉的语句逐渐熟悉了通过不断的调试过程我改正了编程的一些毛病对于之后的实训有很大的帮助。我认为学习c语言不能停留在学习它的语法规则而是利用学到的知识编写c语言程序解决实际问题。即把c语言作为工具描述解决实际问题的步骤由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。通

2、过上机实验来验证自己编制的程序是否正确恐怕是大多数同学在完成老师作业时的心态。但是在程序设计领域里这是一定要克服的传统的、错误的想法。因为在这种思想支配下可能你会想办法去“掩盖”程序中的错误而不是尽可能多地发现程序中存在的问题。自己编好程序上机调试运行时可能有很多你想不到的情况发生通过解决这些问题可以逐步提高自己对c语言的理解和程序开发能力。程序设计总结程序设计总结一、C+语言常用基本数据类型类型名charintcharshortintintlongintlonglong实数(浮点数)floatdoublelongdouble单精度浮点型双精度浮点型长双精度浮点型说明字符型短整型整型长整型字节

3、l24484816约6位有效数字约8位有效数字约12位有效数字范围-128+127-3276832767-2147483648-2147483647-21474836482147483647二、变量定义变量定义的两个要素:变量的数据类型变量名称;形象地说:变量定义就是给一个可以装东西的盒子取名字和规定它可以装什么类型的东西。例如:intnumber;这里变量名称为number是整数类型;表示变量说明结束。也就是定义了一个名称为number的盒子该盒子只能装整数。实验程序1#include<iostreamusingnamespacestd;intmaininta=34,b=56;a=a+

4、b;b=a-b;a=a-b;cout”a=”<<a;oout<<”b=”<<b;system(“pause”);return0;程序输出:程序输出:实验程序2#include<iostreamusingnamespacestd;intmaininttmp,count;tmp=4+1;count=tmp+2;tmp=count+2_tmp;cout<<“tmp=”<<tmp;cout<<”count=”<<count;system(“pause”);return0;三、常量定义常量是指在程序运行过程中不发生

5、改变的量。常量在程序中有三种表现形式:1、直接写出数字:例如:r=12.3;这里的12.3就是常量;2、用#define来定义见下面的试验程序2;3、用const来定义见下面的试验程序3;例如:#definemaxn100constdoublepi=3.14;程序中定义常量一般写在#include下面main函数上面。四、数学运算符、关系运算符、逻辑运算符1)数学运算符:+(加)、-(减)、_(乘)、/(除法)、%(求余)除法运算:/的规则与数学不同:a/b如果a和b是整数则a/b的结果也是整数例如:34/7=4、-34/7=-4、34/-7=-4、-34/-7=4如果a和b中有一个为浮点数则

6、运算结果就是浮点数例如:25.0/4=6.25、25/4.0=6.25、25.0/4.0=6.25求余运算:%的运算规则是:设a、b都是整数则a%b=a-(a/b)_b。例如:34%7=34-(34/7)_7=34-4_7=6;-34%7=-34-(-34/7)_7=34-(-4_7)=-6;34%-7=34-(34/-7)_-7=34-(-4_-7)=6;-34%-7=-34-(-34/-7)_-7=-34-(4_-7)=-6;算术运算符号的优先级关系:_/%优先于+2)关系运算符:(大于)、<(小于)、=(大于等于)、<=(小于等)、=(等于)、!=(不等于)关系运算符用于比较

7、数量关系其运算结果只有两种:0(错误false)、非0(正确true)。例如:35的值为05=5的值为非05!=5的值为05<=5的值为非0、5=5的值为非0a?<?A?的值为0hebis?hebing?的值为非013?123?的值为00?<?A?的值为非0B?65的值为0c?<100的值为非0关系运算符号的优先级关系:、=、<、<=优先于=、!=3)逻辑运算符:&;&;(与)、|(或)、!(非)&;&;的运算规则:a&;&;b在a、b都为非0(正确)的时候才正确其他情况均为0(错误)&;&;的运算规则:a&;&;b在a、b都为0(错误)的时候才错误其他情况

8、均为1(正确)!的运算规则:当a=0时!a为非0;当a=1时!a为0;逻辑运算符的优先级关系:!优于&;&;优于|举例:数学表达式-2<=x<10的C语言条件表达式:x是奇数的条件表达式:x是偶数的条件表达式:x能被11整除的条件表达式:x能被4整除但不能被100整除或者能被400整除的C语言表达式:五、输入、输出语句cout格式:cout<<”hello”;/原样输出hello这几个字母cout<<a;/输出变量a的值/输出表达式a+1和a+b的值/回车换行cout<<a+1<<a+b;cout<<endl;cin格式:

9、cina;功能:将一些内容按程序员的指定格式输出到计算机屏幕上。/从键盘输入并将其值赋给变量a功能:从键盘接受输入并将输入数据存放到变量中。六、赋值语句格式:变量=表达式;功能:让变量的值等于表达式的值先计算表达式的值然后赋給左边的变量。其中?=?称为赋值运算符号。实验程序3:#include<iostreamusingnamespacestd;实验程序4:#include<iostreamusingnamespacestd;intmaininta,b;scanf(“%d%d”,&;a,&;b);a+=b;b-=a;a_=2;b%=3;intmaininta,b,t;cinab;t

10、=a;a=b;b=t;cout“a=”<<a;cout<<”b=”<<b<<endl;system(“pause”);cout<<“a=”<<a<<”b=”<<b;cout<<“OK!”;system(“pause”);return0;输入:58输出:return0;输入:3456输出:要特别说明的是:实验程序5是实现交换两个变量值的程序。七、分支语句格式:if(条件)语句1;else语句2;功能:如果条件成立则执行语句1否则执行语句2;其中上面的格式中”else语句2;”可以省略。实验

11、程序5:实验程序6:例题1:输入一个整数判断它是否为偶数。例题2:输入一个浮点数输出它的绝对值如果是则输出”yes”否则输出”no”。保留2位小数。输入数据:输入一个整数到变量x中;解答方法+输出答案:如果x能被2整除则输出yes否则输出no#include<iostreamusingnamespacestd;输入数据:输入一个浮点数到变量x中;解答方法:变量y=x;如果x<0则y=-x;输出答案:输出y;#include<iostreamusingnamespacestd;intmainintx;cinx;if(x%2=0)cout“yes”<<endl;els

12、ecout<<“no”<<endl;system(“pause”);return0;intmaindublex,y;cinx;y=x;if(x<0)y=-x;couty;system(“pause”);return0;if语句嵌套if(条件1)语句1;elseif(条件2)else实验程序7二次函数求解#include<iostreamusingnamespacestd;intmaininta,b,c;floatq;cout<<“本程序是输出二次函数的解。”<<endl;cout<<“请输入abc的值:”;cinabc;i

13、f(a=0)cout“输入错误。”;elsecout<<“该二元一次方程式为y=”<<a<<“_x_x+”<<b<<“_x+”<<c<<endl;q=b_b-4_a_c;if(q<0)cout<<“此方程无解。”<<endl;elsecout<<“此方程有解。”<<endl;语句2;语句3;system(“pause”);return0;多重分支语句switchswitch语句是多分支的选择语句。嵌套的if语句可以处理多分支选择。但是用switch语句更加直

14、观。语法格式为:switch(变量或表达式)case常量表达式1:<语句序列1;break;case常量表达式2:<语句序列2;break;case常量表达式n:<语句序列n;break;default:<语句序列n+1;break;流程图如下:变量或表达式常量表达式1常量表达式2常量表达式3常量表达式default语句n语句1语句2语句3语句4breakbreakbreakbreakbreak实验程序8:#include<iostreamusingnamespacestd;intmainchargrade;cout<<“请输入成绩等级:”<&l

15、t;endl;cingrade;switch(grade)caseA?:coutcaseB?:cout<<caseC?:cout<<caseD?:cout<<default:cout<<system(“pause”);return0;“85100”<<endl;break;“7084”<<endl;break;“6069”<<endl;break;“<60”<<endl;break;“error”<<endl;break;九、库函数调用由于运算的需要在C+程序中已包含一些常用的库函

16、数如<cmath数学函数库中包含了我们数学计算中的所有函数通过调用这些函数就可以实现相应的运算方便很多。cmath函数库中的函数如下所示:<cmath数学函数库中所包含的函数求绝对值函数intabs(intx)正弦函数doublesin(doublex)反正弦函数doubleasin(doublex)ex函数doubleexp(doublex)lnx函数doublelog(doublex)log10x函数doublelog10(doublex)函数doublesqrt(doublex)以lnx函数doublelog(doublex)为例其中第一个double为这个函数的类型-双精度

17、浮点型log为函数的名称括号中的double为参数x的类型。我们在调用的该函数的时候不必写出函数类型与参数类型。如何调用这些库函数从下面的例子中来看:实验程序11:中国人口增长问题注释#include<iostream#include<cmathusingnamespacestd;intmaindoublex,y;cinx;y=13_pow(1+0.01,x);cout<<y;system(“pause”);return0;在调用相应函数时需注意格式规范。首先申明要调用的数学函数库在调用时不必写函数的类型和参数的类型。pow是指数函数其后的括号中的第一项为指数函数的底第

18、二项为指数函数的指数中间用都含隔开。九、程序设计实例程序设计解答问题的三段论:输入数据?解答方法答案输出所以在程序设计的时候要依次弄清楚如下问题:1、需要定义那些变量及他们的数据类型用于存储输入数据、运算的中间结果和答案;2、需要输入那些数据;3、解答方法是什么?4、输出答案及输出答案的格式是什么。例:圆柱体的表面积输入底面半径r和高为h输出圆柱体的表面积保留3位小数格式见样例。样例输入:3.59样例输出:Area=274.889分析:输入数据:输入r和h;解答方法:底面积:s1=3.14_r_r;侧面积:s2=2_3.14_r_h;表面积:s=2_s1+s2;答案输出:按样例格式输出表面积(

19、保留2位小数)程序:例:三位数反转输入一个三位数分离出他们的百位、十位和个位反转后输出。样例输入:127样例输出:721分析:输入数据:输入整数n;解答方法:计算n的个位:a=n%10;计算n的十位:b=n/10%10;计算n的十位:c=n/100;反转后的数是:m=a_100+b_10+c;答案输出:输出m的值例:鸡兔同笼已知鸡和兔的总量为n总腿数为m输入n和m依次输出鸡的数目和兔的数目。样例输入1:1432样例输出1:122样例输入2:6样例输出2:Noanswer分析:按照程序解答问题的三段论:1、输入数据:n和m;2、解答方法:设鸡有x只兔有y只则列方程:?xyn2x4ym解方程得:?

20、x(4nm)/2这里x和y必须为正整数。y(m2n)/23、输出答案:如果“m是偶数且x0且y0”则该题目解是x和y否则输出Noanswer。x和y必须为正整数程序的语言描述用c+语言补充完整#include<iostreamusingnamespacestd;intmain定义n,m,x,y四个整数变量;输入变量n,m的值;x=(4n-m)/2;y=(m-2n)/2;如果m是偶数且x0且y0输出x和y的值中间隔一个空格否则输出NoanswerIf)elsesystem(“pause”);return0;例:三数排序输入三个数将他们从小到大排序后输出。解法1:1、输入数据:a,b,c;2

21、、解答方法并输出答案:如果abc则输出abc的值;如果acb则输出acb的值;如果bac则输出bac的值;如果bca则输出bca的值;如果cab则输出cab的值;如果cba则输出cba的值;解法:1、输入数据:a,b,c;2、解答方法:如果ab则交换a,b的值;如果ac则交换a,c的值;如果bc则交换b,c的值;3、输出答案:输出a,b,c的只值解法2的程序#include<stdio.hintmaininta,b,c,t;scanf(“%d%d%d”,&;a,&;b,&;c);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;p

22、rintf(“%d%d%dn”,a,b,c);return0;附录1:ASCII码表下表列出了ASCII字符集。每一个字符有它的十进制值十六进制值终端上的显示结果ASCII助记名和ASCII控制字符定义。十进制数值十六进制值终端显示ASCII助记名备注0123456789112131415000102030405060708090A0B0C0D0E0FABCDEFGHIJKLMNONULSOHST_ET_EOTENQACKBELBSHTLFVTFFCRSOSI空文件头的开始文本的开始文本的结束传输的结束询问确认响铃后退水平跳格换行垂直跳格格式馈给回车向外移出向内移入16171819202122

23、232425262728293031323334112131415161718191A1B1C1D1E1F202122PQRSTUVW_YZ_DLEDC1DC2DC3DC4NAKSYBCANEMSUBESCFSGSRSUS数据传送换码设备控制1设备控制2设备控制3设备控制4否定同步空闲传输块结束取消媒体结束减退出域分隔符组分隔符记录分隔符单元分隔符(Space)Space|35363738394041424344454647484950515253232425262728292A2B2C2D2E2F303132333435#$%&;_+,./012345#5455565758596061626

24、3646566676869707172363738393A3B3C3D3E3F4041424344454647486789:;<=ABCDEFGH73747576777879808182838485868788899091494A4B4C4D4E4F505152535455565758595A5BIJKLMNOPQRSTUVW_YZ92939495969798991001021031041051061071081091105C5D5E5F606162636465666768696A6B6C6D6E“_abcdefghijklmn111112113114115116117118119120

25、_11221231241251261276F707172737475767778797A7B7C7D7E7Fopqrstuvwxyz|DELDelete注意:ASCII字符607Fh不能被存储到内存单元或数据记录文件。这些值被转变到40h-5Fh范围内的等价大写形式。这些字符可以被存到缓冲区并且在通讯时被发送和接收。附录2:上机调试程序总结程序调试的步骤:1、使用的集成开发环境:DevC+在机器桌面的“教学软件”文件夹下可以找到2、启动DevC+后点击“文件/新建/源代码”3、将程序输入后保存点击“文件/保存”(或者按Ctrl+S)设置好保存位置并输入文件名点击“保存”按钮4、编译程序:点击“

26、运行/编译”(或者按Ctrl+F9)如果程序有错误将会在错误处出现红色的高亮标记条。5、修改错误:将错误处修改后重新“保存”并重新“编译”;6、调试程序:在程序编译无错误后将光标移动到你打算让程序运行到的位置(如果要程序运行完一般将光标移动到末尾的大括号前)然后点击“调试/运行到光标处”(或者按Shift+F4)。7、查看运行结果是否正确并“调试/停止运行”(或者按Ctrl+Alt+F2)。如果结果有错误则重新修改程序然后重复上面的过程:“修改保存编译调试查看结果”直到程序正确为止。C程序设计重点总结C语言最后加粗一下重点!第二章算法1.计算计算法分两类:数值运算算法:求数值解非数值运算算法:

27、排序、检索、管理2.算法特性:有穷性、确定性、零或多输入、一或多输出、有效性3.算法的三种基本结构:顺序结构选择结构循环结构(当型、直到型)第三章顺序结构常量和变量1.常量:整型常量实型常量:小数形式指数形式:12.34_103=12.34e3字符常量:普通字符:用括起来转义字符:开头(a警告b退格nt空出一段距离oxh)字符串常量:用“”括起来符号常量:#definePI3.14(大写行末无分号)2.变量:先定义后使用3.常变量:constinta=3;(取代符号常量)4.标识符(可作为变量名):只能由字母、数字、下划线组成且不能数字打头大小写是不同字符数据类型整型类型:基本整int短整sh

28、ortint长整longint双长整longlongint字符char布尔bool浮点类型:单精度浮点float双精度浮点double复数浮点枚举类型:enum空类型:void数组函数指针_结构体struct共用体union字节数(有效数字)int:2、4short:2long:4longlong:8char:1float:4(6)double:8(15)longdouble:8(15)、16(19)规范化指数形式:3.141590.314159e001运算符和表达式1.实数相除得双精度实数整数相除得整数(商向零取整)2.自增自减运算符(只用于变量):+i、-i先加减再使用i+/i-先使用再加

29、减3.算术表达式自左向右结合先乘除后加减4.不同类型数据混合运算:float和doubledoubleint和float/doubledoublechar和intASCII和int5.强制类型转换:(double)(x+y)将x+y的值转换成double型6.C运算符:等于=不等于!=与&;&;或|非!赋值=下标C语句1.分类控制语句:如continue(结束本次循环)break(中止执行switch或循环)switch(多分支选择)函数调用语句:printf(.);表达式语句:句末有分号空语句:;(作流程转向点)复合语句:用括起来语句句末写分号用数学公式开头加#include<math

30、.h2.赋值语句:复合赋值运算符:x+=y等价于x=x+yx_=y等价于x=x_y赋值表达式:a=b、a+b这种表达式不能作为左值a=b=5自右而左:b=5;a=b;数据的输入输出1.C语言本身不提供输入输出语句以下都是函数:putchar输出字符getchar输入字符printf格式输出scanf格式输入puts输出字符串gets输入字符串2.输入输出头文件:#include<stdio.h3.printf(格式控制输出表列):x%=y等价于x=x%y格式控制%格式字符+普通字符输出表列可以是常量、变量、表达式4.scanf(格式控制地址表列):不能忘“&;”注意:逗号对逗号空格对空格

31、%c中空格和转义字符都作为有效字符输入数值数据时遇非法字符认为数据结束5.格式字符:%d有符号的十进制整数%f小数形式的实数(%7.2f表示共7位小数2位)(%-7.2f表示向左对齐)双精度%lf%c一个字符%s字符串%e%E指数形式(printf(“%e”,123.456)1.23456e+002)%o八进制整数(补码)%x十六进制整数%u无符号十进制整数%g%G系统自动选择变成%f或%e输出“%”用连续两个“%”表示6.putchar输出一个字符:putchar(66)输出“B”putchar(n)换行7.getchar(c)输入一个字符第四章选择结构1.if:两分支选择switch:多分

32、支选择2.将a和b的值互换:t=a;a=b;b=t;3.优先级:!算术运算符关系运算符&;&;|赋值运算符关系运算符优先级:高:<<=低:=!=逻辑运算符优先级:!&;&;|4.关系表达式:“1”代表真“0”代表假逻辑表达式:非0代表真0代表假a&;&;b&;&;c只有a为真才向后算a|b|c只有a为假才向后算5.逻辑型变量:头文件#include<stdbool.h如a=score=606.条件表达式:max(ab)?a:b;7.选择结构嵌套:else总与上面最近的未配对if配对8.多分支选择结构:(多个case最多一个default)switch(表达式)case常量:语

33、句;break;default:语句;多个case共用一组语句:caseA:caseB:caseC:printf(“60n”);break;第五章循环结构三种循环1.while(表达式)语句;2.do语句;while(表达式)3.for(初值;循环条件;循环变量增值):改写成while:初值;while(循环条件)语句;循环变量增值;for里3项都可以省略第1、3项可含逗号第2项可以是关系/逻辑/数值/字符表达式逗号表达式内整个逗号表达式的值最右边表达式的值跳出、结束循环break:终止整个循环只用于switch和3种循环语句continue:结束本次循环如果是双重循环内循环里有break则终

34、止内循环而不是整个循环第六章数组1.一维数组:inta10;含a0a9十个元素初始化:a10=0,1,2,3,4,5,6,7,8,9;中括号里可以不写大括号里不写的得0起泡法排序:n个数n-1趟比较第j趟比较n-j次2.二维数组:floata34;含a00a23十二个元素初始化:3行4列inta34=1,2,3,4,5,6,7,8,9,10,11,12;第一维中括号可以不写大括号里不写的得0打擂台算法:先max=a00剩下的挨个跟a00比赢了就赋给max3.字符数组:chara10;含a0a9十个元素初始化:chara=I,a,m,h,a,p,p,y;chara23=#,#,#,#,#,#;c

35、hara=“Iamhappy”4.0作为字符串结束的标志5.scanf函数输入项如果是字符数组名不加&;:scanf(“%s”,a);6.输出字符串:puts(字符数组)输入字符串:gets(字符数组)字符串连接:strcat(字符数组1,字符数组2)字符串复制:strcpy(字符数组1,字符串2)将2复制到1中strncpy(str1,str2,2)将2的前2个字符复制到1中7.字符串比较:strcmp(字符串1字符串2)if(strcmp(s1,s2)0)printf(“yes”);8.测字符串长度:strlen(字符数组)9.转换为小写:strlwr(字符串)转换为大写:strupr(字符串)第七章函数1.定义有参函数:三处类型名和returnz不能少2.形参:定义函数时括号中的变量实参:主调函数调用时括号中的参数(常量、变量或表达式)3.数据传递(单向传递值传递):实参的值给形参函数中returnz把z的值作为函数值返回主函数赋给相应变量4.函数调用函数类型名和里面return表达式的类型名一致(函数类型决定返回值类型)不需要返回值的函数里边不写return类型名为void(

温馨提示

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

评论

0/150

提交评论