第3章 结构化程序设计习题

合集下载

练习题-第三、四章 结构化开发及程序控制(有答案)

练习题-第三、四章 结构化开发及程序控制(有答案)

一、填空题1.设C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围是-32768 ~ 32767。

2.设C语言中,一个char型数据在内存中占1个字节,则char型数据的取值范围是-128 ~ 127。

3.执行下列语句后,z的值是11 。

int x = 4, y = 25, z = 2;z = (--y / x++) * z--;4.C语言规定以’\0’字符作为字符串结束标志。

5.若a是int型变量,且a的初值为6,则计算表达式a = 25 / 3 % 3后a的值为 2 。

6.数值在内存中的表示形式分为定点数和浮点数。

7.C语言规定以’\0’字符作为字符串结束标志,该字符的ASCII码是___0____。

8.在C语言中,使用“sqrt”库函数,需要用#include命令将头文件math.h包含进来。

9.在C语言中,使用putchar库函数,需要用#include命令将头文件stdio.h 包含进来。

10.根据定义和数据的输入方式,输入语句的正确形式为scanf(“%f%f”,&f1,&f2);已有定义:float f1,f2;数据的输入方式:4.523.511.以下语句的输出结果是ffff 。

int a=-1;printf(“%x”,a);12.以下语句的输出结果是__65492____。

printf(“%u\n”, -0x2c);13.下面程序的运行结果是___F___。

main( ){ if ( 2 * 2 = = 5 < 2 * 2 = = 4 )printf(“T”);elseprintf(“F”);}14.已知A=7.5, B=2, C=3.6,表达式A>B && C>A || A<B && !C>B的值是__0_。

15.下面程序段的运行结果是__**____。

x = 2;do { printf (“*”); x--;} while(!x = = 0);16.下面程序的运行结果是______。

C++第三章课后答案

C++第三章课后答案

C++第三章课后答案C++第三章习题及答案1、什么是结构化程序设计?它有什么优缺点?所谓结构化程序设计,是一种自顶而下、逐步求精的模块化程序设计方法。

2、什么是对象?什么是类?简述对象与类之间的关系!对象是系统中用来描述客观事物的一个实体,它是用于构成系统的一个基本单位,而系统可以看作是由一系列相互作用的对象组成。

类定义了同类对象的公共属性和行为,属性用数据结构表示,行为用函数表示!《类=数据结构+对数据进行操作的函数》。

对象和类的关系相当于元素和集合的关系、变量和变量的“数据类型”的关系。

从程序设计的角度来说,类是一种复杂的自定义数据类型,对象是属于这种数据类型的变量。

3、什么是面向对象程序设计?面向对象程序设计方法具有哪些基本特征?请比较面向对象程序设计和面向对象过程程序设计有何异同?4、何谓成员变量?何谓成员函数?C++将对象的属性抽象为数据成员,将对象的行为抽象为成员函数。

5、C++中结构和类之间有何异同?结构在默认情况下的成员是公共的,而类在默认情况下的成员是私有的。

在C++中,结构是特殊的类。

6、在C++中如何定义类?如何实现定义的类?如何利用类申明对象?7、类的成员的访问权限有哪几种?请说明它们分别有什么作用?三种,privte:类的私有成员,只能被本类的成员函数访问或调用。

Public:公有成员,可以被本类的成员或其他类的成员函数(通过对象)访问或调用。

Protected:保护成员,可以被本类的成员函数或派生类的成员函数访问或调用。

8、何谓构造函数?何谓析构函数?请说明它们分别有什么作用?构造函数:不需要用户程序调用,就能在创建对象时由系统自动调用,其作用是在对象被创建时利用初始值去构造对象,使得在声明对象时就能自动完成对象的初始化。

析构函数:在对象的生存周期即将结束时由系统自动调用的,其作用是用来在对象被删除前做一些清理工作和数据保存工作。

9、如何定义一个内联成员函数?内联函:内联函数必须是和函数体申明在一起,才有效。

结构化程序设计练习题

结构化程序设计练习题

一、选择题1.如a="1", b="2", x12="email", m="my" , m+x&a.&b的显示结果是( B )。

A)email B)myemail C)myemail12 D)email122.在WAIT、ACCEPT和INPUT 命令中,需要以回车键表示输入结束的命令是( C )。

A)WAIT、ACCEPT、INPUT B)WAIT、ACCEPTC)ACCEPT、INPUT D)INPUT、WAIT3.用于声明所有变量是私有变量的命令是( A)。

A)PRIV all B)PUBLIC allC)all =0 D)STORE 0 TO all4.下列命令中,不能终止程序运行的命令是( A )。

A)CLOSE B)SUSPEND C)QUIT D)WAIT 5.在程序中用PRIVATE语句定义的内存变量有以下特性(C )。

A)可以在所有过程中使用B)只能在定义该变量的过程中使用C)只能在定义该变量的过程中及本过程所嵌套的过程中使用D)只能在定义该变量的过程中及该过程所嵌套的过程中与相关数据库一起使用6.设当前不存在任何内存变量,在命令窗口中执行“PRIVATE X”,则X变量被定义为( D )。

A)全局变量,并自动赋值为.F. B)区域变量C)私有变量,并自动赋值为.F. D)变量没有产生7.设当前不存在任何内存变量,在命令窗口中执行“PUBLIC X”,则X变量被定义为( A )。

A)全局变量,并自动赋值为.F. B)区域变量C)局部变量,并自动赋值为.F. D)变量没有产生8.面向对象程序的主要结构特点之一是( C )。

A)程序中的一切操作都是通过调用函数来实现的。

B)程序中的一切操作都是通过定义函数来实现的。

C)程序中的一切操作都是通过向对象发送消息来实现的。

D)程序中的一切操作都是通过定义类来实现的。

第3章 结构化程序设计语句

第3章  结构化程序设计语句

图3-16 程序运行界面
3.3.2 上机练习二:捉拿肇事司机 上机练习二:
【练习题目】 练习题目】 题目 一辆卡车违反交通规则,撞死行人, 一辆卡车违反交通规则,撞死行人,司机畏罪驾车逃 当时有三个人目击这一车祸的发生, 跑。当时有三个人目击这一车祸的发生,但都没有看清卡 车的牌照号码,只记住牌照号码的部分特征, 车的牌照号码,只记住牌照号码的部分特征,甲记住牌照 号码的前两位数字是相同的, 号码的前两位数字是相同的,乙记住牌照号码的后两位数 字是相同的,丙是一位数学家,他说“ 字是相同的,丙是一位数学家,他说“车牌号码肯定是四 位数,而且恰好是一个整数的平方。 位数,而且恰好是一个整数的平方。”,并且丙已推导出 符合该条件的号码只可能有一个。 符合该条件的号码只可能有一个。根据这些信息来判定车 牌号并捉拿肇事司机。要求编写控制台应用程序。 牌号并捉拿肇事司机。要求编写控制台应用程序。
3.1 循序渐进学理论
3.1.1 if语句 语句
1.用if语句实现单分支选择结构 . 语句实现单分支选择结构 [格式 :(表达式 语句 格式]: 表达式 语句; 表达式) 格式
图3-1 单分支选择结构执行流 程图
编写一个程序实现如下功能: 【 例 3-1】 编写一个程序实现如下功能 : 输入一个成绩, 如果成绩大于等于60 60则输出 输入一个成绩 , 如果成绩大于等于 60 则输出 恭喜您,您通过了这次考试! “恭喜您,您通过了这次考试!”,否则不输 出任何信息。要求编写成控制台应用程序。 出任何信息。要求编写成控制台应用程序。
[格式2]:randomObj.Next(N) 格式2]: 2] 例如,有下列语句: 例如,有下列语句: Random randomObj=new Random() i=randomObj.Next(10 10) i=randomObj.Next(10); 其作用是产生一个0~9之间的随机整数并赋值给变量i 0~9之间的随机整数并赋值给变量 其作用是产生一个0~9之间的随机整数并赋值给变量i。 格式3] 3]: [格式3]:randomObj.Next(N,M) 例如,有下列语句: 例如,有下列语句: Random randomObj=new Random() i=randomObj.Next(5 10) i=randomObj.Next(5,10); 其作用是产生一个5~9之间的随机整数并赋值给变量i 5~9之间的随机整数并赋值给变量 其作用是产生一个5~9之间的随机整数并赋值给变量i。

高级程序语言设计 清华大学出版社 第3章参考答案

高级程序语言设计 清华大学出版社 第3章参考答案

第三章一、单选题二、填空题1.顺序结构、选择结构、循环结构2.scanf( )、printf( )3. 14. 25. 16. 1237.s=2548.8三、简答题1.什么是结构化的程序设计?它有什么特点?答:结构化程序设计的基本思想是:任何程序都可以通过顺序结构、选择结构、循环结构表示。

复杂程序是经过这三种基本结构反复嵌套使用而构成的。

结构化程序的优点是程序模块结构清楚,层次分明,易于读写。

2.什么是关系运算?什么是逻辑运算?什么是条件运算?答:(1)关系运算是通过C语言提供的6种关系运算符对两个值的大小等关系进行比较。

(2)逻辑运算既通过三种逻辑运算符对逻辑量进行与、或、非的运算即逻辑运算。

(3)条件运算是通过条件运算符“?:”构造的条件表达式:表达式1 ?表达式2 :表达式3,根据表达式1的值判断条件表达式的最终计算结果是取表达式2的值还是取表达式3的值。

3.空语句是可有可无的吗?答:不是,虽然空语句是什么也不执行的语句,但是在程序中空语句可用来构成循环结构中的空循环体。

4.C语言中如何判断一个量的"真"、"假"?答:如果某个量的值不为0时,则在逻辑运算中被判别为真;否则,如果其值为0时,被判别为假。

5.请谈谈条件表达式和条件语句有什么区别和联系?答:条件表达式和条件语句都可以根据给定的条件进入不同的分支执行语句。

条件表达式语句简练,如果选择结构比较简单,可以采用条件表达式来实现。

而通过条件语句,以及语句的嵌套,可以实现更复杂的选择结构。

四、程序设计题1.编写程序,输出x2的值,x取值从0到10。

答案:#include "stdio.h"void main(){int x;for(x=0; x<=10; x++)printf("square(%d)=%d\n", x, x*x);}2.编写程序,从键盘输入三个整数,求其中的最大数和最小数,并输出结果。

C++_CHAP3

C++_CHAP3
#include <iostream.h> void main() { const int N=99; int counter,sum=0; counter=2; while(counter<=N) { sum+=counter; counter+=2; } cout<<"The total is "<<sum<<endl; }
其语法形式: 其语法形式:
for(表达式 表达式 表达式 表达式1;表达式 表达式3) 表达式 表达式2;表达式 语句
C++与结构化程序设计 第3章 C++与结构化程序设计
表达式1 表达式
false
表达式2 表达式
true
语 句
表达式3 表达式
C++与结构化程序设计 第3章 C++与结构化程序设计
C++与结构化程序设计 第3章 C++与结构化程序设计
if(b) { cout<<n<<'\t'; counter++; if(counter%5==0) cout<<endl; } } }
C++与结构化程序设计 第3章 C++与结构化程序设计
C++与结构化程序设计 第3章 C++与结构化程序设计
if语句嵌套 3.4.2 if语句嵌套
C++语言中规定else始终与同 一层中上面最接近它的if语句 配对,而这个if语句又没有其 他的else与之匹配。最好用 大括号{}括起该层的if语句 来确定层次关系。

计算机科学导论(第4版)习题答案-第3、4章

计算机科学导论(第4版)习题答案-第3、4章

第3章程序设计语言习题一、选择题1. A2. A3. D4. A5. AB6. C7.D8.C9.D 10. D11.ABCD 12.B 13.A 14.A二、简答题1.简述程序的概念。

答:一个程序就是能够实现特定功能的一组指令序列的集合。

或者程序=算法+数据结构。

2. 简述程序设计语言的发展阶段。

经历了机器语言、汇编语言和高级语言三个发展阶段。

机器语言又称面向机器的语言,是特定的计算机硬件系统所固有的语言,是CPU唯一能够真正不经过翻译而直接识别和执行的语言。

相比而言,其他任何语言编写的程序都必须最终转换成机器语言以后才能在CPU上执行。

由于二进制编码形式的机器指令不便于记忆和使用,人们很快引入了便于记忆、易于阅读和理解、由英文单词或其缩写符号表示的指令,称为汇编指令,又称符号指令或助记符。

利用汇编指令编写得到的程序称为汇编语言程序。

通过引入汇编语言,在一定程度上解决了低级语言程序设计的问题,之后又出现了程序的“可移植性”问题,即程序员编写的源程序如何从一台计算机方便地转移到另一台计算机上执行。

为了解决这个问题,人们引入了高级语言。

高级语言是一种利用意义比较直观的各种“单词”和“公式”,按照一定的“语法规则”来编写程序的语言,又称为程序设计语言或算法语言。

高级语言之所以“高级”,是因为高级语言把很多硬件上复杂费解的概念抽象化了,从而使得程序员可以绕开复杂的计算机硬件的问题、无需了解计算机的指令系统,就能完成程序设计的工作。

3. 简述程序设计过程的一般步骤。

程序设计的过程一般有四个步骤。

(1)分析问题在着手解决问题之前,应该通过分析,充分理解问题,明确原始数据、解题要求、需要输出的数据及形式等。

(2)设计算法算法是解题的过程。

首先集中精力于算法的总体规划,然后逐层降低问题的抽象性,逐步充实细节,直到最终把抽象的问题具体化成可用程序语句表达的算法。

这是一个自上而下、逐步细化的过程。

(3)编码利用程序设计语言表示算法的过程称为编码。

第三章 顺序结构程序设计习题

第三章 顺序结构程序设计习题

第三章顺序结构程序设计习题一、填空题(1)表达式5/3的结果是 1 ,表达式5/3.0的结果是1.6 ,表达式3%5的结果是 3 。

(2)定义int x,y;执行执行y=(x=1,++x,x+2);语句后,y的值是4 。

(3)设int x=4,y=5;表达式y==x+1的结果是 1 。

(4)字符串“a+b=23”的长度为 7 。

(5)设double x=5;printf(“ %f \n”,x);。

(6)标准C语言的输入、输出是通过 printf scanf 来实现的。

(7)格式化输入函数中如果有转义字符,转义字符应当实际输入。

(8)putchar函数和getchar函数是专门处理输入输出字符函数。

(9)格式化输出函数中的输出项表可以由变量组成,格式化输入函数的中输入项表必须由 &地址变量组成。

(10)“&变量”含义是查找地址列表。

(11)借助于临时变量k交换a和b两个变量的值,应顺序执行赋值语句是 k=a 、a=b 和 b=k 。

(12)以下程序输入12345<CR>后的执行结果是a=12,b=345 + 。

#include <stdio.h>main(){int a,b;scanf(“%2d%3d”,&a,&b);printf(“a=%d,b=%d\n”,a,b);}(13)以下程序输入 1 2 3<CR>后的执行结果是a=1,b= ,c=2 。

#include <stdio.h>main(){int a,v;char b;scanf(“%d%c%d”,&a,&b,&c);printf(“a=%d,b=%c,c=%d\n”,a,b,c);}二、选择题(1)以下程序片段的执行结果是(B )。

float f=13.8f;int n;n=((int)f)%3;printf("n=%d\n",n);A.n=2B.n=1C.2D.1(2)下列程序段,如果要将x1=10,x2=20,ch1=’a’,ch2=’b’,正确的输入是( C )。

计算机程序设计基础(C++)(景红版)课后全部习题及参考答案

计算机程序设计基础(C++)(景红版)课后全部习题及参考答案

()7. short,int都是C++语言的关键字。

()8. C++编译系统对源程序编译时,可以检查出注释语句中的语法错误。

()9. 将一个字符常量放到一个字符变量中,并不是把该字符本身放到内存变量中去,而是将该字符相应的ASCII代码放到存储单元中。

()10. 语句int answer=3+2 9/(10-6);执行完毕后,变量answer的值是7.5。

三、单项选择题1. C++源程序文件的扩展名为()。

(A).CPP(B).OBJ(C).C(D).EXE2. 下列变量名中,()是合法的。

(A)double(B)A+a(C)CHINA(D)5s3. 下列符号能用作C++标识符的是()(A)xyz/2 (B)2xsale (C)x-sale (D)x_sale4. 下列各运算符中,()只能用于整型数据的运算。

(A)+(B)/(C) (D)%5.()不是C++的基本数据类型。

(A)字符类型(B)数组类型(C)整数类型(D)布尔类型6. 下列运算符中,优先级最高的是()。

(A)%(B)!(C)>=(D)/7. 字符串常量“ME”的字符个数是()。

(A)4(B)3(C)2(D)18. 在C++语言中,080是()。

(A)八进制数(B)十进制数(C)十六进制数(D)非法数9. 整型变量i定义后赋初值的结果是()。

int i=2.8 6;(A)12(B)16(C)17(D)1810.如有int m=31;则表达式(m++*1/2)的值是()。

(A)0 (B)15 (C)15.5 (D)1611.每个C++程序都必须有且仅有一个()。

(A)预处理命令(B)主函数(C)函数(D)语句12.在C++语言中,自定义的标志符()。

(A)能使用关键字并且不区分大小写(B)不能使用关键字并且不区分大小写(C)能使用关键字并且区分大小写(D)不能使用关键字并且区分大小写13.下列C++标点符号中表示一条语句结束的是()。

结构化程序设计习题答案

结构化程序设计习题答案

结构化程序设计习题答案第三章结构化程序设计部分习题一、选择题1、设有程序段int k=10;while(k=0) k=k-1;则下面叙述中正确的是( )(A) while循环执行10次(B) 循环是无限循环(C) 循环体语句一次也不执行(D) 循环体语句执行一次2、设有以下程序段int x=0,s=0;while(!x!=0) s+=++x;cout<<s;< p="">则( )(A) 运行程序段后输出0(B) 运行程序段后输出1(C) 程序段中的控制表达式是非法的(D) 程序段执行无限次3、语句while(!E); 中的表达式!E等价于( )(A) E==0(B) E!=1(C) E!=0(D) E==14、下面程序段的运行结果是( )a=1; b=2; c=2;while(a<b<="" p="" {t="a;">cout<<a<<’,’<<b<<’,’<<c;< p="">(A) 1,2,0(B) 2,1,0(C) 1,2,1(D) 2,1,15、下面程序段的运行结果是( )x=y=0;while(x<15) y++,x+=++y;cout<<y<<’\t’<<x;< p="">(A) 20,7(B) 6,12(C) 20,8(D) 8,206、下面程序段的运行结果是( )int n=0;while(n++<=2); cout<<n;< p="">(A) 2(B) 3(C) 4(D) 有语法错7、设有程序段t=0;while(1){t++;if(t<3) break;}cout<<t;< p="">程序运行结果是( )(A) 0(B) 1(C) 2(D) 38、下面程序的功能是将从键盘输入的一对数,由小到大排序输出。

第3章结构化程序设计习题答案

第3章结构化程序设计习题答案

《C语言程序设计(Visual C++6.0环境)》习题答案习题三一、选择题1.C2.A3.C4.D5.C6.B二、填空题1、<CR>12、$$$$$$$$$$$$$$$$$$$$3、89104、0 01 12 3三、思考题1、32、1,53、循环条件由-1开始一直减1,永远不能得0,因此循环条件恒为真,无法结束,造成死循环。

4、无限循环四、编程题1、用if语句编程,输入一个数,输出这个数的绝对值。

#include "stdio.h"main(){int m,n; /*或者定义成实型*/printf("请输入一个整数: ");scanf("%d",&m);if(m>=0)n=m;elsen=-m;printf("%d的绝对值是:%d",m,n);}2、设计一种程序,输入一个整数,判断它的奇偶性。

#include "stdio.h"main(){int m;printf("请输入一个整数: ");scanf("%d",&m);if(m%2==0) /*或写为!(m%2) 或者m==m/2*2 均可*/printf("%d是偶数",m);elseprintf("%d是奇数",m);}3、假设星期一至星期五每工作1小时的工资是20元,星期六和星期日每工作1小时的工资是平时的3倍,其中工资的4.5%是税金。

请输入一周各天工作的小时数,然后列出该周实际领取的工资及税金。

#include "stdio.h"main(){ int day,h;float gz,sj;gz=0;printf("input weekday1---7:hours\n");for(day=1;day<=7;day++){ printf("%d--:\n",day);scanf("%d",&h);if(day<=5)gz=gz+h*20;elsegz=gz+h*20*3;}sj=gz*0.045;printf("gz=%.2f,sj=%.2f\n",gz,sj);}4、用if语句和switch语句分别编写程序,实现以下功能:从键盘输入数字1,2,3,4,分别显示excellent,good,pass,fail:输入其他键时显示error。

c语言程序设计第三章答案

c语言程序设计第三章答案

第三章习题答案一、选择题(带**号的题选作)1) 以下叙述中正确的是()A) C语言的基本组成单位是语句B) C程序中的每一行只能写一条语句C) 简单C语句必须以分号结束D)C语句必须在一行内完成2)下列叙述中错误的是A)计算机不能直接执行用C语言编写的源程序B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C) 后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件 D)后缀为.obj和.exe的二进制文件都可以直接运行3) 计算机能直接执行的程序是()A)源程序 B)目标程序 C)汇编程序 D)可执行程序4)以下叙述中错误的是A)C语言是一种结构化程序设计语言B)结构化程序有顺序、分支、循环三种基本结构组成C)使用三种基本结构构成的程序只能解决简单问题D)结构化程序设计提倡模块化的设计方法5)对于一个正常运行的C程序,以下叙述中正确的是A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束6)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数7) 以下关于C语言的叙述中正确的是A) C语言中的注释不可以夹在变量名或关键字的中间B) C语言中的变量可以再使用之前的任何位置进行定义C) 在C语言算术的书写中,运算符两侧的运算数类型必须一致D) C语言的数值常量中夹带空格不影响常量值的正确表示8)以下叙述中错误的是A)C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数9)以下叙述中正确的是A) C程序中的注释只能出现在程序的开始位置和语句的后面B) C程序书写格式严格,要求一行内只能写一个语句C) C程序书写格式自由,一个语句可以写在多行上D) 用C语言编写的程序只能放在一个程序文件中10)C语言源程序名的后缀是A).exe B).C C).obj D).cp11)以下叙述中错误的是A)在程序中凡是以“#”开始的语句行都是预处理命令行B)预处理命令行的最后不能以分号表示结束C)#define MAX是合法的宏定义命令行D)C程序对预处理命令行的处理是在程序执行的过程中进行的12) 以下选项中不能作为C语言合法常量的是 ( )A) ‘cd’ B) 0.1e+6 C) “a” D)‘\011’13)一下选项中,能用作数据常量的是A)o115 B)0118 C)1.5e1.5 D)115L14) 以下选项中不属于字符常量的是A)'C' B)"C" C)'\xCC0' D)'\072' 15)以下合法的字符型常量是A)’\x13’B)’\018’C)”65” D)”\n”16) 以下不合法的字符常量是A)'\018' B)'\”' C) '\\' D) ‘\xcc' 17) 以下不合法的数值常量是A)011 B)1e1 C) 8.0E0.5 D) 0xabcd 18)以下选项中能表示合法常量的是A)整数:1,200 B)实数:1.5E2.0C)字符斜杠:‘\’ D)字符串:"\007"19) C源程序中不能表示的数制是()A) 二进制 B) 八进制 C) 十进制 D) 十六进制20) 以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A.5e-3 OXa23 4c1.5 10,000-0xf 4.5e0 Oabc 3.e521)以下不合法的用户标识符是A)j2_KEY B)Double C) 4d D) _8_22)一下选项中合法的标识符是A)1_1 B)1-1 C)_11 D)1_ _23) 以下选项中,能用作用户标识符的是A)void B)8_8 C)_0_ D)unsigned 24)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是A)大写字母 B)连接符 C)数字字符 D)下划线25)可在C程序中用做用户标识符的一组标识符是A)and B)Date C)Hi D)case _2007 y-m-d Dr.Tom Bigl26) 以下C语言用户标示符中,不合法的是A)_1 B)AaBc C)a_b D)a--b 27)以下选项中不合法的标识符是A)print B)FOR C)&a D)_00 28)下列定义变量的语句错误的是()。

结构化程序设计习题

结构化程序设计习题

结构化程序设计习题C程序练习题⼀(结构化程序设计)⼀选择题1. 有以下语句printf(“%d,%d,%u\n”,016,16,-16);其输出结果是(d )a) 16,16,65520 b) 14,16,65520c) 16,16,-16 d) 14,16,-162.若有定义语句:int b=0x17;printf(“%d”,b++);,其正确的输出结果是(b )a) 23 b) 24 c) 25 d) 223、有以下程序main(){ int m=0256,n=256;printf("%o %o\n",m,n); }程序运⾏后的输出结果是___A___。

A、0256 0400B、0256 256C、256 400D、400 4004、设以下变量均为int类型,则值不等于7的表达式是CABDA) (x=y=6,x-f-y,x+1) B) (x=y=6,x+y,y+1)C) (x=6,x+1,y=6,x+y) D) (y=6,y+1,x=y,x+1)5.已有定义语句:int x=3,y=4,z=5;,则值为0的表达式是:(A )a) x>y++ b) x<=++y c) x !=y+z>y-z d) y%z>=y-z6.已有定义语句:int a=3,b=4;,则执⾏下述表达式后,变量b的值是:(D )(a++==4)&&(b++==5)a) 3 b) 4 c) 5 d) 67. 已有定义语句:int a=4,b=6;,则执⾏下述表达式后,变量b的值是:(C)(a++==4)||(b++==6)a) 4 b) 5 c) 6 d) 78. 以下程序的运⾏结果是:(D )main(){ int i=0;if(i==0) printf(“**”);else printf(“$”); printf(“*\n”);}a) * b) $* c) ** d) ***9. 若变量a,b,c都为整型,且a=1、b=15、c=0,则表达式a==b>c的值是(A )a) 0 b) ⾮零c) “真” d) 110. 有以下程序:{ int a=2,b=1,c=2;if(bif(b<0) c=0,c++;b++;printf(“b=%d,c=%d\n”,b,c);}程序的输出结果是:(A )a) b=1,c=2 b) b=1,c=0c) b=2,c=2 d) b=1,c=111. 有以下程序:main(){ int n;scanf(“%d”,&n);if(n++<5) printf(“%X\n”,n);else printf(“%X\n”,n--);}若执⾏程序时从键盘上输⼊9,则输出结果是:(c )a) 11 b) A c) 9 d) 812. 有以下程序:main(){ int m=5;if(++m>5)if(m++>5) printf(“%d\n”,m+5);else printf(“%d\n”,m--);else printf(“%d\n”,--m);}程序的输出结果是:(D )a) 8 b) 5 c) 10 d) 1213. 假设所有变量均已正确说明:a=b=c=0; x=35;if(!a) x--;else if(b) ; if(c) x=3;else x=4;以上程序段运⾏后,x的值是:(A )a) 34 b) 35 c) 4 d) 314. 当a=1、b=3、c=5、d=4时,执⾏下⾯⼀段程序:if(celseif(aif(belse x=3;else x=6;else x=7;以上程序段运⾏后,x的值是:(C )a) 1 b) 2 c) 3 d) 615. 以下程序的输出结果是:()main(){ int a=5,b=4,c=6,d;printf(“%d\n”,d=a>b ?(a>c ? a:c) : (b)); }m17.有以下程序:main(){ int a=15,b=21,m=0;switch(a%3){ case 0: m++;break; 是跳出整个程序吗case 1: m++;switch(b%2){ default: m++;case 0: m++;break;}}printf(“%d\n”,m);}程序的输出结果是:(C)a) 1 b) 2 c) 3 d) 418.以下while循环中,循环体执⾏的次数是:(C )k=1;while (--k) k=10;a) 10次b) ⽆限次c) ⼀次也不执⾏d) 1次19. 有以下程序段,其中n为整型变量,执⾏后输出结果是:(D )n=20 ;while(n--) ; printf(“%d”,n) ;a) 2 b) 10 c) -1 d) 020. 有以下程序段,其中x为整型变量,以下选项中叙述正确的是:(C )x=-1;do{;}while (x++);printf(“x=%d”,x);a) 该循环没有循环体,程序错误b) 输出x=1c) 输出x=0d) 输出x=-121. 有以下程序:main(){ int x=0,y=0;while(x<5&&++y) y--,x++;printf(“%d,%d”,y,x);}程序的输出结果是:(A )a) 0,5 b) 1,5 c) 0,4 d) 1,422. 有以下程序:main(){ int num=0;do{ num++ ;printf(“%d\n”,num); }while(num<=2);}程序的输出结果是:(A )a) 1 b) 1 c) 1 d) 12 2 23 3423. 有以下程序:main(){ int x=3;do{ printf(“%d”,x-=2); }while(!(--x));}程序的输出结果是:(C )a) 1 b) 3 0 c) 1 -2 d) 死循环24. 有以下程序:main(){ int y=10;do { y--; } while(--y);printf(“%d\n”,y--);}程序的输出结果是:(D )a) 1 b) -1 c) 8 d) 025. 有以下程序:main(){ int x=3,y;do{ y=--x;if( !y) printf(“x”) ;else printf(“y”) ;} while(x);}程序的输出结果是:(B )a) xyx b) yyx c) yxx d) yxy26. 有以下程序:main(){ int x=3,y=0;do{ while( !y) y=-x;} while(x--);printf(“%d,%d\n”,x,y);}程序的输出结果是:(B )a) -1,3 b) -1,-3 c) 0,0 d) 1,-327. 有以下程序:main(){ int i,s=1;for(i=1 ;i<=50 ;i++)if( !(i%5)&& !(i%3)) s+=i; printf(“%d\n”,s);}程序的输出结果是:()a) 409 b) 277 c) 1 d) 9128. 有以下程序:main(){ int x=0,y=0,i;for(i=1 ; ;++i){ if(i%2==0) {x++ ;continue ;} if(i%5==0) {y++ ;break ;}}printf(“%d,%d”,x,y);}程序的输出结果是:()a) 2,1 b) 2,2 c) 2,5 d) 5,229. 有以下程序:main(){ int a,b;for(a=1,b=1 ;a<=100 ;a++) { if(b>=10) break;if(b%3==1){ b+=3; continue; }}printf(“%d\n”,a);}程序的输出结果是:()a) 101 b) 6 c) 5 d) 430.有以下程序:main(){ int i=0;for(i+=3 ;i<=5 ;i=i+2) switch(i%5){ case 0: printf(“*”);case 1: printf(“#”); break;default: printf(“!”); break;case 2: printf(“&”);}}程序的输出结果是:()a) *# b) !& c) !*# d) *#*⼆程序填空1、以下程序的功能是计算:m=1-2+3-4+…+9-10,并输出结果。

C程序设计课后习题1-3(答案)

C程序设计课后习题1-3(答案)

C程序设计课后习题第一章习题1.选择题(1)C语言程序的执行总是从(A)开始。

A.main函数的入口 B.编译预处理命令C.源程序的第一个函数D.源程序的第一行语句(2)在C语言的源程序中,主函数的位置(C)。

A.必须在编译预处理命令的后面B.必须在源程序的最后C.任意D.必须在源程序的开头(3)下列变量名中合法的是(C)。

A. B.C.Tom B.3a6bC._6a7bD.$ABC(4)下面两对用户定义标识符哪个可读性更强:(C)A.checkqualityB.salarytotalC.check_quality C.sal_ary_tot_al(5)C程序是由(D)组成。

A.若干个过程B.若干子程序C.一个主程序和若干子程序D.若干函数2.填空题(1)一个函数一般由两部分组成,它们分别是_函数首部______和__函数体____。

(2)编译预处理命令___是_____(填“是”或“不是”)C语言文本的一部分。

(3)一个C语言程序至少应包含一个__主函数或main()__。

(4)C语言的标准输入函数是_scanf()__,标准输出函数是___printf()____。

(5)函数体用___{______符号开始,用_____}______符号结束。

(6)注释的开始和结束标志分别为__/*____和____*/____。

为增强程序的__可读性___,应该为程序写上清晰的注释。

3.编程题:参考本章例题,编写一个C程序,输出以下信息。

***********************The data is ** 2005-03-23 ***********************程序如下:#include <stdio.h>Void main(){printf(“**********************\n”);printf(“*The data is *\n”);printf(“* 2005-03-23 *\n”);printf(“**********************\n”);}第二章习题1.选择题(1)设int m=10 ,则下列表达式的值不等于零的有(A F)。

C++程序设计基础第二版(高等教育出版社)习题答案

C++程序设计基础第二版(高等教育出版社)习题答案
cin>>f;
c=(f-32)*5/9;
cout<<"c="<<c<<'\n';
}
3.用C++语言写出下列要求的表达式:
判断char型变量ch是否为大写字母。
ch>=65 && ch<=’Z’
设y为int变量,判断y是否为奇数。
y%2 ==1
设x、y、z都为int型变量,描述“x、y和z中有两个为负数”。
(9) x=(a++,r++) 97.(10) ceil(x-0.5) 5.
(11) a=abs(a)%8-10 -6(12)x=fabs(-27.2)+6 33.
(13)floor(x+0.5) 5.(14) ceil((x-=0.5)-0.5) 4.
(15)floor(x*1000+0.5)/1000 4.(16)floor(x+0.5) 5.
解:
#include <iostream.h>
void main(void)
{
int min(int x,int y);
int a,b,m;
cout<<"Input a,b:";
cin>>a>>b;
m=min(a,b);
cout<<"min="<<m<<endl;
}
int min(int x,int y)
(11) !! ch==ch 0(12) !(x&&y)==!x||!y 1

软件工程第三章习题及参考答案

软件工程第三章习题及参考答案

第三章习题及参考答案1、用逐步求精方法解决下述得更新顺序主文件得问题。

美国某杂志社需要一个软件,以更新存有该杂志订户姓名、地址等数据得顺序主文件。

共有插入、修改与删除等3种类型得事务,分别对应于事务代码1、2与3。

也就就是说,事务类型如下:类型1:INSERT(插入一个新订户到主文件中)类型2:MODIFY(修改一个已有得订户记录)类型3:DELETE(删除一个已有得订户记录)事务就是按订户名字得字母顺序排序得。

如果对一个订户既有修改事务又有删除事务,则已对那个订户得事务排好次序了,以便使修改发生在删除之前。

2.分析图3、1所示得层次图,确定每个模块得内聚类型。

3.分析图3、2,确定模块之间得耦合类型。

在图3、2中已经给模块之间得接口编了号码,表3、1描述了模块间得接口。

4、假设您在一所职业高中工作,负责该校信息系统得建设与维护。

财务科长请您研究用学校拥有得微型计算机生成工资明细表与各种财务报表得可能性。

请详细描述您用结构化分析方法分析上述问题得过程。

用面向数据流方法设计工资支付系统得软件结构。

5.用3种方法计算图3、3所示流图得环形复杂度。

6、图3、4就是用程序流程图描绘得程序算法,请把它改画为等价得盒图。

7、某交易所规定给经纪人得手续费计算方法如下:总手续费等于基本手续费加上与交易中得每股价格与股数有关得附加手续费。

如果交易总金额少于1000元,则基本手续费为交易金额得8、4%;如果交易总金额在1000元到10000元之间,则基本手续费为交易金额得5%,再加34元;如果交易总金额超过10000元,则基本手续费为交易金额得4%加上134元。

当每股售价低于14元时,附加手续费为基本手续费得5%,除非买进、卖出得股数不就是100得倍数,在这种情况下附加手续费为基本手续费得9%。

当每股售价在14元到25元之间时,附加手续费为基本手续费得2%,除非交易得股数不就是100得倍数,在这种情况下附加手续费为基本手续费得6%。

第3章顺序结构程序设计练习题及答案

第3章顺序结构程序设计练习题及答案

第3章顺序一、单选题:1.己知int k,m=1;执行语句k=-m++;后k的值是( A)。

(提示:负号与自加运算符同级,结合方向从右向左)A)-1 B) 0 C)1 D)22.若变量a, b已正确定义,且a,b均已正确赋值,下列选项中合法的语句是( B)A) a=b B)++a; C) a+=b++=1; D)a=int(b); (提示:a=b 只是表达式非语句; b++是个表达式)3.若有定义int x=4;则执行语句 x + = x * = x + 1;后,x的值为( C )。

A)5 B)20 C)40 D)无答案4.若有定义和语句:int s,p;s=p=5; p=s++,++p,p+2,p++;则执行语句后 p的值是( C)A)9 B)8 C)7 D)65.若有定义:int a,b;则表达式 a=4,b=3,a+b+2,a++,a+b+2的值为( C)。

A) 12 B)11 C)10 D)无答案6.若有定义:float a=3.0,b=4.0,c=5.0;则表达式 1/2*(a+b+c)的值为( C )。

A)6.0 B)6 C)0.0 D)无答案7.以下程序段的输出结果是( C )。

(提示:a当约束过严时,约束失效。

按自由格式输出。

)int a=1234;printf("%2d\n",a);A)12 B)34 C)1234 D)提示出错,无结果8.下列程序段的输出结果是(C)。

int a=1234;float b=123.456;double c=12345.54321;printf("%2d,%3.2f,%4.1f",a,b,c);A)无输出 B)12, 123.46, 12345.5 C)1234,123.46,12345.5 D)1234,123.45, 1234.59.设x, y均为整型变量,且x=8, y=5,则以下语句的输出结果是(D)。

第3章课后题(已标注难度)

第3章课后题(已标注难度)

第三章结构化程序设计基础习题说明:题号前标注的*为题目的难度等级,*越多难度等级越高。

一、选择填空题1、以下程序的运行结果为x=1.5do casecase x>2y=2case x>1y=1endcase? yreturnA、1B、2C、0D、语法错误2、循环结构中EXIT语句的功能是A、放弃本次循环,重新执行该循环结构B、放弃本次循环,进入下一次循环C、退出循环,执行循环结构的下一条语句D、退出循环,结束程序的运行3、简单分支结构语句是A、CASE…ENDCASEB、DO…ENDDOC、IF…ENDIFD、SCAN…ENDSCAN4、关于PARAMETERS语句,下列叙述中错误的是A、该语句应是子程序中的第一个语句B、形式参数只能是内存变量C、形式参数之间用逗号分格D、形式参数的个数应与调用实参个数一致5、以下关于子程序的叙述中不正确的是A、一个主程序可以调用任意多个子程序B、一个子程序可以调用其他子程序C、主程序可调用子程序,但子程序不可调用其他的子程序D、子程序用DO命令调用6、下列循环共执行了次for i=1 to 10?ii=i+1EndforA、10B、5C、0D、语法错*7、[程序说明]:求1!+3!+5!+……+N!的值。

N由键盘输入,且为奇数。

[程序]SET TALK OFF(1)STORE 0 TO S,TFOR I=1 TO N STEP 2DO SUB(2)ENDFOR?SSET TALK ONPROC SUBT=1FOR J=1 TO (3)(4)ENDFOR(1) A、ACCEPT "N=" TO N B、INPUT "N=" TO NC、WAIT "N=" TO ND、DO WHILE .T.(2) A、S=S+T B、S=S+N C、S=T D、S=S+T*I(3) A、N B、T C、2*I+1 D、I(4) A、T=T*I B、T=T*J C、T=T*N D、S=S+J*T** 8、[程序说明]:模糊查询用户指定表文件中指定字段(字符型)的指定内容,如果用户指定的表文件不存在,给予提示信息。

结构化程序设计

结构化程序设计

3.3.3 循环旳嵌套
循环旳嵌套:循环体内包括另一种完整旳循环构造。 三种循环语句皆能够相互嵌套 。 【例3.8】打印九九乘法表
程序:
#include “iostream.h” void main() {
cout<<"\t 九九乘法表"<<endl; cout<<"\t -----------"<<endl; for(int i=1;i<=9;i++)
else max = y; min = x;
形式3: if (体现式1) 语句1 else if (体现式2) 语句2 ┆
else if (体现式n) 语句n
else 语句n+1
表达式 1 true
语句 1
false
表达式 2 false true

表达式 n false
语句 2
true 语句 n
第三章 构造化程序设计
3.1 顺序构造 3.2 选择构造 3.3 循环构造 3.4 其他控制语句 3.5 应用举例
3.1 顺序构造
顺序构造:按照语句出现旳先后顺序依次执行。
3.1.1 体现式语句
形式: 体现式; 例如:
➢ i++; ➢ sum=a+b; ➢ cout<<a<<b<<endl;
3.1.2 空语句
形式:
switch(体现式)
{case 常量体现式1:语句组1;
[break;]
case 常量体现式2:语句组2;
[break;]

case 常量体现式n:语句组n; [break;]
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(1) printf("f=%3.2f%%",3.478);的输出结果是。

A. f=3.48%
B. f=3.5%
C. f=3.48% %
D. f=347.8%
(2) printf("%c,%d",'a', 'a');的输出结果是。

A. a,97
B. a 97
C. 97,a
D. 97 a
(3) scanf("%c",&a);若要给变量输入大写字母A,则以下正确的输入是。

A. 'A' <CR>
B. A <CR> \
C. "A" <CR>
D. 以上都不对
(4) 若一个int 类型的数据占2 字节,则程序段:int x= 1;printf("%u,%d",x,x);的输出结果是。

A. 65535, 1
B. 1,65535
C. 32767, 32768
D. 32768,32767
(5) 在TC 中,getchar、putchar、printf、scanf 四个函数,均包含在头文件中。

A. math.h
B. stdio.h
C. stbio.h
D. stdlib.h
(6) 复合语句是用括起来的语句组。

A. ( )
B. [ ]
C. { }
D. < >
(7) 下列格式符中,哪一个可以用于以八进制形式输出整数。

A. %d
B. %8d
C. %o
D. %ld
(8) 下列格式符中,哪一个可以用于以十六进制形式输出整数。

A. %16d
B. %8x
C. %d16
D. %d
(9) a 是int类型变量,c是字符变量,下列输入语句中哪一个是错误的。

A. scanf("%d,%c",&a,&c);
B. scanf("%d%c",a,c);
C. scanf("%d%c",&a,&c);
D. scanf("d=%d,c=%c",&a,&c);
(10) 要使double x; long a;的数据能正确的输出,输出语句应是。

A. printf("%d, %f",a, x);
B. printf("%d, %1f",a, x);
C. scanf("%1d, %1f",&a, &x);
D. printf("%1d, %lf",a, x);
2. 程序改错题(以下各个程序段均有 5 个错误,请先找出错误的位置,然后再改正)
(1) 以下程序的功能是,从键盘输入一个字符并鸣笛输出。

# include "stdio.h"
mian()
{ char c
getchar(c);
putchar('\007') ; /*鸣笛*/
c=putchar();
(2) 以下程序的功能是,输入长方形的两边长(边长可以取整数和实数),输出它的面积和周长。

main
{
int a,b,s,l;
scanf("%d,%d",&a,&b);
l=a+b;
printf("l=%f,s=%f\n",l);
}
3. 写出程序运行结果
(1)
main()
{
int a,b;
scanf("%2d%*2s%2d",&a,&b);
printf("%d\n",a+b);
}
运行时输入:12345678
(2)
main()
{
int a=3,b=5,x,y;
x=a+1,b+6;
y=(a+1,b+6);
printf("x=%d\ny=%d\n",x,y);
}
4. 编程题
输入3 个整数,计算它们的和与平均值,平均值的结果保留 2 位小数。

相关文档
最新文档