当前位置:文档之家› C程序设计第二章

C程序设计第二章

C程序设计第二章
C程序设计第二章

4.用传统流程图表示求解以下问题的算法。

(1)有两个瓶子A和B,分别盛放着醋和酱油,要求将它们互换(即A瓶原来盛醋,先改盛酱油,B瓶则相反)。

(2)依次将10个数输入,要求输出其中最大的数。

(3)有三个数a, b, c, 要求按大小顺序把它们输出。

(4)求1+2+3+ (100)

(5)判断一个数n能否同时被3和5整除。

(6)将100~200之间的素数输出。

(7)求两个数m和n的最大公约数。

(8)求方程式ax^2+bx+c=0的根。分别考虑:

①有两个不等的实根。

②有两个相等的实根。

5.用N—S图表示第四题中各题的算法。

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

x

8.用自顶向下、逐步细化的方法进行以下算法的设计:

(1)输出1900~2000年中是闰年的年份,符合下面两个条件之一的年份是闰年:

①能被4整除但不能被100整除;

(2)求ax^2+bx+c=0的根。分别考虑△=b*b—4ac 大于0、等于0和小于0这三种情况。

A1

对A1细化

左边是B1 右边是C1

对B1细化

左边是C2 右边是C3 对C1细化

对C2细化

对C3细化

(3)输入10个数,输出其中最大的一个数。

c语言程序设计第二章课后参考答案

第二章:C程序的基本结构 一、单项选择题 1、以下不是C语言的特点的是________。 A)语言的表达能力强B)语言定义严格 C)数据结构系统化 D)控制流程结构化 2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。 A)编辑和编译 B)编译和连接 C)连接和运行D)编辑和运行 3、以下不是二进制代码文件是________。 A)标准库文件 B)目标文件C)源程序文件 D)可执行文件 4、下面个选项组中,均属于C语言关键字的一组是________。 A)auto,enum,include B)switch,typedef,continue C)signed,union,scanf D)if,struct,type 5、下面四组字符串中,都可以用作C语言标识符的是________。 A)print B)I \am C)signed D)if _maf scanf 3mf ty_pr mx_2d mx_ a.f x1# aMb6 AMB A&B 5XY 6、以下不属于流程控制语句的是_________。 A)表达式语句 B)选择语句 C)循环语句 D)转移语句 7、下面描述中,不正确的是________。 A)C语言的函数体由一系列语句和注释组成。 B)注释内容不能单独写在一行上。 C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。 D)scanf和printf是标准库函数而不是输入和输出语句。 8、下面描述中,正确的是________。 A)主函数的花括号必须有,而子函数中的花括号是可有可无的。 B)一个C程序行只能写一个语句。 C)主函数是程序启动时的唯一入口。 D)函数体包含了函数说明部分。 二、填空题 1、一个完整的C程序至少要有一个________函数。(主函数) 2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。(编译系统) 3、C语言是以________为基本单位、整个程序由________组成。(函数函数) 4、常用的标准库函数有数学函数、字符函数和字符串函数、动态分配函数、随机函数和________函数等几个大类。(输入输出) 5、标准库函数存放在________文件中。(函数库) 6、目标程序文件的扩展名是________。(.obj) 7、程序连接过程是将目标程序、________或其它目标程序连接装配成可执行文件。(库函数) 8、因为源程序是________类型文件,所以用具有文本编辑功能的任何编辑软件程序完成编辑。(文本)

C语言详解(第五版)第二章程序设计项目答案

C语言详解(第五版)程序设计项目答案第二章 1.编写一个程序,以每英里0.35的费率计算一个售货员的里程偿还金。程序中要求与用户进行如下方式的交互。 #include #include int main(void) {float mile_1,mile_2,miles,consume,payment; printf("MILEAGE REIMBURSEMENT CALCULATOR\n"); printf("Enter begainning odometer reading>\n"); scanf("%f",&mile_1); printf("Enter endding odometer reading>\n"); scanf("%f",&mile_2); printf("Enter consume per mile>\n"); scanf("%f",&consume); miles=mile_2-mile_1; payment=miles*consume; printf("You traveled%f miles.At%f per mile,your reimbursement is%f",miles,consume,payment); system("pause"); return(0); } 2.编写一个程序,用于辅助设计水力发电大坝。提示用户输入大坝高度,以及水流量。如果水由重力所做的功有90%转化为电能,测算会有多少M瓦的功率。 #include #include int main(void) {double density,weight,gravitational_acceleration, efficiency,height,water_flow_rate,work,electricity_power; printf("Please type in the density of water>"); scanf("%lf",&density); printf("Please type in the gravitational_acceleration>"); scanf("%lf",&gravitational_acceleration); printf("Please type in the height of the water>"); scanf("%lf",&height); printf("Please type in the efficiency of the transformation\nfrom water to electricity>"); scanf("%lf",&efficiency); printf("Please type in the water_flow_rate>"); scanf("%lf",&water_flow_rate); weight=density*water_flow_rate; work=weight*height*gravitational_acceleration; electricity_power=work*efficiency/1000000; printf("The electric energy production is%fW",electricity_power); system("pause"); return0; }

C语言程序设计学习指导(第2版) 1-6

第一章概述 一、选择 1.C 2.B 3.C 4.D 5.D 6.A 7.B 8.C 9.A 10.B 11.C 12.D 13.B 14.B 第二章数据类型 一、选择 1.D 2.A 3.C 4.D 5.A 6.B 7.A 8.B 9.A 10.D 11.B 12.C 13.C 14.D 15.C 16.B 17.D 18.A 19.C 20.B 21.B 22.D 23.A 24.B 25.B 26.B 27.C 第三章运算符和表达式 一、选择 1.A 2.D 3.D 4.D 5.D 6.A 7.C 8.C 9.B 10.B 11.C 12.C 13.A 14.A 15.A 16.A 17.B 18.C 19.C 20.D 21.A 22.A 23.C 24.C 25.A 26.B 27.D 28.A 29.B 30.C 31.D 32.D 33.D 34.B 35.A 36.A 37.B 38.C 39.D 40.B 41.B 42.C 43.B 第四章输入和输出 一、选择 1.C 2.D 3.C 4.C 5.C 6.B 7.B 8.C 9.D 10.D 11.D 12.D 13.B 14.A 15.B 16.B 二、编程 1.double fun(double m) { float n; n=(5.0/9.0)*(m-32); return n; } 2. char fun(char c) {c=c+32; return c;} 3.double fun(int m) { double y=0; y=sin(m)*10; return(y); } 4.float fun ( float h ) {return (long)( h * 100 + 0.5 )/ 100.0;}

C程序设计谭浩强第二章习题与答案

习题 2.1什么是算法?是从日常生活中找三个例子,描述他们的算法? 答:对操作的描述,即操作步骤,就是算法。 ????????广义的说;为解决一个问题而采取的方法和步骤,就称为“算法”。 例:(略) 2.2什么叫结构化的算法?为什么要提倡结构化的算法? 答:由基本节构所构成的算法属于“结构化”的算法。 ????? 结构化的算法便于编写、阅读、便于修改和维护。这就减少了程序出错的机会、提高了程序的可靠性,保证了程序的质量。 2.3试述三种基本结构的特点,你能否自己另外设计两种基本结构(要符合基本结构的特点)。 2.4

答:基本结构有以下共同点: ?????? 1:只有一个入口。图2-14-------2-17中的a点为入口。 ??????? 2:只有一个出口。图2-14-------2-17中的b点为出口。注意,一个判断框有两个出口,但一个选择结构只有一个出口。不能混淆。 ??????? 3:结构内的每一部分都有被执行到的机会。也就是说,对每一个框来说,都应当有一条到出口的路径通过它。图2-20中就没有一条从入口到出口的路径通过A框。 ???????? 4:结构内不存在死循环(无终止的循环)。图2-21就是一个死循环。 ????? 需要说明的是基本结构并不一定只限于以上3中,只要有以上四种特点就可以。人们可以自己定义之。例:如下两图 2.5用传统流程图表示求解一下问题的算法。 (1)有两个瓶子A和B,分别放醋和酱油,要求将他们互换。 #include void main() { int a; int b; int c; a=10;b=5; printf("%d,%d\n",a,b); c=a;a=b;b=c; printf("%d,%d\n",a,b); } (2)一次将10个数输入,要求将将其中最大的数输出。 #include void main() { int a[10]; int i; int max; printf("input 10 numbers.\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); printf("\n"); max=a[0];

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

C程序设计(第四版)_谭浩强_第二章_课后习题答案

算法——程序的灵魂 #include int main() { int i,s=1; //在执行数值操作前一定要先有个初值. for(i=1;i<6;i++) //这里是到6. { s=s*i; //相乘 } printf("The sum is %d .\n",s); return 0; } #include //作出要求:换成1到11间奇数相乘. int main() { int i,s=1; //在执行数值操作前一定要先有个初值. for(i=1;i<12;i++) //这里是到,但题目要求的是取单数.也可以是i=i+2 { if(i%2!=0) //i对取模,值为非为奇数;为则为偶数. s=s*i; else continue; //跳过这个for循环的这一次,执行下一次. } printf("The sum is %d .\n",s); return 0; } P019 2.2 按要求输出80分以上的学生信息. 暂时没法做. P019 2.3 判断2000-2500年中的闰年,并输出.

年的概念是地球围绕太阳一周的时间(所谓公转周期)称为一年,这个周期是相当稳定的,很长时间也不会变动1秒,但是真正的一年是365.2423天(目前)。所以,如果每年定义为365天的话,1年就会多出0.2423天,4年就会多出0.9692天,非常接近1天,这样闰年就出现了,也就是每4年要有1年设置为366天,来抵消这多出的1天。规则为:·1)如果年份能被4整除,则该年计为闰年;可是,假如不做调整的话,当400年的时候,累计才多出96.92天,接近于多出97天,闰年的设置却多出来100天,所以要在400年内,再撤销3个闰年。怎么撤销呢?就有了下面这个规则:·2)如果年份能被100整除,则不计为闰年;问题又来了,400年里有4个100年吧,去掉后四个100年后,又少了一个,所以再加一个规则就是:·3)如果年份能被400整除,则计为闰年。简单说来每400年里设置了97个闰年,也就是400里的前3个100年不设置闰年,误差被调整到400年仅有0.08天。 #include int main() { int i; for(i=2000;i<=2200;i++) { if((i%4==0 && i%100!=0)||i%400==0) //闰年的经典判断条件. printf("%d is a leap year !\n",i); else printf("%d is not a leap year !\n",i); } } P020 2.4 求(1)-(1/2)+(1/3)……+(1/99)-(1/100)的值. #include int main() { float sign=1 , sum=0 , deno , term ; //关于有小数的计算应该用float. for (deno=1;deno<=100;deno++) { term=sign*(1/deno); //term临时值,sing符号,deno为分母. sum=sum+term; //第一次总全存储. sign=(-1)*sign; //换号. } printf("The sum of deno(指定值) is %f .\n",sum); return 0; //若是到100的话,结果为0.68172 } P021 2.5 得到一个大于3的数,并判断是否为素数.

《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

c语言程序设计教程(第2版)课后题及模拟题参考答案

c语言程序设计教程(第2版)课后题及模拟题参考答案 习题1 1-1 填空题 1.函数 2.主函数main(),主函数main() 3.主函数main() 4.函数首部,函数体 5.{, } 6./*, */ 7.顺序结构,选择结构,循环结构 8..c, .obj, .exe 1-2 思考题 1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。其基本结构包括顺序结构、选择结构和循环结构三种。 2.算法是对具体问题求解步骤的一种描述。计算机算法的表达工具通常采用以下几种方法:(1)用自然语言表示算(2)用流程图表示算法(3)用伪代码表示算法(4)用程序设计语言表示算法 3.语言简洁、紧凑,使用方便、灵活; 支持结构化程序设计;运算符丰富;数据类型丰富;较强的编译预处理功能;C语言的可移植性好;C语言本身既有一般高级语言的优点,又有低级(汇编)语言的特点;语法限制不太严格,程序设计自由度大。 1-3 编程题 1. 试参照本章例题编写计算梯形面积的C语言程序,梯形的上底、下底和高分别用a,b,h表示,并用a=10,b=20,h=5测试所编写的程序。 #include "stdio.h" main() { float a, b, h, s; a=10; b=20; h=5; s=(a+b)*h/2; printf("s=%f\n" , s ); } 2. 编写程序显示如图1.11所示信息。 图1.11 显示信息 #include "stdio.h" main()

{ printf("******************************\n"); printf("* hello world *\n"); printf("******************************\n"); } 习题2 2-1 单选题 1~5 DBDCA 6~10 DCABA 11~12 CA 2-2 思考题 1.2.000000 2.1,0.5 3.9,2 4.6 5.100,d 6.(1)20 (2)0 (3)60 7. (1)10,6,4 (2)6,9,15 (3)3,60,83 8. 55 习题3 3-1 选择题 1-5BDABC 6-10ADCAC 11-12BB 3-2 填空题 1. 3 2.0261 3.0x10 4. 2, 1 互换a,b的值 5. 6.6 6.–003 8.7 7. 5.0,4,c=3 8.i=10,j=20 9.(1) 65 (2) 65,A (3) 56.123400,123.456001 (4) 3.141600 (5) 8765.432

C语言程序设计第二章答案

何钦铭,颜晖主编版第二章答案课本38页 第一题 #include"stdafx.h" #include"stdio.h" #include"iostream" int _tmain(int argc, _TCHAR* argv[]) { int num1,num2; int a1,a2,a3,a4,a5; printf("num1=\n"); scanf("%d",&num1); printf("num2=\n"); scanf("%d",&num2); a1=num1+num2; a2=num1-num2; a3=num1*num2; a4=num1/num2; a5=num1%num2;

printf("a1=%d\na2=%d\na3=%d\na4=%d\na5=%d\n",a1,a2,a 3,a4,a5); system("pause"); return 0; } 第二题 // 38.2.cpp : 定¨义?控?制?台 ?应畖用?程ì序?的?入?口ú点?。£ // #include"stdafx.h" #include"stdio.h" #include"iostream" int _tmain(int argc, _TCHAR* argv[]) { float a,b; printf("使?用?的?电?量?是?:\n"); scanf("%f",&a); if (a<=50){

b=a*0.53; } else{ b=50*0.53+(a-50)*(0.53+0.05); } printf("支§付?的?电?费?是?:阰%2f\n",b); system("pause"); return 0; } 第三题 // 38.3.cpp : 定¨义?控?制?台 ?应畖用?程ì序?的?入?口ú点?。£ // #include"stdafx.h" #include"stdio.h" #include"iostream"

C语言程序设计的试题及答案

C语言程序设计的试题及答案 C语言程序设计的试题及答案C语言程序设计的试题及答案第一章基础知识 一、填空 1.每个C程序都必须有且仅有一个________函数。 2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3.软件是程序,以及______、使用和维护所需要的所有文档。 4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6.C语言是由________组成的。 7.C语言的函数可分为主函数ain、标准库函数和_________。 8.一个函数是由两部分组成的,即:________和函数体。 9.编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自

动化、管理信息系统、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11.机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12.与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。 13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14.C程序的执行均是由执行_________开始。15.函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C语句组成的执行部分。 16.C语言程序中一条简单语句是以________字符作为结束符的。 17.C语言是结构化、________的程序设计语言。 18.由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19.用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.第一个系统体现结构化程序设计思想的教学工具语言是_______语言。

C语言程序设计课后答案

第二章C++简单程序设计 2-10 执行完下列语句后,a、b、c三个变量的值为多少? a = 30; b = a++; c = ++a; a:32 ;b:30 ;c:32; 2-13 写一条for语句,计数条件为n从100到200,步长为2;然后用while和do…while语句完成同样的循环。 解: for循环: for (int n = 100; n <= 200; n += 2); while循环: int x = 100; while (n <= 200) n += 2; do…while循环: int n = 100; do { n += 2; } while(n <= 200); 2-17 修改下面这个程序中的错误,改正后它的运行结果是什么? #include <> void main() int i int j; i = 10; /* 给i赋值 j = 20; /* 给j赋值*/ cout << "i + j = << i + j; /* 输出结果*/ return 0; } 解: 改正: #include <> int main() { int i; int j; i = 10; 09:;<>?@ABCDEFGHIJKLMNOP_QRSTUV WXYZ[\]^'abcdefghijklmnopqrstuvwxyz<| >~s 2-21 运行下面的程序,观察其输出,与你的设想是否相同? #include <> int main() { unsigned int x; unsigned int y = 100; unsigned int z = 50; x= y - z; cout << "Difference is: " << x; x = z - y; cout << "\nNow difference is: " << x < int main() { int myAge = 39; n"; cout << "You are: " << yourAge << " years old\n"; myAge++; .\n"; cout << "I am: " << myAge << " years old.\n"; cout << "You are: " << yourAge << " years old\n"; cout << "Another year passes\n"; cout << "I am: " << myAge++ << " years old.\n"; cout << "You are: " << ++yourAge << " years old\n"; cout << "Let's print it again.\n"; cout << "I am: " << myAge << " years old.\n"; cout << "You are: " << yourAge << " years old\n"; return 0; } 解: 程序运行输出: I am 39 years old You are 39 years old One year passes I am 40 years old You are 40 years old Another year passes I am 40 years old You are 41 years old Let's print it again I am 41 years old You are 41 years old 2-28 编写一个完整的程序,实现功能: 向用户提问"现在正在下雨吗?",提示 用户输入Y或N。若输入为Y,显示"现 在正在下雨。";若输入为N,显示"现 在没有下雨。";否则继续提问"现在正 在下雨吗?" 源程序: #include <> #include <> void main() { char flag; while(1) { cout << "现在正在下雨吗?(Yes or No):"; cin >> flag; if ( toupper(flag) == 'Y') { cout << "现在正在下雨。"; break; } if ( toupper(flag) == 'N') { cout << "现在没有下雨。"; break; } } } 程序运行输出: 现在正在下雨吗?(Yes or No):x 现在正在下雨吗?(Yes or No):l 现在正在下雨吗?(Yes or No):q 现在正在下雨吗?(Yes or No):n 现在没有下雨。 或: 现在正在下雨吗?(Yes or No):y 现在正在下雨。 2-29 编写一个完整的程序,运行时向用 户提问"你考试考了多少分?(0~100)", 接收输入后判断其等级,显示出来。规 则如下: 解: #include <> void main() { int i,score; cout << "你考试考了多少分?(0~100):";

C语言程序设计(郑莉)课后习题答案

C++语言程序设计(清华大学莉)课后习题答案 第一章概述 1-1 简述计算机程序设计语言的发展历程。 解: 迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。 1-2 面向对象的编程语言有哪些特点? 解: 面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。C++语言是目前应用最广的面向对象的编程语言。 1-3 什么是结构化程序设计方法?这种方法有哪些优点和缺点? 解: 结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。 虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。 由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。 1-4 什么是对象?什么是面向对象方法?这种方法有哪些特点? 解: 从一般意义上讲,对象是现实世界中一个实际存在的事物,它可以是有形的,也可以是无形的。对象是构成世界的一个独立单位,它具有自己的静态特征和动态特征。面向对象方法中的对象,是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位,由一组属性和一组行为构成。 面向对象的方法将数据及对数据的操作方法放在一起,作为一个相互依存、不可分离的整体--对象。对同类型对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口,与外界发生关系,对象与对象之间通过消息进行通讯。这样,程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。通过实现继承与多态性,还可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。 面向对象方法所强调的基本原则,就是直接面对客观存在的事物来进行软件开发,将人们在日常生活中习惯的思维方式和表达方式应用在软件开发中,使软件开发从过分专业化的方法、规则和技巧中回到客观世界,回到人们通常的思维。 1-5 什么叫做封装? 解: 封装是面向对象方法的一个重要原则,就是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐蔽对象的部细节。 1-6 面向对象的软件工程包括哪些主要容? .

C语言程序设计第二章作业参考答案

《C语言程序设计》第2章作业 布置日期:2017-10-23 截止日期:2017-11-3 一、单选题(每小题4分,共100分) 1、以下说法中正确的是____。 A、C语言程序总是从第一个函数开始执行 B、在C语言程序中,要调用的函数必须在main()函数中定义 C、C语言程序总是从main()函数开始执行 D、C语言程序中的main()函数必须放在程序的开始部分 2、若一个void型函数定义中没有return语句,则调用该函数时,函数______。 A、没有返回值 B、返回若干个系统默认值 C、返回一个用户所希望的函数值 D、返回一个不确定的值 3、一个C程序的执行是________。 A、从本程序的main函数开始,到本程序的main函数结束 B、从本程序的main函数开始,到本程序的最后一个函数结束 C、从本程序的第一个函数开始,到本程序的最后一个函数结束 D、从本程序的第一个函数开始,到本程序的main函数结束 4、若已定义x和y为double类型,且x=1,则表达式y=x+3/2的值是______。 A、1

B、2 C、2.0 D、2.5 5、设a为整型变量,能表达数学关系1010&&a<15 C、a>10 and a<15 D、a>10||a<15

语言程序设计第二章网上作业

1、C语言程序的基本结构单位是________。 A、函数 B、语句 C、字符 D、程序行 你的回答: A (√) 参考答案:A 2、C语言规定在一个C程序中,main函数的位置________。 A、必须在开始 B、必须在最后 C、可以任意 D、必须在系统调用的库函数之后 你的回答: C (√) 参考答案:C 3、能直接让计算机识别的语言是________。 A、高级语言 B、机器语言 C、汇编语言 D、C语言 你的回答: B (√) 参考答案:B 4、编辑程序的功能是______。 A、调试程序 B、建立并修改文件 C、将C语言程序编译成目标程序 D、命令计算机执行指定的操作 你的回答: D (×) 参考答案:B 5、C语言提供的合法关键字是______。 A、switch B、Case C、printf D、loop 你的回答: A (√) 参考答案:A 6、在C语言中合法的字符或字符串常量是______。 A、"int" B、'ab' C、'\n'

你的回答: D (×) 参考答案:A 7、若已定义x和y为double类型,且x=1,则表达式y=x+3/2的值是______。 A、1 B、2 C、 D、 你的回答: C (√) 参考答案:C 8、设a为整型变量,能表达数学关系1010&&a<15 C、a>10 and a<15 D、a>10||a<15 你的回答: B (√) 参考答案:B 9、若有语句: int u=010,v=0x10,w=10; printf("%d,%d,%d\n",u,v,w); 则输出的结果是______。 A、8,16,10 B、10,10,10 C、8,8,10 D、8,10,10 你的回答: A (√) 参考答案:A 10、在for(表达式1;表达式2;表达式3)循环中, _______常用于表示循环条件判断。 A、表达式1 B、表达式2 C、表达式3 D、都不是 你的回答: B (√) 参考答案:B 11、若k是int型变量,且有下面的程序片段: k=-3; if(k<=0) printf(“####”); else printf(“&&&&”); 上面程序片段的输出结果是

C语言程序设计课后答案

第二章 C++简单程序设计 2-10 执行完下列语句后,a、b、c三个变量的值为多少? a = 30; b = a++; c = ++a; 解: a:32 ; b:30 ; c:32; 2-13 写一条for语句,计数条件为n从100到200,步长为2;然后用while和do…while语句完成同样的循环。 解: for循环: for (int n = 100; n <= 200; n += 2); while循环: int x = 100; while (n <= 200) n += 2; do…while循环: int n = 100; do { n += 2;

} while(n <= 200); 2-17 修改下面这个程序中的错误,改正后它的运行结果是什么?#include <> void main() int i int j; i = 10; /* 给i赋值 j = 20; /* 给j赋值 */ cout << "i + j = << i + j; /* 输出结果 */ return 0; } 解: 改正: #include <> int main() { int i; int j; i = 10; n"; cout << "You are: " << yourAge << " years old\n"; myAge++; .\n"; cout << "I am: " << myAge << " years old.\n";

cout << "You are: " << yourAge << " years old\n"; cout << "Another year passes\n"; cout << "I am: " << myAge++ << " years old.\n"; cout << "You are: " << ++yourAge << " years old\n"; cout << "Let's print it again.\n"; cout << "I am: " << myAge << " years old.\n"; cout << "You are: " << yourAge << " years old\n"; return 0; } 解: 程序运行输出: I am 39 years old You are 39 years old One year passes I am 40 years old You are 40 years old Another year passes I am 40 years old You are 41 years old Let's print it again I am 41 years old You are 41 years old

C程序设计谭浩强第二章习题与答案

C程序设计谭浩强第二 章习题与答案 TYYGROUP system office room 【TYYUA16H-TYY-TYYYUA8Q8-

习题 2.1什么是算法?是从日常生活中找三个例子,描述他们的算法 答:对操作的描述,即操作步骤,就是算法。 广义的说;为解决一个问题而采取的方法和步骤,就称为“算法”。 例:(略) 2.2什么叫结构化的算法为什么要提倡结构化的算法 2.3 答:由基本节构所构成的算法属于“结构化”的算法。 结构化的算法便于编写、阅读、便于修改和维护。这就减少了程序出错的机会、提高了程序的可靠性,保证了程序的质量。 2.4试述三种基本结构的特点,你能否自己另外设计两种基本结构(要符合基本结构 的特点)。

答:基本结构有以下共同点: 1:只有一个入口。图2-中的a点为入口。 2:只有一个出口。图2-中的b点为出口。注意,一个判断框有两个出口,但一个选择结构只有一个出口。不能混淆。 3:结构内的每一部分都有被执行到的机会。也就是说,对每一个框来说,都应当有一条到出口的路径通过它。图2-20中就没有一条从入口到出口的路径通过A框。 4:结构内不存在死循环(无终止的循环)。图2-21就是一个死循环。 需要说明的是基本结构并不一定只限于以上3中,只要有以上四种特点就可以。人们可以自己定义之。例:如下两图 2.5用传统流程图表示求解一下问题的算法。 (1)有两个瓶子A和B,分别放醋和酱油,要求将他们互换。 #include<>void main(){int a;int b;int c;a=10;b=5;printf("%d,%d\n",a,b);c=a;a=b;b=c;printf("%d,%d\n",a,b);} (2)一次将10个数输入,要求将将其中最大的数输出。 #include<>void main(){int a[10];int i;int max;printf("input 10 numbers.\n");for(i=0;i<10;i++) scanf("%d",&a[i]); printf("\n");max=a[0];for(i=1;i<10;i++) if(maxvoid main(){int a;int b;int c;int t;scanf("%d%d%d",&a,&b,&c);printf("\n");printf("the first numbers:");printf("%d,%d,%d\n",a,b,c);if(a

相关主题
文本预览
相关文档 最新文档