C语言中要注意的一些问题.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言中要注意的一些问题

C语言中要注意的一些问题 下面列出了一些C语言中常见的问题和注意事项,跟考试无关,有些表达不是很严格,仅供辅助学习。 C语言中规定,每条语句结束时末尾加分号,而不是每行末尾加分号! 在用scanf和printf函数输入和输出时,一定要记得int跟%d对应,long跟%ld对应,float和double跟%f对应,否则不能正确输入和输出数据。 使用scanf函数时,在双引号中最好只出现各种格式控制符,如”%d%d%f%c”,而不要随意增加其它字符,以免画蛇添足,增加输入的麻烦。 通过scanf(“%s”,字符数组名)和gets(字符数组名)都可以输入一个字符串,并将其存储在指定的字符数组中。区别在于,前者当输入字符中遇到空格就认为输入结束,后者则可以接收包含空格的字符串。 在数值运算时,要注意防止数据的溢出。特别是int类型数值范围较小,比较容易溢出。一旦溢出,结果出错。 要注意各种运算符的优先级,需要时可以加()来保证运算顺序满足要求。 参加关系和逻辑运算的数据可以是任意类型和任意值,计算机将所有非零数理解为1(真),而0则为假,然后进行运算。得到的结果只有两种,要么是1,要么是0。 整数的比较可以使用关系运算;浮点型数据在比较是否相等时,一般这样实现 fabs(表达式或变量)=1e-6 而字符串比较必须通过strcmp函数实现。 strcpy(字符数组1,字符数组2或字符串常量)的功能相当于 字符数组1=字符数组2或字符串常量 (程序中绝对不能写成这样!) 变量和数组在定义时若未赋初值(未初始化),则其内容是随机数(不确定)。数组若是部分初始化,则未指定初值的数组元素自动赋值为0(也可以理解为字符’\0’) for循环非常常用,要注意后面括号中三个表达式的执行顺序。若非必要,最好不要省略三个表达式。若循环体多于一条语句,必须用{}将它们括起来,变成语句块。(对于while和do..while循环也是这样) 数组元素是一个挨一个放在内存一片连续的空间中。对于多维数组,则采用行主序组织存放。比如二维数组arr[M][N],看作有arr[0], arr[1], …, arr[M-1]个一维数组,每个一维数组有N个元素 arr[0][0], arr[0][1], …, arr[0][N-1] ←第0行 arr[1][0], arr[1][1], …, arr[1][N-1] ←第1行 ... arr[M-1][0], arr[M-1][1], …, arr[M-1][N-1] ←第M-1行 首先存放第0行元素,接着是第1行,……。 二维数组实际上也可以形象地看作一张二维表格。 单个数组元素就是一个独立的变量,只是访问时应该写成 数组名[下标] 下标可以是常量、变量或表达式(当然表达式的结果应该是整数),第一个数组元素下标必定为0。编译器不对下标越界(下标值超出数组定义的大小),须程序设计者自己保证。 若要逐个访问数组中的每个元素,一般通过循环(常用for)。一维数组用一重循环,二维数组用二重循环,以此类推。比如对于二维数组arr[M][N] for ( i=0; iM; i++) /*外循环,i控制外循环的次数。在这里i控制访问二维数组的第i行*/ for( j=0; jN; j++) /*内循环,j控制内循环的次数。在这里j控制访问二维数 组的第j列*/ arr[i][j]=…; /*访问数组中的某个元素*/ 当然,调换一下,外循环控制列,内循环控制行也是可以的,完全看你的需要。 函数 一个C程序可以由多个文件组成,每个文件包含若干个函数,其中只能有一个main函数。各个函数可以相互调用,甚至自我调用(即递归调用),但不能调用main函数。计算机一定从main函数开始执行(实际上就是操作系统调用main函数),最终在main函数结束。 函数也有类型,称函数类型,实际上是指该函数返回值的类型。当确定一个函数没有返回值时,最好指定函数类型为void,否则默认类型为int,容易造成误解。 函数调用和返回时,若类型不一致,计算机会做自动类型转换。例如: int fun( float a){ float x; …… return x; /*由于函数类型为int,而x是float,因此计算机自动将float转换为int,然后将结果送回主调函数(这里是main函数)*/ main(){ int a; long b; …… b=fun(a); /*实参a的类型为int,而形参类型为float,当实参赋给形参时,自动类型转换int(float;当fun函数返回时,返回值为int,而b是long,赋值时又自

文档评论(0)

yaobanwd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档