当前位置:文档之家› 程序设计基础练习题

程序设计基础练习题

程序设计基础练习题
程序设计基础练习题

《程序设计基础》习题集

计算机科学与技术系

第一章程序设计概论

一、选择题

1.一个C程序的执行是从( )

A.本程序的main函数开始,到main函数结束

B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C.本程序文件的第一个函数开始,到本程序main函数结束

D.本程序的main函数开始,到本程序文件的最后一个函数结束

2.下列关于C语言注释的叙述中错误的是( )

A.以“/*”开头并以“*/”结尾的字符串为C语言的注释符

B.注释可出现在程序中的任何位置,用来向用户提示或解释程序的意义C.程序编译时,不对注释作任何处理

D.程序编译时,需要对注释进行处理

3.下列不是C语言的分隔符的是( )

A.逗号 B.空格 C.制表符 D.双引号

4.在Visual C++ 6.0环境下,C源程序文件名的默认后缀是( ) A..cpp B..exe C..obj D..dsp

5.若在当前目录下新建一个名为“LX”的工程,则在当前目录下生成的工作区文件名为( )

A.LX.DSW B.LX.OPT C..LX.DSP D.LX.C

二、问答题

1. 简述程序的概念

2. 简述算法的概念。

3. 简述程序设计的一般方法和过程。

4. 程序设计的表示方法有哪些?

5. 请用程序流程图设计出求n!的算法。

第二章程序设计的基本要素

一、选择题

1.以下叙述不正确的是( )

A.一个C源程序必须包含一个main函数

B.一个C源程序可由一个或多个函数组成

C.C程序的基本组成单位是函数

D.在C程序中,注释说明只能位于一条语句的后面

2.以下叙述正确的是( )

A.在对一个C程序进行编译的过程中,可发现注释中的拼写错误

B.在C程序中,main函数必须位于程序的最前面

C.C语言本身没有输入输出语句

D.C程序的每行中只能写一条语句

3.一个C语言程序是由( )

A.一个主程序和若干个子程序组成 B.函数组成

C.若干过程组成 D.若干子程序组成

4.下列四组选项中,均不是C语言关键字的选项是( )

A.define IF type

B.getc char printf

C.include case scanf

D.while go pow

5.下列四组选项中,均是不合法的用户标识符的选项是( ) A.W P_0 do

B.b-a goto int

C.float la0 _A

D.-123 abc TEMP

6.下列四组选项中,均是合法转义字符的选项是( )

A.‘\”’‘\\’‘\n’

B.‘\’‘\017’‘\”’

C.‘\018’‘\f’‘xab’

D.‘\\0’‘\101’‘xlf’

7.所有C函数的结构都包括的三部分是( )

A.语句、花括号和函数体 B.函数名、语句和函数体

C.函数名、形式参数和函数体 D.形式参数、语句和函数体

8.C语言程序由( )组成

A.子程序 B.主程序和子程序 C.函数 D.过程

9.下面属于C语言标识符的是( )

A.2ab B.@f C.?b D._a12

10.C语言中主函数的个数是( )

A.2个 B.1个 C.任意个 D.10个

11.下列关于C语言注释的叙述中错误的是( )

A.以“/*”开头并以“*/”结尾的字符串为C语言的注释符

B.注释可出现在程序中的任何位置,用来向用户提示或解释程序的意义C.程序编译时,不对注释作任何处理

D.程序编译时,需要对注释进行处理

12.下列不是C语言的分隔符的是( )

A.逗号 B.空格 C.制表符 D.双引号

二、填空题

1.C程序是由构成的,一个C程序中至少包含。因此,是C程序的基本单位。

2.C程序注释是由和所界定的文字信息组成的。

3.开发一个C程序要经过编辑、编译、和运行四个步骤。

4.在C语言中,包含头文件的预处理命令以开头。

5.在C语言中,主函数名是。

三、程序设计题

1.编写程序输出以下的图案

*

* S *

*

2.试编写一个C程序,输出如下信息。

*****************

Your are welcome!

*****************

第三章简单数据类型与变量

一、选择题

1.关于C语言数据类型的叙述,正确的是()。

A. 枚举类型不是基本类型

B. 数组不是构造类型

C. 变量必须先定义后使用

D. 不允许使用空类型

2.下面关于C语言用户标识符的描述,正确的是()。

A. 不区分大小写

B. 用户标识符不能描述常量

C. 类型名也是用户标识符

D. 用户标识符可以作为变量名

3.以下叙述不正确的是()

A.在C程序中,逗号运算符的优先级最低

B.在C程序中,MAX和max是两个不同的变量

C.若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,二b中的值不变

D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

4.以下()是正确的变量名。

A. 5f

B. if

C. f.5

D. _f5

5.以下()是正确的常量。

A. E-5

B. 1E5.1

C. 'a12'

D. 32766L

6.若有说明语句:char c='\95'; 则变量c包含()个字符。

A. 1

B. 2

C. 3

D. 语法错误

7.语句x=(a=3,b=++a);运行后,x、a、b的值依次为()。

A. 3,3,4

B. 4,4,3

C. 4,4,4

D. 3,4,3

8.语句a=(3/4)+3%2;运行后,a的值为()。

A. 0

B. 1

C. 2

D. 3

9.char型变量存放的是()。

A. ASCII代码值

B. 字符本身

C. 十进制代码值

D. 十六进制代码值

10.以下叙述正确的是()

A.在C程序中,每行只能写一条语句

B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

C.在C程序中,%是只能用于整数运算的运算符

D.在C程序中,无论是整数还是实数,都能被准确无误地表示

11.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,c2中的值为()

A. D B. 68 C.不确定的值 D. C

12.sizeof(float)是()

A. 一个双精度型表达式

B.一个整型表达式

C.一种函数表达式 D.一个不合法的表达式

13.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为()

A.0~255

B.0~32767

C.0~65535

D.0~2147483647 14.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为()

A. float

B.char

C.int

D.double

15.设以下变量均为int类型,则值不等于7的表达式是()

A.(x=y=6,x+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)

16.变量的指针,其含义是指该变量的()

A.值

B.地址

C.名

D.一个标志

17.若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是() A.a,point,*&a B.&*a,&a,*point

C.*&point,*point,&a

D.&a,&*point ,point

18.若有说明;int *p,m=5,n;以下正确的程序段的是()

A.p=&n;

B.p=&n;

scanf("%d",&p); scanf("%d",*p);

C. scanf("%d",&n);

D.p=&n;

*p=n; *p=m;

二、填空题

1. 设a为short型变量,描述“a是奇数”的表达式是___________________。

2. 若有以下定义,则计算表达式y+=y-=m*=y后的y值是___________。

int m=5,y=2;

3. 若a是int型变量,则下面表达式的值为_____。

(a=4*5,a*2),a+6

4. 若有定义:float x=3.5;int z=8;则表达式 x+z%3/4 的值为______________。

5. 若x和a均是int型变量,则计算表达式(1)后的x值为_____,计算表达

式(2)后的x 值为_____。

(1) x=(a=4,6*2)

(2) x=a=4,6*2__________。

6.若有定义:int a=2,b=3; float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值是_____。

7. 若有定义:int b=7; float a=2.5,c=4.7;则表达式a+(b/2*(int)(a+c)/2)%4的值是____________。

8.以下的输出结果是________________________。

#include

void main()

{ short i;

i=-4;

printf(“\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,i);

}

9. 以下的输出结果是_______________。

#include

void main()

{ char c=‘x’;

printf(“c:dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c);

}

10.以下的输出结果是_____________________。

#include

void main()

{ int x=1,y=2;

printf(“x=%d y=%d * sum * =%d\n”,x,y,x+y);

printf(“10 Squared is : %d\n”,10*10);

}

11. 假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进

行交换。请填空。

a+=_____; b=a-_______; a-=_______;

12.若x为int型变量,则执行以下语句后的x 值为_______。

x=7;

x+=x-=x+x;

z=m=0xFFFF

13. 有一输入语句scanf(“%d”,k);则不能使float类型变量k得到正确数值的原因是____________________和____________________。

三、程序设计题

1.已知圆半径的r=

2.5,圆柱高h=1.8,求圆周长,圆柱体积。

2.要将“China”译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母。例如,字母”A”后面第4个字母是”E”,用”E”代替”A”。因此,”China”应译为”Glmre”。请编写1程序,用赋初值的方法使c1、c2、c3、c4、c5 五个变量的值分别为‘C’、‘h’、‘i’、‘n’、‘a’,经过运算,使c1、c2、c3、c4、c5分别变为‘G’、‘l’、‘m’、‘r’、‘e’、,并输出。

(1)输入事先已编好的程序,并运行该程序。分析是否符合要求。

(2)改变c1、c2、c3、c4、c5、的初值为:‘T’、‘o’、‘d’、‘a’、‘y’,对译码规律作如下补充:‘W’用‘A’代替,‘X’用‘B’代替,‘Y’用‘C’代替,‘Z’用‘D’代替。修改程序并运行。

(3)将译码规律修改为:将字母用它前面的第4个字母代替,例如:‘E’用‘A’代替,‘Z’用‘U’代替,‘D’用‘Z’代替,‘C’用‘Y’代替,‘B’用‘X’代替,‘A’用‘V’代替。修改程序并运行。

3.输入秒数,将它按小时、分钟、秒的形式来输出。例如输入24680 秒,则输出6小时51分20秒。

4. 求前驱字符和后继字符。输入一个字符,找出它的前驱字符和后继字符,并按ASCII码值,按从大到小的顺序输出这三个字符及其对应的ASCII码值。

第四章逻辑表达与流程控制

一、选择题

1.逻辑运算符两侧运算对象三数据类型()。

A.只能是0和1

B.只能是0或非0正数

C.只能是整型或字符型数据

D.可以是任何类型的数据

2.判断char型变量ch是否为大写字母的正确表达式是()。

A.‘A’<=ch<=‘Z’

B.(ch>=‘A’)&(ch<=‘Z’)

C. (ch>=‘A’)&&(ch<=‘Z’)

D.(‘A’<= ch)AND(‘Z’>= ch) 3.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是()。

A.A%2==1

B.!(A%2==0)

C. !(A%2)

D. A%2

4.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为()。

A. 1

B. 2

C. 3

D. 4

5.以下程序的运行结果是()。

#include

void main()

{ int a,b,d=241;

a=d/100%9;

b=(-1)&&(-1);

printf(“%d,%d”,a,b);

}

A. 6,1

B.2,1

C. 6,0

D. 2,0

6.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是()。

if(x>y) z=x; x=y; y=z;

A. x=10, y=20, z=30

B.x=20, y=30, z=30

C. x=20, y=30, z=10

D. x=20, y=30, z=20 7.以下程序的运行结果是()。

#include

void main()

{ int m=5;

if(m++>5)

printf(“%d\n”,m);

else;

printf(“%d\n”,m--);

}

A. 4

B. 5

C. 6

D. 7

8.若运行时给变量x输入12,则以下程序的运行结果是()。

#include

void main()

{ int x,y;

scanf(“%d”,&x);

y=x>12?x+10:x-12;

printf(“%d\n”,y);

}

A. 4

B.3

C. 2

D. 1

二、填空题

1.若有定义:int a=5,b=2,c=1;则表达式a-b

2.已知char c=’A’;int i=1;j=0;执行语句j=!c&&i++后,i和j的值分别是____和_____。

3.若有定义:int a=1,b=2,c=3,d=4,x=5,y=6;则表达式 (x=a>b)&&(y=c>d) 的值为___________。

4.有如下程序

#include

void main( )

{ int a=2,b=-1,c=2;

if(a

if(b<0) c=0;

else c++;

printf("%d\n",c);

}

该程序的输出结果是___________

5.以下程序判断输入的整数能否被3或7整除。将程序补充完整。

#include

void main()

{int x,f=0;

scanf(“%d”,&x );

if_____ ____

________

if(f==1) printf(“YES\n”);

else printf(“NO\n”);

}

6.阅读以下程序,若输入60,程序运行结果是__________________。

#include

void main()

{int x;

scanf("%d ",&x);

if(x>=60)

printf("pass");

else

printf("fail");

}

三、程序设计题

1.输入1个整数,输出它的绝对值。

2.编程实现:输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。

3. 编程判断输入的正整数是是否既是5又是7的整倍数。若是,则输出yes;否则输出no。

4. 用switch编程实现:

「 -1 (x<0)

y = │ 0 (x=0)

└ 1 (X>0)

5.输入某个点A的平面坐标(x,y),判断(输出)A点是在圆内、圆外还是在圆周上,其中圆心坐标为(2,2),半径为1 。

6.用switch语句编一程序,对于给定的一个百分制成绩,输出相应的五分制成绩,设:90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’

第五章逻辑表达与流程控制(2)

一、选择题

1.设有程序段

int k=10;

while(k=0) k=k-1;

这下面描述中正确的是()

A.while循环执行10次 C.循环是无限循环

C.循环体语句以此也不执行 D.循环体语句执行一次

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

A.E==0

B.E!=1

C.E!=0

D.E==1

3.下面程序段的运行结果是()

int n=0;

while(n++<=2); printf("%d",n);

A.2

B.3

C.4

D.有语法错

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

#include

void main()

{int num=0;

while(num<=2)

{num++;

printf("%d\n",num);

}

}

A.1

B.1

C.1

D.1

2 2 2

3 3

4

5.以下程序段()

x=-1;

do{

x=x*x;

}while(!x);

A.是死循环

B.循环执行二次

C.循环执行一次

D.有语法错误6.若有如下语句

int x=3;

do

{printf(""%d\n",x-=2);}while(!(--x));

则上面程序段()

A.输出的是1

B.输出的是1和-2

C.输出的是3和0

D.是死循环7.下面程序的运行结果是()

#include

void main()

{int y=10;

do

{y--;}

while(--y);

printf("%d\n",y--);

}

A.-1

B.1

C.8

D.0

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

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

printf("%d",i--);

A.无限次

B.0次

C.1次

D.2次

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

A.3

B.4

C.5

D.不定

10.以下正确的描述是()

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

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

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

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

二、填空题

1.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束

循环。请填空。

int n=0,c;

c=getchar();

while________

{if_________

n++;

c=getchar();

}

2.下面程序的功能是用"辗转相除法"求两个正整数的最大公约数。请填空。 #include

void main()

{int r,m,n;

scanf("%d%d",&m,&n);

if(m

r=m%n;

while(r)

{m=n;n=r;r=___________;}

printf("%d\n",n);

}

3.下面程序的运行结果是______________.

#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;

}

printf("s=%d",s);

}

4.下面程序段的运行结果是________________. i=1;

a=0;

s=1;

do

{a=a+s*i;

s=-s;

i++;

}while(i<=10);

printf("a=%d",a);

5. 以下程序的输出结果是______________.

#include

void main()

{ int n=12345,d;

while(n!=0)

{ d=n%10;

printf("%d",d); n/=10;}

}

}

6.下面程序段的运行结果是________________.

i=1;

s=3;

do

{s+=i++;

if(s%7==0) continue;

else

++i;

}while(s<15);

printf("%d",i);

7. 阅读以下程序,若输入5,程序运行结果是_______________。

#include

void main( )

{ int i, n;

double fact;

scanf("%d", &n);

fact=1;

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

fact*=i;

printf("%.0f\n", fact);

}

三、程序设计题

1. 输入1个整数,输出它的绝对值。

2.编一程序,统计从键盘输入一行字符的个数。

3. 印出如下图案(菱形)

*

***

******

********

******

***

*

4. 编写程序,用穷举法输出100以内的素数。

5. 求1!-2!+3!-4! +……+49!-50!的和。

6. 输入10个字符,分别统计出其中空格、数字和其他字符的个数。

7.设某县2000年工业总产值为200亿元,如果该县预计平均年工业总产值增长率为4.5%,那么多少年后该县年工业总产值将超500亿元?

8.输入一个三位数,判断是否是一个“水仙花数”。水仙花数是指三位数的各位数字的立方和等于这个三位数本身。例如: 153=1*1*1+5*5*5+3*3*3

9.输出1-999中能被3整除,而且到少有一位数字是5的所有数字。

第六章自顶向下的程序设计

一、选择题

1.以下函数的正确定义形式是()

A.double fun(int x, int y)

B.double fun(int x ;int y)

C.double fun(int x, int y);

D.double fun(int x,y);

2.以下说法不正确的是()

C语言规定:

A.实参可以是常量、变量或表达式

B.形参可以是常量、变量或表达式

C.实参可以为任意类型

D.形参应与其对应的实参类型一致

3.以下说法正确的是()

A.定义函数时,形参的类型说明可以放在函数体内

B.return后边的值不能为表达式

C.如果函数值的类型与返回值类型不一致,以函数值类型为准

D.如果形参与实参的类型不一致以实参类型为准

4.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()

A.float型

B.int型

C.long型

D.double型

5.C语言规定,函数返回值的类型是由()

A.return语句中的表达式类型所决定

B.调用该函数时的主调函数类型所决定

C.调用该函数时系统临时决定

D.在定义该函数时所指定的函数类型所决定

6.以下错误的描述是()

函数调用可以:

A.出现在执行语句中

B.出现在一个表达式中

C.做为一个函数的实参

D.做为一个函数的形参

7.以下正确的描述是()

在C语言程序中:

A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义不可嵌套,但函数的调用可以嵌套

C.函数的定义和函数的调用均不可以嵌套

D.函数的定义和调用均可以嵌套

8.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是()

A.extern

B.register

C.auto

D.static

9. 以下正确的说法是()

建立函数的目的之一是

A.提高程序的执行效率

B.提高程序的可读性

C.减少程序的篇幅

D.减少程序文件所占内存

10.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为() A.地址传递 B.单向值传递

C.由实参传给形参,再由形参传回给实参

D.由用户指定传递方式

11.以下程序的正确运行结果是()

#include

void num()

{extern int x,y;

int a=15,b=10;

x=a-b;

y=a+b;

}

int x,y;

void main()

{int a=7,b=5;

x=a+b;

y=a-b;

num();

printf("%d,%d\n",x,y);

}

A.12,2

B.不确定

C.5,25

D.1,12

二、填空题

1.以下程式序的运行结果是_____________

#include "stdio.h"

void main()

{int i=2,x=5,j=7;

fun(j,6);

printf("i=%d;j=%d;x=%d\n",i,j,x);

}

fun(int i,int j)

{int x=7;

printf("i=%d;j=%d;x=%d\n",i,j,x);

}

2.以下程序的运行结果是____________ #include "stdio.h"

void main()

{void increment();

increment();

increment();

increment();

}

void increment()

{int x=0;

x+=1;

printf("%d ",x);

}

3.以下程序的运行结果是_____________ #include "stdio.h"

void main()

{int max(int x,int y);

int a=1,b=2,c;

c=max(a,b);

printf("max is %d\n",c);

}

int max(int x,int y)

{int z;

z=(x>y)?x:y;

return(z);

}

4.以下程序的运行结果是_____________ #include "stdio.h"

void main()

{void add(int x,int y, int z);

int x=2,y=3,z=0;

printf("(1)x=%d y=%d z=%d\n",x,y,z);

add(x,y,z);

printf("(3)x=%d y=%d z=%d\n",x,y,z);

}

void add(int x,int y, int z)

{z=x+y;

x=x*x;

y=y*y;

printf("(2)x=%d y=%d z=%d\n",x,y,z);

}

5.以下程序的运行结果是____________

#include "stdio.h"

void main()

{void increment();

increment();

increment();

increment();

}

void increment()

{static int x=0;

x+=1;

printf("%d ",x);

}

6.以下程序的运行结果是__________________. #include

void main()

{int a=1,b=2,c;

c=max(a,b);

printf("max is %d\n",c);

}

max(int x,int y)

{int x;

z=(x>y)?x:y;

return(z);

}

程序设计基础实验指导书

说明 每个实验做完以后,按照实验报告模板格式完成相应的实验报告,存储为word 文档,最终提交的实验文档数量种类和命名原则如下例:(不按要求 者拒收) 目录结构图目录实验 1 内的文件种类和命名原则实验报告成绩将作为平时成绩的一部分计算到期末总成绩中。 实验报告严禁相互抄袭,一经发现抄袭和被抄袭者本次实验按零分计算!

实验1 C 的实验环境和C 语言的数据类型 1. 实验目的 ⑴ 了解在具体的语言环境下如何编辑、编译、连接和运行一个C 程序。 ⑵ 通过运行简单的C 程序,初步了解C 源程序的特点。 ⑶ 掌握C 语言数据类型, 熟悉如何定义一个整型、字符型和实型的变量,以及对它 们赋值的方法。 ⑷ 掌握不同的类型数据之间赋值的规律。 ⑸ 学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(+ +)和自减(--)运算符的使用。 2. 实验内容和步骤 检查所用的计算机系统是否已安装了C 编译系统并确定他所在的子目录。 进入所用的集成环境。 熟悉集成环境的界面和有关菜单的使用方法。 输入并运行一个简单的、正确的程序。 3. 实验题目 输入下面的程序 # include "stdio.h" void main() { printf( "This is a c program.\n" ); } 程序无误,其运行的结果为:(请填写) ⑵ 输入并编辑一个有错误的 C 程序。 # include “ stdio.h ” void main() { int a,b,sum a=123; b=456; sum=a+b print( “ suism%d n” ,sum); } 运行后程序出现几处错误,请分别指出,并逐一更改: ⑶ 若k,g 均为int 型变量, 则下列语句的输出为, : # include "stdio.h" void main() { int k, g; k=017; g=111;

程序设计基础试题库

练习题一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<

程序设计基础实验内容

实验指导 实验一 Visual C++开发环境使用 1.实验目的 (1)熟悉Visual C++集成开发环境。 (2)掌握C语言程序的书写格式和C语言程序的结构。 (3)掌握C语言上机步骤,了解C程序的运行方法。 (4)能够熟练地掌握C语言程序的调试方法和步骤 2. 实验内容 输入如下程序,实现两个数的乘积。 #include ; int main() { x=10,y=20 p=prodct(x,t) printf("The product is : ",p) int prodct(int a ,int b ) int c c=a*b return c } (1)在编辑状态下照原样键入上述程序。 (2)编译并运行上述程序,记下所给出的出错信息。 (3)再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为止。3.分析与讨论 (1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论成功或失败的原因。 (2)总结C程序的结构和书写规则。 实验二数据类型、运算符和表达式 1.实验目的 (1)理解常用运行符的功能、优先级和结合性。 (2)熟练掌握算术表达式的求值规则。 (3)熟练使用赋值表达式。 (4)理解自加、自减运算符和逗号运算符 (5)掌握关系表达式和逻辑表达式的求值 2.实验内容 (1)整数相除 #include<> int main() {

int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; printf("d=%d , e=%d ,f=%d\n",d,e,f); return 0; } (2)自加、自减运算 #include<> int main() { int a=5,b=8; printf("a++=%d\n",a++); printf("a=%d\n",a); printf("++b=%d\n",++b); printf("b=%d\n",b); return 0; } (3)关系运算和逻辑运算 #include<> int main() { int a=5,b=8,c=8; printf("%d,%d,%d,%d\n",a==b&&a==c,a!=b&&a!=c,a>=b&&a>=c,a<=b&&a<=c); printf("%d,%d\n",a<=b||a>=c,a==b||b==c); printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a<=b)); return 0; } (1)在编辑状态下输入上述程序。 (2)编译并运行上述程序。 3.分析与讨论 (1)整数相除有什么危险?应如何避免这种危险? (2)分析a++和++a的区别。 (3)条件表达式和逻辑表达式的意义是什么,它们取值如何? (4)如何比较两个浮点数相等?为什么? 实验三格式化输入输出函数的使用 1.实验目的 (1)掌握格式字符使用的方法。 (2)掌握printf()进行格式化输出的方法。 (3)掌握scanf()进行格式化输入的方法。 2.实验内容 (1)输入如下程序,观察运行结果 #include<>

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

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

班级学号姓名成绩一、单选题 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___标识符开始的预处理命令

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

《程序设计基础》考试试卷二 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;

C语言程序设计基础实验报告3【VIP专享】

实验3 逻辑结构程序设计一、实验目的 1、了解C 语言表示逻辑量的方法(以0代表“假”,以非0代表“真” )。 2、学会正确使用逻辑运算符和逻辑表达式。 3、熟练掌握if 语句和switch 语句。 4、结合程序掌握一些简单的算法。 5、学习调试程序。 二、实验内容和步骤 本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。 1、改错题。给定程序MODI1.C 的功能是:对于如下函数: 用scanf 函数输入x 的值,求y 值。/* MODI1.C */#include void main() { int x, y; /***********found***********/ scanf ("%d", &x);if ( x < 1 )y = x; /***********found***********/else if ( 1 <=x&& x < 10 ) y = 2*x -1 ; else y = 3*x -11; printf("y = %d\n", y ); } 程序中有两处错误,错误都在提示行: /***********found***********/的下面一行。请改正程序中的错误, 使它能得出正确的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! 修改程序后,运行程序,输入x 的值(分别为x<1、1≤x<10、x ≥10三种情况,如0.5、8、15),检查输 出的y 值是否正确。 ?? ? ??≥-<≤-<=)10(113) 101(12)1(x x x x x x y

2、从键盘输入某学生的考试成绩,要求输出成绩等级A 、B 、C 、D 、E 。学生的成绩可分成5个等级,90- 100分为A 级,80-89分为B 级,70-79分为C 级,60-69分为D 级,0-59分为E 级。要求在输入负数时, 给出错误提示。 ① 事先编好程序,要求分别用if 语句和switch 语句实现。运行程序,并检查结果是否正确。 ② 再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。修改程序,使之 能正确处理任何数据。当输入数据大于100或小于0时,通知用户“输入数据错”,程序结束。 3、给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位 数字,例如:原数据为321,应输出123。(BX4.6) 分别用1位正整数、2位正整数、3位正整数、4位正整数、5位正整数作为测试数据进行测试。 除此之外,程序还应当对不合法的输入作必要的处理。例如:当输入负数时或输入的数超过5位(如123 456)数时。4、输入3 个整数,要求按由小到大的顺序输出。

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

《程序设计基础——C#.NET》练习 参考答案: 一、选择题 https://www.doczj.com/doc/2810986868.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、一个完整的计算机系统应该包括() 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句结论只有一句是错误的,它是()

《程序设计基础》记分作业4答案

《程序设计基础》记分作业4答案 单选题。(共16道试题,每题3分) 1、树的典型特点是各个结点之间是( C )。 A、没有直接关系 B、一对一关系 C、一对多关系 D、多对多关系 2、采用顺序空间作为栈的存储空间时,在进行栈操作的时候( D )。 A、不需要判断栈是否空,不需要判断栈是否满 B、不需要判断栈是否空,但需要判断栈是否满 C、需要判断栈是否空,不需要判断栈是否满 D、需要判断栈是否空,也需要判断栈是否满 3、在存储线性表时,( C )。 A、只能采用顺序存储结构 B、只能采取链式存储结构 C、可以任意采用顺序或链式存储结构 D、没有明确的结论 4、线性表表长的含义是( C )。 A、线性表所占用的内存字节数量 B、线性表占用的内存和外存的字节数量 C、线性表中所包含的元素数量 D、线性表在内存中元素的数量 5、采用链式存储保存线性表与采用顺序存储保存线性表进行比较,在链式存储线性表时进行插入操作的执行效率( C )。 A、比较低 B、一样 C、比较高 D、没有明确结论 6、对于一张一般的图,其中的各个结点之间的关系是( D )。 A、集合关系 B、一对一关系 C、一对多关系 D、多对多关系 7、数据的存储结构分为( D )。 A、线性存储结构和非线性存储结构 B、有序存储结构和非有序存储结构 C、树型存储结构和图型存储结构 D、链式存储结构和顺序存储结构 8、进行折半查找的条件是( A )。 A、数据有序且采用顺序存储方式 B、数据不需要有序,但需要顺序存储 C、数据有序且采用链式存储方式 D、数据不需要有序,但需要链式存储 9、采用链式存储的有序数据要进行查找,可以采用( A )。 A、顺序查找 B、折半查找 C、顺序索引查找 D、顺序或折半查找 10、下面4句结论中只有一句是错误的,它是( B )。

程序设计基础实验内容

实验指导 实验一 Visual C++6.0开发环境使用 1.实验目的 (1)熟悉Visual C++6.0集成开发环境。 (2)掌握C语言程序的书写格式和C语言程序的结构。 (3)掌握C语言上机步骤,了解C程序的运行方法。 (4)能够熟练地掌握C语言程序的调试方法和步骤 2. 实验内容 输入如下程序,实现两个数的乘积。 #include (stdio.h); int main() { x=10,y=20 p=prodct(x,t) printf("The product is : ",p) int prodct(int a ,int b ) int c c=a*b return c } (1)在编辑状态下照原样键入上述程序。 (2)编译并运行上述程序,记下所给出的出错信息。 (3)再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为止。3.分析与讨论 (1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论成功或失败的原因。 (2)总结C程序的结构和书写规则。 实验二数据类型、运算符和表达式 1.实验目的 (1)理解常用运行符的功能、优先级和结合性。 (2)熟练掌握算术表达式的求值规则。 (3)熟练使用赋值表达式。 (4)理解自加、自减运算符和逗号运算符 (5)掌握关系表达式和逻辑表达式的求值 2.实验内容

(1)整数相除 #include int main() { int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; printf("d=%d , e=%d ,f=%d\n",d,e,f); return 0; } (2)自加、自减运算 #include int main() { int a=5,b=8; printf("a++=%d\n",a++); printf("a=%d\n",a); printf("++b=%d\n",++b); printf("b=%d\n",b); return 0; } (3)关系运算和逻辑运算 #include int main() { int a=5,b=8,c=8; printf("%d,%d,%d,%d\n",a==b&&a==c,a!=b&&a!=c,a>=b&&a>=c,a<=b&& a<=c); printf("%d,%d\n",a<=b||a>=c,a==b||b==c); printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a<=b)); return 0; } (1)在编辑状态下输入上述程序。 (2)编译并运行上述程序。 3.分析与讨论 (1)整数相除有什么危险?应如何避免这种危险? (2)分析a++和++a的区别。 (3)条件表达式和逻辑表达式的意义是什么,它们取值如何? (4)如何比较两个浮点数相等?为什么? 实验三格式化输入输出函数的使用 1.实验目的

程序设计基础习题及参考答案

习题及参考答案 1 单项选择题: (1)下列哪个符号是合法的变量名? ( ) A .VB123 B .Abs C .99Ji D .x\y 答案: 选择A 。其他的:Abs 是Visual Basic 的关键字,99Ji 以数字开头,x\y 使用了整除运算符”\”,都是非法的。 (2)Visual Basic 中的数据也可以以十六进制或八进制表示,十六进制数据以( )符号开头,八进制数据以( )符号开头。 A.$E B.$H C.&O D.&H 答案:D C (3)如果X 是一个正实数,对X 的第三位小数四舍五入的表达式是 ( ) A .0.01*Int(x+0.005) B. 0.01*Int(100*(x+0.005)) C. 0.01*Int(100*(x+0.05)) D. 0.01*Int(x+0.05) 答案: 选择B 。x 是一个正实数,要保留n 位小数,第n+1位四舍五入的数字公式是: Int(x*10n +0.5)/10n 因此,本题应该选择B 。 (4)数学式子10sin25°写成Visual Basic 表达式是 ( ) A .10Sin25 B .10* Sin(25) C .10*Sin(25°) D .10*Sin(25*3.14/180) 答案: 选择D 。其他的选项:A 、C 属于语法错误,B 中Sin(25)计算的是25弧度的正弦值,而不是sin25°的值,要将度数转换为弧度的公式是:弧度=度数*180/ 。 (5)下列哪组语句可以将变量A 、B 的值互换? ( ) A .A=B:B=A B. A=A+B:B=A-B:A=A- B C. A=C:C=B:B=A D. A=(A+B)/2:B=(A-B)/2 答案: 选择B 。应该对每个选项内的赋值语句进行分析,判断其运行结果。 下面仅对B 选项的三条语句的作用分析如下: ◆ A=A+B ‘将变量A 和变量B 相加后赋给变量A ,此时A 中存放的是和数 ◆ B=A-B ‘由于A 中存放的是和数,A-B 的值就是原先A 中的值,赋给变量B ,B 的 值就是原先A 中的值 ◆ A=A-B ‘由于A 中存放的是和数,B 的值就是原先A 中的值,A-B 的值就是原先B 中的值 ,赋给变量A ,A 的值就是原先B 中的值。 这样达到了交换目的。 实际上,在引用第三个变量的情况下,将变量A 、B 的值互换常用如下的语句: T=A:A=B:B=T (6)Visual Basic 中不存在下列哪一种数据类型? ( ) A 字符串类型 B 日期类型 C 逻辑类型 D 指针类型 答案: 选择D 。在Visual Basic 中不存在指针(地址)类型,而在C++等语言中有指针类型。 (7)把数值型转换为字符串型需要使用下列哪一个函数? ( ) A Val B Str C Asc D Chr

程序设计基础知识(简答题)

1.请简述程序设计的一般步骤。 (1)分析问题:(2)设计算法;(3)选择程序设计语言;(4)编写程序代码 2.请说明算法的五个基本特征,并进行简要的分析 ①确定性:算法的每一种运算必须要有确切的定义,即每一种运算应该执行何种动作必须是相当清楚的、无二义性的。 ②输入:一个算法有0个或多个输入,这些输入是在算法开始之前给出的量,它取自特定的对象集合 ③输出:一个算法产生一个或多个输出,这些输出是同输入有某种特定关系的量。 ④有穷性:一个算法总是在执行了有穷步的运算之后能够终止,且每一步都可在有穷时间内完成。这里的有穷的概念不是纯数学的,而是在实际上是合理的,可以接受的。 ⑤可行性:每个算法都可以有效地执行,并能得到确定的结果 3.算法的表示方法有哪些? 常用的算法表示方法有自然语言、流程图、N-S图、伪代码等 ①自然语言:指人们在日常生活中使用的语言,用自然语言描述的算法通俗易懂,但缺乏直观性和简洁

性,容易产生歧义。 ②流程图:它是算法的一种图形化表示方法,与自然语言相比,它的描述形象直观 更容易理解 ③N-图:它是一种简化的流程图,去掉了流程图中的流程线,全部算法写在一个矩 形框内。 ④伪代码:介于自然语言和计算机程序语言之间的一种算法描述,没有严格的语法 限制。例如:If(明天 不下雨)Then(我们骑车去郊游)表示“如果明天不下雨,那么我们骑车去郊游如果 一种算法描述中既出 现了自然语言,又出现了程序语言中的关键字(变量名不算关键字),则这种算法描 述方法就是伪代码。 4.简述算法的三种基本控制结构 ①顺序结构:按照语句的先后顺序执行即为顺序结构,是算法中最简单的一种结构。 ②选择结构:根据条件的不同,程序执行不同的语句,即为选择结构。 ③循环结构:根据约束条件的不同,多次重复执行某一条或多条语句的结构,称为 循环结构。

计算机程序设计基础实验12个实验

《计算机程序设计基础》实验教学 大纲 课程编号:1303072 实验学时:24课程学分:3.5 课程类型:必修教学对象:全校各非计算机专业先修课程: ㈠实验目的与要求  本实验课程面向文法学院学生,通过本课程的学习与实验,使学生了解程序设计的一些基本概念,掌握计算机程序设计的一般方法,具备使用计算机解决实际问题的初步能力。 在实验教学中提倡“实验前要准备,实验中要认真,实验后要总结”;突出上机实践操作环节,强调在教师指导下的以学生为中心完成每次上机的具体内容和要求;对于普遍问题采用领练、辅导有机

结合的方法;尽量采用 CAI 辅助教学软件。 通过实验教学使学生能够建立计算机程序设计的基本概念;在简单的程序设计过程中掌握Visual Basic可视化设计的步骤,逐步搞清什么是对象、对象的属性以及事件和方法等重要概念。在此基础上,掌握程序设计的3种基本结构。 ㈡实验考核方式与成绩评定方法考核方式: 1.考核学生每次实验完成情况; 2.考核学生的计算机基本操作能力; 3.上机考试 成绩评定:学生应按照每次实验的要求,完成指定的实验任务,并按要求提交实验报告和实验文件,成绩评定由实验指导教师根据学生实验完成情况按照优秀、良好、中等、合格、不合格五个等级给出,实验成绩占20%计入学生课程成绩。  本学期需上交实验报告为三次,实验报告实验要求用本校实验报告册书写。要求填写学号、班级、姓名、实验指导老师、实验日期,报告内容包括实验名称、实验目的、实验内容、详细操作步骤及结果,最好写出自己的上机体会和总结。

㈢ 实验项目设置 根据教学内容和实验教学目的,共设4个实验项目: 项目一,认识Visual Basic,包括2个实验; 项目二,程序设计基础,,包括6个实验; 项目三,常用控件及界面设计,包括2个实验;项目四,文件管理,包括1个实验; 总的实验数为12个实验。 实验项目名称实验内容与学时分配总学时 数 认识Visual Basic 1.Visual Basic 程序设计环 境 2.窗体和最基 本控件 4 程序设计基础1.数据类型及函数 2.顺序程序设计 3.分支结构程序设计4.循环结构程序设计5.数组 6.过程 12 常用控件及界面设计1.常用标准控件 2.界面设计 4 文件管理1.文件管理2

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。 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'

C语言程序设计基础知识 习题一及参考答案

第一章:程序设计基础知识 一、单项选择题 1、以下( )是面向过程的程序设计语言。 A)机器语言B)汇编语言C)高级语言D)第四代语言 2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是( )。 A)设计数据结构和算法B)建立数学模型 C)编写程序D)调试和运行程序 3、以下常用算法中适合计算等差级数的算法是( )。 A)枚举法B)递推法C)分治法D)排序法 4、以下不属于算法基本特征的是( )。 A)有穷性B)有效性C)可靠性D)有一个或多各输出 5、以下描述中不正确的是( )。 A)程序就是软件,但软件不紧紧是程序。 B)程序是指令的集合,计算机语言是编写程序的工具。 C)计算机语言都是形式化的语言,它有一个语法规则和定义。 D)计算机语言只能编写程序而不能表示算法。 6、下面描述中,正确的是( ) A)结构化程序设计方法是面向过程程序设计的主流。 B)算法就是计算方法。 C)一个正确的程序就是指程序书写正确。 D)计算机语言就是编写程序的工具而不是表示算法的工具。 7、下面描述中,不正确的是( )。 A)递归法的关键是必须有一个递归终止的条件。

B)递归算法要求语言具有反复自我调用子程序的能力。 C)对于同一个问题,递推算法比递归算法的执行时间要长。 D)递推算法总可以转换为一个递归算法。 8、N-S图与传统流程图比较,主要优点是( )。 A)杜绝了程序的无条件转移。 B)具有顺序、选择和循环三种基本结构。 C)简单、只管。 D)有利于编写程序。 A)B)C)D) 二、填空题 1、在流程图符号中,判断框中应该填写的的是________。(判断条件) 2、结构化程序设计是__________应遵循的方法和原则。(面向过程编程) 3、结构化程序必须用__________程序设计语言来编写。(具有结构化控制语句) 4、可以被连续执行的一条条指令的集合称为计算机的________。(程序) 5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(数据结构算法) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性) 11、用模块组装起来的程序被成为________结构化程序。(模块化) 12、采用自上而下,逐步求精的设计方法便于____________。(结构化和模块化) 三、应用题

相关主题
相关文档 最新文档