版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计基础参考答案第一章一填空题1硬件系统、软件系统2中央处理器、存储器、输入设备、输出设备3系统软件、应用软件4说明语句、表达式语句、分支语句、循环语句、控制流程语句5数据结构、算法二选择题1 C 2 B 3 ABCD 4 AB 5 C三问答题1答:(1)由三种基本控制结构:顺序结构、选择结构和循环结构。(2)有限制的使用goto语句。(3)籍助于结构化程序设计语言来书写。(4)采用自顶向下,逐步求精或自底向上,逐步积累的程序设计策略。2答:(1)对于变量,先定义其数据类型,再使用。 (2)C程序由函数构成,一个程序至少要有一个以上的函数。 (3)C程序总是从main()函数开始执行。 (
2、4)书写格式自由,在一行可以有若干语句。 (5)数据的输入与输出是通过输入输出函数实现,例如:scanf(),printf()函数等。 (6)C程序用/* */进行注释。3答:(1)由键盘输入源程序; (2)经过编辑后生成f.c磁盘文件; (3)经过编译后生成f.obj文件; (4)经过连接后形成f.exe文件; (5)执行。4答:用伪代码描述如下: 开始 for(n=3; n=100;n+) for(m=2; mr; if(r=0) break; if(m=+1)输出n; 结束5答:描述如下:第二章一填空题1常量、整型常量、实型常量、字符型常量2变量、先定义3单精度、双精度4、*、/、%5关
3、系表达式、“0”、“1”二选择题1 C 2 B 3 B 4 D 5 B三问答题1答:字符常量是一个字符,在程序中字符是用单引号括起来的。字符串变量由0个或若干个字符组合而成,在程序中字符串是用双引号括起来的,在存储时系统自动在字符串最后面加一个结束符号0。2解: (1)2.5(2)3.53解:运行结果为: (1) 9,11,9,10 (2) (1) b=2 (2) a=3 (3) c=2 (4) b=4 (5) c=94解:(1)0 (2)0 (3)0 (4)1 (5)15解: (1)24 (2)10 (3)60(4)0 (5)0 (6)0第三章一填空题1顺序语句、选择语句、循环语句、转移语句
4、2#include “stdio.h”3break4z=(xy)?x:y;5将给定的一个字符常量或字符变量的内容输出到显示器屏幕上二选择题1 B 2 B 3 B 4 B 5 C三问答题1解:#include void main() int units,tens,hundreds,a,b; printf(Please input a number(100999):); scanf(%d,&a); hundreds=a/100; tens=(a-hundreds*100)/10; units=a-hundreds*100-tens*10; b=100*units+tens*10+hundreds;
5、 printf(after change,the number is:%dn,b);2解: #include void main() int a ,b,c; scanf(%d%d%d,a,b,c); if(ab) if(bc) printf(mid=%dn,b); else if(ac) printf(mid=%dn,c); else printf(mid=%dn,a); else if(ac) printf(mid=%dn,a); else if(bc) printf(mid=%dn,c); else printf(mid=%dn,b);3解:#include #include void m
6、ain() double a,b,c; /*方程系数*/ double disc; /*判别式*/ double re,im; /*方程实部虚部*/ printf(Enter a,b,c:); scanf(%lf%lf%lf,&a,&b,&c); if(a=0.0) if(b=0.0) printf(The equation has not soluble!n); else printf(Single root is %fn,-c/b); else if(c=0.0) printf(Two roots:x1=%lft x2=%lfn,-b/a,0); else disc=b*b-4*a*c;
7、re=-b/(2*a); im=sqrt(fabs(disc)/(2*a); if(disc=0.0) printf(Two roots:x1=%ft x2=%f,re+im,re-im); else printf(Two complex roots:x1=%f+i*%ft x2=%f-i*%fn,re,im,re,im); 4解:#include #include void main() int i,j,result; printf(n); for(i=1;i10;i+) for(j=1;j10;j+) result=i*j; printf(%d*%d=%-3d,i,j,result); p
8、rintf(n); 5答: #include void main() float a,b; char optor; printf(Please input the value of a,b:); scanf(%f%f,&a,&b); printf(Enter operator:); getchar(); scanf(%c,&optor); switch(optor) case +:printf(%f+%f=%fn,a,b,a+b); break; case -:printf(%f-%f=%fn,a,b,a-b); break; case *:printf(%f*%f=%fn,a,b,a*b);
9、 break; case /:if(b=0) printf(can not adivided by 0!n); else printf(%f/%f=%fn,a,b,a/b); break; default:printf(Input error!); 第四章一填空题10 , N-1210223a454“string.h”50、0二选择题1 D 2 A 3 D 4 B 5 C三问答题1解:#include void main() int a15; int i,j; a0=0; a1=1; printf(%-4d%-4d,a0,a1); for(i=2;i15;i+) ai=ai-1+ai-2; p
10、rintf(%-4d,ai); 2解:#include void main() int a10; int i,min,k,temp; printf(Please input 10 integer numbers:n); for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i10;i+) min=i; for(k=i+1;k10;k+) if(ak=amin) min=k; temp=ai; ai=amin; amin=temp; for(i=0;i10;i+) printf(%-4d,ai);3解:#include void main() int a10,i,j,te
11、mp; printf(Please input 10 integer numbers:n); for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i9;i+) for(j=0;jaj+1) temp=aj; aj=aj+1; aj+1=temp; for(i=0;i10;i+) printf(%-4d,ai);4解:#include void main() int a33,sum=0; int i,j; printf(enter data:n); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); for(i=0;i3;i+)
12、sum=sum+aii; printf(sum=%6dn,sum);5解:#include void main() char string81; int i,num=1; char c; gets(string); for(i=0;(c=stringi!=0);i+) if(stringi= ) num+; printf(There are %d words in the linen,num);第五章一填空题1函数2fun(int x ,int y , int z ) 3main( ) 4局部静态存储变量、全局静态存储变量5内部函数、外部函数二选择题1 B 2 B 3 C 4 C 5 B三问答
13、题1解: 语法错误有:(1) 主函数中第4行漏写了分号。(2) 形参与实参个数不相等,形参没有定义类型(3) 子函数中n没有定义。语义错误有:(1) 主函数中x和n没有赋值。(2) 函数调用时,既没有返回值也不是地址调用;程序中没有输出语句,目的 不明确。正确的程序是:main() int power(int x , int n); int x = 2,n = 4; printf(ns=%d,power(x,n);int power(int x ,int n) int i ,p =1; for(i=1;i=n;+i) p=p*x*i; return(p);2答:#include stdio.h
14、float volume(a,b,c)float a,b,c; float v ; v=a*b*c; return(v);void main() float a,b,c,v; scanf(%f %f %f,&a,&b,&c); v=volume(a,b,c); printf(v=%f,v); 3答:#include stdio.hfloat sum(int n) int i ; float s; s=0; for(i=1;i=n;i+) s+=1/(float)i; ; return s ; void main() int n ; float s ; printf(Please input t
15、he value of n:); scanf(%d,&n); if(n=0) printf(Please input a positive number!); else s=sum(n); printf(sum=%f,s); 4答:运行结果为: The value of i in main()befor calling sqr(x) is 25Calling sqr(x):sqr(25)=625The value of i in main() after calling sqr(x) is 255答:#include stdio.hdouble xpower(float x,int n) if
16、(n=0) return(1); else return(x*xpower(x,n-1);void main() float x; int n ; double r; scanf(%f%d,&x,&n); r=xpower(x,n); printf(Result=%f,r);第六章一填空题1“指针变量”、空指针2s所指向的变量内容加1、取指针变量s加1后的内容、取s的内容后,s再加13a34指针5指针 首地址6“单级间址”、“二级间址”二选择题1 B 2 D 3 D 4 D三问答题1答:int strlen(s)char *s; char *p=s; while(*p!=0) p+; retu
17、rn(p-s);2答: #include swap(int *p,int *q) int temp; temp=*p; *p=*q; *q=temp;void main() int a , b, *pa,*pb; printf(Please input 2 integer numbers:); scanf(%d%d,&a,&b); pa=&a; pb=&b; swap(pa,pb); printf(%d %d,a,b);3答:不行。C语言规定数组名称代表数组的首地址,也就是说第一个元素的地址是常量,所以在程序中a的值是不能改变的。修改程序如下:#include void main() int
18、a10=1,2,3,4,5,6,7,8,9,10,i; for(i=0;i10;i+) printf(%d ,*(a+i); 4答:运行结果: (1)12 (2)book (3)0022FF40-10022FF4C-40022FF58-70022FF40-1 0022FF44-2 0022FF48-30022FF4C-4 0022FF50-5 0022FF54-60022FF58-7 0022FF5C-8 0022FF60-95答: #include int len(char *p) int n=0 ; while(*p!=0) n+; p+; return(n);void main() in
19、t length; char *str20; printf(Please input a string :n); scanf(%s,str); length=len(str); printf(the length of the string is %d,length);6答:双重指针指的是指向指针型数据的指针类型。程序如下:#include void main() int a23=1,3,5,2,4,6; int *add23=*a,*a+1,*a+2,*(a+1),*(a+1)+1,*(a+1)+2; int *p,i; p=add0; for(i=0;iscore3地址4数据、链指针、下一
20、个结点5stdlib.h6一个一个的输入各结点数据,并建立其前后相链的关系7将链表中各结点的数据依次输出二选择题1 D 2 D 3 B 4 D 5 B三问答题1答:运行结果: 3,a2答:#include stdio.hstruct person char name20; int count ;leader3=Li,0,Zhang,0,Wang,0;main() int i , j ; char leader_name20; for(i=1;i=4;i+) scanf(%s,leader_name); for(j=0;j3;j+) if(strcmp(leader_name,leaderj.n
21、ame)=0) leaderj.count+; printf(n); for(i=0;in); for(i=0;idata=num; ptr-next=(link)malloc(sizeof(node); if(i=4)ptr-next=NULL; else ptr=ptr-next; ptr=head; while(ptr!=NULL) printf(The value is=%dn,ptr-data); ptr=ptr-next; 4答:#include stdio.hvoid main() struct student int num; char name20; float score;
22、 ; struct student stu4; struct student *p; int i ,temp=0; float max; for(p=stu;pnum,p-name,&p-score); for(max=stu0.score,i=1;imax) max=stui.score; temp=i; p=stu+temp; printf(nThe maximum score:n); printf(No. %dnname:%snscore:%4.1fn,p-num,p-name,p-score);模拟试题一一选择题1 C 2 B 3 D 4 D 5 C 6 D 7 A 8 D 9 A 1
23、0 B二程序填空题1 :stdio.h : i=1;i5;i+ : i!=k&i!=j&j!=k2 : n=1;n=20;n+ : t*=n;: s+=t;三程序设计题1答:#include stdio.hmain() int i,j,k,n; printf(water flowers number is:n); for(n=100;n1000;n+) i=n/100;/分解出百位 j=n/10%10;/分解出十位 k=n%10;/分解出个位 if(i*100+j*10+k=i*i*i+j*j*j+k*k*k) printf(%-5d,n); printf(n);2答: #include stdio.hmain() int a5=9,6,5,4,1,i,temp; printf(n original array:n); for(i=0;i5;i+) printf(%4d,ai); for(i=0;i5/2;i+) temp=ai; ai=a5-i-1; a5-i-1=temp; printf(n sorted array:n); for(i=0;in2) swap(pointer1,pointer2); if(n1n3) swap(pointer1,pointer3); if(n2n3) swap(pointer2,pointer3); printf(the so
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025渗透测试工程师招聘题库及答案
- 2025姐弟财产买卖合同
- 2025软件测试招聘题库及答案
- 2025人工智能训练师秋招试题及答案
- 2025年词语搭配考试题型及答案
- 德惠中考化学试卷及答案
- 《儿歌小舞台-韵律感知与表演活动》
- 2025年河南邓州驾考题库及答案
- 2025年亚泰足球竞赛题库及答案
- 总工程师岗位能力素质模型与考核指标体系
- 高中语文高考语文复习+高考中的成语考查+课件
- 2025甘肃庆阳正宁县公安局招聘警务辅助人员40人备考考试题库附答案解析
- 七年级历史上学期期末选择题100题-附答案解答
- 2025广西玉林市自来水有限公司下半年公开招聘21人笔试参考题库附带答案详解
- 低温天气安全教育培训课件
- 整车线束培训资料
- 4.1 10的认识(课件 )数学苏教版一年级上册(新教材)
- 2026年度安全生产工作计划
- 2025山东泰山财产保险股份有限公司总公司及分支机构校园招聘、社会招聘笔试模拟试题及答案解析
- 剪纸社团教学课件
- 2025至2030中国DNA提取试剂盒行业项目调研及市场前景预测评估报告
评论
0/150
提交评论