当前位置:文档之家› 结构化程序设计习题答案

结构化程序设计习题答案

结构化程序设计习题答案
结构化程序设计习题答案

第三章结构化程序设计部分习题

一、选择题

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<

则( )

(A) 运行程序段后输出0

(B) 运行程序段后输出1

(C) 程序段中的控制表达式是非法的

(D) 程序段执行无限次

3、语句while(!E); 中的表达式!E等价于( )

(A) E==0

(B) E!=1

(C) E!=0

(D) E==1

4、下面程序段的运行结果是( )

a=1; b=2; c=2;

while(a

cout<

(A) 1,2,0

(B) 2,1,0

(C) 1,2,1

(D) 2,1,1

5、下面程序段的运行结果是( )

x=y=0;

while(x<15) y++,x+=++y;

cout<

(A) 20,7

(B) 6,12

(C) 20,8

(D) 8,20

6、下面程序段的运行结果是( )

int n=0;

while(n++<=2); cout<

(A) 2

(B) 3

(C) 4

(D) 有语法错

7、设有程序段

t=0;

while(1)

{

t++;

if(t<3) break;

}

cout<

程序运行结果是( )

(A) 0

(B) 1

(C) 2

(D) 3

8、下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,①处应选择( )

#include

void main()

{

int a,b,t;

cin>>a>>b;

while( ①)

{

if(a>b)

{t=a; a=b; b=t

}

cout<

cin>>a>>b;

}

}

(A) !a=b

(B) a!=b

(C) a==b

(D) a=b

9、下面程序的运行结果是( )

#include

void main()

{

int i,j,x=0;

for(i=0;i<2;i++)

{

x++;

for(j=0;j<=3;j++)

{

if(j%2) continue;

x++;

}

x++;

}

cout<<"x="<

}

(A) x=4

(B) x=8

(C) x=6

(D) x=12

10、下面程序的运行结果是( )

#include"iostream.h"

void main()

{

int i;

for(i=1;i<=5;i++)

{

if(i%2) cout<<"*";

else continue;

cout<<"#";

}

cout<<"$\n";

}

(A) *#*#*#$

(B) #*#*#*$

(C) *#*#$

(D) #*#*$

11、下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择①( )

#include

void main()

{

int a,max=0;

cin>>a;

while( ①)

{

if(max

cin>>a;

}

cout<

}

①(A) a==0

(B) a

(C) !a==1

(D) !a

12、下面程序的运行结果是( )

#include

void main()

{

int num=0;

while(num<=2)

{ num++;

cout<

}

}

(A) 1

(B) 1

2

(C) 1

2

3

(D) 1

2

3

4

13、C语言中while和do-while循环的主要区别是( )

(A) do-while的循环体至少无条件执行一次

(B) while的循环控制条件比do-while的循环控制条件严格

(C) do-while允许从外部转到循环体内

(D) do-while的循环体不能是复合语句

14、以下能正确计算1×2×3×...×10的程序段是( )

(A) do{i=1; s=1;

s=s*i;

i++;

}while(i<=10);

(B) do{i=1;s=0;

s=s*i;

i++;

}while(i<=10);

(C) i=1; s=1;

do{s=s*i;

i++;

}while(i<=10);

(D) i=1; s=0;

do{s=s*i;

i++;

}while(i<=10);

15、以下程序段( )

x=-1;

do{x=x*x;}while(!x);

(A) 是死循环

(B) 循环执行二次

(C) 循环执行一次

(D) 有语法错误

16、若有如下语句

int x=3;

do

{

cout<<(x-=2)<

}while(!(--x));

则上面程序段( )

(A) 输出的是1 (B) 输出的是1和-2

(C) 输出的是3和0 (D) 是死循环

17、下面程序的功能是计算正整数2345的各位数字平方和,请选择填空。①( )②( )

#include

void main()

{

int n,sum=0;

n=2345;

do{

sum=sum+ ①;

n= ②;

}while(n);

cout<

}

①(A) n%10

(B) (n%10)*(n%10)

(C) n/10

(D) (n/10)*(n/10)

②(A) n/1000

(B) n/100

(C) n/10

(D) n%10

18、下面程序的运行结果是( )

#include

void main()

{

int a,b;

for(a=1,b=1;a<=100;a++)

{

if(b>=20) break;

if(b%3==1)

{

b+=3;

continue;

}

b-=5;

}

cout<

}

(A) 7

(B) 8

(C) 9

(D) 10

19、下面程序的运行结果是( )

#include

void main()

{

int a=1,b=10;

do{ b-=a; a++; }

while(b--<0);

cout<<”a=”<

}

(A) a=3,b=11

(B) a=2,b=8

(C) a=1,b=-1

(D) a=4,b=9

20、下面有关for循环的正确描述是( )

(A) for循环只能用于循环次数已经确定的情况

(B) for循环是先执行循环体语句,后判断表达式

(C) 在for循环中,不能用break语句跳出循环体

(D) for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

21、对for(表达式1; ; 表达式3)可理解为( )

(A) for(表达式1; 0; 表达式3)

(B) for(表达式1; 1; 表达式3)

(C) for(表达式1; 表达式1; 表达式3)

(D) for(表达式1; 表达式3; 表达式3)

22、若i为整型变量,则以下循环执行次数是( )

for(i=2;i==0;) cout<

(A) 无限次

(B) 0次

(C) 1次

(D) 2次

23、以下for循环的执行次数是( )

for(x=0,y=0;(y=123)&&(x<4);x++);

(A) 是无限循环

(B) 循环次数不定

(C) 执行4次

(D) 执行3次

24、以下不是无限循环的语句为( )

(A) for(y=0,x=1;x>++y;x=i++) i=x;

(B) for( ; ; x++=i);

(C) while(1){x++;}

(D) for(i=10; ;i--) sum+=i;

25、下面程序段的运行结果是( )

for(y=1;y<10;) y=((x=3*y,x+1),x-1);

cout<<"x="<< x<<",y="<

(A) x=27,y=27

(B) x=12,y=13

(C) x=15,y=14

(D) x=y=27

26、下面程序段( )

x=3;

do{

y=x--;

if(!y){cout<<"x"; continue;}

cout<<"#";

}while(1<=x<=2);

(A) 将输出##

(B) 将输出##*

(C) 是死循环

(D) 含有不合法的控制表达式

27、下列程序段不是死循环的是( )

(A) int i=100;

while(1)

{

i=i%100+1;

if(i>100) break;

}

(B) for( ; ; );

(C) int k=0;

do{++k;}while(k>=0);

(D) int s=36;

while(s); --s;

28、执行语句for(i=1;i++<4; ); 后变量i的值是( )

(A) 3 (B) 4 (C) 5 (D) 不定

29、下面程序的功能是计算1至50中是7的倍数的数值之和,请选择填空。①( )

#include

void main()

{

int i,sum=0;

for(i=1;i<=50;i++)

if( ①) sum+=i;

cout<

}

(A) (int)(i/7)==i/7

(B) (int)i/7==i/7

(C) i%7=0

(D) i%7==0

30、下面程序的功能是计算1至10之间的奇数之和及偶数之和。请选择填空。①( ) ②( )

#include

void main()

{

int a,b,c,i;

a=c=0;

for(i=0;i<=10;i+=2)

{ a+=i;

①;

c+=b;

}

Cout<<"偶数之和= "<

Cout<<"奇数之和="<< ②);

}

①(A) b=i--

(B) b=i+1

(C) b=i++

(D) b=i-1

②(A) c-10

(B) c

(C) c-11

(D) c-b

31、下面程序的运行结果是( )

#include

void main()

{

int i;

for(i=1;i<=5;i++)

switch(i%5)

{

case 0: cout<<"*"; break;

case 1: cout<<"#"; break;

default: cout<<"\n";

case 2: cout<<"&";

}

}

(A) #&&&*

(B) #&

&

&*

(C) #

&

&

&

(D) #&

*

32、下面程序的运行结果是( )

#include

void main()

{

int x,i;

for(i=1;i<=100;i++)

{

x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)

cout<

}

}

(A) 39 81

(B) 42 84

(C) 26 68

(D) 28 70

33、下面程序的运行结果是( )

#include

void main()

{

int i,b,k=0;

for(i=1;i<=5;i++)

{

b=i%2;

while(b-->=0) k++;

}

cout<

(A) 3,-1

(B) 8,-1

(C) 3,0

(D) 8,-2

34、以下正确的描述是( )

(A) continue语句的作用是结束整个循环的执行

(B) 只能在循环体内和switch语句体内使用break语句

(C) 在循环体内使用break语句或continue语句的作用相同

(D) 从多层循环嵌套中退出时,只能使用goto语句

35、以下是死循环的程序段是( )

(A) for(i=1; ; )

{

if(++i%2==0) continue;

if(++i%3==0) break;

}

(B) i=32767;

do{if(i<0) break;}while(++i);

(C) for(i=1; ; ) if(++i<10) continue;

(D) i=1;

while(i--);

36、下面程序的运行结果是( )

void main()

{

int i,j,a=0;

for(i=0;i<2;i++)

{

for(j=0;j<4;j++)

{

if(j%2) break;

a++;

}

a++;

}

cout<

}

(A) 4

(B) 5

(C) 6

(D) 7

二、填空题

1、下面程序的运行结果是__3 1 -1______。

#include

void main()

int i=5;

do{

switch(i%2)

{

case 4: i--; break;

case 6: i--; continue;

}

i--; i--;

cout<

}while(i>0);

}

2、下面程序的运行结果是__a=16,y=60_。

#include

void main()

{

int a,y;

a=10;y=0;

do{

a+=2;y+=a;

if(y>50) break;

}while(a=14);

cout<<"a="<

}

3、下面程序的运行结果是__254_。

#include

void main()

{

int a,s,n,count;

a=2; s=0; n=1; count=1;

while(count<=7){n=n*a; s=s+n; ++count;}

cout<<”s=”<

}

4、下面程序的功能是打印100以内个位数为6且能被3整除的所有数。请填空

#include

void main()

{

int i,j;

for(i=0; __i<10_; i++)

{

j=i*10+6;

if(_j%3==0_) continue;

cout<

}

5、执行下面程序段后,k值是___36__。

int k=1,n=263;

do{ k*=n%10; n/=10;}while(n);

6、下面程序段中循环体的执行次数是___3___。

int a=10;

int b=0;

do{b+=2;a-=2+b;}while(a>=0);

7、下面程序段的运行结果是___**___。

x=2;

do{cout<<"*";x--;}while(!x==0);

8、下面程序段的运行结果是___a=-5__。

i=1;a=0;s=1;

do{a=a+s*i;s=-s;i++;}while(i<=10);

cout<<"a="<

9、若for循环用以下形式表示:

for(表达式1;表达式2;表达式3) 循环体语句

则执行语句for(i=0;i<3;i++) cout<<"*"; 时,表达式1执行___1__次,表达式3执行___3___次。

10、下面程序的运行结果是__sum=34___。

#include

void main()

{

int i,t,sum=0;

for(t=i=1;i<=10; )

{

sum+=t; ++i;

if(i%3==0) t=-1;

else t=i;

}

cout<<"sum="<

}

*

11、下面程序的运行结果是____#____。

#include

void main()

{

int i;

for(i=1;i<=5;i++)

switch(i%2)

{

case 0: i++; cout<<"#"; break;

case 1: i+=2; cout<<"*";

default: cout<<"\n";

}

}

12、下面程序的运行结果是__****#__。

#include

void main()

{

int i,j=4;

for(i=j;i<=2*j;i++)

switch(i/j)

{

case 0:

case 1: cout<<"*"; break;

case 2: cout<<"#";

}

}

13、下面程序段的运行结果是____8___。

int i=1,s=3;

do{

s+=i++;

if(s%7==0) continue;

else ++i;

}while(s<15);

cout<

14、下面程序的输出结果是__i=6,k=4__。

#include

void main()

{

int i,j,k=19;

while(i=k-1)

{

k-=3;

if(k%5==0) {i++;continue;}

else if(k<5) break;

i++;

}

cout<<"i="<

}

15、下面程序的运行结果是__2 5 8 10 14______。

#include

void main()

{

int i=1;

while(i<=15)

if(++i%3!=2) continue;

else cout<

cout<

}

程序设计基础(知识点)

第三部分程序设计基础 3.1 程序、程序设计、程序设计语言的定义 ⑴程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。 ⑵程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。 ⑶程序设计语言:程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。 3.2 高级语言和低级语言的概念及区别 ⑴高级语言:高级语言(High-level programming language)是高度封装了的编程语言,与低级语言相对。

它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。 ⑵低级语言:低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 ⑶区别: 高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差 了解知识:CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码。越低级的语言,形式上越接近机器指令,汇编语言就是与机器指令一一对应的。而越高级的语言,一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装,

程序设计基础试题库

练习题一Visual FoxPro 基础 、选择题 1. 关系数据库管理系统应能实现的专门关系运算包括___c __________ A 显示、打印、制表B关联、更新、排序 C 选择、投影、连接D排序、索引、统计 2. 关系是指__b__。 A 属性的集合B元组的集合 C 实例的集合 D 字段的集合 3. 如果把学生看成实体,某个学生的姓名叫“杨波”,则“杨波”应看成是___b ______ 。 A)属性型B )属性值C )记录型D )记录值 4. 关系数据库系统中所使用的数据结构是 _______ d ___ 。 A)图B )树C )表格D )二维表 5. 对表进行水平方向的分割用的运算是 _______ b ___ 。 A)交B )选择C )投影D )连接 6. 下列数据库技术的术语与关系模型的术语的对应关系中_______ d _____ 是正确的。 A)实例与关系 B )字段与元组C )记录与属性 D )记录类型与关系模式 7. 下列关于数据库系统的叙述中,正确的是 _____ c _____ 。 A)数据库系统中数据的一致性是指数据类型一致 B)数据库系统只是比文件系统管理的数据更多 C)数据库系统减少了数据冗余 D数据库系统避免了数据冗余 8. 关系数据模型 ______ d ___ 。 A)只能表示实体间的1:1联系 B)只能表示实体间的1:n C只能表示实体间的m:n D 可以表示实体间的上述三种联系 9. 在一个关系中如果有这样一个属性存在,它的值能惟一地标识关系中的每一个元组,称

这个属性为 _____ a____ 。 A)关键字B )主属性C )数据项D )主属性值 10. 关系数据库管理系统中的元组是______ b ____ 。 A)关系中的垂直方向的列 B )关系中的水平方向的行 C属性或属性的组合 D )以上的答案均不正确 11. 从数据库的整体结构看,数据库系统采用的数据模型有_________ a __ 。 A)层次模型、网状模型和关系模型 B)层次模型、网状模型和环状模型 C)网状模型、链状模型和层次模型 D链状模型、关系模型和层次模型 12. 设有属性A B、C D以下表示中不是关系的是___________ d__。 A)R( A) B )R( A, B)C )R (A, B, C, D) D )R (A X B X C X D) 13. 若实体间联系是M N的,则将联系类型_________ a___ 。 A)也转换为关系模型 B)属性加入任一个关系模式中 C)属性加入N端实体类型相应的关系模式中 D)属性加入M端实体类型相应的关系模式中 14. 数据库系统的构成为数据库、计算机硬件系统、用户和________ a ____ 。 A 数据库管理系统 B 操作系统 C 数据集合 D 文件系统 15. 层次型、网状型和关系型数据库划分原则是________ c ___ 。 A 文件大小 B 记录长度 C 数据之间的联系 D 联系的复杂程度 16. 在数据库设计中用关系模型来表示实体和实体之间的联系,关系模型的结构是 _____ d ___ 。 A 封装结构 B 层次结构 C 网状结构 D 二维表结构 17. 在关系模型中,实现“关系中不允许出现相同的元组”的约束是通过__a ________ 。 A 主键 B 超键 C 外键 D 候选键 18. 层次模型不能直接表示 ______ b __ 关系。 A 1:1 B m:n C 1:m D 1:1 和1:m 19. DBAS旨的是_____ d____ 。

《程序设计基础》试卷B及答案

黄淮学院计算机科学系2007-2008学年度第一学期 期末考试《程序设计基础》B 卷 注意事项:本试卷适用于计科系06级本科计算机科学与技术专业学生。 1.__ ____函数是程序启动时惟一的入口。 2.算法的复杂性包含两方面: 和 。 3.已知 char c= 'a' ; int x=2,k; 执行语句k=c&&x++ ; 则x 为 ,k 为 。 4.数值0x34对应的十进制为 。 5.已知int a ; 则表达式”(a=2*3 , 3*8), a*10”的结果为_ _ ____,变量a 的值为___ ___。 6.面向对象程序开发步骤为: 、 和面向对象实现。 1.下列程序设计语言中( )是面向对象语言。 A. FORTRAN B. C 语言 C. C++ D. 汇编语言 2.下列关于注释的说法哪个是错误的( )。 A. 注释不是程序中的可执行语句 B. 注释对于程序的执行有很重要的意义 C. 注释将在程序的编译阶段被编译器剔除 D. 编程时在程序中添加适当的注释是一个良好的编程风格 3.算法设计应该遵守( )的设计原则。 A. 自底向上,逐步求精 B. 自顶向下,逐步求精 C. 自底向上,同步扩展 D. 自顶向下,同步扩展 4.下列语句执行后a 的值为( )。 int a=4, &z=a, k=3; a=k; z+=2; k++; A. 0 B. 4 C. 1 D. 5 5.以下程序执行后,屏幕输出为( )。 #include “iostream.h ” void fun(int d) {d++;} void main() { int d=3; fun(d); d++; cout<=’a ’)&&(d<=’z ’) B. ‘a ’<=d<=’z ’ C. (d>=’a ’)||(d<=’z ’) D. ‘A ’<=d<=’Z ’ 8.已知:int k=7, x=12; 则执行语句( )后x 的值为0。 A. x+=k-x%5; B. x+=(x-k%5); C. x%=(k-=5); D. (x-=k)-(k+=5); 9.运行下列程序,其输出结果为( )。 #include “iostream.h ” void main() { int x(5),y(5),z(5); y--&&++x&&z--||y++; cout<

结构化程序设计方法

结构化程序设计方法 设计方法的产生 结构化程序设计由迪克斯特拉(E.W.dijkstra)在1969年提出,是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,这样使完成每一个模块的工作变单纯而明确,为设计一些较大的软件打下了良好的基础。 基本要点 1.采用自顶向下,逐步求精的程序设计方法 在需求分析,概要设计中,都采用了自顶向下,逐层细化的方法。 2.使用三种基本控制结构构造程序 任何程序都可由顺序、选择、重复三种基本控制结构构造。 (1)用顺序方式对过程分解,确定各部分的执行顺序。 (2)用选择方式对过程分解,确定某个部分的执行条件。 (3)用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。

(4)对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。 3. 主程序员组的组织形式指开发程序的人员组织方式应采用由一个主程序员(负责全部技术活动)、一个后备程序员(协调、支持主程序员)和一个程序管理员(负责事务性工作,如收集、记录数据,文档资料管理等)三个为核心,再加上一些专家(如通信专家、数据库专家)、其他技术人员组成小组。 设计语言 C,FORTRAN,PASCAL,Ada,BASIC 设计方法的原则 自顶向下

程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。 逐步细化 对复杂问题,应设计一些子目标作为过渡,逐步细化。 模块化设计 一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块。 限制使用goto语句 结构化程序设计方法的起源来自对GOTO语句的认识和争论。肯定的结论是,在块和进程的非正常出口处往往需要用GOTO语句,使用GOTO语句会使程序执行效率较高;在合成程序目标时,GOTO语句往往是有用的,如返回语句用GOTO。否定的结论是,GOTO语句是有害的,是造成程序混乱的祸根,程序的质量与GOTO语句的数量呈反比,应该在所有高级程序设计语言中取消GOTO语句。取消GOTO语句后,程序易于理解、易于排错、容易维护,容易进行正确性证明。

程序设计基础练习题(全答案版)

《程序设计基础——C#.NET》练习 参考答案: 一、选择题 https://www.doczj.com/doc/21699137.html,的目的就是将____A____作为新一代操作系统的基础,对互联网的设计思想进行扩展。A.互联网 B. Windows C. C# D. 网络操作系统 2.假设变量x的值为10,要输出x值,下列正确的语句是__C__。 A.System.Console.writeline(“x”) B. System.Cosole.WriteLine(“x”) C. System.Console.WriteLine(“x={0}”,x) D. System.Console.WriteLine(“x={x}”) 3.要退出应用程序的执行,应执行下列的_A___语句。 A. Application.Exit(); B. Application.Exit; C. Application.Close(); D. Application.Close; 4.关于C#程序的书写,下列不正确的说法是__D________。 A.区分大小写 B.一行可以写多条语句 C.一条语句可以写成多行 D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法 5. 在C#语言中,下列能够作为变量名的是__C__。 A.if B. 3ab C. b_3a D. a-bc 7. 能正确表示逻辑关系“a≥5或a≤0”的C#语言表达方式是__D__。 A.a>=5 or a<=0 B. a>=5|a<=0 C. a>=5&&a<=0 D. a>=5||a<=0 8. 以下程序的输出结果是___C_____。 A. 5 B. 4 C. 6 D. 不确定 9. If语句后面的表达式应该是__A___。 A.逻辑表达式 B. 条件表达式 C. 算术表达式 D. 任意表达式10.有如下程序:

程序设计基础试题和答案解析二

《程序设计基础》考试试卷二 1.1966年,Bohra和Jacopini提出的三种基本程序设计结构是:________ A.if、while和for; B. switch、do-while和for; C.while、do-while和for; D.顺序结构、分支结构和循环结构。 2.算法的特征不包括:______。 A.有穷性 B.可行性 C.确定性 D.有1个或者多个输入。 3.C语言源程序的基本组成单位是______。 A.函数 B. 语句 C. 声明和语句 D. 文件 4.下列标识符中,只有______是合法的。 A.if B. 3ab C. Int D. A-4 5.下列常量中,只有______是合法的。 A.3e-0.3 B. ‘abc’ C. 02a1 D. ‘\377’ 6.下列说法中正确的是:______。 A.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。 B.宏替换比函数调用的执行速度慢。 C.实质上,C语言中的指针就是一个变量的地址。 D.C语言中的任何函数都可以由程序员命名。 7.C语言中,运算对象必须是整型的运算符是_______。 A./ B. % C. + D. - 8.以下叙述中错误的是_______。 A.C语句必须以分号结束 B.复合语句在语法上被看作一条语句 C.空语句出现在任何位置都不会影响程序运行 D.赋值表达式末尾加分号就构成赋值语句 9.以下叙述中正确的是_______。 A.调用printf函数时,必须要有输出项 B.使用putchar函数时,必须在之前包含头文件stdio.h C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出 D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10.以下关于函数的叙述中正确的是_______。 A.每个函数都可以被其它函数调用(包括main函数) B.每个函数都可以被单独编译 C.每个函数都可以单独运行 D.在一个函数内部可以定义另一个函数 11.有以下程序段typedef struct NODE{ int num; struct NODE *next;

计算机程序设计基础习题册含答案

《计算机程序设计基础》 计算机程序设 计基础_基础知识(一) 班级 学号 姓名 成 绩 一、 单选题 习题册

1.C++源程序文件的默认扩展名为A。 2.A) cpp B) exe C) obj D) lik 3.由C++源程序文件编译而成的目标文件的默认扩展名为C。 4.A) cpp B) exe C) obj D) lik 5.由C++目标文件连接而成的可执行文件的默认扩展名为B。 6.A) cpp B) exe C) obj D) lik 7.编写C++程序一般需经过的几个步骤依次是B。 8.A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接9.程序中主函数的名字为 A 。 10.A) main B) MAIN C) Main D) 任意标识 符 11.下面四个选项中,均是不合法的 用户标识符的选项的是 C。 12.A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 13.下列变量名中合法的是 C。 14.A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 15.存储以下数据,占用存储字节最 多的是 D 。 16.A) 0 B) ‘0’

C) “0” D) 17.在C++语言中,字符型数据在内存中的存储形式是D。 18.A) 补码 B) 反码 C) 原码 D) ASCII码 19.若有说明语句:char c =’\072’;则变量c A。 20.A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令 计算机程序设计基础_基础知识(二) 班级学号姓名成绩 一、单选题 1.下列哪一个是C++语言中合法的变量 C A) 8ZSe B) ±A0 C) X0_2 D) ’x0’2.已知ch是字符型变量,下面不正确的赋值语句是A 3.A) ch='a+b' B) ch='\0'

程序设计基础试题_03_答案.doc

学院领导 审批并签名 A / B卷 广州大学 学年第学期考试卷 课程高级语言程序设计考试形式(开/闭卷,考试/查)学院系专业班级学号姓名 分数 评分 一:选择题(每题3分,共60分) (1)若有以下定义: char a; int b; float c; double d; 则表达式a*b+d-c值的类型为(A)

A) double B) float C) int D) char (2)设a=1,b=2,c=3,d=4,则表达式:a=10 or a<=0 B)a>=10│a<=0 C)a>=10││a<=0 D)a>=10 ││ a<=0 (7)下列可 作为C语言赋值语句的是(C) A) x=3,y=5 B) a=b=6 C) i--; D) y=int(x); (8)设i是int型变量,f是float型变量,用下面的语句给这两个变量输 入值: scanf(i=%d,f=%f,&i,&f); 为了把100和765.12分别赋给i和f,则正确的输入为(A) A) 100765.12 B) i=100,f=765.12 C) 100765.12 D) x=100y=765.12 (9)给出以下定义: char x[ ]=abcdefg;

结构化程序设计习题答案

第三章结构化程序设计部分习题 一、选择题 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<

while(n++<=2); cout< void main() { int a,b,t; cin>>a>>b; while( ①) { if(a>b) {t=a; a=b; b=t } cout<>a>>b; } } (A) !a=b (B) a!=b (C) a==b (D) a=b 9、下面程序的运行结果是( ) #include void main() { int i,j,x=0; for(i=0;i<2;i++)

程序设计基础试题(附答案)

程序设计基础复习题 一、单选 1、一个完整的计算机系统应该包括() A、系统软件和应用软件 B、计算机及其外部设备 C、硬件系统和软件系统 D、系统硬件和系统软件 2、“裸机”的概念是指() A、正在进行设计还没有组装好的计算机 B、已经组装好但还没有安装任何软件的计算机 C、仅安装了操作系统的计算机系统 D、安装了文字处理软件但没有安装专用数据处理系统的计算机 3、世界上第一台电子数字计算机研制成功的时间是() A、1936年 B、1946年 C、1956年 D、1970年 4、CASE的含义是() A、计算机辅助设计 B、计算机辅助制造 C、计算机辅助教学 D、计算机辅助软件工程5、当前广泛使用的微型计算机是() A、第一代 B、第二代 C、第三代 D、第四代 6、当代计算机的体系结构称为是() A、冯·诺依曼机 B、非冯·诺依曼机 C、图灵机 D、比尔盖茨机 7、硬盘是() A、输入设备 B、输出设备 C、存储设备 D、计算设备 8、下面4句话中,最准确的表述是() A、程序=算法+数据结构 B、程序是使用编程语言实现算法 C、程序的开发方法决定算法设计 D、算法是程序设计中最关键的因素

9、计算机能直接执行的语言是() A、机器语言 B、汇编语言 C、高级语言 D、目标语言 10、解释程序的功能是() A、将高级语言程序转换为目标程序 B、将汇编语言程序转换为目标程序 C、解释执行高级语言程序 D、解释执行汇编语言程序 11、下面4种程序设计语言中,不是面向对象式语言的是() A、JAVA B、Object Pascal C、Delphi D、C 12、不是C语言的基本数据类型是() A、int B、double C、char D、bool 13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符() A、/ B、% C、* D、++ 14、数据的逻辑结构分为() A、纯属结构和非线性结构 B、顺序结构和非顺序结构 C、树型结构和图型结构 D、链式结构和顺序结构 15、用链表表示纯属表的优点是() A、便于随机存取 B、便于插入和删除操作 C、花费的存储空间较顺序存储少 D、元素的物理顺序与逻辑顺序相同 16、栈的最主要特点是() A、先进先出 B、先进后出 C、两端进出 D、一端进一端出 17、下面4句结论只有一句是错误的,它是()

结构化程序设计

结构化程序设计 结构化程序设计(structured programming)是进行以模块功能和处理过程设计为主的详细设计的基本原则。其概念最早由E.W.Dijikstra在1965年提出的。是软件发展的一个重要的里程碑,它的主要观点是采用自顶向下、逐步求精的程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、重复三种基本控制结构构造。 详细描述处理过程常用三种工具:图形、表格和语言。 图形:程序流程图、N-S图、PAD图表格:判定表 语言:过程设计语言(PDL) 结构化程序设计曾被称为软件发展中的第三个里程碑。该方法的要点是: (1)没有GOTO语句;//在有资料里面说可以用,但要谨慎严格控制GOTO语句,仅在下列情形才可使用: ·用一个非结构化的程序设计语言去实现一个结构化的构造。 ·在某种可以改善而不是损害程序可读性的情况下。 (2)一个入口,一个出口; (3)自顶向下、逐步求精的分解; (4)主程序员组。 其中(1)、(2)是解决程序结构规范化问题;(3)是解决将大划小,将难化简的求解方法问题;(4)是解决软件开发的人员组织结构问题。 结构化程序设计的三种基本结构 结构化程序设计的三种基本结构是:顺序结构、选择结构、循环结构 结构化程序设计原则和方法的应用 基于结构化程序设计原则、方法以及结构化程序基本构成结构的掌握和了解,在结构化程序设计的具体实施中,要注意把握如下要素: 1. 使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑; 2. 选用的控制结构只准有一个入口和一个出口; 3. 程序语句组成容易识别的块,每块只有一个入口和一个出口; 4. 复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现; 5. 语言中没有的控制结构,应该采用前后一致的方法来模拟; 6. 严格控制 GOTO语句的使用。其意思是指: ( 1 )用一个非结构化的程序设计语言去实现一个结构化的构造; ( 2 )若不使用 GOTO 语句会使功能模糊; ( 3 )在某种可以改善而不是损害程序可读性的情况下。

(完整版)程序设计基础试题_10_答案

广州大学学年第学期考试卷 课程高级语言程序设计考试形式(开/闭卷,考试/查) 学院系专业班级学号姓名 一、填空题(每空1分,共10分) 1.C源程序的基本单位是(函数)。 2.一个C源程序中至少应包含一个(main()函数)。 3.若a和b均是int型变量,且a和b的初值均为5,则计算表达式a+=b++ 后,a的值为(10 ),b的值为( 6 )。 4.若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,b值为( 4 ),c 值为( 2 )。 5.表达式8.2-2/3 的计算结果是(8 )。 6.在C语言中,整数可用三种数制表示,它们分别是(十进制)、(八进制)和(十六进制)。 二、程序计算题(每小题5分,共15分) 1. # define f(a) printf(“%d”,a) main() { int i,b[]={1,2,3,5,7,9,11,13,15},*p=5+b; for(i=3;i;i--) switch(i) { case 1: case 2: f(*p++); break;

case 3: f(*(--p)); } } 2. main() { int arr_sum(int arr[],int n); int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int *p,total; int (*pt)( int arr[],int n); pt=arr_sum; p=a[0]; total=(*pt)(p,12); printf(“total=%d\n”,total); } arr_sum(int arr[],int n) { int i,sum=0; for(i=0;i

西交大《程序设计基础》试题及答案

西交大《程序设计基础》试题及答案 一、单项选择题(本大题共20小题,每小题2分,共40分) 1.int a[10];合法的数组元素的最小下标值为()。A:10 B:9 C:1 D:0 答案:D 2.以下运算符中优先级最低的是()。A:&& B:& C:|| D:| 答案:C 3.若使用一维数组名作函数实参,则以下正确的说法是()。A:必须在主调函数中说明此数组的大小B:实参数组类型与形参数组类型可以不匹配C:在被调用函数中,不需要考虑形参数组的大小D:实参数组名与形参数组名必须一致答案:A 4.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer 代表的是()。 A:一个整数,代表要读入的数据项总数B:一个文件指针,指向要读的文件C:一个指针,指向要读入数据的存放地址D:一个存储区,存放要读的数据项答案:C 5.对以下说明语句int a[10]={6,7,8,9,10}; 的正确理解是()。A:将5个初值依次赋给a[1]至a[5] B:将5个初值依次赋给a[0]至a[4] C:将5个初值依次赋给a[6]至a[10] D:因为数组长度与初值的个数不相同,所以此语句不正确答案:B 6.下列程序的输出结果是()。main() { int x=1,y=0,a=0,b=0; switch(x) { case 1:switch(y) { case case } case 2:a++;b++;break; case 3:a++;b++;break; } printf(\} A:a=1,b=0 B:a=2,b=1 C:a=1,b=1 D:a=2,b=2 答案:B 7.下列程序的输出结果为()。main() {int m=7,n=4; float a=38.4,b=6.4,x; x=m/2+n*a/b+1/2; printf(\ 0:a++;break; 1:b++;break; } A:27.000000 B:27.500000 C:28.000000 D:28.500000 答案:A 8.若k为int型变量,则以下程序段的执行结果是()。k=-8567; printf(\A:格式描述符不合

2-1 结构化程序设计基础

《2.1 结构化程序设计基础》 1. 目标概述[3分钟] (2) 2. 回顾[5分钟] (2) 3. 课程知识点讲解 (2) 3.1. 算法[60分钟] (2) 3.2. 结构化程序设计思想[20分钟] (8) 4. 小结[2分钟] (9) 5. 考核点 (9) 6. 作业答案 (9) 7. 扩展练习 (10) 8. 学生问题汇总 (10) 9. 教学后记 (10)

本节目标 ?本节中将讲述如下主要内容: ?算法的概念 ?常用流程图符号的介绍 ?顺序结构、选择结构、循环结构的图形描述 ?结构化程序设计思想 ?通过教学使学生理解结构化程序设计思想、掌握逻辑流程图的使用。 本节重点 ?算法的概念 ?常用流程图符号的介绍 ?顺序结构、选择结构、循环结构的图形描述 ?结构化程序设计思想 本节难点 ?逻辑流程图的使用 授课课时 ?2课时 教法建议 1.目标概述 [3分钟] 本章主要讲述结构化程序设计基础概念、运用。 本节主要讲述结构化程序设计思想、逻辑流程图的使用。 2.回顾 [5分钟] 回顾上一章的相关内容。 3.课程知识点讲解 3.1.算法[60分钟] 引入: 什么是算法? 主题: 从第一章的学习中,我们已经看到编制一个程序,我们不仅要解决“做什么”的问题,更重要的是要明确指明具体的步骤,也就是“怎么做”的问题,同时还需要保证其正确性和高效性,这是程序设计方法学中“算法”要解决的问题。

在古代,人们把采用算术的方法求解未知问题的运算过程称为算法。 在近代,人们把采用科学的方法完成某项事务的执行过程称为算法。 在现代,特别是计算机诞生之后,人们把计算机解题步骤称为计算机算法。 [算法的描述] 对于算法,需要选择一种合适的表达方式进行描述,现在常用的描述工具有:自然语言、流程图、伪代码、N-S图、PAD图等。 1. 用自然语言描述算法 描述算法人们首先想到就是某种自然语言(如:汉语)。使用自然语言描述算法的优点是描述自然、灵活和多样,其缺点是易产生二义性。因此,在算法设计中应少用或不用自然语言描述算法。有时在设计初步算法时可适当采用自然语言描述,然后用其它描述工具细化算法描述。下面给出几个用自然语言描述的算法例子。 示例讲解: 示例2.1.1接受一个数并使它加1,显示其结果,用自然语言描述其过程。 示例2.1.2到图书馆借书,用自然语言描述其过程。 示例2.1.3泡一杯茶,设计并用自然语言描述其过程。 示例2.1.4计算并输出1+2+3+ … +100之和,设计并用自然语言描述其算法。 [通过示例简单讲述用自然语言描述算法的使用] 2.用流程图描述算法 流程图是采用图形的方法来描述算法的一种算法描述工具,通常称框图。流程图是目前使用较为普遍的算法描述工具,其优点是描述简洁、清晰、直观,缺点是由于转移箭头的无限制使用,影响算法的可靠性。通过规范图形符号和对转移箭头的限制使用可削弱流程图的缺点,提高算法的可靠性。由于流程图优点突出,所以至今仍是程序设计人员普遍采用的算法描述工具。本书的后续章节均将采用流程图来描述问题的解决过程,以帮助大家熟悉流程图的使用。 使用流程图描述工具,应采用比较标准的图形符号,最好采用国家或国际标准。下面我们将介绍一些常用的流程图符号。

结构化程序设计与面向对象程序设计的简述

关于结构化程序设计与面向对象程序设计的简述 一、结构化程序设计 它采用结构化技术(结构化技术分析结构化设计结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持机构化技术的运用。结构化程序中的任意基本结构都具有唯一入口和唯一出口,并且程序不会出现死循环。在程序的静态形式与动态执行流程之间具有良好的对应关系。 1、优点 结构化程序设计方法主要由三种逻辑结构组成,分别为:顺序结构、循环结构、选择结构。结构化程序设计的每种结构,只有一个入口和一个出口,这是结构化设计的一个原则。遵循结构化程序设计的原则,按照结构化程序设计方法设计出的程序具有明显的优点。如: 其一,程序易于阅读、理解、排错和维护。程序员采用结构化编程方法,将一个复杂的程序分解成若干个子结构,便于控制、降低程序的复杂性,因此容易编写程序,同时便于验证程序。 其二,提高了编程工作的效率,降低了软件开发成本。由于结构化编程方法能够把错误控制到最低限度,每个模块可以独立编制、测试,因此能够减少调试和查错的时间。 2、缺点 结构化程序设计主要有三点缺点;如: 一、用户的要求难以在系统分析阶段准确定义,从而使系统在交付使用时会产生许多 问题。 二、用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求。 三、系统的开发周期长,结构化程度较低的系统,在开发初期难以锁定功能要求。二、面向对象程序设计 面向对象程序设计是一种计算机编程架构。面向对象程序设计的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。它达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。面向对象程序设计中的概念主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性、消息传递。 1、优点 面向对象程序设计的优点有好几个方面。如: 一、简单性:因为面向对象语言里面的对象都是反映的真实世界的对象,所以复杂性 就降低了而且程序结构也更加清晰; 二、模块性:每一个对象都来源于一个单独的实体,它内部的工作与系统的其他部分 是分离的

C程序设计基础_复习题

c语言规定,任何非0的数像1 -1等都被认为是真,而0被认为是假 1>1为假 试题一、单选题 1. 已知int k,m=1;执行语句k=-m++;后,k的值是_____。【知识点:难度:正确答案:A】 A.-1 B.0 C.1 D.-2 2. 已知定义int m; float k; 正确的语句是。【知识点:难度:正确答案:D】 A.(int k)%m B.int(k)%m C.int(k%m)D.(int)k%m 3. 当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的是______。【知识点:难度: 正确答案:B】 A.m=k=n B.(m=k)&&(n=m) C.(m=k)||(n=k)D.(n=m)&&(m=k) 4. 已知int x=5; 表达式6>x>1值是_____。【知识点:难度:正确答案:A】 A.0 B.1 C.5 D.表达式语法错 表达式6>x>1 ,先 判断6>x 为0,再 判断0>1,所以值 为0。 (6>x 为1 ,再判 断1>1,所以值为 0。) 5. 下列程序段执行后c值为_____。【知识点:难度:正确答案:D】 int k=7, c=0; while(--k) if (k%3) continue; else c++; A.5 B.4 C.3 D.2 6. 已知字母a的ASCII码为十进制数97,且ch为字符型变量,则执行语句ch=…a?+…D?-…A?;后,ch 中的值为_____。【知识点:难度:正确答案:C】 A.d B.c C.100 D.不确定 7. 设m,n已正确定义,执行语句{for(m=0, n=10; m,能使puts(s)语句正确输出ABCDE字符串的程序 段是______。【知识点:难度:正确答案:C】 A.char s[5] = {"ABCDE"}; puts(s) B.char s[5] = {…A?,?B?,?C?,?D?,?E?}; puts(s); C.char *s; s = "ABCDE"; puts(s); D.char *s; scanf(“%s”,s); puts(s); 《C程序设计基础及实验》

计算机程序设计基础习题册(含答案)

《计算机程序设计基础》 习 题 册

班级学号姓名成绩一、单选题 1.C++源程序文件的默认扩展名为A。 A) cpp B) exe C) obj D) lik 2.由C++源程序文件编译而成的目标文件的默认扩展名为C。 A) cpp B) exe C) obj D) lik 3.由C++目标文件连接而成的可执行文件的默认扩展名为B。 A) cpp B) exe C) obj D) lik 4.编写C++程序一般需经过的几个步骤依次是B。 A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接 5.程序中主函数的名字为 A 。 A) main B) MAIN C) Main D) 任意标识符 6.下面四个选项中,均是不合法的用户标识符的选项的是C。 A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 7.下列变量名中合法的是C。 A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 8.存储以下数据,占用存储字节最多的是 D 。 A) 0 B) ‘0’ C) “0” D) 0.0 9.在C++语言中,字符型数据在内存中的存储形式是D。 A) 补码 B) 反码 C) 原码 D) ASCII码 10.若有说明语句:char c =’\072’;则变量c A。 A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令

Java结构化程序设计

. 昆明理工大学信息工程与自动化学院学生实验报告 ( 2012—2013学年 第 一 学期 ) 课程名称:Java 程序设计 开课实验室:442 2012年 11月 7 日 一、实验目的及内容 目的:掌握和巩固Java 结构化程序设计的概念、方法。 内容: 1. (使用&&、||、^运算符)编写一个程序,该程序让用户输入一个整数,然后判断该整数是否能 同时被5和6整除;是否能被5或6整除;是否能被5或6整除,但不能同时被5和6整除。 例如:在命令行模式下该程序运行可呈现如下结果(注,也可以图形界面方式实现) Enter an integer: 10 Is 10 divisible by 5 and 6? false Is 10 divisible by 5 or 6? true Is 10 divisible by 5 or 6, but not both? true 2. 编写一个程序(利用循环)计算下面式子: 3. 写一个函数,该函数返回一个数组中值最小的元素的索引值,若该数组中值最小的元素多于一 个,则返回索引最小的那个,该函数的声明如下所示,在main 函数中调用并测该函数。 public static int indexOfSmallestElement(int[] list) 二、要求 1. 给出上述程序的流程图、代码和测试结果。 100 999998...433221+++++

内容一: 流程图: .

实验代码 import java.util.Scanner; public class Class1 { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.print("Enter an integer:"); int numble=input.nextInt(); boolean numble1=(numble%5==0)&&(numble%6==0); boolean numble2=(numble%5==0)||(numble%6==0); boolean numble3=(numble%5==0)^(numble%6==0); System.out.println("is "+numble+" divisible by 5 and 6?"+numble1); System.out.println("is "+numble+" divisible by 5 or 6?"+numble2); System.out.println("is "+numble+" divisible by 5 or 6,but not both?"+numble3); } } 运行结果: .

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