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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言答案.docx

1、C语言答案C语言模拟题答案一、选择题:1、下列哪一个选项不是结构化程序三种基本结构的共同特点:D:有分支结构2、设int a,b,c;执行表达式a=b=1,a+,b+1,c=a+b-后,a,b和c的值分别是:B:2,0,33、若整型变量A、B、C、D中的值依次为:1、4、3、2。 则条件表达式DB?A:C 的值为:A:14、表示数学中的关系 xyz,在C语言中所对应的表达式是:B:(x y) & (y z)5、在C语言中,设x为int型变量,则执行以下语句后,x的值为x=10; x=x+- -x;:C:186、在C语言中,执行下面语句后,输出的结果是int x=10,y=3; printf(%

2、dn,y=x/y);C:37、在C语言中,假定所有变量均已正确说明,下列程序段运行后x的值是a=b=c=0;x=99;if(!a) x=9;else x=3;B:98、在C语言中,执行语句:for (i=1; i0 ) fc *=x; y-; return fc; 的功能是:A:求x的y次方12、对两个静态字符数组A和B进行如下初始化。 static char A=ABCDEF; static char B=A,B,C,D,E,F; 则下列叙述正确的是:D:A数组长度比B数组长13、对于for(表达式1;表达式3)可理解为:B:for(表达式1;1;表达式3)14、C语言中,FILE结构指针变

3、量名stdin代表哪类文件。D:标准输入15、下列循环体执行( )次k=70; while(k=0) k-=1;D:0次16、有以下程序 #define P 3 void F(int x)return(P*x*x); main() printf(%dn,F(3+5); 程序运行后的输出结果是D:编译出错17、在一个源程序文件中定义的全局变量的有效范围为C:从定义处开始到该源程序文件结束18、有以下程序main() int p3=11,12,13,i=0,j=0; while(i+2) if(pi%2) j+=pi; printf(%dn,j); 程序运行后的输出结果是A:1319、以下能正确定

4、义一维数组的选项是:D:char a5=0123;20、与定义char c=GOD;不等价的是D:char c3=GOD;21、对于下面程序段,执行的结果是char c5=a,b,0,c,0;printf(“%s”,c);B:ab22、设char Q=a, *p=&Q;下面说法中错误的是C:&p=&Q23、有以下程序main() int a=1,2,3,4,5,6,7,8,9,0,*p; for(p=a;p=a+9;p+)printf(%d,*p);) 程序运行后的输出结果是A:1,2,3,4,5,6,7,8,9,0,24、若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是C

5、:&a,p,&*p25、设有语句:int a10,*p =a;,则下面的语句中,不正确的是D:a=a+1;26、当int类型长度为2字节时,则类型unsigned int的值域范围为0至6553527、有如下程序:#include int b;void f() int t2; t2=b*3; b=100; void main() int a=2; b=4; f1();叙述正确的是:D:a是局部变量,b是全局变量。28、下面的for循环最多可执行_次。 for(x=0,y=0;(y!=99)&(x=0)&(C1=9)30、若有以下的说明,则对初值中字符a的引用方式为_。 static struc

6、t char ch; double x; char t; c22=a,35,b,c,45,d,a,86, m;D:c00.ch二、判断题:1、在C程序中,注释部分从/*开始,到*/结束。T2、switch语句中,case后面既可以跟常量,也可以跟已赋值的变量。F3、一个C语言程序中包含有多个函数时,按书写顺序从上到下执行各函数。F4、若一个函数的返回类型为void,则表示其没有返回值。T5、student_name、_name、name8和name_8都是合法标识符。T6、不对自动(auto)数组进行初始化,数值型数组隐含初值为0,字符数组隐含初值空字符0。F7、假设int型数组a的起始地址为

7、2000,则元素a3的地址为:2000+42=2008。F8、结构化程序设计认为一个好程序主要应该是:程序短而紧凑。F9、如果知道整型变量a的地址是2000,可以直接用 int *pa=2000; 给指针变量pa赋值,使其指向变量a。F10、在C语言的if语句中,用作判断的表达式只能为逻辑表达式和关系表达式。F三、综合应用题1、计算下面公式的值。T=1/1!+1/2!+1/3!+1/m! 当m=10时的结果(按四舍五入保留3位小数)。(注:所有变量用float数据类型定义!)答案:1.7182、求10,2000之间能被2或3或5整除的数之和。改正程序中的错误(共3处错误)。答案:1466295

8、#include void main() int sum; int i; for(i=10;i2000;i+) if(i%2=0 & i%3=0 & i%5=0) sum=sum+i; printf(sum=%dn,sum);3、/*下面程序的功能是:计算并输出500以内的最大的10个能被13或者17整除的自然数之和。请改正程序中的错误,并运行,最后给出程序运行的正确结果。(注:只有一处错误!)*/#include void main() int total=0, mc=1, k=500; int pm10,count=0; while( (k=2) & mc=10 ) if (k%13=0)

9、 | (k%17=0) pmmc = k; mc+; k-; for( k=1;k=10;k+ ) total += pmk-1; printf( %dn,total); 答案:46224、下列程序的功能是:求出以下分数序列的前30项之和,2/1,3/2,5/3,8/5,13/8,21/13,请改正程序中的错误,并运行修改后程序,给出程序结果(按四舍五入保留6位小数)。结果:48.840601。(有3处错误)#include #include main() int k; double s;long a,b,c; clrscr(); s=0.0; a=2; b=1; for(k=1;k=30;k

10、+) s=s+a/b;c=a; a=a+b; b=c; printf(n 结果: %lfn, s); 5、/*求200到1000之间的双胞胎数的对数。双胞胎数:两素数差为2称为双胞胎数。例如227和229是一对双胞胎数,它们都是素数且差为2。*/#include int prime(int x) int k; for(k=2;kx;k+) if(_) break; if(k=x) return 1; else return 0;void main( ) int a,b,n=0; int prime(int x); for(a=200;a=998;a+) if(prime(a)=1) b=a+2

11、; if(_) n+; printf( %d n,n);答案:20C语言程序设计题库及答案1、计算下面公式的值。T=1/1!+1/2!+1/3!+1/m! 当m=5时的结果(按四舍五入保留3位小数)。(注:所有变量用float数据类型定义!)答案:1.717#include float jc(float x) float jc=1,i; for(i=1;i=x;i+) jc=jc*i; return jc;void main() float jc(float x);float m,t=0,i; printf(Please Input:n); scanf(%f,&m); for(i=1;i=m;

12、i+) t=t+1/jc(i); printf(t=%.3fn,t);2、程序填空:用*号输出字母C的图案。#include stdio.h#include conio.hmain()_printf( *n);_printf( *n);printf( *n); printf( *n);getch(); 3、8232和9678,它们的个、十、百、千各位数字之和是15的倍数,8+2+3+2=15,9+6+7+8=30。编写程序,求四位数的所有奇数中,这样的数(各位数字之和是15的倍数)的总和。(注:所有变量用long数据类型定义!) 答案:1533459#include long f(long x

13、) long s=0; if(x%2!=0) while(x0) s=s+x%10; x=x/10; if(s%15=0) return 1; else return 0; else return 0;void main() long f(long x); long i,sum=0; for(i=1000;i=9999;i+) if(f(i) sum=sum+i; printf(sum=%ldn,sum);4、下面程序的功能是:计算并输出700以内的最大的10个能被13或者17整除的自然数之和。请改正程序中的错误,并运行,最后给出程序运行的正确结果。(注:只有一处错误!) 答案:6591#in

14、clude void main() int total=0, mc=1, k=700; /改为:int total=0,mc=0,k=700; int pm10,count=0; while( (k=2) & mc=10 ) if (k%13=0) | (k%17=0) pmmc = k; mc+; k-; for( k=1;k=10;k+ ) total += pmk-1; printf( %dn,total); 5、求x = 1+1/5+1/7+1/9+的近似值,直到最后一项的绝对值小于10-5为止。#include #includemain( ) int i; double x; x=1

15、; i=5; do x=x+1/(double)i; i=i+2; while(fabs(1/(double)i)1e-5); printf(%.2lfn,x);输出:6.0586、计算如下公式的A20值。 A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), .(按四舍五入保留10位小数)。答案:0.6180339850(1)可用递归: 1 n=1F(n)= 1/(1+f(n-1) n1#include double f(double n) double a; if(n=1) a=1; else a=1.0/(1+f(n-1); return a;void

16、 main() double f(double n); printf(f(20)=%.10lfn,f(20);(2)不用递归:#include void main() double i,c,a=1,b=1,x; for(i=1;i20;i+) c=a; a=b; b=c+b; x=a/b; printf(x=%.10lfn,x);7、求10,1600之间能被7整除的奇数之和。答案:90965(1)用函数可写成:#include int jx(int x) if(x%2!=0) return 1; else return 0;int f(int x) if(jx(x) if(x%7=0) ret

17、urn 1; else return 0; else return 0;void main() int jx(int x); int f(int x); int i,s=0; for(i=10;i=1600;i+) if(f(i) s=s+i; printf(s=%dn,s);(2)不用函数可写成:#include void main() int jx(int x); int f(int x); int i,s=0; for(i=10;i=1600;i+) if(i%2!=0 & i%7=0) s=s+i; printf(s=%dn,s);8、函数mystrlen(char *s)的功能是求字

18、符串s的长度。请填空。int mystrlen(char *s)int num=0;while(*s+!=0 ) _ num+_;return (num);9、100,500之间同时满足除以7余5,除以5余3,除以3余1的整数之和。答案:1042#include void main() int i,sum=0; for(i=100;i=500;i+) if(i%7=5 & i%5=3 & i%3=1) sum=sum+i; printf(sum=%dn,sum);10、求100,999之间所有的素数的个数。答案:143#include int sushu(int x) int i; for(i

19、=2;ix;i+) if(x%i=0) break; if(i=x) return 1; else return 0;void main() int sushu(int x); int i,num=0; for(i=100;i=999;i+) if(sushu(i) num+; printf(num=%dn,num);11、编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是8的倍数,且A+B=B+C,即第1位数加上第2位数等于第2位数加上第3位数。答案:110#include int f(int x) int a,b,c,d; a=x/1000; b=x/100%10; c=x/1

20、0%10; d=x%10; if(a+b=b+c) return 1; return 0;void main() int i,num=0; for(i=1000;i=9999;i+) if(i%8=0) if(f(i) num+; printf(num=%dn,num);12、数列1,2,1,4,7,12,23具有这样的特征,从第四项(也就是4)开始,每一项是前三项之和,4=1+2+1,7=2+1+4,12=1+4+7.。下列程序的功能是求出该数列前10项的和。请改正程序中的错误,并运行修改后的程序,给出程序结果。(注:只有一处错误!) 答案:311#include void main() l

21、ong sum=0,a30=1,2,1; int k,j; for( k=3;k10;k+ ) ak = ak-1+ak-2+ak-3; for( j=1;j=10;j+ ) sum += aj; /改为:sum+=aj-1; printf( %ldn,sum); 13、 /*求1到2000之间的双胞胎数的对数。双胞胎数:两素数差为2称为双胞胎数。例如227和229是一对双胞胎数,它们都是素数且差为2。*/ 答案:61#include int prime(int x) int k; for(k=2;kx;k+) if(_x%k=0_) break; if(k=x) return 1; else

22、 return 0;void main( ) int a,b,n=0; int prime(int x); for(a=2;a=1998;a+) if(prime(a)=1) b=a+2; if(_prime(b)=1_) n+; printf( %d n,n);14、编写程序,统计200400之间的所有满足三个数字之积为42,三个数字之和为12的数的个数。答案:4#include void main() int i,num=0; int a,b,c; for(i=200;i=400;i+) a=i/100; b=i/10%10; c=i%10; if(a*b*c=42 & a+b+c=12)

23、 num+; printf(num=%dn,num);15、有30个学生一起买小吃,共花钱50元,其中每个大学生花3元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生数为0的解)?答案:9#include void main() int num=0; int i,j,k; /i为大学生人数,j为中学生人数,k为小学生人数 for(i=1;i=30;i+) for(j=1;j=30-i;j+) for(k=1;k=30-i-j;k+) if(i*3+j*2+k*1=50 & i+j+k=30) printf(%d,%d,%dn,i,j,k); nu

24、m+; printf(num=%dn,num);16、爱因斯坦走台阶:有一台阶,如果每次走两阶,最后剩一阶;如果每次走三阶,最后剩两阶;如果每次走四阶,最后剩三阶;如果每次走五阶,最后剩四阶;如果每次走六阶,最后剩五阶;如果每次走七阶,刚好走完.求满足上述条件的最小台阶数是多少?答案:119#includevoid main() int x;for(x=1;x+) if (x%2=1)&(x%3=2)&(x%5=4)&(x%6=5)&(x%7=0) printf(%dn,x);break;17、求1000以内最大的10个素数的和。 答案:9664#include int prime(long

25、n) long k; for(k=2;k=2;t-) if(_prime(t)_) total=total+t; num+; if(num=10)break; printf(n%ld,total);18、 /*求1!+2!+3!+.+7!,7!表示7的阶乘。*/ 答案:5913#include long jc( long x) long k,fac=1; for(k=1;_ k=x_;k+) fac *=k ; _return fac_;void main( ) long n,sum=0; long jc(long x); for(n=1;n=7;n+) _sum=sum+jc(n)_; printf(n%ld,sum);19、求10000以内所有完数之和,完数是指:一个数如果刚好与它所有的真因子

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

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