ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:22.58KB ,
资源ID:6143444      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6143444.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(程序设计复习题答案.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

程序设计复习题答案.docx

1、程序设计复习题答案程序设计基础复习题答案一、 填空题1、C语言所提供的实型变量分为两种类型,它们是 float和double 。2、一个C源程序中至少应包含一个 主函数或main函数 。3已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=a+8-3的值为 102 。4在标准C语言中,输入操作是由库函数 scanf() 完成的,输出操作是由库函数 printf() 完成的。5对以下说明:int c10 = 116, 125, 218, 312, 100, 40, 13, 67, 186;c4的值为 100 。6在C语言中,引用数组元素时,引用数组元素时,其数组下标的数组

2、类型允许是 整型常量或整型表达式 。7设y为int 型变量,请写出描述“y是偶数”的表达式 (y%2)=0 。8设int i=0,j=1,k=2,a=3,b=4; 执行表达式(a=ik)的值为 0 。9与表达式 a+=b 等价的另一书写形式是 a=a+b 。10有以下定义和语句int a32=1,2,3,4,5,6,*p3;p0=a1;则*(p0+1)所代表的数组元素是 a11 。11代表一个反斜杠字符“”的转义字符是 。12变量的指针就是变量的地址,存放变量地址的变量就是 指针变量 ,它用来指向另一个变量。13+i和i+的不同之处在于 i+是先使用i的值后,再执行i=i+1;而+i是先执行i

3、=i+1后,再使用i的值 。14设x、y和z是int 型变量,且x=3,y=4,z=5, 则表达式! (xy) & !z|1)值为 0 。15已知函数int f(int k) return (k0)?1:f(k-2)+2); 则 f(3)的值是 5 。16C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为 字母或下划线 。 17计算表达式:x=(i=4, j=10, k=24)后,x的值为 24 。18若a和b均是int型变量,且a和b的初值均为5,则计算表达式 a+=b+ 后,a的值为 10 ,b的值为 6 。19设int a10=0,1,2,3,4,5,6,7,8,9

4、, *p=a; 则表达式*(p+8)的值是 9 。20若有以下定义:char a; int b;float c; double d;则表达式a*b+d-c值的类型为 double 。21.*(p+)和*(+p)作用不同,它们的意义分别是 *(p+)先取*p的值,后使p加1,*(+p)先使p加1,再取*p 二、程序理解题请给出运行以下程序的输出结果:1#include void main() int u=24,v=16,w; while(v) w=u % v; u=v ; v=w;printf(%dn,u); 输出结果为: 8 2. void main() char sYesn/No,*ps=s

5、; puts(ps+4); *(ps+4)=0; puts(s);输出结果:/No Yes3. main() int p7=11,13,14,15,16,17,18; int i=0,j=0; while(i7 & pi%2=1) j+=pi+; printf(%dn,j);输出结果: 24 。4、下列程序的运行结果是 total=144 。void main() int arr_sum(int arr,int n);int a34=1,3,5,7,9,11,13,15,17,19,21,23;int *p,total;p=a0;total= arr_sum (p,12);printf(“to

6、tal=%dn”,total);int arr_sum(int arr,int n) int i,sum=0;for(i=0;in;i+)sum=sum+arri; return(sum);5. 给出以下程序的运行结果:void main() int a,b,c; a=25b=025;c=0x25;printf(%d, %d, %dn,a,b,c);运行结果:25, 21, 376. 给出有下面一段程序的运行结果。void main() int p7=11,13,14,15,16,17,18; int i=0, ,j=0; while(i7 & pi%2=1) j+=pi+; printf(%

7、dn,j);运行结果:247. 给出有下面一段程序的运行结果。#include int fac(int n) static int f=1; f=f*n; return(f);void main() int i; for(i=1;i=5;i+) printf(%d!=%dn,i,fac(i);答案:1!=1 2!=2 3!=6 4!=24 5!=1208. 给出有下面一段程序的运行结果。main() int a44=1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18; int i=0,j=0,s=0; while(i+4) if(i=2|i=4) continue;

8、 j=0; do s+= aj; j+; while(j4); printf(%dn,s);运行结果:92三、程序填空题1以下程序可判断输入的一个整数是否能被5或13整除,若能整除,输出“yes”并换行,否则输出“no”并换行。请填空。 #include void main() int k; printf(“Enter a int number:”); scanf(“%d”,&k); if_(k%5=0|k%13=0)_ printf(“yesn”); else printf(_“non”_); 2下面程序是将键盘输入的英文字符全改为小写英文字符输出, 用换行符结束循环。请填空。#includ

9、e void main() char c; while( (c=getchar()!=n ) if( c =A|c=Z ) c=c+32; printf(%c,c); printf(n);3有一个一维数组score,内放10个学生成绩,求平均成绩,请填空。#includefloat average(float array10);void main()float score10,aver; int i;printf(input 10 scores:n);for(i=0;i10;i+) scanf(%f, &scorei );printf(n);aver=average(score); print

10、f(average score is %5.2f,aver);float average(float array10)int i; float aver,sum=array0; for( i=1;i10;i+ )sum=sum+arrayi; aver=sum/10 ; return aver ;4以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。Void main() int i,a20,sum,count; sum=count=0; for(i=0;i20;i+) scanf(%d, &ai ); for (i=0;i0) count+; sum+= ai ; p

11、rintf(sum=%d,count=%dn,sum,count);5.下面程序可以逐行输出由language数组元素所指向的5个字符串。请填空。#includevoid main() char * language= “BASIC”, “FORTRAN”, “PROLOG”, “JAVA”, “C+”; char * q ; int k; for (k=0;k5;k+) q= language+k ; printf(“%sn”,*q); 6以下程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串,请填空。#includevoid main() char str81,*sp

12、tr; int i; for(i=0;i1)程序:int age(int n) int c;if( n=1 ) c= 10 ;else c= age(n-1)+2 ;return (c);void main() printf(“age:%dn”, age(5);8) 下面程序的功能是在三个字符串中找出最小的,请填空:#include#includevoid main( ) char s20,str330; int i; for (i=0;i3;i+) gets(stri); strcpy ( s, (strcmp(str0,str1)0?str0:str1) ); if (strcmp(str

13、2,s)0) strcpy( s,str2); print(“%sn”, s ) ; 9)以下程序的功能是:通过指针操作,找出三个整数中的最小值并输出。请填空。 #include void main( ) int *a,*b,*c, num,x,y,z; a=&x; b=&y; c=&z; printf(“输入3个整数:”); scanf(“%d%d%d”,a,b,c); printf(“%d,%d,%dn”, *a,*b,*c); num=*a; if (*a*b) num=*b ; if (num*c) num=*c ; printf(“输出最小整数:%dn”, num); 10. C语言

14、源程序文件的后缀是_.cpp_,经编译后生成的文件的后缀是_.obj_,连接后生成的文件的后缀是.exe。11从键盘输入一个大写字母,要求改用小写字母输出。请填空:#include void main() char c1,c2;c1= getchar() ;printf(“%c, %dn”,c1,c1); c2=c1+32 ;printf(“%c, %dn”,c2,c2);12以下程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串。请填空:#includevoid main() char str81,*sptr; int i; for(i=0;i80;i+) stri=g

15、etchar(); if(stri=n) break; stri= 0 ; sptr=str; while(*sptr) putchar(*sptr + ;13输入三角形的三边长,求三角形面积。请填空:void main() float a, b, c, s, area ; scanf(“%f, %f, %f”, &a, &b, &c); s=1.0/2*(a+b+c);area = sqrt(s*(s-a)*(s-b)*(s-c) ;printf(“a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2fn”,a,b,c,s);printf(“area=%7.2fn”,area)

16、;14判断m是否素数。请填空:#include #include void main() int m, i, k; scanf(%d, &m); k=sqrt(m) ; for(i=2;ik ) printf(%d is a prime numbern,m); else printf(%d is not a prime numbern,m);15以下程序对输入的一个小写字母,将字母循环后移5个位置后输出。如a变成f,w变成b。请填空:#include void main( ) char c; c=getchar( ); if (c=a & c=v & cy) t=x;x=y;y=t; /*交换

17、x,y的值*/ if(xz) t=z;z=x;x=t; /*交换x,z的值*/ if(yz) t=y;y=z;z=t; /*交换z,y的值*/ printf(small to big: %d %d %dn,x,y,z);17求1!+2!+3!+4!+20!的值。请填空:#include void main() float s=0,t=1; int n; for(n=1;n=a&c=A&c=0&c=9) digit+; else others+; printf(all in all:char=%d space=%d digit=%d others=%dn,letters, space,digit

18、,others);19以下程序是通过指针操作,找出三个整数中的最小值并输出。请填空: #include void main( ) int *a,*b,*c, num,x,y,z; a=&x; b=&y; c=&z; printf(“输入3个整数:”); scanf(“%d%d%d”,a,b,c); printf(“%d,%d,%dn”, *a,*b,*c); num=*a; if (*a*b) num=*b ; if (num*c) num=*c ; printf(“输出最小整数:%dn”, num); 20下面程序的功能是打印100以内个位数为6且能被3整除的所有数。请填空。#include

19、 void main() int i,j; for(i=0; i10 ;i+) j=i*10+6; if( j%3!=0 ) continue; printf(“%d ”,j); 四、编程题1给学生成绩,要求输出成绩等级ABCDE。90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。#include void main() float score; char grade; printf(请输入学生成绩:); scanf(%f,&score); while(score100|score0) printf(n输入有误,请重输!); scanf(%f,&score)

20、; switch(int)(score/10) case 10: case 9: grade=A;break; case 8: grade=B;break; case 7: grade=C;break; case 6: grade=D;break; case 5: case 4: case 3: case 2: case 1: case 0: grade=E; printf(成绩是%5.1f,相应的等级是%c.n,score,grade);2输入一数组各元素值,将这个数组中的值按逆序重新存放(如原来顺序为5,4,3,2,1要求改为1,2,3,4,5)。#include # define N 5

21、void main() int aN,i,temp; printf(Enter array:n); for(i=0;iN;i+) scanf(%d,&ai); printf(array a:n); for(i=0;iN;i+) printf(%4d,ai); for(i=0;iN/2;i+) temp=ai; ai=aN-i-1; aN-i-1=temp; printf(n Now,arraw a:n); for(i=0;iN;i+) printf(%4d,ai); printf(n);3、将一个23的二维数组中行与列的元素互换并存到另一个二维数组中。设原数组的初值为1,2,3,4,5,6。参

22、考程序:#includevoid main( )int a23=1,2,3,4,5,6;int b32,i,j;printf(array a:n);for (i=0;i=1;i+)for (j=0;j=2;j+)printf(%5d,aij);bji= aij; /*行列元素互换*/printf(n);printf(array b:n);for (i=0;i=2;i+)for(j=0;j=1;j+)printf(%5d,bij);printf(n);4用选择法对10个数排序(由小到大)。要求从键盘输入这10个数。#include void main() int i, j, min, temp,

23、 a11; printf(“enter data: n”); for(i=1;i=10;i+) printf(“a%d=”, i); scanf(“%d”,&ai);printf(n”);printf(“The orginal numbers:n”);for(i=1;i=10;i+) printf(“%5d”,ai); printf(“n”); for(i=1;i=9;i+) min=i; for(j=i+1;jaj) min=j;temp=ai;ai=amin;amin=temp;printf(“nThe sorted numbers:n”);for(i=1;i=10;i+) printf(“%5d”,ai);printf(“n”);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1