C语言实习内容_第1页
C语言实习内容_第2页
C语言实习内容_第3页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、C 语言程序设计实 习 指 导 书黄河水利职业技术学院自动化工程系目录一、实习的目的和意义 2 页二 、 实 习内 容2 页(一)三种基本结构应用练习 2 页1根据字母判断是星期几2 页2输出正弦曲线4页3 完全 数页( 二 ) 函 数 6 页 4求最大公约数与最小公倍数6 页5递归函数的应用页(三)数组应用 8 页6选择法排序8 页7打印杨辉三角形9 页8字符数组应用 10 页(四)指针应用10 页9指针处理数据交换问题 10 页10用指针处理矩阵转置问题11 页(五)文件操作及C 的图形处理12 页11字母大小写转化并在磁盘中保存12 页12闪动的多彩圆13 页三、实习时间安排及成绩评定办

2、法15 页四、Turbo C 2.0 集成开发环境的使用介绍 16 页(一)主菜单16 页(二)Turbo C 2.0 的工作环境的确立 24 页(三)程序动态调试的方法26 页五、常见错误提示信息27 页一、实习的目的和意义“CC行的实践教学环节,其目的是培养学生具有初步的 C 语言程序设计、编程、调试和排除 C握 C的基本方法。通过实习,使学生将程序设计的理论知识与实践相结合,为学生 学习其他计算机编程语言打下基础。在一周的实习时间里,学生要认真复习基本概念,独立编写程序,并上机 经验丰富的人,当编译时出现“出错信息”时,能很快地判断出错误所在,并 改正之。而缺乏经验的人即使在系统给出明确

3、出错提示信息下也往往找不出错 误而求救于别人。对于学生来说,不仅要了解和熟悉有关理论和方法,还要求些经验是只能“意会”难以“言传C 语言程序设计之后,每个学生应当掌握的一项基本功。因此,在实习时千万不要在程序通过后就认为完成任务了,而应 当在已通过的程序基础上作一些改动(改变输入数据的方法等,甚至于“自设障碍scanf ”符号,使数组下标越界,使整数溢出等,观察和分析所出现的情况,并认真、及时总结。这样的学习是灵活主动的学习 而不是呆板被动的学习,才会有真正的收获。二、实习内容(一)三种基本结构应用练习顺序结构、选择结构、循环结构等三种结构是C 语言程序设计的三种基本结构,严格来说,所有的 C

4、 安排这三种基本结构的应用练习,旨在使学生对于这三种结构有一个更加深刻的理解,能够根据处理问题的需要选择不同的结构进行处理。由于顺序结构在这三种结构中是最基本的,实际上当我们把程序中的选择结构部分和循环结构部分看作一个整体时,那么,整个程序就总是由顺序结构组成的了。在此我们不再布置专门练习顺序结构的题目,主要给学生提供几个有关选择控制语句和循环控制的练习。根据字母判断是星期几题目如下:平时我们看到 M 时就想到星期一,看到 W 时就想到星期三, 请用 C 语言程序编写当输入星期几的第一个字母就判断出是星期几,如果第一个字母一样,则用第二个字母来判断。要求输入为字母Y时,结束判断。题目分析本题要

5、求使用C 语言的switch 判断是星期几。本题的目的是让学生掌握多分支switch 语句的用法。当一个表达式取不同的值时,则会有不同的结果,所以用多分支switch 语句来解决输入不同的字母而输出不同值的方法比较好,如果第一个字母一样, 如星期二和星期四Tuesday 和Thursda,则用if 语句判断第二个字母,这样 星期几相同的字母时,则可给出提示信息: printf(“PLEASE INPUT SECONDLETTERn”),这样就可以判断是星期几了。另外为了实现可以多次进行判断, 此题还需用循环进行控制。当输入字符不为Y时M输出Monday;break;判断输入的第 2 个字符=u

6、当输入字符不为Y时M输出Monday;break;判断输入的第 2 个字符=u真(T)2 个字符=h假(F)T输出Tuesday真(T)假(F)S2 个字符u输出Saturday真(T)输出Sunday假(F)输出DATA ERROR!break;其它输出DATAERROR!根据输出Thursday输出DATA ERROR!输入break;字符W输出Wednesday;break;确定F输出Friday;break;是星判断输入的第 2 个字符=a期几真(T)假(F)图 1关键程序提示输入字母为“Y”时结束判断,可用如下所示的表达式作为条件:(letter=getchar()!=Y)lette

7、r*/当输入S,再输入a 时则输出星期六,而再输入为u 时,则输出星期天, 否则就输出错误,这一过程可用如下程序实现:case S:printf(“please input second lettern”);if (letter=getchar()=a) printf(“Saturdayn”); else if(letter=getchar()=u) printf(“Sundayn”); else printf(“DATA ERROR!n”);break;输出正弦曲线题目如下:以下程序可以输出 sin(x)函数 02的图形。(请学生自行上机验证)#include main()#include

8、main()double x; intfor(i=1;i80;i+)if(i= =40) printf(“*”);elseprintf(“-”);printf(“n”);for (x=10.0;xy?40:y; for(i=1;i=yy;i+)if(i= =y)printf(“*”);else if(i= =40) printf(“|”);else printf2printf(“n”);根据以上程序,编写程序,打印出如图2 所示正弦函数图形。题目分析此题主要考查 for 循环语句的应用。通过循环语句控制在输出屏幕上的不同位置打印空格和非空格字符(*,从而可以输出按一定规律排列的图形。此类问题的

9、关键是正确控制空格字符的插入位置及个数,以及不同 行所应插入的非空格字符的个数。在解决时还要注意回车的控制。请学生认真 分灵活运用完成本题后,学生可根据各自情况,选做下面的题目,以达到灵活运用的目的。选做题一:通过循环实现打印出如图3 所示的菱形图案。* * * * * * * *完全数题目如下:编写一个程序,求出500 以内的所有完全数(等于它的因子(自身除外)6=1+2+3,则6 是完全数)题目分析本题使用了 C 语言中的循环,输出 500 以内的所有完全数。目的是让学生掌握完全数的概念及多种循环语句的区别。5001-500500然后再把每个数的因子加起来,但不能加上它本身,同时再利用if

10、 条件语句, 看这个数本身是不是等于所有因子的和(它自身除外。本例使用dowhile 语句,while 语句与 dowhilefor1 题写出本题的N-S 图。关键程序提示判断i 是否是a 的公约数的条件可表示为:(a%i=0 )利用 dowhile 语句把某个数的公约数加起来,可用下面的程序段来实现:do if (a%i=0)/*i 是否可整除a*/sum=sum+i;若能整除,则累加到变量sum 内i+;while(i=a/2);说明此题的求解类似于我们曾做过的求“水仙花数”的程序,学生可以参照求“水仙花”数的程序编写出本题的程序。(二)函数我们如果要用 C 语言进行大程序设计,一般采用模

11、块化的思想。其基本思想是将一个大的程序按照功能进行分割成一些模块,使每一个模块都成为功能单一、结构清晰、接口简单、容易理解的小程序。C 语言是用函数来实现这种模块化功能的。我们用 C 语言设计程序,任务只有一种,就是编写函数,至少也要编写一个 main()函数。根据程序的复杂程度,还可以编写多个子函数。在这一部分我们就通过练习进一步掌握用子函数来进行模块化程序设计的方法, 熟悉子函数的调用和执行过程。求最大公约数与最小公倍数u v 要求求最大公约数和最小公倍数的过程用子函数来实现。题目分析要求分别编写求最大公约数与求最小公倍数子函数,通过主函数调用子函数,在主函数中分别将子函数返回的最大公约数

12、与最小公倍数输出。在定义函数时,要注意函数的类型,同时在调用时注意其“实参”和“形参”之间的关系。本题主要考查学生编写子函数处理复杂问题的能力,以及求最大公约数和最小公倍数的方法。求最大公约数一般用辗转相除法,其算法可以描述为: 当 v 不为 0 时,辗转用操作:r=u%,u=,v=r 代表余数)消去相同的因子。直到v=0 时,u 的值即为所求的解。 v u*v/(u v 的最大公约数。关键程序提示在求最大公约数时,注意是用大数除以小数的,即如果用 u%v,则应保证,否则,就要进行u 和v 的互换。互换时可以这样实现t 为中间变量if (u0)p=power(x,n-1)*x;/*n0 */e

13、lsep=1;n=0 时,返回1,并由此递推出xn */选做题学生完成此题后,要认真思考,一定要弄清楚递归函数的执行过程。可以试着将求最大公约数的函数改用递归方法来实现,其求解过程用递归描述为(gysb 是待求最大公约数的两个数,且:b(b(a%b=0)gys(b,a%b)(a%b!=0)(三)数组应用数组是一种构造数据类型,指的是一组同类型数据组成的序列,运用数组用方式等内容。选择法排序题目如下:对于 n 用一维数组来存放这n 个数,且要以子函数来实现。题目分析在计算机内部,信息常以数组形式存在,信息的初始化有多种方法,使用输入函数循环控制是常用的方式。对数组中的数据进行排序是数据处理的基本

14、操作。排序的方法较多,如冒泡法、选择法、插入法等。这里要求用选择法对 n 个数据排序。选择法的思路是,对于给定的一组数n n-1 轮,每一轮比较的次i n-i 次 。本题主要考查学生对选择排序算法的掌握程度, 以及用数组处理问题的方法。要求画出流程图,然后实现之。关键程序提示用给定的数据对数组初始化(首先应确定排序数据个数即n 的值for(i=0;in;i+)sanf(“%d”,&ai);最小数据的确定循环结束时ak是剩余数中的最小数for(j=i+1;jn;j+)if(ajak)k=j;/*k*/排序本题只需使用一个数组,因此排序过程是最小数与当前数的交换过程。注意题目要求用子函数来实现。i

15、f(k!=i)num=ak;ak=ai;ai=num;说明处理的方法。理解其结构,并能够灵活运用。7处理的方法。理解其结构,并能够灵活运用。7打印杨辉三角形题目如下:使用循环结构输出杨辉三角形, 使用二维数组处理。(如图 6 所示)题目分析图6本题主要使用双重循环for 语句来控制循环,双重for 语句控制打印数值, 同时还控制打印他们的间距。另外练习二维数组的应用,理解二维数组的行列坐标关系。这是一个比较典型的用双重循环分别控制二维数组的行列下表来进行数据处理的问题。通过给出的杨辉三角形的前面几行我们可以看出以下规律:各行第一个数和最后一个数都是 1;3 行起,除上面指出的第一个和最后一个数

16、外,其余各数是上一行5 3 个数4 2 个数4 3 个数之和。由此可以推广到,第i j 样表示(二维数组名为:aij=ai-1j+ai-1j-1。使数组第一列和对角线元素为 1;元素为 ij=ai-1j+ai-1j-1(用双重 for 循环实现)输出二维数组的内容使数组第一列和对角线元素为 1;元素为 ij=ai-1j+ai-1j-1(用双重 for 循环实现)输出二维数组的内容关键程序提示图71for(i=0;in;i+) ai0=1;aii=1;下一项为它上对角两项的和:for(i=2;in;i+)for(j=1;ji;j+)aij=ai-1j-1+ai-1j;控制打印空格和回车for(i

17、=0;i10;i+)for(j=0;j *max真(T)p 中的地址放入(max=p)假(F)max*p*min真(T)p min(min=p)假(F)交换(将最大数与第一数交换,最小数与最后一数交换)图 8题目分析此题是一道用指针处理一维数组的问题。搞清楚数组地址的表示方式,将相应的地址赋给一个指针变量就可以了。把此题关键部分即进行查找最大和最N-S 8 一组运行结果。程序提示判断并进行交换的子函数可参考下面的程序段实现:change(intarray10)int *max,*min,*p,*array_end; array_end=array+10; max=min=array; for(

18、p=array+1;p*max) max=p;/*max10 */else if (*p*min) min=p;/*min10 */*p=array0;array0=*max;*max=*p;/*最大数放在array0*/*p=array9;array9=*min;*min=*p;/*array9*/ return;学生要认真分析各语句含义,在主函数中完成对此函数的调用。用指针处理矩阵转置问题题目如下:写一个函数,将一个 34 的矩阵转置。要求用指针处理数组。题目分析所谓矩阵转置是指一个矩阵的行和列互换,如有a123,则转置14456b 2536以后将变为:此题考查学生用二维数组处理矩阵问题的

19、方法,另外由于题目要求用指针来进行处理,所以首先要搞清楚指向二维数组的指针和其地址间的关系。如:有 int *p,a34p=&a00,就代表将指针p 元素,它与p=a 是等价的。分析问题,并写出其算法,然后上机实现此题。关键程序提示在程序的定义部分,定义数组和指针,可用下面语句:int a34,*p;使指针p 和数组a 之间建立关系,即使p 指向数组a: p=&a00;矩阵转置的实现要设计成子函数形式,其关键部分可用下面的双重循环来进行控制:for(i=0;i3;i+) for(j=i;j=a&stri=z)stri=stri-32; fputc(stri,fp);i+;打开test 文件并保

20、存: fp=fopen(“test”, “r”); fgets(str ,strlen(str)+1,fp); printf(“%sn”,str);以下将会给出一个有关用C 语言实现图形绘制功能的实例,使学生对C 语言的功能强大的绘图函数能够有所了解。也在一定意义上使学生对C 设计产生更大的兴趣,激发其自主学习的动力。闪动的多彩圆3000 15 按上面的变化情况变化,但它的背景也要不断的变化。题目分析本题的目的是让读者掌握如何使用图形控制寄存器功能,设置像素函数, for 语句来设置不断变大的圆,并且同时利用它来改变其颜色,最后利用双重 循环语句来完成背景、圆、线条的颜色同步改变的效果。在本例

21、还用到延时函数,它表示两次变化过程的时间间隔。本例中出现的一些图形控制方便的函数,如果不理解,则学生可以到图书馆查阅相关的资料,培养自己查阅各种参考文献,从中搜集所需知识的能力。关键程序提示如果要用 C “#include graphics.图形初始化:intigraph(&gdriver,&gmode;设置不同颜色,画不同半径的圆:for(i=0;i=15;i+) setcolor(i);/*设置不同颜*/ circle(319,239,20+i*15);/*画半径不同的delay(3000);/*延迟3000 毫秒*/设置不同的背景:for(i=0;iDirectorie17所示。所要设定

22、各选项对应意义如下:Include directories: IncludeLibrary directories: LibOutput directory: 临时文件和最终EXETurbo C directory: TC按照前边的目录结构,这里应如下设置: Include directories: C: TURBOC2INCLUDE Library directories: C: TURBOC2LIB Output directory: C: TURBOC2OUTPUT Turbo C directory: C: TURBOC2图 17注意:如果将Turboc2 解压到其他目录下的话,请相应

23、修改设置。3保存设置TURBO C 2.0Options-Save option(如图 18 所示直接选择覆盖默认文件;如果是多人共用同一TURBO C,可以通过每人存储设置有不同Output 路径的环境文件将各自的执行文件分开,以便于管理,每次使用时只要导入自己的环境文件即可( options 命令。图 18至此,确立 TURBO C2.0 C2.0Turbo C 目录下,否则时间一长将很难找到。(三)程序动态调试的方法程序的编译和连接没有错误,不等于运行结果一定正确。编译系统能检查出语法错误,但无法检查出逻辑错误。下面介绍两种动态调试方法。按步执行方法:这种方法的特点是:程序一次执行一行

24、。每执行完一行后,就停下来,用户可以检查此时各有关变量和表达式的值,以便发现问题所在 。此方法可用下面的功能键实现:F7键(RuTRACE INT”命令按步执行,每按一次,执行一行中的语句。Ctrl+F(Break/WatcADD WATC”命令:在输入框中输入某个变量,此时可在屏幕下部的Watch 窗口动态观察变量值的变化情况。设置断点方法:按步执行法能有效地、一行一行地检查感兴趣的数据的值,但是如果程序很长,是难以逐行进行检查的。对于一个较长的程序,常用的方法是在程序中设若干个断点,程序执行到断点时暂停,用户可以检查此时有关变量或表达式的值。如果未发现错误,就使程序继续执行到下一个断点,如

25、此一段一段地检查。这种方法实质上是把一个程序分割成几个分区,逐区检查有无错误,这样就可以将找错的范围从整个程序缩小到一个分区,然后集中精力检查有问题的分区。再在该分区内设若干个断点,把一个分区分成几个小区,然后寻找有错的小区。用这种方法可不断缩小找错范围直到找到出错点。与断点执行方法有关的功能键有如下: Ctrl+F8: 设置断点(再按一次取消设置Ctrl+F9: 继 续 执 行 Ctrl+F7:在输入框中输入某个变量五、常见错误提示信息Turbo C告错误。致命错误一般很少出现,它通常是内部编译出错,一旦出现这类错误,编译就立即停止。编译系统遇到这类错误时,一般也要停止编译。警告信息是指一些

26、值得怀疑的情况,而这些又可能是源程序中合理的一部分。因此,警告信息只是提醒用户注意,编译过程并不停止。编译系统在发现源程序中的各类错误时,首先显示错误信息,然后显示源文件名以及出错的行号。但必须注意,真正有错的位置可能是前一行,甚至有可能在前几行,有时,好像发生了许多错误,而实际上可能是由一个错误造成的。学生在实习过程中,如果程序出现了错误,应认真分析,根据错误提示的信息,努力找出原因所在,应培养独立修改程序中出现的常见错误的能力。下面列出常见的一些编译错误信息,并指出可能的原因。1致命错误Bad call of inline function 内部函数的不合法调用在使用一个宏定义的内部函数时

27、,未能正确调用。一个内部函数应以两个短下划线(_ _)开始和结束。Irreducible expression tree 不可约表达式树3)Register allocation failure 寄存器分配失败源文件中的表达式太复杂,代码生成程序无法为它生成代码。此时应简化这种繁琐的表达式或干脆避免使用它。2 一般错误1)#operator not followerd by macro argument name “#”运算符后无宏变元名。在宏定义中,“#”用于标志一宏变元是串,因此,在“#”后面必须要跟随一个宏变元名。2)xxxxxxxxnot an argumentxxxxxxxx不是 函

28、数参数。在源程序中将该标识符定义为一个函数,但它没有在函数表中出现。Ambiguous symbolxxxxxxxxxxxxxxx偏移、类型不同,因此,在变量或表达式中引用该域但未带结构名时,就会产 生二义性。在这种情况下,需要修改域名,或在引用时加上结构名。Argument # missing name参数#名丢失。参数名已脱离用于定义函数的函数原型。C 语言规定,如果函数以原型定义,该函数必须包含所有的函数名。5)Argument list syntax errorC并以右括号结束,若源文件中含有一个其后不是逗号,也不是右括号的参数, 则会出现本错误。Array bounds missin

29、g方括号结束,则会出现错误。Array size too larg数组长度太大,定义的数组太大,可用内存不够。8)Bad format in include directive包含指令中文件名格式不正确。包含文件名必须用双引号(如“)号()括起来,否则将出现本错误。9)Call of non-function调用未定义的函数。正被调用的函数未定义,通常是由于不正确的函数声明或函数名拼写错误所造成的。Cannot modify a constant object不能修改一个常量对象。对定义为常量的对象进行不合法的操作(如对常量进行赋值)会产生本错误。Case outside of switchc

30、aseswitchcase 语句在switch是由于括号不匹配所造成。Case statement missingcase 语句漏掉。Case 语句必须包含一个以冒号结束的常量表达式。可能的原因是丢了冒号或在冒号前多了别的符号。Case syntax errorCase 俄俄语法错误。可能在Cas 俄中包含了一些不正确的符号14)Character constant too long字符常量太长。15)Compound statement missing 常是由于大括号不匹配造成的。16) Constant expression required 要求常量表达式数组的大小必须是常量,本错误通常

31、是由#define17)Could not find file xxxxxxxx.xxxxxxxxxx.xxDeclaration syntax error声明必须给出类型或存储类。如声明“i,j;”是错误的。Declaration syntax error说明出现语法错误。在源文件中,某个说明丢失了某些符号或有多余的符号。20)default outside of switchdefault 在switch 外出现。这个错误通常是由于括号不匹配造成。Division by Zero除数为零。在源文件的表达式中出现除数为零的情况。Do statement must have whiledo语句

32、中必须要有while 23)Do-while statement missing(do-while语句中漏掉了 24)Duplicate Casecase的情况不唯一Switch 语句中的每个case 必须有一个唯一的常量表达式。25)Error writing output file写输出文件出现错误。通常是由于磁盘空间不够造成的。26)Expression syntax表达式语法错误。如:在表达式中连续出现两个操作符、括号不匹配或缺少括号、前一语句漏掉了分号等。Extra parameter in call调用时出现多余参数在调用函数时,实际的参数个数多于函数定义中的参数个数。too lo

33、ng文件名太长。#include 指令中给出的文件名太长,编译程序无法处理。DOS 下的文件名不能超过 64 个字符。For statement missing( for( Function call missing)函数调用缺少“ 31)Function definition out of place函数定义位置错误。函数定义不能出现在另一个函数内。函数内的任何说明,只要以类似于带有一个参数表的函数开始,就被认为是一个函数定义。32) Goto statement missing lablegoto语句缺少标号。在goto关键字后必须要有一个标识符33)If statement missin

34、g(if语句缺少(。34) Illegal character c(0 xXX)非法字符(0 xXX)编译程序发现输入文件中有非法字符,以十六进制方式打印该字符35)Illegal initialization非法初始化初始化必须是常量表达式,一全局变extern或static的地址加减一常量36)Illegal octal digit非法八进制数编译程序发现在一个八进制常数中包含了非法八进制数字符(如8或 37)Illegal pointer subtraction38)Illegal structure operation非法结构操作。结构只能使用、取地址符)和赋值操作符作为函数的参数传递

35、。当编译程序发现结构使用了其它操作符时出现本错误。Illegal use of floating point件(?、间接)以及其它一些操作符中。Illegal use of pointer非法使用指针指针只能在加、减、赋值、比较、间接(*)或箭头()操作中使用。Incompatible type conversion不相容的类型转换。源文件中试图把一种类型转换成另一种类型,但这两种类型是不相容的。如函数与非函数间转换、一种结构或数组与一种标准类型间转换、浮点数与指针间转换等。Incorrect number format不正确的数据格式。编译程序发现在十六进制数中出现十进制小数点。43)Inc

36、orrect use of defaultdefault 的不正确使用。编译程序发现default 关键字后缺少分号44)Initializer syntax error初始化语法错误初始化过程中缺少或多了操作符,括号不匹配,或其它一些不正常的情况。45)Invalid indrection无效的间接运算。间接运算符(*)要求非空指针作为操作分量。46)Invalid pointer addition无效的指针相加。源程序中试图把两个指针相加47)Lvalue required赋值请求赋值操作符的左边必须是一个地址表达式,包括数值变量、指针变量、结构引用域、间接指针或数组分量。48)Misma

37、tch number of parameters in definition定义中参数个数不匹配。定义中的参数和函数原型中提供的信息不匹配。49)Misplaced breakbreak 位置错误。编译程序发现break 语句在switch 语句或循环结构外。50)Misplaced continuecontinue位置错。编译程序发现continue语句在循环结构外51)Misplaced decimal poin十进制小数点位置错编译程序发现浮点常数的指数部分有一个十进制小数点。52)Misplaced elseelse 位置错。编译程序发现else 语句缺少与之相匹配的if 语句。本错误

38、的产生除了由于else 多余外,还有可能是由于有多余的分号、漏写了大括号或前面的if 语句出现语法错误而引起。53) Must be addressable必须是可编址取址操作作用于一个不可编址的对象如寄存器变量54)must take address of memory location必须是内存一地址源文件中对不可编址的表达式使用了地址操作符,如对寄存器变量 55)Out of memory内存不够56)pointer required on left side of操作符左边是一个指针57)Redeclaration of xxxxxxxx“xxxxxxxx” 重定义58)Size of

39、 structure or array not known结构或数组大小不定有些表达式(如sizeof 或存储说明)读数组。如果结构长度不需要,则在定义之前就可引用;如果数组不申请存储 空间或者初始化时给定了长度,则可定义为空长。Statement missingStructure or union syntax error结构或联合语法错误编译程序发现在struct 或 union 关键字后面没有标识符或左花括号。61)Structuer size too large结构太大。源文件中说明的结构所需的内存区域太大以致于内存空间不够。62)Subscripting missing下标缺少。可能

40、是由于漏掉或多写操作符或括号不匹配引起 63)Switch statement missing(swith语句中缺少(”Too few parameters in call函数调用参数太少。对带有原型的函数调用(通过一个函数指针)参数太少。原型要求给出所有参数。Too few parameters in call to xxxxxxxx调用“xxxxxxxx”时参数太少。调用指定的函数(该函数用一原型声明) 时,给出的参数太少。Too many casescase 太多switch语句最多允许有257个case。67)Too many decimal points十进制小数点太多68)Too

41、many default casedefault太多。Switch语句中只能有一个default。Too many initializers初始化太多。Too much auto memory in function函数中自动存储太多。当前函数声明的自动存储超过了可用的存储空间。71)Too much code define in file文件定义的代码太多。当前文件中函数的总长度超过了 64K 字节。可以移去不必要的代码或把源文件分开写72)Too much global data define in file 文件中定义的全局数据太多全局数据声明的总数超过了64K如果所有的说明都是必要的,

42、则要考虑重新组织程序。73)Two consecutive dots两个连续点。因为省略号包括三个点(使用一个点.,所以,在C程序中不允许出现两个连续点。Type missmatch in parameter # in call to XXXXXXXX的参数,而给定的参数(从左到右逐个加1)不能转换为已说明的参数类型。Type missmatch in parameterXXXXXXXX参数“XXXXXXXX”类型不匹配。源文件中通过一个原型说明了可由函数指针调用的函数,而指定的参数不能转换为已说明的参数类型。TypemissmatchinparameterXXXXXXXXincallto调用

43、“YYYYYYYY”时,参数“XXXXXXXX”类型不匹配。源文件中通过一个原型说明了指定的参数,而给定的参数不能转换为另一个已说明的参数类型。Type missmatch in redeclaration ofXXX重定义类型不匹配。源文件中把一个已经说明的变量重新说明为另一种变量。如果一个函数被调用,而后又被说明成非整型也会产生本错误。在这种情况下,必须在第一次调用函数前,给函数加上extern 说明。Unable to creat output file XXXXXXXX.XXX不能创建输出文XXXXXXXX.XX当工作软盘已满或有写保护时产生本错误 79)Unable to creat

44、 turboc.lnk不能创建turboc.lnk编译程序不能创建临时文件TURBOC.LN,因为不能存取磁盘或磁盘已满。Unable to execute commandxxxxxxxx不能执行“xxxxxxxx”命令。找不到TLINKMASM。或者磁盘出错。Unable to open include file xxxxxxxx. xxxxxxxx.xx#includeCONFIG.SYS 中没有设置能同时打开的文件个数(试加一句。Unable to open inputfile xxxxxxxx. xxxxxxxx.xx误。检查文件名是否拼错,或检查对应的磁盘目录中是否有此文件。Unde

45、fined labelxxxxxxxx标号“xxxxxxxx”未定义。函数中goto 语句后的标号没有定义。84)Undefined structure xxxxxxxx结构“xxxxxxxx”未定义。源文件中使用了未经说明的某个结构。可能是由于结构名拼写错误或缺少结构说明而引起的。85)Undefined symbol xxxxxxxx符号“xxxxxxxx”未定义。标识符无定义,可能是由于说明或引用处有拼写错误,也可能是由于标识符说明错误而引起。86)Unexpected end of comment started on line #源文件在某个注释中意外结束。通常是由于注释结束标志(*

46、/)漏掉引起。87)Unterminated character constant未终结的字符常量。编译程序发现一个不匹配的省略符。88)Unterminated string未终结的串。编译程序发现一个不匹配的引号。89)Unterminated string or character constant未终结的串或字符常量。编译程序发现串或字符常量开始后没有终结。90)User break用户中断。在集成环境中进行编译或连接时用户按了Ctrl+Break 键91)While statement missing(while语句漏掉(”警告信息1)xxxxxxxx declared but never usedxxxxxxxx”但未使用。在源文件中说明了该变量,但没有使用。2)xxxxxxxxis assigned a value which is never used “xxxxxxxx直到函数结束都未使用过。xxxxxxxx not part of structure “xxxxxxxx”不是结构的一部分。出现在点或箭头()不是结构的一部分;或者点的左边不是结构,箭头的左边不指向结构。Code has no effect代

温馨提示

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

评论

0/150

提交评论