大学大一C语言程序设计期末考试试卷及答案剖析 下载本文

得分 评卷人

四、程序设计题,将源代码规范地书写在答题纸上(第34小题10分,第35小题各14分,共24分)。

34.设计函数实现将一个字符串中小写字母转化为大写字母。

35.计算e?1?

111???的值并输出(设n=20)。 1!2!n!C语言程序设计试卷 试卷A

参考答案与评分标准

一、单项选择题:(每小题1分,共20分)

1 B 11 C 2 B 12 B 3 D 13 A 4 D 14 D 5 A 15 C 6 B 16 D 7 C 17 B 8 A 18 C 9 A 四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试

10 C 20 B 19 A

二、填空题:(每空4分,共36分)

21: x >= 0 23: int i=0 22: x < amin 24: (a[i] == b[i]) && a[i] != '\\0' 25: ‘\\0’ 26: *sptr++ 27: j < i 28: a[i][j] = a[j][i] 29: a[j][i] = temp

计算机科学学院 C语言程序设计 试卷A 第6页(共8页)

三、阅读程序题:(每小题5分,共20分)

30: 7 9 31: I am a qjh. 32:100,400,100,200 33:Gcd=12

四、程序设计题:(第34小题10分,第35小题各14分,共24分) 34.设计函数实现将一个字符串中小写字母转化为大写字母。(10分)

#include (1分) #include (1分)

/* 转换函数4分,其中:循环正确1分,判断、转换正确各1分,其余1分 */ void Convert(char * str) { while (*str != '\\0') { if(islower(*str )) *str = toupper(*str); str++; } }

/* 主函数4分,其中:变量定义初始化正确1分,函数调用正确2分,输出正确1分*/ void main( ) { char str[] = \ Convert(str); printf(\}

其它答案可根据情况酌情给分。

35计算e?1?111(14分) ???的值并输出(设n=20)。

1!21!n!#include (1分)

/* 递归函数5分 */

long factorial(int n) (1分) { if (n == 1) return n; (2分) else return n * factorial(n-1); (2分) }

/* 主函数8分,其中:变量定义正确2分,循环正确得2分,函数调用格式正确2分,输出正确2分*/

计算机科学学院 C语言程序设计 试卷A 第7页(共8页)

void main( ) { double e = 1.0; for (int i=1; i<=20; i++) { e += 1/(double)factorial(i); } printf(\}

其它答案可根据情况酌情给分。

计算机科学学院 C语言程序设计 试卷A 第8页(共8页)