c程序设计教程习题参考答案.doc

上传人:wux****ua 文档编号:9045989 上传时间:2020-04-02 格式:DOC 页数:20 大小:277KB
返回 下载 相关 举报
c程序设计教程习题参考答案.doc_第1页
第1页 / 共20页
c程序设计教程习题参考答案.doc_第2页
第2页 / 共20页
c程序设计教程习题参考答案.doc_第3页
第3页 / 共20页
点击查看更多>>
资源描述
C语言程序设计教程习题参考答案祝胜林 主编华南理工大学出版社【习题1】1【习题2】2【习题3】3【习题4】5【习题5】7【习题6】9【习题7】11【习题8】13【习题9】14【习题10】1519【习题1】一、简答题(在课本中寻找答案,略)1.1 C程序的基本结构包括哪些内容?1.2 如何定义标识符?1.3 输入格式、输出格式的组成包括哪些内容?1.4 C语言函数分为哪两类?1.5 计算表达式的值应该考虑哪些方面?1.6 上机调试程序的步骤如何?二、判断并改错1.7 C程序执行的入口是main()函数,所以main函数必须放在程序的开头。错误:main函数可以放在程序的任何位置。并不限定在程序的开头。1.8 定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。错误:不可以交叉出现,数据说明部分在执行语句部分的前面。1.9 编辑与编译不是一回事。错误:不是一回事。编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。1.10 scanf(%d,%d,&x,&y);的正确输入格式:3,4。正确1.11 注释内容太多会影响程序的执行效率。 错误:不会影响程序的执行效率。因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中。1.12 所有的数学公式可以直接出现在源程序中。错误:数学公式需要转换成C语言能够接受的公式才能出现在源程序中。三、编程题1.13 在屏幕上输出自己名字的拼音。提示:中文名字叫“张三”,对应的拼音为“Zhang San”,输出用printf()函数。1.14 输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。提示:定义圆的半径r,圆的周长:2*3.14*r,输出结果保留2位小数可以用%.2f1.15 输入两个整数,输出其中最大者。提示:模仿例1.31.16 输入三个整数,输出其中最小者。提示: min(min(a,b),c); 【习题2】一、简答题(在课本中寻找答案,略)2.1 常量与变量的区别?2.2 C语言中的标识符的定义规则?2.3 变量为什么要“先定义,后使用”?2.4 字符常量a与字符串常量a有何区别?2.5 大小写字母转换的规则是什么?2.6 变量的具有哪三种属性?二、单项选择题2.7C语言中,int型数据在内存中的存储形式是(D)。A)ASCII码 B)原码 C)反码 D)补码2.8下面四个选项中,均是不合法的用户标识符的选项是(C)。)BA 、x_0、do)float、1a0、_Y)x-y、goto、123)_123、tmp、CHAR2.9下列选项中不正确的常数的选项是(D)。)0x12F )-1.23E-2 )12.0 )03882.10下面正确的字符常量是(B)。)a ) )n )3762.11下面正确的字符串常量是(C)。)a )376 )n )3762.12表达式A+4*25.0-b的正确结果是(B)。)67 )67.0 )不确定 )67L2.13执行printf(%x,100);后的输出结果是(C)。)100 )0x100 )0X64 )642.14int型的-1在内存中的存储形式是(A)。)1111 1111 1111 1111)0000 0000 0000 0001)1111 1111 1111 1110)1000 0000 0000 00012.15存储字符串abc376需要的字节数是(D)。)11 )13 )6 )7【习题3】一、计算题3.1 2.8+7%3*11%2/4 (答案:2.8)3.2 5/2+5.0/2+7%6 (答案:5.5)3.3 a=12,a*=2+3 (答案:a=60)3.4 a=3,b=4,c=5,a+bc&b= =c (答案:0)3.5 35?3:5b)&(n=cd),计算表达式后m,n的值?(答案:m=0,n=1)3.7设int b=7;float a=2.5,c=4.7;求下面表达式的值。 a+(int)(b/2*(int)(a+c)/2)%4 (答案:4.5)二、单项选择题3.8若有代数式,则不正确的C语言表达式是(C)。A)x/b/c*y*8 B)8*x*y/b/c C)8*x*y/b*c D)x*y/c/b*83.9有如下类型说明:int k,a,b;unsigned long w=8;double x=2.9则以下不符合C语言语法的表达式是(A)。)x%(-3) )w*=-2)k=(a=6,b=4,a-b) )a*=a+=a-=(b=4)*(a=3)3.10有如下类型说明: float n; int m; 则以下能实现将n中的数值保留小数点后两位,第三位四舍五入的表达式是(B)。)n=(n*100+0.5)/100.0 )m=n*100+0.5,n=m/100.0)n=n*100+0.5/100.0 )n=(n/100+0.5)*100.03.11设k=7,x=12;则下列表达式值为3的是(D)。)x%=(k%=5) )x%=(k-k%5))x%=k-k%5 )(x%=k)-(k%=5)3.12已知m=48,ch=a,n=0;则表达式(m=n&chy?1:1.5);后的输出结果是(D)。)语法错误 )1 )1.5 )1.5000003.14能表示条件0x100的表达式是(D)。)0=x=0,x=0&x=0&ch=0&ch=0|ch60?pass:fail);3.17输入一个年份y,如果是闰年,输出“y is a leap year”,否则输出“y is not a leap year.”提示:printf(%d is %s,y%4=0&y%100!=0|y%400=0?a leap year.:not a leap year.);3.18输入三条边a,b,c,如果它们能构成一个三角形,输出“Yes”,否则输出“No”。提示:printf(%s,a+bc&a+cb&b+ca?Yes:No);3.19输入三个数x,y,z,按从小到大的输出结果。提示:分别用max0,min0代表最大、最小值,mid0表示中间值。max0=(xy?x:y)z?(xy?x:y):z;max0=(xy?x:y)z?(xy?x:y):z;mid0=x+y+z-max0-min0;3.20输入一个平面上的点坐标,判断它是否落在圆心(0,0),半径为1的圆内,如果在圆内,输出“Yes”,否则输出“No”。提示:分别用x,y代表平面上一个点。printf(%s,x*x+y*y=0?Yes:No);【习题4】以下的编程题目要求首先画出程序的传统流程图或N-S流程图,再编写程序代码。上机实验时再输入到计算机中进行调试,并将调试过程中出现的问题和测试情况记录下来。(流程图请读者自己参考课本自己画,略)4.1编程实现,输入一个整数,判断它是否为偶数,并显示相应的信息。提示:x代表输入的整数,if(x%2=0) printf(neven);else printf(nodd);4.2 编程实现,输入一个平面上的点,判断它是否落在单位圆上,并显示相应的信息。提示:x,y代表平面坐标,if(x*x+y*y=1) printf(nYes);else printf(nNo);4.3 编程实现,输入一个成绩等级(A-E),显示相应的百分制成绩段。 A: 90-100 B: 80-89 C: 70-79 D: 60-69 E: 60提示:char grade; if(grade=A) printf(n90-100); else if(grade=B) printf(n80-89); .4.4 写出下面程序的运行结果: #include main() int a=-1,b=1,c=5; switch(a0) case 1:switch(b-21)|(t8) x=3; else x=1; else x=0;提示:int t; if(t10) c=0; else c=t;switch(t) case 0: x=0;break; case 1: case 2: x=3; case 3:case 4:case 5: case 6: x=2; case 7:case 8: case 9: x=3; case 10: x=2; 4.7 编程实现一个具有简单四则运算功能的计算器。提示:参照例4.18,随机产生3个数,其中一个数用来判断是哪种运算。4.8 编程实现,输入一行字符,将其中的数字字符对应的整数值加起来并输出结果。如: a45b8&*3 则是4+5+8+3,结果为20。提示:char c; int sum=0;while(c=getchar()!=n) if(c=0&c=9) sum=sum+c-0;4.9 编程实现,求的值。提示:先计算n!,再在计算阶乘的外面套上一层循环。注意:20!是一个很大的值,float s=1;int i;例如:计算6!:for(i=1;i=6;i+) s=s*i;4.10 编程实现,找出1000之内的所有完数,并按下面格式输出其因子: 6 its factors are 1,2,3, 所谓“完数”是指一个数如果恰好等于它的因子之和,因子是指能够整除该数的数。提示:先判断数是否为完数,如果是再考虑输出因子。以6为例输出因子: for(i=1;i6;i+) if(6%i=0) printf(%d,i);4.11 编程实现,计算序列的前20项之和, ,.提示:这是一个累加式,每项是一个分式,用a、b分别表示分子、分母。注意:如果a、b都是整数,则是整除。float sum=0,a=2,b=1; int i;for(i-1;i0 )。二、 选择题5.6 若有int s4=1,2,3,4;,则ss0+2*s2-s3的值是( D ) A.1B.2C.3D.45.7 对数组的描述正确的是( B )。 A数组一旦定义其大小是固定的,但数组元素的类型可以不同。 B数组一旦定义其大小是固定的,但数组元素的类型必须相同。 C数组一旦定义其大小是可变的,但数组元素的类型可以不同。 D数组一旦定义其大小是可变的,但数组元素的类型必须相同。5.8 对字符串Boy进行完整赋值的操作是( B )。 Achar s3 = B,o,y; B. char s = Boy; Cchar s3 = Boy;D.char s3; s=Boy;5.9在c语言中引用数组元素时,其数组下标的数据类型允许是( C)。 A整型常量 B.整型表达式 C整型常量或整型表达式D.任何类型的表达式5.10对以下说明语句的正确理解是( B )。 int a10=6,7,8,9,10; A将5个初值依次赋给a1至a5 B将5个初值依次赋给a0至a4 C将5个初值依次赋给a6至a10 D因为数组长度与初值的个数不相同,所以此语句不正确三、看程序写结果5.11main()int a33 = 1,0,2, 2,2,0,2, c33,i,j; for(i=0; i3; i+) for(j=0; j3; j+) cij = aaijaji; printf(%5d,cij);printf(n);运行结果为: 2 2 0 0 0 2 2 0 1 5.12当运行以下程序时,从键盘输入:Ah2MA A3ha,请写出输出结果。main() char s80, c=a; int i=0; scanf(%s,s); while(si+!=0) if(si = c) si=si-32; else if(si=c-32) si=si+32; puts(s); 运行结果为:AH2Ma四、编程题5.13 用数组方法定义一个矩阵,求其转置矩阵。提示:已知a32,转置后的结果存放在b23; 则bji=aij;5.15 从键盘输入9个不同的整数,组成三行三列的二元数组,找出每一列中的最大元素,并输出其行、列下标。提示:已知a33,max,row,col分别用来存放一列的最大值,行下标和列下标。5.15利用一个二维数组,打印出以下杨辉三角形,要求打印出10行。11112113311464115101051 提示:定义一个10行10列的二维数组,并且通过两重循环对第1列所有元素赋值1,主对角线也赋值。根据aij=ai-1j+ai-1j-1求出其它元素的值。5.16 从键盘上输入一串字符(长度小于50个字符),找出其中最前面的一个X和最后面的一个X之间的子串,并输出子串的长度。提示:定义一个长度为81的字符数组,从左边查找第一字符X的下标,从右边查找第一个字符X的下标。5.17 矩阵A是一个33的矩阵,B是一个32的矩阵,编程求C=AB。提示:定义一个3X2的数组c32,该数组的元素值由A数组的一行元素分别与B的一列元素相乘得到。譬如:c00=a00*b00+a01*b10+a02*b20。5.18 把30个学生的学号和两门课程的成绩输入到一个二维数组中,求出的每个学生的两门课程的总成绩也放于此数组中,请按学生总分的高低打印出成绩单(包括学号、两门课程成绩和总分)。提示:定义一个30行4列的数组。为了先快速测试算法是否正确?可以定义一个3行4列的数组,并且通过赋初始值,减少调试程序时反复输入数据的麻烦,算法调试成功后在加上输入数据部分。实现从高到低打印出成绩可以通过排序(降序);也可以通过另外定义1个一维数组作为索引,再通过索引打印成绩。5.19 不用现有的函数求计算字符串长度的程序。提示:通过循环从前到后计算字符个数,遇到字符串结束标志0结束。5.20 从键盘上输入一串字符,将其逆向显示。提示:首先计算字符串的长度,在从右边逐一显示字符,直到下标等于0为止。5.21 找出一个二位数组中的鞍点的位置,即该位置上的元素在该行上最大,在该列上最小。如果有,输出其所在的行、列号,如果没有,则输出提示信息。提示:先找出行的最大元素,根据列下标找出列的最大元素。5.22 从键盘上输入一串字符,将字符串中的所有A去掉后组成新的字符串,并将两字符串输出。提示:简单的方法是通过定义两个一维数组,逐个读出原字符串的字符,如果不为A,则存入目的数组。当然也可以只用一个一维数组实现,通过两个下标指示来实现。【习题6】一、 填空题6.1 C语言程序执行的开始处是 main函数 。6.2 C程序中的一个函数由两部分组成,即 声明部分 和 执行部分 。6.3为了保证被调用函数不返回任何值,其函数定义的类型应为 void 。6.4若一个局部变量的存储类型是static,则该变量的值在 程序执行完成 时被释放。6.5预处理命令#include的作用是 文件包含 。6.6定义一个宏,功能是判断两个数是否相等,相等为1,不等为0。 #define EQU(a,b) (a)=(b)?1:0 6.7 变量的存储类别有 自动型 、 静态型 、 寄存器型 、和 外部类型 共4种,它们分别用 auto 、 static 、 register 、 extern 标识。二、 选择题6.8下述函数定义形式正确的是(C)。A. int f(int x; int y)B. int f(int x,y)C. int f(int x, int y)D. int f(x,y: int)6.9 关于函数参数,说法正确的是(A)。A. 实参与其对应的形参各自占用独立的内存单元B. 实参与其对应的形参共同占用一个内存单元C. 只有当实参和形参同名时才占用同一个内存单元D. 形参是虚拟的,不占用内存单元6.10 用数组名作为函数的实参时,传递给形参的是(A)。A. 数组的首地址B. 数组的第1个元素C. 数组中的全部元素D. 数组的元素个数6.11复合语句中定义的变量的作用范围是(D)。A. 整个源文件B. 整个函数C. 整个程序D. 所定义的复合语句6.12一个函数的返回值由( D)确定。 A. return语句中的表达式B. 调用函数的类型C. 系统默认的类型D. 被调用函数的类型6.13在一个C源文件中,若要定义一个只允许本源文件所有函数使用的全局变量,其他文件中不允许使用,则该变量需要使用的存储类别是(D)。A. autoB. registerC. externD. static三、 判断题6.14若定义的函数没有参数,则函数名后的圆括号可以省略。()6.15函数的函数体可以是空语句()。6.16只有main函数才能调用其他函数。()6.17return语句中表达式的类型必须与函数定义的类型一致。()6.18函数的实参和形参可以是相同的名字。()6.19函数调用中,形参与实参的类型和个数必须保持一致。()6.20外部类型的变量只能定义一次,但可在不同地方声明多次。()6.21外部类型的变量作用范围大,编程中应多用外部变量。()6.22预处理命令行必须以开头,且最后要用分号结尾。()6.23宏命令的处理占用编译时间,而不占用运行时间。()四、 看程序写结果 6.24int fun(int n)int f=1; f = f*n*2; return(f);main() int i,j; for(i=1; in,临时变量t,t=m%n;m=n;n=t;直到n等于0。6.26有33的矩阵A和32的矩阵B,编制一个函数,求C=AXB。提示:参照习题5.17,A,B,C三个数组作为函数参数。 6.27编写一函数,使输入的一个字符串按反序存放,在主函数中输入输出字符串。提示:一维字符数组用来存放字符串,并且将它传递到函数,在函数中通过元素值交换来完成反序存放。 6.28编制一个函数,由参数传入一个字符串,统计此字串中字母、数字、和其他字符的个数,在主函数中输入字符串并显示统计结果。提示:参照例题6.10。 6.29 定义一个宏,实现将两个数互换,并写出程序,输入两个数作为使用参数,并显示结果。提示:带参数宏,swap(a,b,t).6.30编写以下函数:输入职工的姓名和职工号;按职工号由小到大排序,姓名顺序也随之调整;输入一个职工号,用折半法找出该职工的姓名,从主函数输入要查找的职工号,输出该职工姓名。提示:定义一个二维数组来存放职工信息;用数组名作函数的参数传递;通过“起泡算法”或“选择算法”;折半查找法先决条件是数据已经有序。【习题7】1.1 语句int a,*p=&a;的含义是什么? 答:定义整型变量a,和整型指针变量p,并且p指向变量a。1.2 写出下列数组元素的指针法表示。 (1)num3 (2) data42 答:(1)*(num+3) (2) *(*(data+4)+2)1.3 写出下列数组元素的下标法表示。 (1) *(*(a+1)+2) (2) (*(a+3)4 (3) *(a2+5) 答:(1)a12 (2) a34 (3) a251.4 分析程序,写出程序输出结果。(1) main() int a5=1,2,3,4,5; int *p=&a1; printf(%d,p2); 输出结果:4(2) main() char a=I love China!; char *p=a; p=p+2; printf(%s,p); 输出结果:love China!(3) main() int a34=1,2,3,4,5,6,7,8,9,10,11,12; int (*pa)4=a; pa+; printf(%d,*(*(pa+1)+2);输出结果:11(4) main() char *str=zhao,qian,sun,li; int i; for (i=0;i4;i+) printf(%c,stri0); 输出结果:zqsl(5) void sub(int x,int y,int *z) *z=y-x; main() int a,b,c;sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf(%4d,%4d,%4dn,a,b,c); 输出结果: -5, -12, -7(6) #include fun(char *s) char *p=s; while (*p) p+; return(p-s);main() char *str=abcd; int i; i=fun(str); printf(%d,i);输出结果:41.5 定义语句int *f(); 和int (*f)();的含义分别是什么?答:int *f();表示函数返回一个整型指针;int (*f)();表示f是函数指针,指向整型函数。1.6 在二维数组中存放有4个学生,5门课程的成绩,用指针编程实现:(1)求出每门课程的平均成绩。(2)求每个学生的总成绩和平均成绩。(3)在屏幕上列出各课成绩在85分以上的学生名单。(4)在屏幕上列出补考通知单。提示:(1)(2)(3)略,(4)根据成绩小于60分,由于有5门课程的成绩,所以需要使用else if结构。1.7 输入一个字符串,内有数字和非数字字符,例如:a345dsaf412 x?371+89tah74编程将其中连续的数字作为一个证书,一次存放到一个数组d中,例如:345放在d0,412放在d1,.。统计共有多少个证书,并输出这些整数。提示:从字符串中提取345:t=ch-0;t=t*10+(ch-0);t=t*10+(ch-0);t=3-0=3;t=3*10+(4-0)=34;t=34*10+(5-0)=3451.8 编写把十六进制数字字符串变换成整数的函数: int htoi(char *s)。提示:同1.7 1.9 编写把十进制整数变换成二进制数字字符串的函数: char *itob(int n)。提示:同1.7 1.10 用字符指针实现字符串拷贝功能,不能使用库函数。提示:定义两个字符数组a,b,复制操作bi=ai;1.11 用字符指针实现字符串连接功能,不能使用库函数。提示:定义两个字符数组a,b,先将下标定位到a的末尾0,在将b的元素赋值给a的对应元素,注意:别忘了添加字符串结束标志0。1.12 用指向指针的指针的方法对5个字符串排序并输出。提示:一个指针数组和一个指向指针的指针变量。【习题8】8.1 定义复数结构体,并写出复数的加、减、乘、除、的计算函数。提示:复数包括两个部分:实部和虚部。8.2 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天。注意闰年问题。提示:计算该日是本年中的第几天,是从本年1月1日起。8.3 有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入5个学生数据,要求在屏幕上显示出3门课程的平均成绩,以及最高分数的学生的数据(包括学号、姓名、3门课程成绩、平均分)。提示:定义结构体数组。最高分数是指每个学生3门课程的平均分最高。8.4 编写求链表长度的函数。提示:从链表指针头往表尾移动计算结点的个数。8.5 已有两个链表a、b,每个链表的结点包括学号、成绩。要求把两个链表合并,按学号升序排列。提示:可以定义一个新的链表,先从链表a,再从链表b中取出结点,依次按学号升序插入到新的链表中。8.6 利用8.8节中的struct card结构编写一个程序实现5个人员数据输入和在屏幕上显示的功能:如果job项为t,则在position项为教师的职称(助教、讲师、副教授、教授);如果job项为s,则class项为学生的班级号,如501。提示:在结构体中嵌入共用体position,根据job成员确定position的具体值。8.7 口袋中有红、黄、兰3中颜色的球若干个。每次从口袋中取出1个球,根据颜色的不同,输入相应的颜色英文字符串。要求用枚举变量实现。提示:参照例8.8。【习题9】一、简答题9.1文件分为哪些类型?各有何特点?答:文件分为二进制文件和文本(ASCII码)文件。二进制文件在内存和外存的形式是一样的,无需进行数据转换,用记事本打开该文件,看到得可能是乱码;文本(ASCII码)文件在内存是按二进制形式存在,在外存是以文本(ASCII码)形式存在,存在数据的转换,用记事本打开该文件,可以读懂其中的内容。9.2什么是文件类型指针?什么是文件位置指针?各有何用途?答:文件类型指针就是用FILE结构体定义的指针变量。文件位置指针是文件存取操作的位置。前者指向被打开的文件;后者在文件存取操作后移动到下一个存取位置。9.3什么是设备文件?常用的设备文件有哪些?答:在操作系统中,设备也被看作一个文件进行管理,即设备文件。常用的设备文件有:stdin,stdout,PRN等。二、选择题9.4 若想对文本文件只进行读操作,打开此文件的方式为(A)。ArB.WC.aD.r+9.5如果要打开C盘file文件夹下的abc.dat文件,fopen函数中第一个参数应为(D )。A. c:fileabc.datB. c:fileabc.datC. c:fileabc.dat D. c:fileabc.dat9.6用(A)函数打开文件,操作完毕后用(C)函数关闭它。 A.fopenB.openC.fcloseD.close三、编程题9.7 有两个磁盘文件a.dat和b.dat,要求产生一个新的文件c.dat,将b.dat中的数据追加到a.dat后面,并存入到c.dat中。提示:设两个磁盘文件为文本文件。以读的方式打开a.dat和b.dat,以写的方式创建c.dat。先将b.dat的数据复制到c.dat,再将a.bat的数据复制到c.dat。9.8 从键盘输入一些字符,逐个把它们存入磁盘文件test中去,直到输入一个#为止。提示:利用fputc函数将字符写入到磁盘文件中。9.9 读入一个文件,输出其中最长的一行的行号和内容。提示:以硬回车键n作为行的结束标志。9.10 .编写程序将全班同学的姓名、地址和电话号码写到一个文件class.dat中。提示:学生的信息可以存放到结构体数组,以fwrite函数写数据到文件中。9.11将9.10题产生的class.dat文件中的数据按姓名从低到高排列输出到显示器上,并把排了序的数据重新写入到文件class1.dat中。提示:以fread函数从文件中读入学生的信息,并存放到结构体数组,在数组中进行排序。排序完毕再写入文件中。9.12 利用9.11题产生的class1.dat文件,编程实现从中直接读取第三个同学的数据。提示:参照例9.59.13 在9.11题产生的class1.dat文件中插入一个新生的数据,要求插入后的文件数据仍然按姓名顺序排列。提示:先将数据读入到数组中,插入新的数据后,再写入到文件中。【习题10】一、编程题:10.1 绘制y=x2的曲线。其中变量x的变化范围在-22之间,变化步长为0.01。提示:屏幕的左上角是图形系统的绝对坐标原点(0,0),向右表示x坐标,向下表示y坐标。为了正确显示图形,需要另外定义相对坐标原点(0,0),譬如以绝对坐标(300,200)表示相对坐标的原点。10.2 改进例10.2,在模拟实时时钟合适的位置加上3、6、9、12的时钟数字。提示:参照例10.2,在第15行处恰当添加数字输出的程序。10.3 编程实现图形菜单。菜单的功能自定。提示:菜单用图形方式显示,菜单选择时确定当前位置,在根据键盘按键重画菜单。10.4 BIOS功能调用INT 10H的09H号功能用于显示彩色字符,要求使用的寄存器如下: 调用前:AH=09HBH=当前显示页(图形方式下为0)AL=要显示字符的ASCII码BL=字符及其背景颜色CX=字符显示次数利用系统调用函数编制彩色字符显示函数:void write_char(int asc,int atr)。其中参数asc为要显示字符的ASCII代码,art为字符颜色。该函数每次显示一个字符。提示:参照例10.510.5 有如下C语言程序:main() int x, y, z, max; int get_max(intx,int y,int z); printf(“please input x,y,z=”); scanf(“%d%d%d”,&x,&y,&z); max=get_max(x,y,z); printf(“max=%d”,max); getch();程序中get_max函数的作用是求三个整数中最大值。请用汇编语言实现函数get_max,并将C语言程序和汇编子程序连接,生成一个可执行文件。提示:参照例10.13
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!