2022年2022年计算机软件基础课后习题答案 .pdf
《2022年2022年计算机软件基础课后习题答案 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机软件基础课后习题答案 .pdf(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章一、简答题1.参考书上第五页图17 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 的类型不变四、单选15 BDC
2、DC 6-10 DCBBD 11-15 CBADC 16-18 AAA 第二章一、简答1. 参考书上 23 页2. while 先判断,后执行, do while 先执行,后判断,循环体至少执行一次3. 参考书上 29 页4. continue,结束本次循环break,结束循环区别在于, continue只结束本次循环重新进行下次循环,而break结束整个循环二、填空题1. 顺序结构,选择结构,循环结构2. if else 和 switch 3. 语句 1 , 语句 2 4. 零5. break , continue 6 7 , 0 7. : , 双目名师资料总结 - - -精品资料欢迎下载
3、- - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 34 页 - - - - - - - - - 三、单选1-5 CBDBC 6-10 DBBDA 11-15 CBCDA 16-20 ACAAD21-25 ADCCB 26-29 BCCA 四、程序分析题1. end 1end 2. num%10 max = t 3. j%3 4. 99 五、编程题1. #include int main() char str100 ; gets(str) ; int n1 , n2 , n3 , n4 , i ; n1 = n2 =
4、 n3 = n4 = 0 ; for(i = 0 ; stri != 0 ; +i) if(stri = A & stri = a & stri = 0 & stri = 9) +n3 ; else +n4 ; printf( 大写字母 :%dn , n1) ; printf( 小写字母 :%dn , n2) ; printf( 数字字符 :%dn , n3 ) ; printf( 其他字符 :%dn , n4) ; return 0; 2. #include #include int main() int array4 , min , max , i ; for(i = 0 ; i 4 ;
5、+i) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 34 页 - - - - - - - - - scanf(%d , &arrayi) ; min = max = array0 ; for(i = 1 ; i 4 ; +i) if(arrayi max) max = arrayi ; printf(min = %d , max = %dn , min , max) ; return 0; 3. #include int main() float money , li
6、xi ; 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 : prin
7、tf( 输入错误 n) ; return -1 ; printf(%fn , money + lixi) ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 34 页 - - - - - - - - - return 0; 4. #include 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
8、, y) ; return 0; 5. #include 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 int main() printf( *n) ; printf( * *n) ; printf( * *n) ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
9、- - - - - - 名师精心整理 - - - - - - - 第 4 页,共 34 页 - - - - - - - - - printf(*n) ; return 0; 第三章一、简答1. a:数组名, a0 :数组第 0 号元素,&a1 数组第 1 号元素的地址2. 不同,” a” 是字符串,末尾有一个 03. 2 * 3 * 2 = 12 个字节二、填空题1. 0 2. 按行存放3. 1014 4str14 5. 0三、改错1. 是 0 2. 只能是常量3. 一定相同4. 不会给错误信息5. 没有提供字符串类型6. 不等价, ” ok” 末尾有一个 0四、单选1-5 DBCAC 6-1
10、0 CDDCB 11-13 CDC 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 34 页 - - - - - - - - - 五、程序分析题1. AzyD 2. 123 3. 45 4. 4some string * test 5. 统计输入字符串中空格的个数3 ,1 6. max max min = max 7. a a sum/n xi aj 10. 1 2 4 5 6 0 0 0 0 0 1 2 3 4 5 6 0 0 0 0 六、编程题1. #include
11、int main(int argc , char *argv) int a11 , i , n ; printf( 请输入十个递增排列的数列:) ; for(i = 0 ; 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 #include int main(int argc , char *argv) char a100 , b100 , min , i ; 名师资料总结
12、 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 34 页 - - - - - - - - - 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 int main(int argc
13、, char *argv) char s1100 , char s2100 ; int i ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 34 页 - - - - - - - - - gets(s1) ; gets(s2) ; char *string1 = s1 , *string2 = s2 ; do i = (int)*string1 -(int)*string2; while(*string1+ & *string2+ & (!i) ); for(i = 0
14、 ; s1i != 0 & s2i != 0 & s1i = s2i ; +i) ; printf(%dn , i) ; return 0 ; 4. #include 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 ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第
15、 9 页,共 34 页 - - - - - - - - - puts(s) ; return 0 ; 5. #include 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 ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
16、- - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 34 页 - - - - - - - - - 第四章一、简答题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. 以该
17、函数定义的返回值为准7. 嵌套调用指函数调用函数四、单选1-5 BDACC 6-10 DAACC 11-13 BCC 五、程序分析题1. j strj-1 2. 本题程序是错的,第五行,for(I = m + 1 ; i+) 这里少东西,所以跳过3. i n x = fun(4) 4. 1: a = 1 , b = 1 2: a = 2 , b = 2 3: a = 3 , b= 3 六、编程题1. int fun(int year) if( year % 400 = 0| (year % 4 = 0 & year % 100) return 1 ; else return 0 ; 名师资料总
18、结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 34 页 - - - - - - - - - 2. #include #include 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) pri
19、ntf(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) ; else fun3(a , b , c) ; return 0 ; 3. #inc
20、lude #include 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 ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 34 页 - - - - - - - - - scanf(%d , &n
21、) ; 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. *p 5. 1006 6. malloc 7. a+i *(a+i) 8. 3 9. ,b?,0?三、改错题1. 只能存放同类型的变量的地址,比如int *只能存
22、放 int 型变量的地址2. 这个说法是正确的,没有错误3. 不是,指的是指针所指向的变量的类型4. 只能是同类型的指针或者&a 这样的地址值5. 是可以改变的四、单选1-5 CDDAA 6-10 BCDDD 五、程序分析题1. *x t 2. r + bu *x 3. 10 4. CDG 5. 80,-20 6. 5 7. 55 1711717 六、编程题1. #include 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 34 页 - - - - - - - -
23、- 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 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
24、() ; printf(%s %cn , s , c ) ; printf(%dn , fun(s , c) ; return 0 ; 3. #include 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 = a & si = 0 & si x a1 2. 1 3 3. “ ab”“ cd”三、改错题1. 可以同名2. 可以含有3
25、. 不可以四、单选题BACBDD 五、程序分析题1. Zhao 2. 10 x 3. 200 y 4、- . 5、 36 40 20 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 34 页 - - - - - - - - - 6、max = personi.age min = personi.age 六、编程题1. #include struct Score float s1 ; float s2 ; ; int main() struct Score stu ; s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年计算机软件基础课后习题答案 2022 计算机软件 基础 课后 习题 答案
限制150内