自考2243-计算机软件基础(-)2007年版课后习题答案 下载本文

内容发布更新时间 : 2024/6/3 13:26:26星期一 下面是文章的全部内容请认真阅读。

第一章

一、简答题

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-5 BDCDC 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. > : , 双目

三、单选

1-5 CBDBC 6-10 DBBDA 11-15 CBCDA 21-25 ADCCB 26-29 BCCA 四、程序分析题 1. end 1end

2. num max = t 3. j%3 4. 99

五、编程题 1.

#include

int main(){

char str[100] ; gets(str) ;

int n1 , n2 , n3 , n4 , i ;

n1 = n2 = n3 = n4 = 0 ;

for(i = 0 ; str[i] != '\\0' ; ++i) {

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

else if(str[i] >= 'a' && str[i] <= 'z') ++n2 ;

else if(str[i] >= '0' && str[i] <= '9') ++n3 ; else

++n4 ; }

printf(\大写字母:%d\\n\ printf(\小写字母:%d\\n\ printf(\数字字符:%d\\n\ printf(\其他字符:%d\\n\ return 0; } 2.

#include #include

int main(){

int array[4] , min , max , i ;

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

16-20 ACAAD

scanf(\

min = max = array[0] ; for(i = 1 ; i < 4 ; ++i) { if(array[i] < min) min = array[i] ; else if(array[i] > max) max = array[i] ; }

printf(\ return 0; } 3.

#include

int main(){

float money , lixi ; int year ;

scanf(\ 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(\

return 0; } 4.

#include

int main(){ int x , y ;

scanf(\ if(x > 100) y = x + 8 ; else if(x < -10) y = -x + 8 ; else

y = 0 ;

printf(\ 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(\ }

return 0; } 6.

#include

int main(){

printf(\ *****\\n\ printf(\ * *\\n\ printf(\ *\\n\

printf(\ return 0; }

第三章

一、简答

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-5

DBCAC 6-10 CDDCB 11-13 CDC