浙江师范大学《C语言程序设计》考试卷
(2007——2008学年第 2 学期)
考试形式 笔试(闭卷) 使用学生 全校07级理科(非行知)专业 考试时间 120 分钟 出卷时间 2008 年 05 月 31 日 说明:考生应将全部答案都写在答题纸上,否则作无效处理。
试题1(每小题2分,共8分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】
输入一行字符,统计并输出英文字符、阿拉伯字母字符和其他字符的个数。 【运行示例】
请输入一个字符串: f(x,y)=3*x*x+5*y+b
英文字符 阿拉伯字母字符 其他字符 7 2 9 【程序】
#include
(1) ch;
int charnum=0,digitnum=0,other=0; printf(\请输入一个字符串:\\n\ while( (2) '\\n') {
if (3)
charnum++; (4) (ch>='0' && ch<='9') digitnum++; else
other++; }
printf(\英文字符\\t阿拉伯字母字符\\t其他字符\\n\ printf(\}
(1) A、* B、float C、char D、double
(2) A、(ch=getchar())!= B、ch=getchar()!= C、(ch=getchar())= D、ch=getchar()= (3) A、(ch>='a' && ch<='z' && ch>='A' && ch<='Z') B、(ch>='a' && ch<='z' || ch>='A' && ch<='Z') C、(ch>=’a’ && ch<=’Z’) D、(ch>=’A’ && ch<=’z’) (4) A、else B、elseif
1
C、else if D、if
试题2(每小题2分,共8分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】
输入一个整数,判断这个整数是否为回文数。(所谓回文数,就是从左读到右和从右读到左得到相同的结果。) 【运行示例】
请输入一个整数: 45754
45754是回文数字 【程序】
#include
int num,tempnum,revnum,curnum; revnum=0;
printf(\请输入一个整数:\\n\ scanf(\ num=num<0?-num:num; (5)
while(num>0) {
curnum= (6) revnum= (7) (8) }
if(revnum==tempnum)
printf(\是回文数字\ else
printf(\不是回文数字\}
(5) A、; B、tempnum = num; C、tempnum = 0; D、num = tempnum; (6) A、tempnum/10; B、curnum; C、tempnum; D、num; (7) A、revnum*10+curnum; B、revnum+curnum; C、revnum+curnum*10; D、num/10; (8) A、num--; B、num/10; C、num = num; D、num /= 10;
试题3(每小题2分,共6分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】
验证哥德巴赫猜想,即任何一个大于等于4的偶数都能够表示成为两个素数的和。
2
要求用函数isprime判断一个整数是否为素数,并在main函数中调用。 【运行示例】
请输入一个大于等于4的偶数:6 6满足歌德巴赫猜想:6=1+5 6满足歌德巴赫猜想:6=3+3 【程序】
#include
int isprime(int number) {
int i,k;
k=sqrt(number); for(i=2;i<=k;i++) if (number%i==0) (9) ; return 1; }
void main() {
int n,p,q; do {
printf(\请输入一个大于等于4的偶数:\ scanf(\ }while (10) ;
for(p=1;p<=n/2;p++) {
q=n-p;
if ( (11) )
printf(\满足歌德巴赫猜想:%d=%d+%d\\n\ } }
(9) A、return 1 B、return false C、return 0 D、return i
(10) A、(n<4 || n%2!=0) B、(n<4 && n%2!=0) C、(n>=4 && n%2==0) D、(n>=4 || n%2==0) (11) A、isprine(p) || isprime(q) B、isprime(p) && isprime(q) C、isprime(p+q)
D、isprime(n) && isprime(p) || isprime(q)
试题4(每小题2分,共10分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】
函数arraysort用选择法对实型数组进行从小到大排序;函数arraysearch在数组中查找指定的数据。在main函数中调用实现数组排序和搜索。
3
【运行示例】 输入数据:
9.9 7.7 8.8 5.5 6.6 3.3 4.4 2.2 0 1.1 输入你要查找的数据:4.4
找到了,在排序后的数组中下标是4 【程序】
#include
void arraysort(float a[],int n) { int i,j; float t;
for(i=0;i { for(j= (12) ;j int arraysearch(float a[],int n,float searchdata) { int i; for(i=0;i void main() { float score[ARRAYLEN],findscore; int i,searchresult; printf(\输入数据:\\n\ for(i=0;i scanf(\ } arraysort(score,ARRAYLEN); printf(\输入你要查找的数据:\ scanf(\ searchresult= (15) ; if ( (16) ) printf(\找到了,在排序后的数组中下标是%d\ else printf(\数据不存在\} 4

