C程序作业答案.doc
什么是程序及程序设计 程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。为实现预期目的而进行 操作的一系列语句和指令。一般分为系统程序和应用程序两大类。程序设计Programming是指设计、编制、调试程 序的方法和过程。它是目标明确的智力活动。由于程序是软件的本体,软件的质量主要通过程序的质量来体现,在软 件研究中,程序设计的工作非常重要,内容涉及到有关的基本概念、工具、方法以及方法学等。 程序设计数据结构算法 正确理解以下名词及其含义 1、源程序 目标程序 可执行程序 2、程序编辑 程序编译 程序连接 3、程序 程序模 块 程序文件 4、函数 主函数 被调用函数 库函数 5、程序调试 程序测试 1、源程序程序可以用高级语言或汇编语言编写,用高级语言或汇编语言编写的程序称 为源程序。 目标程序源程序经过“编译程序”编译所得到的二进制代码称为目标程序。 可执行程序目标程序与库函数连接,形成的完整的可在操作系统下独立执行的程序 称为可执行程序。 2、程序编辑是指将完成一件工作所需要的步骤,也就是算法,用计算机所能识别的语言,按照一定的程序结构翻译出 来,并可被计算机执行的编写代码的全过程.该程序编辑形式(能通过编译、链接生成最终程序(一般是可执行文件) 的源代码文件。 用户使用编译程序对其个人编制的源程序进行编译的过程称为程序编译。 程序连接编辑就是自己写代码,编译就是将你写的代码翻译成目标文件,连接是将你的目标文件与系统文件(资源 、模块等)组合生成可执行文件。 3、程序就是为使电子计算机执行一个或多个操作,或执行某一任务,按序设计的计算机指令的集合。 程序模块program module即可由汇编程序、编译程序、装入程序或翻译程序作为一个整体来处理的一级独立的、可 识别的程序指令。 程序以命令形式存储在磁盘上,称为程序文件,文件扩展名为。PRG 4、库函数 由系统提供,用户无须定义, 也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文 件即可在程序中直接调用。 被调用函数计算机编程术语,即由一个函数调用另一个函数,则称第二个函数为被调用函数。 主函数既是程序的入口,又是程序的出口。 函数函数是 C 程序的基本单位,在设计良好的程序中,每个函数都用来实现一个或几个特定的功能。 5、程序调试所谓程序调试,是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误 和逻辑错误的过程。这是保证计算机信息系统正确性的必不可少的步骤。 程序测试program testing 是指对一个完成了全部或部分功能、模块的计算机程序在正式使用前的检测,以确 保该程序能按预定的方式正确地运行。 为什么需要计算机语言高级语言的特点 计算机语言(Computer Language)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒 介。计算机系统最大特征是指令通过一种语言传达给机器。为了使电子计算机进行各种工作,就需要有一套用以编写 计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令(或各种语句) 。这些就是计算机 能接受的语言。高级语言独立于机器的特性是靠编译器为不同机器生成不同的目标代码或机器指令来实现的。 C 程序设计答案4-1 有两个瓶子 A 和 B 分别盛放醋和酱油,将他们互换如果 A 瓶原来盛醋现改盛酱油,B 瓶原来盛酱油 现改盛醋。 4-3 开始输入 A、B、C、如果 abc 则输出 A 然后是 B 最后 C bac 则输出 b 然后是 a 最后 C cab 则输出 c 然后是 a 最后 C 4-5 开始输入数 N 如果能被 3 整除而且能被 5 整除则算法结束。 4-7 输入 M 和 N 找出 M 和 N 所有公有质因数, 然后将所有公有质因数相乘,其积即为 M 和 N 的最大公约数。 8 设 YEAR 为被检测的年份 S11900year S2若 year 不 能被 4 整除则输出 year 的值和“不是闰年” 。然后转到 S6 检查一下年份。 S3若 year 能被 4 整除不能被 100 整除,则输出 year 的值和“是闰年” 。然后转到 S6 S4若 year 能被 400 整除输出 year 的值和“是润年”然后转到 s6 S5输出 year 的值和“ 不是闰年” S6year1year S7当 year2000 时,转 S2 继续执行,否则算法停止。 假如我国国民生产总值的年增长率 r9,计算 n10 年后我国国民生产总值与现在相比增长百分比 p include int mainint argc, char *argv int n; float p11.0,p21.0,r0.09,p; forn1;n include include define b 1.0414 define c 1.0018 main while 1 int a; printf“Please return the way you want 1,2,3,4,5“; scanf“d“, switch a case 1printf“The money isfnn“,10001000*0.0585*5;break; case 2printf“The money isfnn“,100010001000*0.0468*2*0.0540*3;break; case 3printf“The money isfnn“,100010001000*0.0540*3*0.0468*2;break; case 4printf“The money isfnn“,1000*b*b*b*b*b;break; case 5printf“The money isfnn“,1000*powc,20;break; system“pause“; 分析下面的程序 include int main省略 1、运行时会出现什么信息为什么 2、如果将程序 4、5 行改 为 c1197 c2198 运行时会出现什么信息为什么 3、将 3 行给为 int c1,c2; 运行时会出现什么信息为什么 1,输出c1a,c2b c197,c298 原因因为输出为整型格式时,就输出对应的 ASC 代码值;字符格式就输出相应的 字符。 2,输出c1,c2 c159c258 原因英文字母对应的 asc 值越界,所以输出(不能输出对应的特殊 符号,应为格式是c) ,至于后面输出的负数,是因为字符常量在内存中存储的时候实际上是以二进制形式存储的 ,197 和 198 存储进去,内存中因为越界不能完整存储相应的二进制码,而存储的二进制码输出来的整数就是那二进 制码对应的负数了。 3,输出c1a,c2b c197,c298 原因和 1 的问基本相同了。 。 用下面的 SCANF 函数输入数据,使 a3,b7,x8.5,y71.82,c1A,c2a,问在键盘上如何输入 include int main int a,b; char c1,c2; float x,y,z; scanf“dd“, getchar; scanf“c“, getchar; scanf“c“, scanf“fff“, printf“d d c c f f fn“,a,b,c1,c2,x,y,z; return 0; C 语言中如何表示“真”和“假”系统如何判定一个量的“真”和“假. C 语言编译系统在表示逻辑运算结果时,以数值 1 代表“真” ,以 0 代表“假” 其实语句是否执行由用户的代码(即判断条件)决定的,而系统只用 0 和非 0 进行判断,当用户认为此句可执行,系统 判断为“真” ,反之亦然 写出下面逻辑表达式的值,设 a3.b4,c5 0 1 1 0 1 有三个整数 a,b,c,由键盘输入,输出其中最大值 方法一 include main int a,b,c; printf“请输入 3 个整数“; scanf“d,d,d“, ifan jm; else jn; for;jm0j; printf“sld,jldn“,s,j; 求 Snaaaaaaaaaaa(有 n 个 a)之值,其中 a 是一个数字。例如222222222222222(n5) ,n 由键 盘输入。 include“math.h“ main int n,sum0,i1,s2; scanf“d“, whilei65 else jn; for;jm0j; return j; main int a,b,max,min; printf“enter two number is “; scanf“d,d“, maxmaxyueshua,b; minminbeishua,b; printf“maxd,mindn“,max,min; 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。 psushum int m; int i2,t; for;i65 else ifstr0i32 b2; else b3; main char str1100;static int i,a4; getsstr1; tongjistr1,a; printf“zimu Shuzi Kongge Qitan“; fori0;i4;i printf“-8d “,ai;printf“n“;