C程序作业答案_第1页
C程序作业答案_第2页
C程序作业答案_第3页
C程序作业答案_第4页
C程序作业答案_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、什么是程序及程序设计程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。为实现预期目的而进行操作的一系列语句和指令。一般分为系统程序和应用程序两大类。程序设计(Programming)是指设计、编制、调试程序的方法和过程。它是目标明确的智力活动。由于程序是软件的本体,软件的质量主要通过程序的质量来体现,在软件研究中,程序设计的工作非常重要,内容涉及到有关的基本概念、工具、方法以及方法学等。程序设计=数据结构+算法正确理解以下名词及其含义仁源程序 目标程序 可执行程序2、程序编辑程序编译程序连接3、程序程序模块程序文件4、函数主函数被调用函数库函数5、程序调试

2、程序测试仁源程序:程序可以用高级语言或汇编语言编写,用高级语言或汇编语言编写的程序称为源程序。目标程序:源程序经过“编译程序”编译所得到的二进制代码称为目标程序。可执行程序:目标程序与库函数连接,形成的完整的可在操作系统下独立执行的程序称为可执行程序。2、程序编辑:是指将完成一件工作所需要的步骤,也就是算法,用计算机所能识别的语言,按照一定的程序结构翻译出来,并可被计算机执行的编写代码的全过程 .该程序编辑形式(能通过编译、链接生成最终程序(一般是可执行文件)的源代码文件。用户使用编译程序对其个人编制的源程序进行编译的过程称为程序编译。程序连接:编辑就是自己写代码,编译就是将你写的代码翻译成目

3、标文件,连接是将你的目标文件与系统文件(资源、模块等)组合生成可执行文件。3、程序就是为使电子计算机执行一个或多个操作,或执行某一任务,按序设计的计算机指令的集合。程序W (program module)即可由汇编程序、编译程序、装入程序或翻译程序作为一个整体来处理的一级独立的、可 识别的程序指令。程序以命令形式存储在磁盘上,称为:程序文件,文件扩展名为。PRG4、库函数由C系统提供,用户无须定义,也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用。被调用函数:计算机编程术语,即由一个函数调用另一个函数,则称第二个函数为被调用函数。主函数既是程序的入口,又是程序

4、的出口。函数:函数是C程序的基本单位,在设计良好的程序中,每个函数都用来实现一个或几个特定的功能。5、程序调试:所谓程序调试,是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。这是保证计算机信息系统正确性的必不可少的步骤。程序测试(program testing)是指对一个完成了全部或部分功能、模块的计算机程序在正式使用前的检测,以确保该程序能按预定的方式正确地运行。为什么需要计算机语言?高级语言的特点计算机语言(Computer Language )指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过

5、一种语言传达给机器。为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令(或各种语句)o这些就是计算机能接受的语言。高级语言独立于机器的特性是靠编译器为不同机器生成不同的目标代码(或机器指令)来实现的。C程序设计答案:4-1有两个瓶子A和B分别盛放醋和酱油,将他们互换如果 A瓶原来盛醋现改盛酱油,B瓶原来盛酱 油现改盛醋。4-3开始输入A、B、C、如果abc则输出A然后是B最后Cb ac则输出b然后是a最后Cca b贝U输出c然后是a最后C4-5开始输入数N如果能被3整除而且能被5整除则算法结束。4-7输入M和N找出M和N所

6、有公有质因数,然后将所有公有质因数相乘,其积即为 M和N的最大公约数。8设YEAR为被检测的年份S1 : 1900= yearS2:若 year 不能被4整除则输出year的值和“不是闰年:然后转到S6检查一下年份。S3:若year能被4整除不能被100整除,则输出year的值和“是闰年:然后转到S654 :若year能被400整除输出year的值和“是润年”然后转到s655 :输出year的值和“不是闰年”56 : year+1= yearS7:当year 000时,转S2继续执行,否则算法停止。假如我国国民生产总值的年增长率r=9% ,计算n=10年后我国国民生产总值与现在相比增长百分比p

7、#include int main(int argc, char *argv)int n;float p1=1.0,p2=1.0,r=0.09,p;for(n=1;n =10; n+)p2+=p1*r;P 仁 p2;p=p2/1.0;printf(10年后的比现在相对增长百分比为:%.2f%n,p*100);return 0;存款利息的计算。有1000元,想存5年,可按以下5种办法存:(1) 一次存5年(2)先存2年,到期后将本息再存三年期(3)先存3年期,到期后将本息再存 2年期(4)存1年期,12月的银行存款利息0.72% (活期存P=1000*-) 活期存款到期后将本息再存1年期,连续存

8、5次(5)存活期存款。活期利息每一季度结算一次。2007年是:1年期定期存款利息=4.14%; 2年期=4.68%; 3年期=5.4%; 5年期二5.85% 活期存款利息为 款每一季度结算一次利息)。如果为年利率,n为存款年数,则计算本息的公式如下。一年期本息和:(1+r)n年期本息和:P=1000* (1+n*r) 存n次一年期的本息和:P=1000*次方哦本息和:P=1000*(1+r/4)A4n(4n 次方哦!)(说明:1000* (1+r/4)是一个季度的本息和)#include#include#include#define b 1.0414#define c 1.0018main()

9、while (1)int a;printf(Please return the way you want 1,2,3,4,5:);scanf(%d,&a);switch (a)case 1:printf(The money is:%fnn, 1000+1000*0.0585*5);break;case 2:printf(The money is:%fnn,1000+(1000+1000*0.0468*2)*0.0540*3);break;case 3:printf(The money is:%fnn,1000+(1000+1000*0.0540*3)*0.0468*2);break;case

10、4:printf(The money is:%fnn,1000*b*b*b*b*b);break;case 5:printf(The money is:%fnn,1000*pow(c,20);break;system(pause);分析下面的程序:#includeint main()省略1、运行时会出现什么信息为什么2、如果将程序4、5行改为c1=197c2=198运行时会出现什么信息为什么3、将3行给为intel , c2;运行时会出现什么信息为什么输出:c1=a,c2=bc1=97,c2=98原因:因为输出为整型格式时,就输出对应的 ASC代码值;字符格式就输出相应的字符。2, 输出:c1

11、 = ? , c2 = ?c1 =- 59c2 = -58原因:英文字母对应的asc值越界,所以输出?(不能输出对应的特殊符号,应为格式是 c),至于后面输出的负数,是因为字符常量在内存中存储的时候实际上是以二进制形式存储的,197和198存储进去,内存中因为越界不能完整存储相应的二进制码,而存储的二进制码输出来的整数就是那二进 制码对应的负数了。3, 输出:c仁a,c2=bc1=97,c2=98原因和1的问基本相同了。用下面的SCANF函数输入数据,使 a=3, b=7 , x=8.5 , y=71.82 , c仁A , c2=a,问在键盘上如何输入#includeint main()int

12、 a,b;char c1,c2;float x,y,z;scanf(%d%d,&a, &b);getchar();scanf(%c,&c1);getchar();scanf(%c,&c2);scanf(%f%f%f,&x,&y,&z);printf(%d %d %c %c %f %f %fn,a,b,c1 ,c2,x,y,z);return 0;C语言中如何表示“真”和“假”?系统如何判定一个量的“真”和二假C语言编译系统在表示逻辑运算结果时,以数值 1代表“真”以0代表“假”其实语句是否执行由用户的代码(即判断条件)决定的,而系统只用 0和非0进行判断,当用户认为此句可执行,系统 判断为“真

13、;反之亦然写出下面逻辑表达式的值,设 a=3.b=4,c=50 110 1有三个整数a,b,c?由键盘输入,输出其中最大值方法一#include main()int a,b,c;print请输入3个整数:);scanf(%d,%d,%d,&a,&b,&c);if(ab)if(bc) printf(max=%dn,c);else printf(max=%dn,b);else if(ac) printf(max=%dn,c);else printf(max=%dn,a);输入两个正整数 m和n,求其最大公约数和最小公倍数。main()long m,n,i=1,j,s;scanf(%ld,%ld,&

14、m,&n);for(;i=m&i=n) j=m;else j=n;for(:!Q%m=0&j%n=O);j+);printf(s=%ld,j=%ldn,s,j);求 Sn=a+aa+aaa+ +aa - aaa (有 n 个 a)之值,其中 a 是一个数字。例如:2+22+222+2222+22222(n=5), n 由键盘输入。#includemath.hmain()int n,sum=0,i=1,s=2;scanf(%d,&n);while(i=n)sum=sum+s;s=s+2*pow(10,i);i+;printf(sum=%dn,sum);打印以下图案#includemath.hma

15、in() intij.k;for(i=0;i=3;i+)fOr0=O;j=2-i;j+)printf();for(k=0;k=2*i;k+)printf(*);printf(n);for(i=0;i=2;i+)forQ=0;j=i;j+)printf();for(k=0;k=4-2*i;k+)printf(*);printf(n);打印出以下杨辉三角形(要求打印出 10行)main()static int m,n,k,b1515;b01=1;for(m=1;m15;m+)for(n=1;n=65&stMiv=90)str2i=155-str1i;else if(str1 i=97&str1 i

16、=122) str2i=219-str1i;elsestr2i=str1i;printf(%sn%sn,str1 ,str2);写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。maxyueshu(m,n)int m,n;int i=1,t;for(;i=m&i=n) j=m;else j=n;for(:!Q%m=O&j%n=O);j+);return j;main()int a,b,max,min;printf(enter two number is:);scanf(%d,%d,&a,&b);max=maxyueshu(a,b);min=minbeishu(a,b);printf(max=%d,min=%dn,max,min);写一个判断素数的函数,在

温馨提示

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

评论

0/150

提交评论