C语言程序的设计的一些基本问题.docVIP

  • 21
  • 0
  • 约1.47万字
  • 约 33页
  • 2018-06-03 发布于福建
  • 举报
C语言程序的设计的一些基本问题

转 C语言程序设计的一些基本问题 color=red:5c9ae53a13]C程语言序模式[/color:5c9ae53a13] 一个语言的程序设计有一些常用的基本模式,这些模式是许多人长期工作的总结。在这个语言的程序中到处可见。对于一些典型问题,采用适当的模式是最容易把程序写好、写正确的。在这里我们将从简单到复杂,分门别类地列处一些C程序模式,供大家参考。这里列出的东西选自各种材料(包括《从问题到程序》书中)。这里列出的东西是很初步的。如果你认为有些东西也很重要,请给我们提示。 在所有模式描述中,用$$符号括起来的一段段文字表示的是应该实际写出的东西。 有关解释如果写了页数,请参考《从问题到程序》书中相关的页。 -- 简单输出程序模式: #include stdio.h main(){ $一个或几个输出语句,例如printf(Hello,world!\n);$ } -- 例: #include stdio.h main(){ printf(Welcome\n); printf(to\n); printf(Beijing!\n); } -- 简单表达式计算模式: #include stdio.h main(){ printf($格式描述串$,$一个或几个表达式$); } --- 注意:格式描述串中转换描述与参数个数一致,类型一致。 -- #include stdio.h main(){ printf(%f*%f=%f,3.14,6.5,3.14*6.5); } -- 简单算术计算函数定义: double fun($一个或几个参数的说明$){ return$计算表达式$; } -- 1,函数返回值类型根据需要写出,未必是double; 2,参数写出类型和参数名的对,多个参数用逗号分隔; 3,计算表达式描述如何由参数出发算出函数值; 4,如果计算中需要用数学函数,应该在程序开始写一行 #include math.h -- 例: double circle_area(double r){ return r*r*3 } -- 有函数定义的一般程序: #include… …/*函数定义写在这里(可以有一个或几个)*/ main(){ …/*主程序体,通常包含对函数的调用*/ } -- 常用while循环形式: n=1;/*初始化循环中使用的变量*/ while(n=100){/*已知次数的循环用for结构写得更多*/ /*其他语句*/ n=n+1;/*循环最后更新辅助变量*/ } 注:这种更常见的是采用for循环形式写。见下。 -- /*有关变量的初始化*/ while($表达式$=1E-6){ /*循环中的计算应该影响表达式的值,否则将导致无限循环*/ } -- 常用for循环形式: for(n=0;n N;n++){ $循环体里的语句$ } --- 注意:C语言里一般不用(除非有特殊目的): for(n=1;n=N;n++){ $循环体里的语句$ } -- 给程序计时: #include stdio.h #include time.h /*其他定义*/ main(){ /*其他程序变量的定义*/ double x; x=clock()/CLOCKS_PER_SEC; /*需要计时的程序片段*/ x=clock()/CLOCKS_PER_SEC-x; printf(Timing:%f\n,x);/*输出形式自己确定*/ } --- 注意:不同系统的计时精度可能不同。有些系统还有非标准的计时功能。 -- 输入和处理由标准输入文件来的一系列字符 int c; /*其他定义或语句*/ while((c=getchar())!=EOF){ /*对读入字符的处理*/ } --- 1,接收读入字符的变量(例如上面的c)必须用int类型; 2,注意while条件中的括号,不能写错; 3,应该写#include stdio.h -- 最常见的数组操作 for(i=0;i N;i++){ .. .a.b .. } --- 1,循环范围不能超出数组下标的范围 -- 典型的处理数组的函数 double sqsum(double a,int n){ double x=0.0; int i; for(i=0;i n;i++) x+=a*a; return x; } --- 1,注意数组参数的写法; 2,增加一个描述数组长度的参数,借助于它控制对数组元素的处理; 3,通过这种函数可以改变实际参数数组。 -- 处理字符串的典型函数 void str_copy(char s,char t){ int i; for(i=0;t!=[message];i++) s=t; s=[message]; } --- void str_copy1(char*s

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档