版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
习题11.1思考题答:结构化程序设计是指为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。其基本结构有:顺序结构,选择结构,循环结构。输入三个值a、b、c,用它们作为三角形的3条边输出三角形的面积,画出实现该算法的N-S图。输入三角形3条边a、b、cNYa+b>c&&a+c>b&&b+c>aNYa+b>c&&a+c>b&&b+c>ap=(a+b+c)/2;area=sqrt(p*(p-a)*(p-b)*(p-c));输出:三角形面积area输出“不能构成三角形”3.标识符是一个由有限个有效字符组成的序列,在C语言中只起标识作用,可用作符号常量名、变量名、函数名、数组名、文件名等。C语言合法的标识符必须由字母(A~Z,a~z)或下画线(_)开头,后面可以跟随任意的字母、数字或下画线。C语言中的标识符由3种类型组成:关键字、预定义标识符和用户标识符。4.C语言程序的基本单位是函数。5.一个C语言函数通常由两部分组成:函数的首部和函数体。函数的首部包括函数类型、函数名、一对圆括号、函数参数(形参)名和参数类型的说明。函数体一般包括说明部分和执行部分。6.可以用“/*……*/”在任何位置上对C语言程序的任何部分进行注释,一般在一个程序或函数的开始或某些程序的难点之处加上必要的注释。在VisualC++6.0环境下也可使用符号“//……”引出注释。7.C语言程序的开发基本上可以分为4步:即编辑、编译、连接和运行。编辑就是用C语言写出源程序,C源程序的后缀为“.c”;C语言编译程序对源文件进行编译,即检查其词法、语法、语义方面是否存在错误。编译后生成目标程序,此目标程序名与相应的源程序同名,但其后缀为.obj。连接形成完整的可执行文件。一般可执行文件名与源程序文件名同名,后缀为.exe。执行程序:当程序编译连接后,生成可执行程序便可以运行了,以后用户只需输入可执行目标文件名即可。1.2编程题1.答:#include"stdio.h"intmain(){doublea=10,b=20,h=5,s;s=(a+b)*h/2;printf("s=%f",s);return0;}2.答:#include"stdio.h"intmain(){printf("******************************");printf("*helloworld*");printf("******************************");return0;}习题22.1思考题C语言提供了的数据类型如下:基本数据类型的标识符和存储单元的长度,以VC6.0为例,整型数据类型标识符包括:①基本整型(简称整型):类型标识符为int,存储单元的长度为4个字节。②短整型:类型标识符为shortint或short,存储单元的长度为2个字节。③长整型:类型标识符为1ongint或1ong,存储单元的长度为4个字节。④无符号整型:类型标识符为unsignedint,存储单元的长度为4个字节。⑤无符号短整型:类型标识符为unsignedshort,存储单元的长度为2个字节⑥无符号长整型:类型标识符为unsigned1ong,存储单元的长度为4个字节。实型数据有单精度型和双精度型两种。①单精度型:类型标识符为float,存储单元的长度为4个字节。②双精度型:类型标识符为double,存储单元的长度为8个字节。字符型数据的类型标识符为char,在内存中存储一个字符型数据需要1个字节2.错误的C语言常量有:符号常量是用用户标识符表示的常量。通常习惯用大写字母表示符号常量。符号常量在使用之前必须使用#define编译预处理命令在程序开头定义。符号常量的定义形式为:#define符号常量名常量举例:#definePI3.14159264.试确定下列数据的数据类型,并写出一个实例常量。(1)一个月的天数intmonth;实例常量为:month=30。(2)学生成绩的平均值doubleaver;实例常量为:aver=90.4。(3)胶州湾海底隧道的长度doublelength;实例常量为:length=7800。(4)用M/F描述一个人的性别charsex;实例常量为:sex=’M’。(5)你的姓名charname[10];实例常量为:”王浩”。5.(1)sqrt(x*x+y*y)(2)pow((a+a*b)/(a-b),1.0/3)(3)pow(a,4)-3*a*b/(3+a)(4)pow(x*x*x,1.0/3)+sqrt(x+y)6.(1)0(2)10(3)21.3(4)6(5)55或’7’7.(1)intage=18;(2)doubler=2.57,area;(3)charxb=’M’8.(1)1.5(2)6.02.2编程题答:#include"stdio.h"intmain(){ doublea=56,b=32.3,c=78.2,x=22.1,y=98.5,aver; aver=(a+b+c+x+y)/5; printf("%.2f\n",aver);return0;}答:#include"stdio.h"#include"math.h"intmain(){ doublex1,x2,y1,y2,length; x1=3; y1=8; x2=7; y2=10; length=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); printf("%.2f\n",length);return0;}答:#include"stdio.h"#definePI3.1415926intmain(){ doubler1=25,r2=15,area; area=PI*(r1*r1-r2*r2); printf("%.2f\n",area);return0;}习题33.1思考题答:(1)功能:把10赋给变量a(2)功能:把a*(3+5)的值赋给变量a(3)功能:把变量a和b的值互换(4)功能:把变量b除以10所得的余数乘以10再加上变量b除以10取整的和赋给变量a(5)功能:把大写字母A变为小写赋给变量a(6)功能:把字符6赋给变量a2.答:(1)scanf("%d",&num);(2)scanf("%lf,%lf",&score,&sum);(3)scanf("%d,%lf,%lf",&num,&score,&sum);(4)scanf("%d",&num);3.答:(1)10,20(2)1020(3)i=10,j=20(4)10,A,204.(1)scanf(“%lf%lf%lf”,&a,&b,&c);(2)printf(“%.3f\n”,(a+b+c)/3);(3)printf(“%c,%d\n”,ch,ch);(4)printf(“%.2f\n”,a);printf(“+%.2f\n”,b);printf(“-----------\n”,a);printf(“%.2f\n”,a+b);3.2读程序写结果题答:1.3,E2.1,0.5000003.04.2,15.x=4,y=6,z=3,m=4633.3程序填空题1.6.62.%d/%d%d/%d=%.2f3.4编程题1.答:#include"stdio.h"intmain(){ intx,y; scanf("%d%d",&x,&y); printf("\t\tx\ty\n"); printf("十进制数\t%d\t%d\n",x,y); printf("八进制数\t%o\t%o\n",x,y); printf("十六进制数\t%X\t%x\n",x,y);return0;}2.答:#include"stdio.h"intmain(){ charch; printf("请输入一个大写英文字母"); scanf("%c",&ch); printf("大写英文字母是%c\n",ch); printf("它的前导字符是%c\n",ch-1); printf("它的后续字符是%c\n",ch+1);return0;}3.答:#include"stdio.h"intmain(){ intx,a,b,c,y; printf("请输入一个三位整数:"); scanf("%d",&x); a=x/100; b=(x-a*100)/10; c=x%10; y=c*100+b*10+a; printf("反向输出该整数:%d\n",y);return0;}4.答:#include"stdio.h"intmain(){inthour; doublesalary,salaryday; scanf("%d,%lf",&hour,&salaryday); salary=hour*salaryday-hour*salaryday*0.1; printf("%.2lf\n",salary);return0;}5.答:#include"stdio.h"intmain(){ inta,b,c,t; printf("请输入三个整数\n"); scanf("%d%d%d",&a,&b,&c); printf("交换前a=%d,b=%d,c=%d\n",a,b,c); t=a;a=c;c=b;b=t; printf("交换后a=%d,b=%d,c=%d\n",a,b,c);return0;}习题44.1思考题1.答:C语言没有提供逻辑数据类型,在进行逻辑运算时,操作数为非0的数值代表“真”,数值0代表“假”。用数值1表示逻辑值的“真”,数值0表示“假”。2.答:(1)!(x*y)&&(x+y)(2)a>0||b>0(3)x>0&&x<=10(4)a==1.5&&b==1.5&&c==1.5(5)p<a||p<b||p<c(6)ch>=’A’&&ch<=’Z’(7)ch>=’0’&&ch<=’9’3.答:(1)0(2)1(3)1(4)0(5)14.(1)(2)(3)5.(1)可以用if但分支形式实现,if(x<0)y=x+1;if(x>=0&&x<1)y=1;if(x>=1)y=x*x*x;或用if嵌套形式实现,如:if(x<0)y=x+1;elseif(x<1)y=1;elsey=x*x*x;(2)if(max<b)max=b;(3)if((a+b)>c&&(a+c)>b&&(b+c)>a){p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf(“面积是:%f\n”,s);}elseprintf(“不能构成三角形!”);4.2读程序写结果题1.302.53.a4.-45.5,4,36.0,1,34.3程序填空题1.scanf("%d%d%d",&a,&b,&c);c==a+b2.elseifelseifelseifelsen3.x%3==0&&x%5==0&&x%7==04.(cvb=='y'||cvb=='Y')&&(work>=3||college=='y'||college=='Y')&&age<=354.4编程题1.答#include"stdio.h"#include"math.h"intmain(){doublea,b,c,p,area;scanf("%lf%lf%lf",&a,&b,&c);printf("三角形的三边为:%.llf,%.1lf,%.1lf\n",a,b,c);if(a+b>c&&a+c>b&&b+c>a){p=(a+b+c)/2; area=sqrt(p*(p-a)*(p-b)*(p-c)); printf("三角形的面积为%.2lf\n",area);}else printf("不能构成三角形\n");return0;}2.答:#include"stdio.h"intmain(){intx,y;scanf("%d,%d",&x,&y);if(x*x+y*y>1000)printf("%d\n",(x*x+y*y)/100);elseprintf("%d\n",x+y);return0;}3.答:#include"stdio.h"#include"math.h"intmain(){doublex,y;scanf("%lf",&x);if(x<-2) y=x*x-sin(x);elseif(x<=2) y=pow(2,x)+x;else y=sqrt(x*x+x+1);printf("x=%.2lfy=%.2lf\n",x,y);return0;}4.答:#include"stdio.h"intmain(){intge,shi,qian,wan,x;scanf("%d",&x);wan=x/10000;qian=x%10000/1000;shi=x%100/10;ge=x%10;if(ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/ printf("thisnumberisahuiwen\n");else printf("thisnumberisnotahuiwen\n");return0;}5.答:#include"stdio.h"intmain(){doublep,w,s,d,f;scanf("%lf,%lf,%lf",&p,&s,&w);if(s>3000)d=0.15;elseif(s>=2000)d=0.1;elseif(s>=1000)d=0.08;elseif(s>=500)d=0.05;elseif(s>=250)d=0.02;elsed=0;f=p*w*s*(1-d);printf("%.2lf",f);return0;}6.答:#include"stdio.h"intmain(){intyear,money;charx;printf("是否是本公司产品(y/n):");scanf("%c",&x);if(x=='y'||x=='Y') {printf("产品使用的年限:"); scanf("%d",&year); if(year<=1)money=0; elseif(year<8)money=50; elsemoney=100; printf("产品保修额是:%d\n",money);}else{money=200; printf("不是本公司产品,产品保修额是:%d\n",money);}return0;}7.答:#include"stdio.h"intmain(){intmoney,num1,num2;printf("请输入取款额(≤2000):");scanf("%d",&money);if(money>2000)printf("请输入取款额数≤2000!\n");else if(money%50==0) {num1=money/100; num2=(money-num1*100)/50; printf("需支付100元:%d张\n",num1); printf("需支付50元:%d张\n",num2); }else printf("输入钱数必须是50的倍数!\n");return0;}习题55.1思考题答:“当型”循环结构:先进行循环条件的判断,条件为真执行循环体。C语言中用while语句实现;“直到型”循环结构:先执行一次循环体,再进行循环条件的判断,C语言中用do-while语句实现;答:(1)for(i=1,p=1;i<=5;i++)p*=i;(2)i=1;p=1;while(i<=5){p*=i;i++;}(3)i=1;p=1;do{p*=i;i++;}while(i<=5);3.(1)(2)(3)4.(1)for(i=1
;i<100
;i=i+1)s=s+i或i=1
;while(i<100){s=s+i
;i=i+1
;}(2)i=1
;do{s=s+2*i
;i=i+1
;}while(i<100)
;(3)for(i=1
;i<=10
;i++)scanf(“%d”,&x)
;(4)for(i=2
;i<n
;i++)if(n%i==0)break
;if(i==n)printf(“n是素数\n”)
;elseprintf(“n不是素数\n”)
;
5.2读程序写结果题1.022.0111223.3,2,04.25程序的功能是:自然数1至10中的奇数之和5.76.97.aceg8.m=19.3335.3程序填空题:1.2*i-12.i<10或者i<=9j%3!=0或者j%33.1.0*k*flag/(k+1)flag=-flag4.max=xx!=-1scanf(“%d”,&x);5.x<=9y=9-x6.1.0/i5.4编程题
1.答:(1)for循环,其他略#include"stdio.h"intmain(){inti,s=0;for(i=1;i<=100;i++) s+=i*i;printf("%d\n",s);return0;}(2)do-while循环,其他略#include"stdio.h"intmain(){inti=1,p=1;doubles=1;do{s+=1.0/p;i=i+1;p=p*i;}while(1.0/p>1e-6);printf("%lf",s);return0;}2.答:#include"stdio.h"intmain(){ intm,n,t,a,b; printf("请输入两个正整数:");scanf("%d%d",&m,&n);if(m<n){t=m;m=n;n=t;}a=m;b=n;t=m%n;while(t){m=n;n=t;t=m%n;}printf("%d和%d的最大公约数是:%d\n",a,b,n);return0;}3.答:#include"stdio.h"intmain(){intx,y,s=1;printf("请输入一个整数和它的次方数:");scanf("%d%d",&x,&y);for(;y>0;y--)s*=x;printf("它的最后三位数从个位到百位依次是:");printf("%d,%d,%d\n",s%10,s/10%10,s/100%10);return0;}4.答:#include"stdio.h"intmain(){intx,y,z;for(x=1;x<20;x++) for(y=1;y<33;y++) {z=100-x-y;if((z%3)==0&&(5*x+3*y+z/3)==100) printf("x=%d,y=%d,z=%d\n",x,y,z); }return0;}5.答:(a)#include"stdio.h"intmain(){intj,k;for(j=1;j<=4;j++) {for(k=1;k<=4-j;k++)printf(""); printf("****");printf("\n"); }return0;}(b)#include"stdio.h"intmain(){intj,k;for(j=1;j<=4;j++) {for(k=1;k<=4-j;k++)printf(""); for(k=1;k<=2*j-1;k++) printf("*");printf("\n"); }return0;}6.答:程序分析:利用for循环控制在100~999之间,对每个数分解出个位、十位、百位。#include<stdio.h>intmain(){ inti,j,k,n; printf("waterflower'numberis:"); for(n=100;n<1000;n++) { i=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出个位*/ if(n==i*i*i+j*j*j+k*k*k) { printf("%-5d",n); } } printf("\n");return0;}7.答:#include<stdio.h>intmain(){ intx; for(x=1000;x>=3;x--) if(x%3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 圆锥曲线中的定点、定值、最值问题+课件-2026届高三数学二轮复习
- 卫生院应聘考试试题及答案
- 2026二年级数学下册 万以内数专项
- 初中各种数学试卷及答案
- 河北地理试题及详细答案
- 河北焊工复审试题及答案
- 企业防恐教育培训制度
- 企业巡查检查制度
- 交通运输综合统计调查制度
- 注塑车间品质奖惩制度
- 高空坠落安全事故培训课件
- 广州建筑工程安全培训课件
- 2025至2030中国肥料原料行业发展研究与产业战略规划分析评估报告
- 汽车吊安全培训教育课件
- 2025年国有企业总经理竞聘面试题及参考答案指南
- 招标投标实施条例课件
- 2025年大兴机场准入考试题库
- 新课标文科全科-2026高考大纲TXT便利版
- 风电场规划设计与施工
- 2025年税务局上海面试题及答案
- 北京政务云管理办法
评论
0/150
提交评论