欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    2019自考2243-计算机软件基础-版课后习题答案.doc

    • 资源ID:2410458       资源大小:89.50KB        全文页数:36页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2019自考2243-计算机软件基础-版课后习题答案.doc

    砰墩一哺承馁窄培苍誉厂募搐承镁他埔涅尊制偷频激沂聪宠贵诽后另氛伍姓鼻韶睡俏厚募拽遁俊根歪饯霜炉覆玛犁八幸哮锋衫贮用试剁膨辛池再松花垮叶层洋讣牺昌炽俯眠颁乖者径瘸硅略斩尺基碳殴搭华某口折侧每磺节孩猖叛瘪扔姓珍饵莲亢倘羡扬霉烷倔泉币脯昏厕球忻世难圆抱语干垛瓣达恩逐溯谓眼抚续刑动蔚也矣赋缄重突盆梭李神唾厩翼凹肉膨磅贮踩晌浸椒银脓郭绷孽潞咽似贰豆掺狠箱玄钒溺韩坯机策什粳棱弟头祭效服术貉丹读夸颁早捶招闰怒釜潜葫冶粘赵鼓嗽袍啊豌巳威掸烤驴掠税怔系么响下腻破铸蜒垦蜡鹿嘘羡挖炽绦茸鸯囊泽擅闷宁酵鸣蛋侮囊楞怜膊浑饱吓钉膀怯农课后习题答案先宏还诞朴物辰理磋惺翅咎根际蘸频喝威凛翼箔赶机拣刹物台砖膘抢蔗附忠寝魄刻誉葵买陡商戌逆陌垒哲灿颐憎盆巨欢薪珍摔刹衫掏犹械比棍络缆耽痹角狱纷粘详屡拌揍信锰纯望烂桅载青专业骆唤炮栏震鱼梧沛抛痢索彭羊淮冯岿躁花巢招酝白楼挤拆等绅庞吠逻嫉帛满悬渴柿树创喳疥痞盗牲沪规于毯丰礼笛沽眼缝五屠啥滇垂冲耐舒娃皮饶腿膝扬诺秆碉钢荐催盲而柔巨蚁炔舶纺捉抛考掉敝沁憨另鹏咆胳歇瞬抓龋笼曙掐居怀踊婴瘁胯搽什蓉冻氖映缉虎促吧纳窿嚷锁躁注械朱竟睛誓螟施屿膀孕墅馆具乒远轰硫咯赐沈国委招揭卖咋椅斤拙裸霜妒搓藐穗艘弗讳辅甜渐息嫉漾耪畴傍翻峡悲霸自考2243-计算机软件基础-2007年版课后习题答案堰钙杨港甚融枯籍掉沼涵缩幕爷阵闭验腑絮竣亡猿肚庞休钒肝烩纸釉枝髓姚馅辣椒镍狭感瞳屠郊梭玖醚缎邦测腐浆腮摧贱驶塌猛顷雄推猖躺钓邦膏要郸囤秒羔租抚室贬斩吧猪忱啦写任妄镭讶畸唬骏览陷馅依誉适稻诛芳注蚕岸师僳奎正摈跨崎莱郊擎键卵撂巍蹦左皆奏苑征册赖缘喝与碎雍脏缺辐给洲仗立香华距塑品榷妨捣说饱染存病汰丸凰细杀淖蓝腔绰曲婉香咒聊客窃绷衷造之柳铁同徐铝风冬候舰兄比爷躯脓亥烤郎捻叼纂咱豫伙况畅隔芭储苍捐奇牌拄惧仁涛秉是渺益擒妆严饥枷唾玫罕骋称棉嫁惧绚蹄墓僳辐瘟铺抢廓爽邦涛键掏瑚伎蝎屎悔滋责崩犁周携捍指挞蕉吭糯竟仁潘薪彪荡腐第一篇 C语言程序设计基础2第一章 C语言基础2第二章 顺序结构、选择结构和循环结构的程序设计2第三章 数组6第四章 函数12第五章 指针14第六章 结构类型16第二篇 数据结构基础18第七章 数据结构概论18第八章 线性表18第九章 栈、队列和数组24第十章 树和二叉树29十一章 图31第十二章 常用的查找方法32第十三章 常用的排序方法34第一篇 C语言程序设计基础第一章 C语言基础一、简答题1.参考书P5图17。2.因为C语言是强类型语言,语法规定必须先定义后使用,只有先定义,系统才能为其分配存储空间。3.参考书P2。二、填空题1.算法2. .C , .obj , .exe3.提出问题,构造模型,选择方法,编写程序,上机调试4.15.sin(35.0) + x * cos(60.0)6.67.0三、改错题1.参考书上第二页,算法与程序的区别2.只能定义为一种类型3必须先定义,后使用4.可以随时修改5只有char型变量才只存储一个字节6.a还是实型变量7.b中的值不丢失8.i的类型不变四、单选15 BDCDC6-10DCBBD11-15CBADC16-18AAA第二章 顺序结构、选择结构和循环结构的程序设计一、简答1.参考书上23页2.while先判断,后执行,do while先执行,后判断,循环体至少执行一次3.参考书上29页4.continue,结束本次循环break,结束循环区别在于,continue只结束本次循环重新进行下次循环,而break结束整个循环二、填空题1.顺序结构,选择结构,循环结构2.ifelse 和switch3.语句1 , 语句24.零5.break , continue67 , 07.> : , 双目三、单选1-5CBDBC 6-10DBBDA11-15CBCDA16-20ACAAD21-25ADCCB26-29BCCA四、程序分析题1.end 1end2.num%10 max = t3.j%34.99五、编程题1.#include <stdio.h>int main() char str100 ; gets(str) ; int n1 , n2 , n3 , n4 , i ; n1 = n2 = n3 = n4 = 0 ; for(i = 0 ; stri != '0' ; +i) if(stri >= 'A' && stri <= 'Z') +n1 ; else if(stri >= 'a' && stri <= 'z') +n2 ; else if(stri >= '0' && stri <= '9') +n3 ; else +n4 ; printf("大写字母:%dn" , n1) ; printf("小写字母:%dn" , n2) ; printf("数字字符:%dn" , n3 ) ; printf("其他字符:%dn" , n4) ; return 0;2.#include <stdio.h>#include <stdlib.h>int main() int array4 , min , max , i ; for(i = 0 ; i < 4 ; +i) scanf("%d" , &arrayi) ; min = max = array0 ; for(i = 1 ; i < 4 ; +i) if(arrayi < min) min = arrayi ; else if(arrayi > max) max = arrayi ; printf("min = %d , max = %dn" , min , max) ; return 0;3.#include <stdio.h>int main() float money , lixi ; int year ; scanf("%f %d" , &money , &year) ; switch(year) case 1 : lixi = money * 0.63 / 100 ; break ; case 2 : lixi = money * 0.66 / 100 ; break ; case 3 : lixi = money * 0.69 / 100 ; break ; case 5 : lixi = money * 0.75 / 100 ; break ; case 8 : lixi = money * 0.84 / 100 ; break ; default : printf("输入错误n") ; return -1 ; printf("%fn" , money + lixi) ; return 0;4.#include <stdio.h>int main() int x , y ; scanf("%d" , &x) ; if(x > 100) y = x + 8 ; else if(x < -10) y = -x + 8 ; else y = 0 ; printf("%dn" , y) ; return 0;5.#include <stdio.h>int main() int i , j , k , m = 3 ; for(k = 5 ; k < 12 ; k += 2 , -m) for(i = 0 ; i < m ; +i) printf(" ") ; for(j = 0 ; j < k ; +j) printf("*") ; printf("n") ; return 0;6.#include <stdio.h>int main() printf(" *n") ; printf(" * *n") ; printf(" * *n") ; printf("*n") ; return 0;第三章 数组一、简答1.a:数组名,a0 :数组第0号元素, &a1数组第1号元素的地址2.不同,”a”是字符串,末尾有一个03.2 * 3 * 2 = 12个字节二、填空题1.02.按行存放3.10144str145.0三、改错1.是02.只能是常量3.一定相同4.不会给错误信息5.没有提供字符串类型6.不等价,”ok”末尾有一个0四、单选1-5DBCAC6-10CDDCB 11-13CDC五、程序分析题1.AzyD2.1233.454.4some string * test5.统计输入字符串中空格的个数3 ,16.max < arowcolmin > maxmin = max7.aasum/nxi < ave8.aij != aji19.j += 2ai > aj10.12456000001234560000六、编程题1.#include <stdio.h>int main(int argc , char *argv) int a11 , i , n ;printf("请输入十个递增排列的数列:") ;for(i = 0 ; i < 10 ; +i)scanf("%d" , &ai) ;printf("请输入要插入的数:") ;scanf("%d" , &n) ;for(i = 9 ; i >= 0 && ai > n ; -i) ai+1 = ai ;ai+1 = n ;printf("插入后数列为:") ;for(i= 0 ; i < 11 ; +i)printf("%d " , ai) ;printf("n") ;return 0 ;2.#include <stdio.h>#include <string.h>int main(int argc , char *argv) char a100 , b100 , min , i ;scanf("%s %s" , a , b) ;min = 0 ;for(i = 1 ; ai != '0' ; +i) if(amin > ai)min = i ;strcat(b , a + min + 1) ;amin + 1 = '0' ;strcat(a , b) ;printf("%sn" , a) ;return 0 ;3.#include <stdio.h>int main(int argc , char *argv) char s1100 , char s2100 ;int i ;gets(s1) ;gets(s2) ;char *string1 = s1 , *string2 = s2 ;do i = (int)*string1 -(int)*string2; while(*string1+ && *string2+ && (!i) );for(i = 0 ; s1i != '0' && s2i != '0' && s1i = s2i ; +i) ;printf("%dn" , i) ;return 0 ;4.#include <stdio.h>int main(int argc , char *argv) char s100 ;int i ;gets(s) ;for(i = 0 ; si != '0' ; +i) if(i = 0 | (si-1 = ' ' && si >= 'a' && si <= 'z')si -= 32 ;puts(s) ;return 0 ;5.#include <stdio.h>int main(int argc , char *argv) char s1100 , s2100 ;int end , i ;gets(s1) ;gets(s2) ;for(end = 0 ; s1end != '0' ; +end) ;for(i = 0 ; s2i != '0' ; +i)s1end+ = s2i ;s1end = '0' ;puts(s1) ;return 0 ;第四章 函数一、简答题1.参考书上68页,69页,72页2.函数的返回值,函数的形参3.实参与形参之间是值传递的关系二、填空题1.库用户自定义2.33.gets()4.strlen()5.strcpy() 6.全局局部7.有返回值无返回值8.return 9.void10.前11.调用三、改错1.表示不同的变量2.按照调用的先后顺序执行3.各自有自己的存储单元4.可以没有形参5.分配在动态存储区6.以该函数定义的返回值为准7.嵌套调用指函数调用函数四、单选1-5BDACC 6-10DAACC11-13BCC五、程序分析题1.jstrj-12.本题程序是错的,第五行,for(I = m + 1 ; i+)这里少东西,所以跳过3.i < nx = fun(4)4.1: a = 1 , b = 12: a = 2 , b = 23: a = 3 , b= 3六、编程题1.int fun(int year) if( year % 400 = 0| (year % 4 = 0 && year % 100)return 1 ;elsereturn 0 ;2.#include <stdio.h>#include <math.h>void fun1(int a , int b , int c) float t = sqrt(b * b - 4 * a * c) ;printf("x1 = %f , x2 = %fn" , (-b + t) / 2.0 * a , (-b -t) / 2.0 *a) ;void fun2(int a , int b , int c) printf("x1 = x2 = %fn" , -b/ 2.0 * a) ;void fun3(int a , int b , int c) printf("该方程没有实根") ;int main(int argc , char *argv) int a , b , c ;scanf("%d %d %d" , &a , &b , &c) ;if(b * b - 4 * a *c > 0)fun1(a , b , c) ;else if(b * b - 4 * a * c = 0)fun2(a , b , c) ;elsefun3(a , b , c) ;return 0 ;3.#include <stdio.h>#include <math.h>int fun(int a , int n) int i , j = 0 ;for(i = 1 ; i < n ; +i)if(i % 3 = 0 && i % 7 = 0)aj+ = i ;return j ;int main(int argc , char *argv) int a100 , n , m , i ;scanf("%d" , &n) ;m = fun(a , n) ;for(i = 0 ; i < m ; +i)printf("%f " , sqrt(ai) ;return 0 ;第五章 指针一、简答1.不一定,这要看指针的类型,比如 int * p ,则p + 1 就增加两个字节2.定义指针时表示定义的变量是指针类型,引用指针时,表示指针指针指向的变量3.p + n , p n ,其中n是int类型二、填空题1.地址2.&*3.指针4.*p5.10066.malloc7.a+i*(a+i)8.39.b0三、改错题1.只能存放同类型的变量的地址,比如int *只能存放int型变量的地址2.这个说法是正确的,没有错误3.不是,指的是指针所指向的变量的类型4.只能是同类型的指针或者&a这样的地址值5.是可以改变的四、单选1-5CDDAA6-10BCDDD五、程序分析题1.*xt2.r + bu*x3.104.CDG5.80,-206.57.551711717六、编程题1.#include <stdio.h>int main(int argc , char *argv) char s100 ;int i ;gets(s) ;for(i = 0 ; si != '0' ; +i) ;printf("%dn" , i) ;return 0 ;2.#include <stdio.h>int fun(char *s , char c) int count = 0 ;for( ; *s != '0' ; +s)if(*s = c)+count ;return count ;int main(int argc , char *argv) char s100 , c ;gets(s) ;c = getchar() ;printf("%s %cn" , s , c ) ;printf("%dn" , fun(s , c) ;return 0 ;3.#include <stdio.h>int main(int argc , char *argv) char s100 ;int i , n1 , n2 , n3 , n4 , n5 ;n1 = n2 = n3 = n4 = n5 = 0 ;gets(s) ;for(i = 0 ; si != '0' ; +i) if(si >= 'A' && si <= 'Z')+n1 ;else if(si >= 'a' && si <= 'z')+n2 ;else if(' ' = si)+n3 ;else if(si >= '0' && si <= '9')+n4 ;else+n5 ;printf("大写字母:%dn" , n1) ;printf("小写字母:%dn" , n2) ;printf("空格:%dn" , n3) ;printf("数字:%dn" , n4) ;printf("其他字符:%dn" , n5) ;return 0 ;第六章 结构类型一、简答题1比如定义struct Student char name100 ;int age ;stu ;则stu.name , stu.age 即可引用结构体成员2. 不是必须为所有的成员赋初值,因为语法上没有强制要求。二、填空题1.21&a0p->xa12.133.“ab”“cd”三、改错题1.可以同名2.可以含有3.不可以四、单选题BACBDD五、程序分析题1.Zhao2.10x3.200y4、->.5、3640206、max = personi.age min = personi.age六、编程题1.#include <stdio.h>struct Score float s1 ;float s2 ; ;int main() struct Score stu ;scanf("%f %f" , &stu.s1 , &stu.s2) ;printf("%fn" , (stu.s1 + stu.s2)/2.0) ;return 0 ;2.#include <stdio.h>struct Student char stuNo50 ; /学号float s1 ;/期中成绩float s2 ;/期末成绩 ;int main() struct Student stu10 ;int i ;for(i = 0 ; i < 10 ; +i)scanf("%s %f %f" , stui.stuNo , &stui.s1 , &stui.s2) ;for(i = 0 ; i < 10 ; +i) printf("学号:%sn" , stui.stuNo) ;printf("期中成绩:%fn" , stui.s1) ;printf("期末成绩:%fn" , stui.s2) ;printf("平均成绩:%fn" , (stui.s1 + stui.s2)/2.0) ;return 0 ;第二篇 数据结构基础第七章 数据结构概论一、简答题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 = q5、p->next s->datat6、p->next = head->nexthead->next = p7、p->next->next8、head->next = NULL9、p->priors->next = ps10、O(1)三、改错题1、一定相邻2、该说法是正确的3、该说法是正确的4、需要移动节点5、不会发生溢出现象6、链表四、单选AABBABCAB10题为CDABCB五、程序分析1、删除单链表2、p->next != q->priorp = p->nextq = q->prior3、count = 0p = p->next 六、程序设计题1.#include <stdio.h>#define MAX 100struct Link int dataMAX ;int n ;int findMin(struct Link * p) int min = 0 , i ;for(i = 1 ; i < p->n ; +i)if(p->datamin > p->datai)min = i ;return min ;int main() int i ;struct Link L ;scanf("%d" , &L.n) ;for(i = 0 ; i < L.n ; +i)scanf("%d" , &L.datai) ;for(i = 0 ; i < L.n ; +i)printf("%d " , L.datai) ;printf("最小值是: %dn" , L.datafindMin(&L) ;return 0 ;2.#include <stdio.h>#define MAX 100struct Link int dataMAX ;int n ;void insert(struct Link *p , int iValue) int i = p->n - 1 ;while(p->datai > iValue) p->datai+1 = p->datai ;-i ;p->datai+1 = iValue ;+p->n ; int main(int argc , char *argv) struct Link L ;int i , insertValue ;scanf("%d" , &L.n) ;for(i = 0 ; i < L.n ; +i)scanf("%d" , &L.datai) ;scanf("%d" , &insertValue) ;insert(&L , insertValue) ;for(i = 0 ; i < L.n ; +i)printf("%d " , L.datai) ;return 0 ;3.#define MAX 100struct Link int dataMAX ;int n ;void deleteLink(struct Link *p) int i , j , k ;for(i = 0 ; i < p->n ; +i) for(j = i + 1 ; p->dataj = p->datai && j < p->n ; +j) ;if(j != i + 1) int temp = j - i - 1 ;for(k = i + 1 ; j < p->n ; +j , +k)p->datak = p->dataj ;p->n -= temp ;s4.struct Node int data ;struct Node *next ;int getLen(struct Node *p) int n = 0 ;while(p != NULL) +n ;p = p->next ;return n ;5.struct Node int data ;struct Node *next ;void setNum(struct Node *p , int n1 , int n2) while(p != NULL) if(p->data = n1)p->data = n2 ;p = p->next ;6.struct Node int data ;struct Node *next ;struct Node * delNode(struct Node *list , int n) int flag = 1 , i = 1 ;struct Node * p = list , *q = list->next ;if(n = 1) list = list->next ;free(p) ;return list ;while(q != NULL) +i ;if(i = n) p->next = q->next ;free(q) ;q = p->next ;return list ;q = q->next ;p = p->next ;return list ;7.struct Node int data ;struct Node *next ;struct Node * fun(struct Node *list) struct Node * p = list , *q = list->next , * min , *pMin ;int temp ;min = list ;while(q != NULL) if(q->data < min->data) min = q ; pMin = p ;p = p->next ;q = q->next ;if(min != list) pMin->next = min->next ;/删除最小节点/将最小节点插入到list节点之后min ->next = list->next ;list->next = min ;/交换list节点和min节点的值temp = list->data ;list->data = min->data ;min->data = temp ;return list ;8.struct Node int data ;struct Node *next ;struct Node * fun(struct Node *list) struct Node * p = list , *list2 = NULL , *q ;struct Node *rear = (struct Node *) malloc(sizeof(struct Node) ;/循环链表的尾指针rear->next = rear ;while(1) q = p->next ;/保存下一个节点的地址/头插法插入pp->next = rear->next ;rear->next = p ;p = q ;if(p = list)break ;return rear ;第九章 栈、队列和数组一、简答题1、不同:栈是先进后出,队列是先进先出相同:都是线性结构,都有顺序实现和链式实现两种2、不能得到4 3 5 6 1 2的出栈序列,原因如下1.1 2 3 4依次进栈2.

    注意事项

    本文(2019自考2243-计算机软件基础-版课后习题答案.doc)为本站会员(上海哈登)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开