西南大学-[0039]《C语言》2018-秋-大作业.docx_第1页
西南大学-[0039]《C语言》2018-秋-大作业.docx_第2页
西南大学-[0039]《C语言》2018-秋-大作业.docx_第3页
西南大学-[0039]《C语言》2018-秋-大作业.docx_第4页
西南大学-[0039]《C语言》2018-秋-大作业.docx_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

西南大学 网络与继续教育学院课程代码: 0039 学年学季:20182窗体顶端单项选择题1、假定p1和p2是已赋值的字符型指针,则下述有关运算中,非法的是( )1. p2=p1+(p1-p2); printf(equal.);2. .if (p1= =p2)3. .*(p1-2+p2)=getchar( );4. *(p1+=2)=*p22、对于for( 表达式1;表达式3)可理解为( )1. for(表达式1;0;表达式3)2. for(表达式1;1;表达式3)3. for(表达式1;表达式1;表达式3)4. for(表达式1;表达式3;表达式3)3、语句while (!e)中的条件!e等价于( )1. e= =02. e!=13. e!=04. e4、对于条件表达式(M)?(a+):(a-)来说,其中的表达式M等价于( )1. M= =02. M= =13. M!=04. M!=15、设x,y,z,t均为int型变量,则执行x=y=z=1;t=+x|+y&+z;语句后,t的值为( )1. 不定值2. 23. 14. 06、设int a=2,b;则执行b=a&1后b的值是( )1. 02. 13. 24. 37、执行下述程序后,输出的结果是( )。#include #define SQR(X) X*Xvoid main()int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf(%d,a); br/br1. 102. 13. 94. 08、有如下程序,输入数据12345后,y的值是( )。#include void main()int x; float y; scanf(%3d%f,&x,&y); br/br1. 12.0000002. 45.0000003. 12345.0000004. 0.0000009、若有如下程序,要求a1,a2,c1,c2的值分别为10,20,A,B,正确的数据输入是( )。#include void main()int a1,a2; char c1,c2; scanf(%d%d,&a1,&a2); scanf(%c%c,&c1,&c2); br/br1. 020AB2. 10 203. 10 20 AB4. 10 20AB10、求解表达式f=(3.0,4.0,5.0),(2.0,1.0,0.0)后; 下列正确的选项是( )1. 语法错误2. 使f的值为5.03. 使f的值为0.04. 使f的值为2.011、字符串ABC的长度是( )1. 112. 73. 54. 312、表达式(1,2,3,4)的值是()1. 12. 23. 34. 413、设有语句int a=3;,执行语句a+=a-=a*a;后,变量a的值是( )1. 32. 03. 94. -1214、下列选项中不是C语言提供的合法保留字的是( )1. switch2. cher3. case4. default15、下列符合C语言语法的实数是( )1. 1.5e0.52. 3.16e3. 0.5e-104. e+816、关下面语句的输出的判断中,正确的是( )。long x=-1. 输出值为-42. 赋值非法3. 输出值不确定4. 输出值为417、char型常量在内存中存放的是( )1. SCII码值2. CD码值3. 内码值4. 十进制代码值18、C语言提供的合法的数据类型保留字(或称关键字)是( )1. Float2. unsigned3. integer4. Char19、设int a=l,b=2,c=3;,执行表达式(ab)&(c=1)后c的值是( )1. 02. 13. 24. 320、下列叙述正确的是( )1. continue语句的作用是跳出循环体2. while循环语句的循环体至少执行一次3. do-while循环语句的循环体至少执行一次4. switch语句中的每个case语句组必须含有break语句21、关于函数,下列叙述正确的是( )1. 一个函数中可以定义其它的函数2. C程序总是从main()函数开始执行3. main()函数也可以被其它函数调用4. 一个C程序可以有多个main()函数22、设double x=5.168;,执行printf(“5.3f ”,(int)(x*10+0.5)10.0);后的输出结果是( )1. 5.2182. 5.2103. 5.2004. 5.16823、正确的C语言字符常量是( )br/br1. 2. 653. “A”4. n24、能正确表达数学关系式0x20的C语言表达式是( ) br1. 0=x=0|x=0&x204. !(x=0)&x2025、函数调用语句fun(fun(a,a+b,a+c),(a,b,c),5);中函数fun的参数个数是( )1. 32. 43. 54. 626、可用于C语言用户标识符的是( )1. E. void,define2. F. 2c,DO3. For,-abc4. as_b3,_123主观题27、下列程序的功能是在数组a中寻找最大值的下标,输出数组a中的最大值及其下标。请填空: #include stdio.hvoid main()int a10,i,max; for(i=0;i10;i+) scanf(%d,&ai); for((1);iamax)(2) printf(最大值为:%d ,下标是:%d,(3),max);参考答案:i=1,max=0或max=i=0;max=i;amax 28、设int i;float f=3.14;,执行i=(int)f;后,变量f的值是_。参考答案:3.14 29、设char s=” NameAddress ”;,s的长度是_。参考答案:15 30、设float a,b,c;,若a、b和c分别为三角形的三条边长,它们“能构成等边三角形”的逻辑表达式是_。参考答案:(a=b)&(c=b)&(a=c) 31、编写C语言程序的一般步骤什么?在VC环境下,调试程序的基本步骤有哪些?调试程序中常见的错误有哪些?如何解决发现这些错误?参考答案:编写C语言程序的一般步骤:分析问题、构建算法、描述算法、编码、调试。在VC环境下,调试程序的基本步骤有编辑、编译、连接、执行调试程序中常见的错误有语法错误和逻辑错误。其中语法错误通过编译来实现,逻辑错误通过单步追踪和设置断点的方法来发现逻辑错误。 32、在C语言为什么规定对所有用到的变量要先定义,后使用”?这样的做有什么好处?参考答案:对所有用到的变量进行先定义,后使用”的原因:凡未被事先定义的,C语言不把他认作变量,这样的目的能是为了保证程序中的变量能被正确的使用。好处:(1)每一个变量被指定为一个确定类型,在编译时C语言就能为其分配相应的存储单元。(2)指定每一个变量属于一个类型,便于在编译时检查在程序变量进行的运算合法性。 33、请给出C语言的主要数据类型,请你至少给出4种以上的数据类型实例。参考答案:主要数据类型有:C语言包括基本类型(整型、字符型、浮点型(单、双精度型)枚举类型)、构造类型(数组、结构体、共用体类型)、指针类型、空类型。数据类型实例依据学生答题评定 34、一个C程序由哪些要素构成,请给出一个C语言程序进行说明。参考答案:一个C程序由若干函数组成,但至少一个主函数。而每个函数包括函数的首部和函数体。实例自行给定 35、编一程序求:1+(1+2)+(1+2+3)+(1+2+3+10)。参考答案:参考答案#include stdio.hmain()int i,s=0,t=0;for(i=1;i0); return k;int main()int x=651,y=123;printf(%d,%d,fun(x),fun(y);参考答案:函数f的功能是求任意整数的各位数字之积,该程序的运行结果是15,642、在下列程序中,函数sort的功能是什么? 该程序的运行结果是多少?#include stdio.hvoid sort(int x ,int n)int i,j,k,t; for(i=0;in-1;i+) k=i; for(j=i+1;jxj)k=j; if(i!=k) t=xk;xk=xi;xi=t; int main()int a10=34,50,89,67,102,11,75,30,125,145,i; sort(a,10); for(i=0;i0); printf(%d”, s); 参考答案:参考答案#include “stdio.h”int add(int n) int r,s=0; dor=n%10; s+=r; n=n/10; while(n0); return(s); void main()int m; scanf(“%d”,&m); printf(“%d”, add(m); 46、有如下程序#include stdio.hint fun(int x) int p; if(x=0 | x=1) return 3; else p=x-fun(x-2); return p;int main() printf( %d,fun(9);该程序的输出结果是多少?参考答案:该程序的输出结果是7 47、下列函数的功能是什么 int fun(char *x)char *y=x; while(*y+); return y-x-1参考答案:函数的功能是求字符串的长度 48、从键盘上任意输入20个2位或3位整数存放在array数组中,找出array数组中的能够被7整除的数存放在数组b中,并对b数组的值按升序排列。要求:(a)编写一个sort(int word,int a)函数实现排序功能。(b)除sort函数外,其余在主函数内完成,但主函数必须调用sort函数实现排序功能。(c)程序必须有输入输出提示。参考答案:#include stdio.hvoid sort(int a,int n)int i, j, t;for (i = 0;i n;i+)for (j = 0;j aj + 1)t = aj;aj = aj + 1;aj + 1 = t;printf(排序以后的数:);for (i = 1;i = n;i+)printf(%d , ai);printf(n);int main()int array20;int b20;int i,j=0;printf(请输入20个整数:);for (i = 0;i 20;i+) scanf(%d, &arrayi);if (arrayi % 7 = 0)bj+ = arrayi;printf(这20个整数中,能被7整除的有:);for (i = 0;i j;i+)printf(%d , bi);printf(n);sort(b, j);return 0;49、依据下列提供的程序回答问题#include stdio.hdouble fun(int a,int m)int i;double sum=0; for(i=0;im;i+)sum+=ai; return(sum/m);void main()int x, count = 0,a300;for (x = 1;x = 30;x+) if (x%2=0) acount=x; count+; printf(n这些偶数的平均值是:%6.0lfn, aver(a,count);(1)上述提供程序中,函数fun的功能是什么?(2)请依据上述程序思想,画出其中的传统流程图或N-S图。(3)在VC6.0环境下,运行上述程序时,其输出结果是什么?参考答案:(1)fun的功能是求m个数的平均值(2)依据学生答题评定分数(3)这些偶数的平均值是16 50、编写一个函数计算函数f(x,y)=x2+y2+sin(x)的值,要求有输入输出提示,结果保留小数点后3位参考答案:#include #include void main()double x, y,result;printf(请分别输入x,y的值:);scanf(%lf%lf,&x,&y);result = x*x + y*y + sin(x);printf(函数f(%.0lf,%.0lf)=%.3lfn, x, y, result);51、输出100-900之间的所有奇数,并求出这些奇数的平均值输出参考答案:#include stdio.hvoid main()int x, sum = 0, count = 0;for (x = 100;x = 900;x+)if (x % 2 != 0) printf(%dt, x);sum += x;count+;printf(n这些奇数的平均值是:%dn, sum / count);52、编写一个函数fun求出分数序列的前n项之和,再写一主函数测试其功能参考答案:#include stdio.hvoid fun(int n) double s = 0.0, t1 = 1, t2 = 2, temp;int i;for (i = 1;i 1):n);scanf(%d, &n);fun(n);53、输出1-500之间的所有偶数,并求出这些偶数的平均值输出。参考答案:#include“stdio.h”void main()int x, sum = 0, count = 0;for (x = 1;x = 500;x+)if (x % 2 = 0) printf(%dt, x);sum += x;count+;printf(n这些偶数的平均值是:%dn, sum / count);54、依据下列提供的程序回答问题#includestdio.hint fun(int a,int b) int r; r=a%b; while(r!=0) a=b; b=r; r=a%b; return(b);void main() int num1, num2,a; printf(Input num1 num2: ); scanf(%d%d,&num1,&num2); printf(num1= %d,num2= %dnn,num1,num2); a=fun(num1,num2); printf(The maximun common divisor is %dnn,a);(1)上述提供程序中,函数fun的功能是什么?(2)请依据提供的函数fun代码画出其中的传统流程图或N-S图。(3)在VC6.0环境下,运行上述程序时,若输入的数据序列为24,,36其输出结果是什么?参考答案:(1)上述提供程序中,函数fun的功能是求最大公约数 (2)请依据提供的函数fun代码画出其中的传统流程图或N-S图。依据考生答题给分 (3)在VC6.0环境下,运行上述程序时,若输入的数据序列为24,,36其输出结果是:num1= 24,num2=36The maximun common divisor is1255、参考答案:#include #include void main()double x, y,result;printf(请分别输入x,y的值:);scanf(%lf%lf,&x,&y);result = x*x + y*y + sin(x);printf(函数f(%.0lf,%.0lf)=%.3lfn, x, y, result);56、编写一个函数fun计算公式的前n项之和,再写一主函数测试其功能。参考答案:#include stdio.hvoid fun(int n) double s = 0.0, t;int i;for (i = 1;i 1):n);scanf(%d, &n);fun(n);57、写一个函数将一个字符串中的大写字母转换为小写,再写一个测试函数测试其功能。不允许使用strlwr函数参考答案:#include stdio.hvoid convert(char *str)for (int i = 0; stri != 0; i+) if (stri = A & stri = Z) stri = stri - A + a;int main()char str20 = aZcdABxDEF123;convert(str);printf(%sn, str);return 0;58、编写一个函数计算函数的值,要求有输入输出提示,结果精度为3位参考答案:#include stdio.h#include math.hvoid main()double x, y,result;printf(请分别输入x,y的值:);scanf(%lf%lf,&x,&y);result = sqrt(x + 1) + y*y*y;printf(函数f(%.0lf,%.0lf)=%.3lfn, x, y, result);59、#include stdio.hdouble aver(int a,int m)int i;double sum=0; for(i=0;im;i+)sum+=ai; return(sum/10);void main()int a10,i,max;double sum=0; for(i=0;i10;i+) scanf(%d,&ai); printf(平均分数:%6.0lfn ,aver(a,10); max=0; for(i=1;iamax) max=i; printf(最大值为:%d,最大值下标是:%dn ,amax,max+1);(1) 所提供程序中,函数aver的功能是什么?(2)请依据提供上述程序,画出其的传统流程图或N-S图或自然语言描述。(3)若输入的数据分别为:45,87,89,90,77,88,88,78,78,78,则在VC6.0环境下运行上述程序,其输出结果是什么?参考答案:(1)求m个数的平均值(2)依据考生答题评定成绩(3)平均分 80 最大值为:90,最大值下标是:460、依据下列提供的程序回答问题#include stdio.h#include m

温馨提示

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

评论

0/150

提交评论