void main() {

int i,j,k,flag; i = 2;

while(i <= 100) {

flag = 1; k = sqrt(i); j = 2;

while (j <= k) {

if(i%j == 0) {

flag = 0; break; } j++; }

if (flag)

cout << i << \是质数.\i++; } }

使用do?while循环语句: #include #include

void main() {

int i,j,k,flag; i = 2; do{ flag = 1; k = sqrt(i); j = 2; do{

if(i%j == 0) {

flag = 0; break; } j++;

}while (j <= k); if (flag)

cout << i << \是质数.\i++;

}while(i <= 100);

}

使用for循环语句: #include #include

void main() {

int i,j,k,flag;

for(i = 2; i <= 100; i++) {

flag = 1; k = sqrt(i);

for (j = 2; j <= k; j++) {

if(i%j == 0) {

flag = 0; break; } }

if (flag)

cout << i << \是质数.\} }

程序运行输出: 2是质数. 3是质数. 5是质数. 7是质数. 11是质数. 13是质数. 17是质数. 19是质数. 23是质数. 29是质数. 31是质数. 37是质数. 41是质数. 43是质数. 47是质数. 53是质数. 59是质数. 61是质数. 67是质数. 71是质数. 73是质数. 79是质数.

9

83是质数. 89是质数. 97是质数.

2-32 比较Break语句与Continue语句的不同用法。 解:

Break使程序从循环体和switch语句内跳出,继续执行逻辑上的下一条语句,不能用在别处;

continue 语句结束本次循环,接着开始判断决定是否继续执行下一次循环;

2-33 定义一个表示时间的结构体,可以精确表示年、月、日、小时、分、秒;提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来。 解:

源程序见\实验指导\部分实验二

2-34 在程序中定义一个整型变量,赋以1~100的值,要求用户猜这个数,比较两个数的大小,把结果提示给用户,直到猜对为止。分别使用while、do?while语句实现循环。 解:

//使用while语句 #include

void main() { int n = 18; int m = 0; while(m != n) {

cout << \请猜这个数的值为多少?(0~~100):\cin >> m; if (n > m)

cout << \你猜的值太小了!\else if (n < m)

cout << \你猜的值太大了!\else

cout << \你猜对了!\}

}

//使用do?while语句 #include

void main() { int n = 18; int m = 0; do{

cout << \请猜这个数的值为多少?(0~~100):\cin >> m; if (n > m)

cout << \你猜的值太小了!\else if (n < m)

cout << \你猜的值太大了!\else

cout << \你猜对了!\}while(n != m); }

程序运行输出:

请猜这个数的值为多少?(0~~100):50 你猜的值太大了!

请猜这个数的值为多少?(0~~100):25 你猜的值太大了!

请猜这个数的值为多少?(0~~100):10 你猜的值太小了!

请猜这个数的值为多少?(0~~100):15 你猜的值太小了!

请猜这个数的值为多少?(0~~100):18 你猜对了!

2-35 定义枚举类型weekday,包括Sunday到Saturday七个元素在程序中定义weekday类型的变量,对其赋值,定义整型变量,看看能否对其赋weekday类型的值。 解:

#include

enum weekday { Sunday, Monday, Tuesday, Wednesday, Thursday,

10

Friday, Saturday };

void main() { int i;

weekday d = Thursday; cout << \i = d;

cout << \

d = (weekday)6;

cout << \d = weekday( 4 );

cout << \}

程序运行输出: d = 4 i = 4 d = 6 d = 4

第三章 函数

3-1 C++中的函数是什么?什么叫主调函数,什么叫被调函数,二者之间有什么关系?如何调用一个函数? 解:

一个较为复杂的系统往往需要划分为若干子系统,高级语言中的子程序就是用来实现这种模块划分的。C和C++语言中的子程序就体现为函数。调用其它函数的函数被称为主调函数,被其它函数调用的函数称为被调函数。一个函数很可能既调用别的函数又被另外的函数调用,这样它可能在某一个调用与被调用关系中充当主调函数,而在另一个调用与被调用关系中充当被调函数。

调用函数之前先要声明函数原型。按如下形式声明: 类型标识符 被调函数名 (含类型说明的形参表); 声明了函数原型之后,便可以按如下形式调用子函数: 函数名(实参列表)

3-2 观察下面程序的运行输出,与你设想的有何不同?仔细体会引用的用法。

源程序:

#include

int main() {

int intOne;

int &rSomeRef = intOne;

intOne = 5;

cout << \cout << \

int intTwo = 8;

rSomeRef = intTwo; // not what you think! cout << \cout << \cout << \return 0; }

程序运行输出: intOne: 5 rSomeRef: 5

intOne: 8 intTwo: 8 rSomeRef: 8

3-3 比较值调用和引用调用的相同点与不同点。 解:

值调用是指当发生函数调用时,给形参分配内存空间,并用实参来初始化形参(直接将实参的值传递给形参)。这一过程是参数值的单向传递过程,一旦形参获得了值便与实参脱离关系,此后无论形参发生了怎样的改变,都不会影响到实参。 引用调用将引用作为形参,在执行主调函数中的调用语句时,系统自动用实参来初始化形参。这样形参就成为实参的一个别名,对形参的任何操作也就直接作用于实参。

3-4 什么叫内联函数?它有哪些特点? 解:

定义时使用关键字 inline的函数叫做内联函数;

编译器在编译时在调用处用函数体进行替换,节省了参数传递、

11

控制转移等开销;

内联函数体内不能有循环语句和switch语句;

内联函数的定义必须出现在内联函数第一次被调用之前; 对内联函数不能进行异常接口声明;

3-5 函数原型中的参数名与函数定义中的参数名以及函数调用中的参数名必须一致吗? 解:

不必一致,所有的参数是根据位置和类型而不是名字来区分的。

3-6 重载函数时通过什么来区分? 解:

重载的函数的函数名是相同的,但它们的参数的个数和数据类型不同,编译器根据实参和形参的类型及个数的最佳匹配,自动确定调用哪一个函数。

3-7 编写函数,参数为两个unsigned short int型数,返回值为第一个参数除以第二个参数的结果,数据类型为short int;如果第二个参数为0,则返回值为-1。在主程序中实现输入输出。 解: 源程序:

#include

short int Divider(unsigned short int a, unsigned short int b) {

if (b == 0) return -1; else return a/b; }

typedef unsigned short int USHORT; typedef unsigned long int ULONG; int main() {

USHORT one, two; short int answer;

cout << \cin >> one;

cout << \cin >> two;

answer = Divider(one, two); if (answer > -1)

cout << \else

cout << \return 0; }

程序运行输出: Enter two numbers. Number one:8 Number two:2 Answer: 4

3-8 编写函数把华氏温度转换为摄氏温度,公式为:C = (F - 32) * 5/9; 在主程序中提示用户输入一个华氏温度,转化后输出相应的摄氏温度。 解:

源程序见\实验指导\部分实验三

3-9 编写函数判断一个数是否是质数,在主程序中实现输入、输出。 解:

#include #include

int prime(int i); //判一个数是否是质数的函数

void main() { int i;

cout << \请输入一个整数:\cin >> i; if (prime(i))

cout << i << \是质数.\else

cout << i << \不是质数.\}

int prime(int i) {

12

c语言郑莉第四版答案,C语言程序设计(郑莉)课后习题答案相关推荐

  1. 单片机的c语言应用程序设计答案第六版,单片机C语言应用程序设计马忠梅课后习题答案...

    <单片机C语言应用程序设计马忠梅课后习题答案>由会员分享,可在线阅读,更多相关<单片机C语言应用程序设计马忠梅课后习题答案(4页珍藏版)>请在人人文库网上搜索. 1.第一章 1 ...

  2. 高精度小数乘法c语言程序设计教程课后答案,级C语言程序设计基教程课后习题答案.doc...

    级C语言程序设计基教程课后习题答案 C语言课后习题习题答案详解(11级教材) 第1章 填空题 应用程序ONEFUNC.C中只有一个函数,这个函数的名称是__main . 一个函数由__函数头__和__ ...

  3. 自考04747《java语言程序设计(一)》课件_自考04747《java语言程序设计(一)》课后习题答案全集...

    <自考04747<java语言程序设计(一)>课后习题答案全集>由会员分享,可在线阅读,更多相关<自考04747<java语言程序设计(一)>课后习题答案全集 ...

  4. matlab张志涌版课后习题答案,matlab教程(张志涌)课后习题答案.doc

    matlab教程(张志涌)课后习题答案 matlab教程(张志涌)课后习题答案 导读:就爱阅读网友为您分享以下"matlab教程(张志涌)课后习题答案"资讯,希望对您有所帮助,感谢 ...

  5. Thinking in Java 4th(Java编程思想第四版)文档、源码、习题答案

    Thinking in Java 4th 中.英文两版pdf文档,书中源码及课后习题答案.链接:https://pan.baidu.com/s/1BKJdtgJ3s-_rN1OB4rpLTQ 密码:2 ...

  6. oracle 11g第二版课后答案,oracle 11g(钱慎一)课后习题答案

    oracle 11g数据库基础与应用教程(钱慎一)含1-8章课后习题答案 一.选择题 1. 若关系的某一属性组的值能唯一地标识一个元组,我们称之为( B ). A.主码 B.候选码 C.外码 D.联系 ...

  7. 在c语言中为了结束while语序,2011级C语序设计基础教程课后习题答案.doc

    2011级C语序设计基础教程课后习题答案 C语言课后习题习题答案详解(11级教材) 第1章 填空题 应用程序ONEFUNC.C中只有一个函数,这个函数的名称是__main . 一个函数由__函数头__ ...

  8. c51语言提供了code存储类型来访问,单片机原理与应用(C51编程+proteus仿真)第2版张毅刚--第3章课后习题答案2020年1月30日整理...

    单片机原理与应用(C51编程+proteus仿真)第2版 -张毅刚课后习题参考答案 第3章思考题及习题3 参考答案 一.填空 1.与汇编语言相比, C51语言具有().().().和()等优点.答:可 ...

  9. c++陈维兴第三版3.35_C++面向对象程序设计教程第3版—陈维兴,林小茶课后习题答案...

    C++ 面向对象程序设计教程课后题答案 1 . 1 什么就是面向对象程序设计 ? 面向对象程序设计就是一种新的程序设计范型.这种范型的主要特征就是 : 程序 = 对象 + 消息 面向对象程序的基本元素 ...

  10. C语言程序设计教程(第三版)李凤霞 第十一章课后习题答案

    第十一章 文件 一.单项选择题 1.在进行文件操作时,写文件的一般含义是( ). A)将计算机内存中的信息存入磁盘 B)将磁盘中的信息存入计算机内存 C)将计算机CPU中的信息存入磁盘 D)将磁盘中的 ...

最新文章

  1. 页面大小和页表项之间有必然的联系么?【转】
  2. 前端工程师面试题JavaScript部分(第二季)
  3. C#实现对指定文件夹中文件按修改时间排序
  4. 7.Vue 列表渲染
  5. ASP.NET Core 2.0 特性介绍和使用指南
  6. 林俊卿咽音练声法八个步骤(纯净版视频加图文)(转)
  7. java之代理设计模式
  8. MyBatisPlus_更新篇_入门试炼_03
  9. python面试题之Python如何实现单例模式?
  10. 一个非常感人的爱情故事
  11. 思想一碰就冒火: 开源贡献须耐心, 选择框架要谨慎
  12. MEF入门之不求甚解,但力求简单能讲明白(四)
  13. Twitter数据抓取的方法(一)
  14. 最新版本kindle安卓app导入mobi图书和设置自定义字体的方法2020.01.09
  15. 姓氏头像制作生成头像组合微信小程序源码
  16. VUE2.X全教程--基础详解(二)
  17. F5 BIG-IP 17.0.0
  18. QT应用编程: 获取系统当前时间以及1970到现在的总秒数
  19. bilibili下载的m4s格式视频如何还原为mp4?
  20. 蓝桥杯国赛8-JavaA-2-瓷砖样式

热门文章

  1. 电容在电路中各种作用的基本常识
  2. 移动互联网繁荣本质是什么
  3. 机器人或将人类推向“无能之下的自由”
  4. 第九篇《颅骨穿孔——后篇》
  5. 期权二叉树定价参数的计算
  6. 最优分配问题——拍卖算法
  7. 【北邮国院大二下】产品开发与营销知识点整理 Topic7
  8. 高动态卫星DSSS信号Turbo迭代捕获算法
  9. 机器自动翻译古文拼音 - 十大宋词 - 破阵子 醉里挑灯看剑 辛弃疾
  10. UML九图之三(状态图)