计算机软件基础课后习题答案doc.docx

上传人:b****4 文档编号:3978025 上传时间:2023-05-06 格式:DOCX 页数:48 大小:26.85KB
下载 相关 举报
计算机软件基础课后习题答案doc.docx_第1页
第1页 / 共48页
计算机软件基础课后习题答案doc.docx_第2页
第2页 / 共48页
计算机软件基础课后习题答案doc.docx_第3页
第3页 / 共48页
计算机软件基础课后习题答案doc.docx_第4页
第4页 / 共48页
计算机软件基础课后习题答案doc.docx_第5页
第5页 / 共48页
计算机软件基础课后习题答案doc.docx_第6页
第6页 / 共48页
计算机软件基础课后习题答案doc.docx_第7页
第7页 / 共48页
计算机软件基础课后习题答案doc.docx_第8页
第8页 / 共48页
计算机软件基础课后习题答案doc.docx_第9页
第9页 / 共48页
计算机软件基础课后习题答案doc.docx_第10页
第10页 / 共48页
计算机软件基础课后习题答案doc.docx_第11页
第11页 / 共48页
计算机软件基础课后习题答案doc.docx_第12页
第12页 / 共48页
计算机软件基础课后习题答案doc.docx_第13页
第13页 / 共48页
计算机软件基础课后习题答案doc.docx_第14页
第14页 / 共48页
计算机软件基础课后习题答案doc.docx_第15页
第15页 / 共48页
计算机软件基础课后习题答案doc.docx_第16页
第16页 / 共48页
计算机软件基础课后习题答案doc.docx_第17页
第17页 / 共48页
计算机软件基础课后习题答案doc.docx_第18页
第18页 / 共48页
计算机软件基础课后习题答案doc.docx_第19页
第19页 / 共48页
计算机软件基础课后习题答案doc.docx_第20页
第20页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机软件基础课后习题答案doc.docx

《计算机软件基础课后习题答案doc.docx》由会员分享,可在线阅读,更多相关《计算机软件基础课后习题答案doc.docx(48页珍藏版)》请在冰点文库上搜索。

计算机软件基础课后习题答案doc.docx

计算机软件基础课后习题答案doc

第一章

一、简答题

1.参考书上第五页图1-7

2.因为C语言是强类型语言,语法规定必须先定义后使用,只有先定义,系统才能为其分配存储空间。

3.参考书上第二页

二、填空题

1.算法

2..C,.obj,.exe

3.提出问题,构造模型,选择方法,编写程序,上机调试

4.1

5.sin(35.0)+x*cos(60.0)

6.6

7.0

三、改错题

1.参考书上第二页,算法与程序的区别

2.只能定义为一种类型

3.必须先定义,后使用

4.可以随时修改

5.只有char型变量才只存储一个字节

6.a还是实型变量

7.b中的值不丢失

8.i的类型不变

四、单选

1-5BDCDC6-10DCBBD11-15CBADC16-18AAA

第二章

一、简答

1.参考书上23页

2.while先判断,后执行,dowhile先执行,后判断,循环体至少执行一次

3.参考书上29页

4.continue,结束本次循环

break,结束循环

区别在于,continue只结束本次循环重新进行下次循环,而break结束整个循环

二、填空题

1.顺序结构,选择结构,循环结构

2.ifelse和switch

3.语句1,语句2

4.零

5.break,continue

6.7,0

7.>:

,双目

三、单选

1-5CBDBC6-10DBBDA11-15CBCDA16-20ACAAD21-25ADCCB26-29BCCA

四、程序分析题

1.end1end

2.num%10max=t

3.j%3

4.99

五、编程题

1.

#include

intmain(){

charstr[100];

gets(str);

intn1,n2,n3,n4,i;

n1=n2=n3=n4=0;

for(i=0;str[i]!

='\0';++i){

if(str[i]>='A'&&str[i]<='Z')

++n1;

elseif(str[i]>='a'&&str[i]<='z')

++n2;

elseif(str[i]>='0'&&str[i]<='9')

++n3;

else

++n4;

}

printf("大写字母:

%d\n",n1);

printf("小写字母:

%d\n",n2);

printf("数字字符:

%d\n",n3);

printf("其他字符:

%d\n",n4);

return0;

}

2.

#include

#include

intmain(){

intarray[4],min,max,i;

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

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

min=max=array[0];

for(i=1;i<4;++i){

if(array[i]

min=array[i];

elseif(array[i]>max)

max=array[i];

}

printf("min=%d,max=%d\n",min,max);

return0;

}

3.

#include

intmain(){

floatmoney,lixi;

intyear;

scanf("%f%d",&money,&year);

switch(year){

case1:

lixi=money*0.63/100;

break;

case2:

lixi=money*0.66/100;

break;

case3:

lixi=money*0.69/100;

break;

case5:

lixi=money*0.75/100;

break;

case8:

lixi=money*0.84/100;

break;

default:

printf("输入错误\n");

return-1;

}

printf("%f\n",money+lixi);

return0;

}

4.

#include

intmain(){

intx,y;

scanf("%d",&x);

if(x>100)

y=x+8;

elseif(x<-10)

y=-x+8;

else

y=0;

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

return0;

}

5.

#include

intmain(){

inti,j,k,m=3;

for(k=5;k<12;k+=2,--m){

for(i=0;i

printf("");

for(j=0;j

printf("*");

printf("\n");

}

return0;

}

6.

#include

intmain(){

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

printf("**\n");

printf("**\n");

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

return0;

}

第三章

一、简答

1.a:

数组名,a[0]:

数组第0号元素,&a[1]数组第1号元素的地址

2.不同,”a”是字符串,末尾有一个’\0’

3.2*3*2=12个字节

二、填空题

1.0

2.按行存放

3.1014

4.str[14]

5.‘\0’

三、改错

1.是0

2.只能是常量

3.一定相同

4.不会给错误信息

5.没有提供字符串类型

6.不等价,”ok”末尾有一个’\0’

四、单选

1-5DBCAC6-10CDDCB11-13CDC

五、程序分析题

1.AzyD

2.123

3.45

4.4somestring*test

5.统计输入字符串中空格的个数3,1

6.maxmaxmin==max

7.aasum/nx[i]

8.a[i][j]!

=a[j][i]1

9.j+=2a[i]>a[j]

10.1245600000

1234560000

六、编程题

1.

#include

intmain(intargc,char*argv[]){

inta[11],i,n;

printf("请输入十个递增排列的数列:

");

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

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

printf("请输入要插入的数:

");

scanf("%d",&n);

for(i=9;i>=0&&a[i]>n;--i){

a[i+1]=a[i];

}

a[i+1]=n;

printf("插入后数列为:

");

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

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

printf("\n");

return0;

}

2.

#include

#include

intmain(intargc,char*argv[]){

chara[100],b[100],min,i;

scanf("%s%s",a,b);

min=0;

for(i=1;a[i]!

='\0';++i){

if(a[min]>a[i])

min=i;

}

strcat(b,a+min+1);

a[min+1]='\0';

strcat(a,b);

printf("%s\n",a);

return0;

}

3.

#include

intmain(intargc,char*argv[]){

chars1[100],chars2[100];

inti;

gets(s1);

gets(s2);

char*string1=s1,*string2=s2;

do{

i=(int)*string1-(int)*string2;

}while(*string1++&&*string2++&&(!

i));

for(i=0;s1[i]!

='\0'&&s2[i]!

='\0'&&s1[i]==s2[i];++i);

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

return0;

}

4.

#include

intmain(intargc,char*argv[]){

chars[100];

inti;

gets(s);

for(i=0;s[i]!

='\0';++i){

if(i==0||(s[i-1]==''&&s[i]>='a'&&s[i]<='z'))

s[i]-=32;

}

puts(s);

return0;

}

5.

#include

intmain(intargc,char*argv[]){

chars1[100],s2[100];

intend,i;

gets(s1);

gets(s2);

for(end=0;s1[end]!

='\0';++end);

for(i=0;s2[i]!

='\0';++i)

s1[end++]=s2[i];

s1[end]='\0';

puts(s1);

return0;

}

第四章

一、简答题

1.参考书上68页,69页,72页

2.函数的返回值,函数的形参

3.实参与形参之间是值传递的关系

二、填空题

1.库用户自定义

2.3

3.gets()

4.strlen()

5.strcpy()

6.全局局部

7.有返回值无返回值

8.return

9.void

10.前

11.调用

三、改错

1.表示不同的变量

2.按照调用的先后顺序执行

3.各自有自己的存储单元

4.可以没有形参

5.分配在动态存储区

6.以该函数定义的返回值为准

7.嵌套调用指函数调用函数

四、单选

1-5BDACC6-10DAACC11-13BCC

五、程序分析题

1.jstr[j-1]

2.本题程序是错的,第五行,for(I=m+1;i++)这里少东西,所以跳过

3.i

4.1:

a=1,b=1

2:

a=2,b=2

3:

a=3,b=3

六、编程题

1.

intfun(intyear){

if(year%400==0||(year%4==0&&year%100))

return1;

else

return0;

}

2.

#include

#include

voidfun1(inta,intb,intc){

floatt=sqrt(b*b-4*a*c);

printf("x1=%f,x2=%f\n",(-b+t)/2.0*a,(-b-t)/2.0*a);

}

voidfun2(inta,intb,intc){

printf("x1=x2=%f\n",-b/2.0*a);

}

voidfun3(inta,intb,intc){

printf("该方程没有实根");

}

intmain(intargc,char*argv[]){

inta,b,c;

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

if(b*b-4*a*c>0)

fun1(a,b,c);

elseif(b*b-4*a*c==0)

fun2(a,b,c);

else

fun3(a,b,c);

return0;

}

3.

#include

#include

intfun(inta[],intn){

inti,j=0;

for(i=1;i

if(i%3==0&&i%7==0)

a[j++]=i;

returnj;

}

intmain(intargc,char*argv[]){

inta[100],n,m,i;

scanf("%d",&n);

m=fun(a,n);

for(i=0;i

printf("%f",sqrt(a[i]));

return0;

}

第五章

一、简答

1.不一定,这要看指针的类型,比如int*p,则p+1就增加两个字节

2.定义指针时表示定义的变量是指针类型,引用指针时,表示指针指针指向的变量

3.p+n,p–n,其中n是int类型

二、填空题

1.地址

2.&*

3.指针

4.*p

5.1006

6.malloc

7.a+i*(a+i)

8.3

9.‘b’‘\0’

三、改错题

1.只能存放同类型的变量的地址,比如int*只能存放int型变量的地址

2.这个说法是正确的,没有错误

3.不是,指的是指针所指向的变量的类型

4.只能是同类型的指针或者&a这样的地址值

5.是可以改变的

四、单选

1-5CDDAA6-10BCDDD

五、程序分析题

1.*xt

2.r+b[u]*x

3.10

4.CDG

5.80,-20

6.5

7.55

1711717

六、编程题

1.

#include

intmain(intargc,char*argv[]){

chars[100];

inti;

gets(s);

for(i=0;s[i]!

='\0';++i);

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

return0;

}

2.

#include

intfun(char*s,charc){

intcount=0;

for(;*s!

='\0';++s)

if(*s==c)

++count;

returncount;

}

intmain(intargc,char*argv[]){

chars[100],c;

gets(s);

c=getchar();

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

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

return0;

}

3.

#include

intmain(intargc,char*argv[]){

chars[100];

inti,n1,n2,n3,n4,n5;

n1=n2=n3=n4=n5=0;

gets(s);

for(i=0;s[i]!

='\0';++i){

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

++n1;

elseif(s[i]>='a'&&s[i]<='z')

++n2;

elseif(''==s[i])

++n3;

elseif(s[i]>='0'&&s[i]<='9')

++n4;

else

++n5;

}

printf("大写字母:

%d\n",n1);

printf("小写字母:

%d\n",n2);

printf("空格:

%d\n",n3);

printf("数字:

%d\n",n4);

printf("其他字符:

%d\n",n5);

return0;

}

第六章

一、简答题

1

比如定义

structStudent{

charname[100];

intage;

}stu;

则stu.name,stu.age即可引用结构体成员

2.不是必须为所有的成员赋初值,因为语法上没有强制要求。

二、填空题

1.21&a[0]p->xa[1]

2.13

3.“ab”“cd”

三、改错题

1.可以同名

2.可以含有

3.不可以

四、单选题

BACBDD

五、程序分析题

1.Zhao

2.10x

3.200y

4、->.

5、364020

6、max=person[i].agemin=person[i].age

六、编程题

1.

#include

structScore{

floats1;

floats2;

};

intmain(){

structScorestu;

scanf("%f%f",&stu.s1,&stu.s2);

printf("%f\n",(stu.s1+stu.s2)/2.0);

return0;

}

2.

#include

structStudent{

charstuNo[50];//学号

floats1;//期中成绩

floats2;//期末成绩

};

intmain(){

structStudentstu[10];

inti;

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

scanf("%s%f%f",stu[i].stuNo,&stu[i].s1,&stu[i].s2);

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

printf("学号:

%s\n",stu[i].stuNo);

printf("期中成绩:

%f\n",stu[i].s1);

printf("期末成绩:

%f\n",stu[i].s2);

printf("平均成绩:

%f\n",(stu[i].s1+stu[i].s2)/2.0);

}

return0;

}

第七章

一、简答题

1.D代表数据节点的集合,R是D上的关系

2.逻辑结构是数据之间的外在关系,物理结构是数据在计算机内的存储表示

3.参考第二页

4.不是,还于算法的设计有关,一个好的算法可以降低时间复杂度

5.O(n),O(lgn),O(nlgn),O(n的平方+1),O(n3–n2),O(n5),O(2的n次方)

二、填空题

1、逻辑物理逻辑

2、时间复杂度空间复杂度

3、线性表二叉树图

4、线性

5、树型

6、111多多多

7、O(n的平方)

8、O(n)O(n)

三、改错题

1、无关

2、有关

3、无关

4、不是,是外在的关系,与存储结构无关

四、单选

CCBCC6题A选项改为n(n-1)

第八章

一、简答题

1、参考132页、135页、136页

2、参考139页

3、参考139页

4、选择顺序存储结构,因为顺序表是随机存取,访问任意一个元素的时间复杂度为O

(1);

5、选择链式存储,因为链表插入删除的开销小

6、循环单链表,循环双链表

7、单链表无法删除

循环单链表可以删除,时间复杂度为O(n)

循环双链表可以删除,时间复杂度为O

(1)

二、填空题

1、顺序存储链式存储

2、O(n)

3、O(n)O

(1)

4、q->next=p->nextp->next=q

5、p->nexts->datat

6、p->next=head->nexthead->next=p

7、p->next->next

8、head->next=NULL

9、p->priors->next=ps

10、O

(1)

三、改错题

1、一定相邻

2、该说法是正确的

3、该说法是正确的

4、需要移动节点

5、不会发生溢出现象

6、链表

四、单选

AABBABCAB10题为CDABCB

五、程序分析

1、删除单链表

2、p->next!

=q->priorp=p->nextq=q->prior

3、count=0p=p->next

六、程序设计题

1.

#include

#defineMAX100

structLink{

intdata[MAX];

intn;

};

intfindMin(struct

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2