程序设计基础作业答案

程序设计基础作业答案
程序设计基础作业答案

《程序设计基础(C)》作业

第1章C语言的基本构成

一、选择题

1.(A)是构成C语言程序的基本单位。

(A)函数(B)过程

(C)子程序(D)文件

2.(B)是C语言提供的合法的数据类型关键字。

(A)Float (B)signed

(C)integer (D)Char

3.以下选项中不合法的用户标识符是(A)。

(A)abc.c (B)file

(C)Main (D)PRINTF

4.以下选项中不合法的用户标识符是(AB)。

(A)l23 (B)printf

(C)A$(D)Dim

5.合法的C语言长整型常数是(A)。

(A)0L (B)5712700

(C)(D)

6.C语言中,要求运算数必须是整型的运算符是(A)。

(A)% (B) /

(C)< (D)!

7.以下选项中正确的整型常量是(B)。

(A)12. (B)-20

(C)l,000 (D)0458

8.以下选项中不正确的实型常量是(B)。

(A)-1 (B).

(C)(D)456e-2

9.C语言中运算对象必需是整型的运算符是(D)。

(A) \ (B) +

(C) * (D) %

二、程序调试题

1.编辑、调试以下程序

步骤1:在Visual C++环境下新建文件可用[开始]→[程序]→[Microsoft Visual C++] →[Microsoft Visual C++] →[文件] →[新建]→[文件] →[C++ Sourse File],输入文件名,

z=x+y;

return z;

}

int main( )

{

int add(int,int); /* 函数的说明,告诉系统在主函数中要调用add函数 */ int a,b,c; /* 变量的定义*/

scanf("%d %d\n",&a,&b);

c=add(a,b); /* 函数调用 */

printf("%d+%d=%d\n",a,b,c);

/* 调用系统输出函数printf,%d为格式控制符,依次用后面的变量值填充,以整数形式输出 */

}

请思考文件由几个函数构成?

由个函数构成

调用了那几个系统函数?

调用2个系统函数,分别是scanf和printf

此程序中用到了哪几个保留字?哪几个用户自定义标识符?

保留字:int,return 自定义表示符:z,x,y,a,b,c

步骤3:

编译并运行程序,程序运行时输入两个整数,20 40 ,观察程序运行的结果。

20+40=60

2.编辑、调试以下程序

步骤1:在Visual C++环境下新建文件可用[开始]→[程序]→[Microsoft Visual C++] →[Microsoft Visual C++] →[文件] →[新建]→[文件] →[C++ Sourse File],输入文件名步骤2:在文本编辑器中输入以下C程序

#include<> /*文件预处理,包含标准输入输出库,程序可调用输入、输出函数*/ #include<1-2-2>

int main( )

{

int and(int,int); /* 函数的说明,告诉系统在主函数中要调用and函数 */ int or(int,int); /* 函数的说明,告诉系统在主函数中要调用and函数 */ int a,b,c; /* 变量的定义*/

scanf("%d %d",&a,&b);

c=and(a,b); /* 函数调用 */

printf("%d && %d=%d\n",a,b,c);

/*调用系统输出函数printf,%d为格式控制符,依次用后面的变量值填充,以整数形式输出 */

c=or(a,b); /* 函数调用 */

printf("%d || %d=%d\n",a,b,c);

}

int and(int a,int b)

{

int c;

c=a&&b;

return c;

}

int or(int a,int b)

{

int c;

c=a||b;

return c;

}

步骤5:点击编译图标,编译程序

步骤4:点击执行图标,执行程序,当程序运行时,键盘输入20 40,按回车。

20 40

20 && 40=1

20 || 40=1

您可以输入其它的整数,观察程序的执行结果。

3 0

3 && 0=0

3 || 0=0

第2章输入输出程序设计

1.用printf输出一个中空的五角星。

#include <>

void main(){

printf("\t * \n");

printf("\t * * \n");

printf("\t * * \n");

printf("\t* * * * * * * * \n");

printf("\t * * \n");

printf("\t * * \n");

printf("\t * * \n");

printf("\t * * * \n");

printf("\t * * * * \n");

printf("\t* *\n");

}

2.仿照例子,定义一个字符数组,从键盘输入一字符串,然后输出的程序。

#include <>

int main(){

char s[255];

printf("请输入:");

scanf("%s",s);

printf("你输入的是:%s\n",s);

return 0;

}

3.从键盘输入十六进制整数,转化为八进制数输出。

#include <>

int main(){

int a;

printf("请输入一个十六进制数:");

scanf("%x",&a);

printf("这个数转化为八进制数为%o\n",a);

return 0;

}

4.只定义两个整型数据并赋值,实现两个整型数的互换。

#include <>

int main(){

int a = 10;

int b = 20;

a = a^b;

b = b^a;

a = a^b;

printf("a = %d , b = %d\n",a,b);

return 0;

}

5.从键盘上输入一个整数,分别输出8、16进制数的程序。

#include <>

int main(){

int a;

printf("请输入一个十进制数:");

scanf("%d",&a);

printf("这个数转化为八进制数为%o\n",a);

printf("这个数转化为八进制数为%x\n",a);

return 0;

}

6.从键盘上输入一个整数,分别输出它的个位数,十位数,百位数。

#include<>

int main()

{

int a;

scanf("%d",&a);

printf("百位数为%d\n",a/100);

printf("十位数为%d\n",a%100/10);

printf("个位数为%d\n",a%10);

return 0;

}

7.以下程序输出结果是(9,10 )。

#include<>

void main()

{

int i=010,j=10;

printf("%d,%d\n",++i,j-- );

}

8.运行程序,屏幕提示“您是一个学生吗”,您输入’y’或’n’进行回答,屏幕输出您的选项。

#include<>

int main()

{

char s;

printf("你是学生吗(Y/N):");

scanf("%s",&s);

if(s == 'Y' || s == 'y')

{

printf("你是学生~~\n");

}

else

{

printf("你不是学生~~\n");

}

return 0;

}

9.从键盘输入一个角度x,求10*sin(x)的值。

#include<>

#include <>

int main()

{

int a;

scanf("%d",&a);

double r = 10 * sin(a);

printf("%f\n",r);

return 0;

}

第3章循环程序设计

1.执行语句for(i=0;i++<5;);后,变量i 的值是( A )。

(A)6 (B)5

(C)4 (D)0

2.若int i=0;下列语句计算1+2+…+10的是( C )。

(A)while(s+=i);(B)for(;i<=10;i++,s+=i)(C)for(;i<=10;s+=i,i++)(D)for(;i<9;i++,s+=i)

3.若int i,x; 则语句 for(i=x=0;i<9;i+=++x);的循环体要执行(4 )次。10.以下不是死循环的语句是(D )。

(A)for(;;x++);(B)while(1){x++};

(C)do{i++;}while(1)(D)for(x=-10;x++;)

4.以下for语句的循环次数是多少?

int i,j=3;

for(;i=j;i--,j--) printf("%d",i);

执行了3次

5.下面的语句显示输出6行6列的整数数组h的主对角线上的所有元素,请补充完整:

for(int i=0;i< 6 ; i++ )

printf("%d", h[i][i] )

6.写出以下程序运行的结果,此程序实现了什么功能?

#include<>

void main()

{ int a[10]={2,4,0,-5,10,6,-8,9,6,7};

int i, count=0;

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

if(a[i]==0) count++;

else continue;

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

}

该程序实现的功能为:计算数组a中包含几个0

7.写出以下程序的功能。

#include<>

void main()

{

int a[10]={2,4,0,-5,10,6,-8,9,6,7},tmp,k;

for (k=0;k<10/2;k++)

{

tmp=a[k];

a[k]=a[10-k-1];

a[10-k-1]=tmp;

}

}

此程序实现功能:将数组颠倒

8.写出以下程序运行后的输出结果。

#include<>

void main()

{

int i,j;

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

{

for(j=0;j

printf(" ");

for(j=0;j<2*(5-i)-1;j++)

printf("*");

printf("\n");

}

}

输出倒三角形

*********

*******

*****

***

*

9.请改正下列程序的错误,改正后的程序写在右边的空白处,并上机调试检验。

(1) #include<>

void main( ) { int i,s; i=1; s=0; while(i<=100); s=s+i; i++; printf(“1+2+3+….+99+100=%d\n ”,s);

} (2)

#include<>

void main( )

{

int i,s;

i=1;

s=0;

while(i<=100) s=s+i; i++; printf(“1+2+3+….+99+100=%d\n ”,s); } (3)

#include<>

void main( )

{

int i=1,s;

while(i<=100) ;

{

s=s+i;

i++;

}

printf(“1+2+3+….+99+100=%d\n”,s);

}

10.输入一个基数,例如输入9,输出为:求1*3*……*9的值。输出为:1*3*5*7*9=945 #include<>

int main()

{

int a,b;

b = 1;

scanf("%d",&a);

for(int i = 1;i <= a; i+=2){

b = b * i;

}

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

return 0;

}

11.输入一个5~10之间的整数n,求1!+2!+3!+...+n!。例如输入5,输出为:1!+2!+3!+ (5)

=153

#include<>

int main()

{

int a,b,c;

b = 1;

c = 0;

scanf("%d",&a);

for(int i = 1; i <= a; i++)

{

for(int j = 1; j <= i; j++)

{

b = b * j;

}

c = c + b;

b = 1;

}

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

return 0;

}

12.在屏幕上输出以下内容

1

12

123

1234

12345

123456

1234567

9

#include<>

int main()

{

for(int a = 1; a <= 9; a++)

{

for(int b = 1; b <= a; b++)

{

printf("%d",b);

}

printf("\n");

}

return 0;

}

13.求2+4+6+……+98+100的和,用多种for表达式来完成。

#include<>

int main()

{

int sum = 0;

for(int a = 2; a <= 100; a+=2)

{

sum += a;

}

printf("%d",sum);

return 0;

}

14.输入一行字符,统计它有多少个字母?

#include<>

int main()

{

int count = 0;

char s[255];

scanf("%s",s);

for(int i = 0; i < 255; i++)

{

if(s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z')

{

count++;

}

}

printf("%d",count);

return 0;

}

第4章分支程序设计

1.输入若干整数给x,使用if语句输出x的绝对值,当输入0时结束。

#include<>

int main()

{

int x;

scanf("%d",&x);

for (;x;scanf("%d",&x))

{

if ( x > 0)

{

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

}

else

{

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

}

}

return 0;

}

2.输入一批数,输出比相邻数大的数,当输入0时结束。

#include<>

int main()

{

int a;

int b = 0;

scanf("%d",&a);

b = a;

for (;a;scanf("%d",&a))

{

if (a > b)

{

printf("%d\t",a);

}

b = a;

}

return 0;

}

3.将输入字符的大写字符转换成小写字符输出,小写字符原样输出。

#include<>

int main()

{

char c;

while ((c = getchar()) != '\n')

{

if (c >= 'A' && c <= 'Z')

{

c+=32;

}

putchar(c);

}

return 0;

}

4.输入一批字符,按回车时结束,统计小写字符、大写字符、数字字符、或其它字符的个数。

#include<>

int main()

{

char c;

int dx = 0,xx = 0,sz = 0,qt = 0;

while ((c = getchar()) != '\n')

{

if (c >= 'A' && c <= 'Z')

{

dx++;

}

else if (c >= 'a' && c <= 'z')

{

xx++;

}

else if (c >= '0' && c <= '9')

{

sz++;

}

else

{

qt++;

}

}

printf("包含大写字母%d 个,小写字母%d 个,数字%d 个,其他字符%d 个.\n",dx,xx,sz,qt);

return 0;

}

5.编写程序,计算分段函数:

10101110

325><<≤???????-+=x x x x x x y

#include<>

int main()

{

double x,y;

scanf("%f",&x);

if (x <= 1)

{

y = x + 5;

}

else if (x < 10)

{

y = 2 * x;

}

else

{

y = 3/(x-10);

}

printf("%f",y);

return 0;

}

6

#include<>

int main()

{

int a;

scanf("%d",&a);

if (a > 90)

{

printf("5\n");

}

else if (a > 80)

{

printf("4\n");

}

else if (a > 70)

{

printf("3\n");

}

else if (a > 60)

{

printf("2\n");

}

else

{

printf("1\n");

}

return 0;

}

7、用switch完成:读入一个实数x,再输入一整数,若输入是1,则计算sin(x),若输入2,则计算cos(x),若输入3,则计算tan(x),若输入其他值,则显示错误信息。

#include<>

#include <>

int main()

{

int a,b;

scanf("%d,%d",&a,&b);

switch(a)

{

case 1:printf("y=sin(x)=%f",sin(b));break;

case 2:printf("y=cos(x)=%f",cos(b));break;

case 3 :printf("y=tan(x)=%f",tan(b));break;

default:printf("error");break;

}

return 0;

}

8、用switch完成:输入星期1 到星期5,输出它们对应的颜色

星期1:blue

星期2:red

星期3:white

星期4:yellow

星期5:green

#include<>

int main()

{

int a;

scanf("%d",&a);

switch(a)

{

case 1:printf("星期一:blue\n");break;

case 2:printf("星期二:red\n");break;

case 3:printf("星期三:white\n");break;

case 4:printf("星期四:yellow\n");break;

case 5:printf("星期五:green\n");break;

default:printf("error\n");break;

}

return 0;

}

9、用switch完成:从键盘输入A、B、C、D四个等级中的一个,转化输出

#include<>

int main()

{

char a;

scanf("%s",&a);

switch(a)

{

case 'A':printf("优秀\n");break;

case 'B':printf("良好\n");break;

case 'C':printf("中等\n");break;

case 'D':printf("及格\n");break;

case 'E':printf("不及格\n");break;

default:printf("error\n");break;

}

return 0;

}

第5章数组及其应用

1.从键盘输入12个数,分别为:900,2,3,58,34,76,87,72,90,20,78,30,找出最大和最小数。

#include<>

int main()

{

int a[12];

for (int i = 0; i < 12; i++)

{

scanf("%d",&a[i]);

}

int max=a[0],min=a[0];

for (int j = 1; j < 12; j++)

{

if (a[j] > max)

{

max = a[j];

}

if (a[j] < min)

{

min = a[j];

}

}

printf("最大值为%d,最小值为%d\n",max,min);

return 0;

}

2.采用遍历查找,在数组a[SIZE]={2, 3,20,58, 72, 76,78,87,90,900}中,找出偶数。#include<>

#define SIZE 100

int main()

{

int a[SIZE] = {2,3,20,58,72,76,78,87,90,900};

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

{

if (a[i] % 2 == 0)

{

printf("%d\t",a[i]);

}

}

return 0;

}

3.采用折半查找,在数组a[SIZE]={2, 3,20,58, 72, 76,78,87,90,900}中,找到87,然后进行删除。

#include<>

#define SIZE 11

#define FOUND 87

int main()

{

int a[SIZE] = {2, 3,20,58, 72, 76,78,87,90,900};

int low = 0,high = SIZE-1,mid;

mid = (low + high) / 2;

while (low < high)

{

if (a[mid] < FOUND)

{

low = mid;

mid = (high + low) / 2;

}

else if (a[mid] > FOUND)

{

high = mid;

mid = (high + low) / 2;

}

else

break;

}

for (int j = mid; j < 9; j++)

{

a[j]=a[j+1];

}

return 0;

}

第6章函数及其应用

练习与实践

一、阅读程序,写出程序运行的结果。

1.写出以下程序的执行结果。

#include<>

float aver(int a[])

{

int k,sum=0;

float ave;

for(k=0;k<10;k++)

sum+=*(a+k);

ave=(float)sum/10;

return (ave);

}

int main( )

{

float ave;

static b[]={78,89,98,76,78,45,88,81,92,85};

ave=aver(b);

printf("ave=%f\n",ave);

}

提示:数组b的首地址传递给形参a,*(a+k)就是数组元素b[k].

2.阅读程序,写出程序的执行结果。

#include<>

void abc( char str[] )

{int a, b ;

for(a = b = 0 ; str[a]!='\0'; a++ )

if(str[a]!= 'c’)

str[b++] = str[a];

str[b]='\0';

}

int main( )

{

char str[] ="abcdef" ;

abc(str);

printf("str[ ]=%s " , str );

return 0;

}

提示:数组str的首地址传递给形参str,str[a]就是实参中的数组元素str[a],当数组元素不为’c’时进行复制。

str[] =abdef

3.写出以下程序的执行结果。

#include<>

int sort(int b[],int n,int x)

{

int k;

for(k=n-1;k>=0;k--)

if(b[k]

b[k+1]=b[k];

else

break;

b[k+1]=x;

return 0;

}

int main( )

{

int i,j;

static int a[5]={8,5,4,1,6};

int b[8];

b[0]=a[0];

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

{

sort(b,i,a[i]);

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

printf("%d ",b[i]);

printf("\n");

}

return 0;

}

提示:循环体中

if(b[k]

b[k+1]=b[k];

else

break;

如果b[k]

5 5

4 4 4

1 1 1 1

1 1 1 1 1

4.写出以下程序的执行结果。

#include<>

int fun(int x)

{ int p;

if(x==0||x==1)

return 3;

else

p=x-fun(x-2);

return p;

}

int main( )

{

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

return 0;

}

提示:fun(9)=9-fun(7),...,fun(1)=3

7

5.写出以下程序的执行结果,并说明其作用是什么?

#include<>

int f(int n)

{

if(n>=10)

f(n/10);

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

return 0;

}

int main( )

{

f(1234);

printf("\n");

return 0;

}

提示:在函数f中,程序运行借助了堆栈,依次入栈的数据分别为1234、123、12,最后n=1,n对8取余输出,然后数据依次出栈对8取余输出。

1432

二、程序设计

1.编写一个函数,计算x的n次的平方。

提示:for(y=1,i=0;i

程序设计基础试题库

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

2017年电大专科程序设计基础形考任务

电大专科程序设计基础形考任务一 1.计算机的五大主要应用领域是科学计算、数据处理、过程控制、计算机辅助系统和人工智能。 2.总线是连接CPU 、存储器和外部设备的公共信息通道。通常由三部分组成:数据总线、地址总线、控制总线。 3.计算机是一类智能机器,这是因为它除了完成算术运算外,还能完成某些逻辑运算。4.世界上第一台计算机取名为ENIAC 。 5.目前制造计算机所采用的电子器件是大规模集成电路。 6.CPU 是Central Processing Unit 的英文缩写,它主要由运算器、控制器和 寄存器3 个部分组成。 7.完整的计算机系统是由硬件系统和软件系统两大部分组成的。 8.计算机的硬件系统一般可分为存储器、中央处理器、输入设备和输出设备等几个部分。 9.计算机的存储器分为内存和外存两级。 10.随机存储器和只读存储器的英文缩写分别为RAM 和ROM 。 11.系统软件是为有效利用计算机的资源、充分发挥计算机的工作潜力、保证正常运行、尽可能方便用户使用计算机而编制的软件。

12.程序是为实现一定功能,用计算机程序设计语言所编制的语句的有序集合。文档是描述程序设计的过程及程序的使用方法的有关资料。 13.图灵机是计算机的概念模型,奠定了现代计算机的理论基础;冯·诺依曼机是 计算机的结构模型,奠定了现代计算机的设计基础。 14.高级语言源程序的翻译成机器语言程序一般有两种做法: 编译方式和解释方式。15.按照使用方式,程序设计语言分为交互式语言和非交互式语言;按照应用范围 则分为通用语言和专用语言。 16.编译程序的核心部分,叫__语法分析器_______ ,其任务就是检查源程序在语法上是否_正确___ 。 二、选择题(每题2 分,合计20 分)题目2 2、当代计算机的最主要的体系结构称为是______ 。 选择一项: A.冯·诺依曼机 B.PASCAL机 C.非冯·诺依曼机 D.图灵机 3 计算机软件是指____ 。 选择一项: A.源程序选择一项: A.机器语言 B.高级语言 C.目标语言 D.汇编语言 5、显示器是____ 。选择一项: A.存储设备 B.计算设备 B.计算机程序及其有关文挡 C.源程序和目标程序 D.计算机程序 C.输出设备 D.输入设备 6、系统软件的核心软件是 _____ 选择一项: 4、计算机能直接执行的语言是 A. 编译程序

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

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

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

程序设计基础形考作业2

江苏开放大学 形成性考核作业 学号: 姓名: 课程代码: 课程名称:程序设计基础(专)评阅教师: 第 2 次任务 共 4 次任务

作业说明: 1.做作业之前首先在封面填上自己的学号和姓名,做完作业后请写上作业完成时间。 2.学习完第二单元后必须完成本次作业,并请在规定时间内通过学习平台提交Word文档形式的电子作业,本次作业占形成性考核总成绩的20%。 作业内容: 根据“学生成绩的等级评定”实训,编写一个“菜单式程序界面”的程序,程序界面的内容构成由学员设定,比如某个具体应用的程序界面:学生系统主界面,按1进入学生信息登记、按2进入学生信息查询、按3进入学生信息的更新、按4进入学生信息备份、按5退出系统等,进入每个子节目显示一行欢迎语句。 作业要求: (1)程序的源代码以及对源代码必要(主要是代码中涉及选择结构、逻辑运算符、关系运 算符的地方)的行注释。(后缀名为.c的源程序代码)(占60%) (2)测试运行结果截图。(占40%) (3)以上内容请在本文档中完成,并将本文档提交至学习平台,作为本课程第二次作业。作业回答区: #include int main(void){ int a; printf("1-学生信息登记\n"); printf("2-学生信息查询\n"); printf("3-学生信息更新\n"); printf("4-学生信息备份\n"); printf("5-退出系统\n"); printf("input integer number: "); scanf("%d",&a); switch (a){

case 1: printf("欢迎进入-学生信息登记系统\n");break; case 2: printf("欢迎进入-学生信息查询系统\n");break; case 3: printf("欢迎进入-学生信息更新系统\n");break; case 4: printf("欢迎进入-学生信息备份系统\n");break; case 5: printf("退出系统\n");break; default:printf("输入错误!\n"); } return 0; }

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

《程序设计基础——C#.NET》练习 参考答案: 一、选择题 https://www.360docs.net/doc/5d164797.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.有如下程序:

2017年电大专科程序设计基础形考任务

二、选择题(每题2分,合计20分) 题目 2 2、当代计算机的最主要的体系结构称为是______。 选择一项: A. 冯·诺依曼机 B. PASCAL 机 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、汇编语言属于______。 选择一项: A. 过程式语言 B. 逻辑语言 C. 函数式语言 D. 非过程式语言 9、要编写高质量的程序,判断程序质量的首要标准是程序的_____①______,要保证程序在多次反复使用过程不发生错误,应该保证程序的_____②______。 选择一项: A. ①可靠性②有效性 B. ①有效性② 正确性 C. ①正确性②可靠性 10、编译程序的实现算法较为复杂,但它可以产生高效运行的____①______程序,因此更适合翻译那些规模较大、结构较复杂、需要较长运行时间的_____②______ 程序。 选择一项: A. ① 目标② 应用 B. ① 执行② 复杂 C. ①可执行代码② 系统 11、高级语言源程序的翻译有两种方式,对程序逐句进行分析并立即执行的这种方式为_____①_______,另一种是需要把程序先转化为目标代码再装入内存运行,这种方式为______②______。 选择一项: A. ①解释②编译 B. ①编译②解释 C. ①翻译②解释

《程序设计基础》试卷(A卷)

《程序设计基础》试卷(A 卷) 注意:1、考试时间: 90 分钟; 2、班级、姓名、学号必须写在指定地方; 3、适用班级: 4、考试方式: 一、填空题 (每空 2 分,共 20 分) 1、C 程序是由函数构成的,其中有且只能有 1 个主函数,每个C 程序总是从它开始执行,并且以 ; 作为结束符。 2、C 语言中三大基本结构有:顺序结构、 选择结构 、 循环结构 。 3、‘A ’+3的结果是 68 。 4、若已定义x 和y 为double 类型,则表达式x=1,y=x+3/2 的值是 2.5 。 5、C 语言中逻辑运算符 ! 的优先级高于算术运算符。 6、符号“a”和‘a’的区别是 “a ”2字节 ‘a ’1字节 。 7、C 语言的预处理语句以____#_____开头。 8、有如下输入语句:scanf(“a=%d,b=%d ,c=%d”,&a ,&b ,&c );为使变量a 的值为1,b 的值为3,c 的值为2,从键盘输入数据的正确形式应是 a=1,b=3,c=2 。 二、选择题 (每小题 3 分,共 30 分) 1、下列叙述中错误的是( D )。 A 、 if 语句允许用户选择是否执行某个操作。 B 、 if else 语句允许用户选择执行两个操作中的某个操作。 C 、 switch 语句允许用户选择执行多个操作中的某个操作 D 、 多分支选择结构只能使用switch 语句实现 2、以下不正确的C 语言标识符是( D ) A 、ABC B 、abc C 、a_bc D 、ab.c 3、按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( B )。 A 、大写字母 B 、连接符 C 、数字字符 D 、下划线 4、将int 型变量n 转换成float 型变量的方法是( B )。 A 、float n B 、(float)n C 、float(n) D 、(int )n 5、( A )是构成C 语言的基本单位。 A 、函数 B 、子函数 C 、过程 D 、子过程 6、下面关于运算符优先顺序的描述中正确的是( B )。 A 、关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符 B 、逻辑运算符< 关系运算符< 算术运算符< 赋值运算符 C 、赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符 D 、算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符 7、在C 语言中,要求参加运算的数必须是整数的运算符是( C )。 A 、/ B 、! C 、% D 、= = 8、char 型常量在内存中存放的是( B )。 A 、ASCII 代码值 B 、BCD 代码值 C 、内码值 D 、十进制代码值 9、以下程序的输出结果是( B ) Main() { Int x=10,y=4; Printf(“%d\n ”,x/y);

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

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

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'

2019国开电大《程序设计基础》形考任务4答案

程序设计基础形考任务4: 1.算法的四种基本操作是逻辑运算、算数运算、数据比较、数据传送。 2.算法的控制结构有三种基本形式:顺序结构、选择结构、循环结构。 3.评价算法需要从几个不同的角度考虑,最主要的是正确性和运行效率。 4.算法的运行效率包括两方面,算法的时间复杂度和算法的空间复杂度。 5.结构化程序设计的总体思想是采用模块化结构,自顶向下、逐步求精。 6. 软件生存周期包括软件的定义、软件的开发和软件使用与维护3个部分。 7. 软件定义时期主要包括可行性研究和需求分析两个阶段。 8.软件开发时期是具体设计和实现在前一时期定义的软件,它由软件的设计阶段、实现阶段、集成阶段组成。 9.软件工程的目标是可概括为生产具有正确性、可用性以及开销合宜的产品。 10.软件开发模型大体上可分为两种类型,第一种是以软件需求完全确定为前提的瀑布模型。第二种是在软件开发初始阶段只能提供基本需求时采用的渐进式开发模型。 二、选择题(每题4分,合计40分) 2下列叙述中正确的是_____。 选择一项: A. 算法就是程序 B. 设计算法时只需要考虑结果的可靠性

C. 以上三种说法都不对 D. 设计算法时只需要考虑数据结构的设计 3下列叙述中正确的是_____。 选择一项: A. 一个算法的空间复杂度大,则其时间复杂度也必定大 B. 以上三种说法都不对 C. 一个算法的空间复杂度大,则其时间复杂度必定小 D. 一个算法的时间复杂度大,则其空间复杂度必定小 4一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是()。选择一项: A. 有零个或多个输入 B. 可行性 C. 有穷性 D. 有零个或多个输出 5下面叙述正确的是()。 选择一项: A. 算法的时间复杂度是指执行算法所需要的计算工作量 B. 算法的效率只与问题的规模有关,而与数据的存储结构无关 C. 数据的逻辑结构与存储结构是一一对应的 D. 算法的时间复杂度与空间复杂度一定相关 6那一项不属于算法的四种基本的功能操作( ) 。

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

程序设计基础复习题 一、单选 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句结论只有一句是错误的,它是()

国开电大专科《程序设计基础》形考任务1至4试题及答案

国开电大专科《程序设计基础》形考任务1至4试题及答案 说明:资料整理于2020年11月19日。 形考任务1 试题及答案 一、填空题 1.计算机的五大主要应用领域是______、______、______、______和______。 [答案]科学计算、数据处理、过程控制、计算机辅助系统、人工智能 2.总线是连接______、______和______的公共信息通道。通常由三部分组成:______、______、______。[答案]CPU、存储器、外部设备、数据总线、地址总线、控制总线 3.计算机是一类智能机器,这是因为它除了完成算术运算外,还能完成某些______。 [答案]逻辑运算 4.世界上第一台计算机取名为______。 [答案]ENIAC 5.目前制造计算机所采用的电子器件是______。 [答案]大规模集成电路 6.CPU是 Central Processing Unit 的英文缩写,它主要由______、______和寄存器 3个部分组成。[答案]运算器、控制器 7.完整的计算机系统是由______和______两大部分组成的。 [答案]硬件系统、件系统 8.计算机的硬件系统一般可分为______、______、______和______等几个部分。 [答案]存储器、中央处理器、输入设备、输出设备 9.计算机的存储器分为______和______两级。 [答案]内存、外存 10.随机存储器和只读存储器的英文缩写分别为______和______。 [答案]RAM、ROM 11.______是为有效利用计算机的资源、充分发挥计算机的工作潜力、保证正常运行、尽可能方便用户使用计算机而编制的软件。 [答案]系统软件 12.______是为实现一定功能,用计算机程序设计语言所编制的语句的有序集合。______是描述程序设计的过程及程序的使用方法的有关资料。 [答案]程序 13.______是计算机的概念模型,奠定了现代计算机的理论基础;______是计算机的结构模型,奠定了现代计算机的设计基础。 [答案]图灵机 14.高级语言源程序的翻译成机器语言程序一般有两种做法: ______方式和______方式。 [答案]编译、解释 15.按照使用方式,程序设计语言分为______语言和______语言;按照应用范围则分为______语言和______语言。 [答案]交互式、非交互式、通用、专用 16.编译程序的核心部分,叫______,其任务就是检查源程序在语法上是否_______。 [答案]语法分析器、正确 二、选择题 当代计算机的最主要的体系结构称为是______。 [答案]冯?诺依曼机 计算机软件是指______ 。

程序设计基础期末考试题A卷

《程序设计基础》试题 程序设计基础期末考试题A 卷 一、 选择题(1*20=20分) 题号 1 2 3 4 5 6 7 8 9 10 总分 答案 题号 11 12 13 14 15 16 17 18 19 20 答案 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 、链式结构和顺序结构 班级 姓名

(完整版)程序设计基础试题_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

程序设计基础形考任务四参考答案

程序设计基础形考任务四参考答案 一、填空题 1.算法的四种基本操作是算术运算、逻辑运算、数据传送、数据比较。2.算法的控制结构有三种基本形式:顺序、分支、循环。 3.评价算法需要从几个不同的角度考虑,最主要的是正确性和运行效率。4.算法的运行效率包括两方面,算法的空间复杂度和算法的时间复杂度。 5.结构化程序设计的总体思想是采用模块化结构,自顶向下、逐步求精。 6.软件生存周期包括软件的定义、软件的开发和软件使用和维护3个部分。 7. 软件定义时期主要包括可行性研究和需求分析两个阶段。 8.软件开发时期是具体设计和实现在前一时期定义的软件,它由软件的设计阶段、实现阶段、集成阶段组成。 9.软件工程的目标是可概括为生产具有正确性、可用性以及开销合宜的产品。10.软件开发模型大体上可分为两种类型,第一种是以软件需求完全确定为前提的瀑布模型。第二种是在软件开发初始阶段只能提供基本需求时采用的渐进式开发模型。 二、选择题 题目2 下列叙述中正确的是_____。 选择一项:B A. 设计算法时只需要考虑数据结构的设计 B. 以上三种说法都不对 C. 设计算法时只需要考虑结果的可靠性 D. 算法就是程序 题目3 下列叙述中正确的是_____。 选择一项:D A. 一个算法的空间复杂度大,则其时间复杂度也必定大 B. 一个算法的空间复杂度大,则其时间复杂度必定小 C. 一个算法的时间复杂度大,则其空间复杂度必定小 D. 以上三种说法都不对 题目4 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是()。选择一项:B A. 有穷性 B. 有零个或多个输出 C. 可行性 D. 有零个或多个输入 题目5 下面叙述正确的是()。 选择一项:C A. 算法的时间复杂度与空间复杂度一定相关 B. 数据的逻辑结构与存储结构是一一对应的 C. 算法的时间复杂度是指执行算法所需要的计算工作量 D. 算法的效率只与问题的规模有关,而与数据的存储结构无关 题目6

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程序设计基础及实验》

《程序设计基础》题库(50道)

《程序设计基础》题库(50道) <说明> 1、难易程度依次为:易(16道)、较易(38道)、较难(31道)、难(15道)。 2、总共抽8道题,按难易程度:易(1道)、较易(4道)、较难(2道)、难(1道); 按题型:顺序(1道)、分支(2道)、单循环(2道)、多循环(1道)、数组(1道)、字符串(1道) 3、考试要求:先画流程图再写程序,理论考试,2个半小时 一、顺序结构 1、 请定义4个整型变量,并打印输出这4个变量的加、减、乘、除后的结果。(易) 2、 将华氏温度转化成摄氏温度。公式为:C=(5/9)*(F-32),其中F 为华氏温度,C 为 摄氏温度。请根据给定的华氏温度输出对应的摄氏温度。(易) 3、 根据观察,蟋蟀的名叫频率与温度有关,具体的公式为T=(c+40)/10.其中,c 代表 蟋蟀每分钟鸣叫数,T 代表华氏温度。请根据蟋蟀每分钟的鸣叫数输出相应的华氏温度。(易) 4、 编写程序,读入0~1000的一个整数并将其各位数字之和赋给一个整数,如整数932, 各位数字之和为14. (较易) 5、 编程实现两个整数交换位置,例如:int x = 6,y = 9,交换后 x = 9,y = 6。(较易) 6、 求空间两点之间的距离。(提示:空间一点(x,y,z ),可由三个实数来描述)(较易) 7、 已知圆的半径,求圆的面积。(易) 8、 已知一个三角形的三边边长分别为a,b,c ,利用海伦公式求三角形的面积。(较难) 海伦公式: 9、 求两数平方和的算术根。(易) 10、 给定一段时间求出它的秒数。(如计算2小时 17分30秒等于多少秒)(易) 11、 某印刷厂3月1日有A4纸500盒,3月2日又买进进100盒,3月3日用掉A4 纸存量的三分之二,3月4日又买进A4纸存量的2倍,问该印刷厂3月1日到3月4日期间每天的A4纸存量分别是多少盒?(易) 12、 三个小朋友,大毛有糖果50粒,二毛有糖果43粒,三毛有糖果13粒。现在他们 三兄弟做游戏,从大毛开始,将自己的糖果三等分,三兄弟每人一份,多余的自己吃掉;然后二毛和三毛也依次这样做,问最后三兄弟各有多少糖果?(较易) 二、分支结构 13、 两个整数比较大小,输出较大值。(易) 14、 三个整数比较大小,输出最大值。(较易) 15、 求下列函数中y 的值。(较易) y=10 (x=0) y=3x+5 (x>0) y=x-2 (x<0) 16、 判断某年是否为闰年。(闰年的条件是:该年的年号能被4整除且不能被100整除, 或该年的年号能被400整除,则该年是闰年,否则不是闰年。)(较易) 17、 根据某同学的成绩,判定其成绩的等级。(90~100分为“优秀”,80~89为“良好”, 70~79为“中等”,60~69为“及格”,60分以下为“不及格”。)(较易) ))()((c p b p a p p S ---=2 c b a p ++=

相关文档
最新文档