9512.net
甜梦文库
当前位置:首页 >> 高等教育 >>

重庆邮电大学2014-2015学年1学期-C语言程序设计(B卷)


试题编号:

重庆邮电大学 2014~2015 学年 1 学期
C 语言程序设计试卷(期末) (B 卷) (闭卷)
题 号 得 分 评卷人 一 二 三 总 分

注意:所有试题的答案必须写在答题纸上。
一、基础知识测试题(本大题共 15 小题,每小题 4 分,共 60 分)
1 读程序,并回答问题: #include <stdio.h> void main() { int a = 10,b = 3; printf("result = %d\n", a / b); //问题② } 问题①:该程序的输出结果是什么?(2 分) 2 问题②:如果将 a / b 改为 a % b,程序的输出结果又是什么?(2 分) 下 列 程 序 输 入 三 角 形 的 三 边 a,b,c , 并 根 据 公 式

s?

1 (a ? b ? c), area ? s ( s ? a)( s ? b)( s ? c) 计算三角形的面积,请补充完整。 2

#include <stdio.h> #include <math.h> main() { float a, b, c, s, area; printf("Input a,b,c:"); scanf("%f,%f,%f", &a, &b, &c); s= ; //问题① area = ; //问题② printf("area = %f\n", area); } 问题①:该处应填入的代码是什么?(2 分) 问题②:该处应填入的代码是什么?(2 分) 3 读程序,并回答问题: #include <stdio.h> C 语言程序设计试卷第 1 页(共 11 页)

4

#define ADD(a,b) a+b //问题② void main() { int result; result=ADD(1,3)*ADD(3,5); printf("result=%d\n",result); } 问题①:该程序的输出结果是什么?(2 分) 问题②:语句#define ADD(a,b) a+b 如果改为#define ADD(a,b) (a+b),程序的输 出结果又是什么?(2 分) 读程序,并回答问题: #include <stdio.h> void main() { int n; scanf("%d",&n); switch(n) { case 1: printf("January\n");break; case 2: printf("February\n");break; case 3: printf("March\n"); default: printf("Others\n"); } } 问题①:从键盘上输入 1,程序的输出结果是什么?(2 分) 问题②:从键盘上输入 3,程序的输出结果是什么?(2 分) 下列程序利用
?4

5

?

1 1 1 ? 1 ? ? ? ? ? 计算 ? 的近似值,直到最后一项的绝对值小 4 3 5 7

于 10 时为止。请补充完整。 #include <stdio.h> #include <math.h> main() { int i=1, sign=1; double pi = 0, term = 1; while( { pi=pi+term; sign=-sign; i+=2; ; //问题② ) //问题①

C 语言程序设计试卷第 2 页(共 11 页)

} printf("PI=%lf\n",4*pi); } 问题①:该处应填入的代码是什么?(2 分) 问题②:该处应填入的代码是什么?(2 分) 6 读程序,并回答问题: #include <stdio.h> main() { int x; for (x=1; ;x++) { if (x%5==1 && x%6==5) { printf("x = %d\n", x); break; } } } 问题①:程序的功能是什么?(2 分) 问题②:该处语句的作用是什么?(2 分) 7 读程序,并回答问题: #include <stdio.h> long Func(int n); void main() { int i, n; printf("Input n:"); scanf("%d", &n); for (i=1; i<=n; i++) { } } long Func(int n) { static long p = 1; //问题② printf("%d! = %ld\n", i, Func(i)); //问题②

C 语言程序设计试卷第 3 页(共 11 页)

p = p * n; return p; } 问题①:程序的功能是什么?(2 分) 问题②:该处的语句是什么作用?(2 分) 读程序,并回答问题: #include <stdio.h> #include <math.h> int Func(int n); void main() { int i,count=0; for (i=1; i<=100; i++) { if(Func(i)) { count++; printf("%4d",i); if(count%5==0) //问题② printf("\n"); } } } int Func(int n) { int i; for(i=2;i<=sqrt(n);i++) if(n%i==0) return 0; return 1; } 问题①:程序的功能是什么?(2 分) 问题②:该处语句的作用是什么?(2 分) 9 下列程序用递归函数实现输出 Fibonacci 数列 1,1,2,3,5,8...的前 20 项, 请补充完整。 #include <stdio.h> long fib(int n); void main() { int i; for(i=1;i<=20;i++) { printf("Fib(%d) = %ld\n",i,fib(i)); } } long fib(int n) C 语言程序设计试卷第 4 页(共 11 页)

8

{

if( return 1; else

)

//问题①

//问题② } 问题①:该处应填入的代码是什么?(2 分) 问题②:该处应填入的代码是什么?(2 分) 10 读程序,并回答问题: #include <stdio.h> #include <string.h> void Func(char *str); void main() { char a[80]; gets(a); Func(a); puts(a); } void Func(char *str) { char *p,*q; int len=strlen(str); p=str; for(q=str+len-1;p<q;p++,q--) { char t; t=*p; *p=*q; *q=t; } } 问题①:函数 Func(char *str)的功能是什么? (2 分) 问题②:该处语句的作用是什么?(2 分) 11 以下函数的功能是判断两个字符串的大小, 函数的返回值是两个字符串中第一个不 相同的字符的差值,str1 大于 str2 则返回大于 0 的数,str1 小于 str2 则返回小于 0 的数,相等返回 0,请补充完整。 int MyStrcmp(char *str1,char *str2) C 语言程序设计试卷第 5 页(共 11 页) //问题② //问题①

{

while(*str1==*str2) { if( str1++; str2++; } return ; //问题② ) break; //问题①

} 问题①:该处应填入的代码是什么?(2 分) 问题②:该处应填入的代码是什么?(2 分) 12 读程序,并回答问题: #include <stdio.h> #define N 10 void main() { int a[N][N],i,j; for(i=1;i<=9;i++) for(j=1;j<=i;j++) { } for(i=1;i<=9;i++) { for(j=1;j<=i;j++) //问题② a[i][j]=i*j;

printf("%d*%d=%2d ",i,j,a[i][j]); printf("\n"); } } 问题①:程序的功能是什么? (2 分) 问题②:该处语句中 j<=i 的作用是什么?(2 分) 13 读程序,并回答问题: #include <stdio.h> typedef struct Person { char name[20]; char sex; int age; C 语言程序设计试卷第 6 页(共 11 页)

}PER; PER pers[5]={{"mark",'M',20}, //问题② {"rose",'F',18}, {"andrew",'M',25}, {"tom",'M',15}, {"susan",'F',22}}; void Func(PER p[],int n) { int i,j; for(i=0;i<n;i++) for(j=i+1;j<n;j++) if(p[j].age>p[i].age) { PER t; t=p[i]; p[i]=p[j]; p[j]=t; } } void main() { int i; Func(pers,5); printf("name\tsex\tage\n"); printf("name\tsex\tage\n"); for(i=0;i<5;i++) printf("%s\t%c\t%d\n",pers[i].name,pers[i].sex,pers[i].age); } 问题①:程序的功能是什么?(2 分) 问题②:该处语句的作用是什么?(2 分) 14 读程序,并回答问题: typedef struct link { int data; struct link *next; //问题① }LINK; void display(LINK* p) { while(p) { printf("%d\t",p->data); p=p->next; //问题② } } 问题①:该语句的功能是什么?(2 分) 问题②:该语句的功能是什么?(2 分) C 语言程序设计试卷第 7 页(共 11 页)

15 下列程序比较两个文本文件的内容是否相同,请补充完整。 #include <stdio.h> void main() { FILE *fp1,*fp2; char ch1,ch2; fp1 = fopen("c:\\f1.txt","r"); fp2 = fopen("c:\\f2.txt","r"); if ( ) //问题① { printf("Failure to open file!\n"); return; } while ((ch1 = fgetc(fp1)) != EOF) { //问题② if(ch1!=ch2) { printf("not the same.\n"); return; } } fclose(fp1); fclose(fp2); printf("the same.\n"); } 问题①:该处应填入的代码是什么?(2 分) 问题②:该处应填入的代码是什么?(2 分)

二、编程题(本大题共 3 小题,共 40 分)
1. (8 分)水仙花数指各位数字上的立方和等于该数本身的三位数。例如:153 是水 仙花数,因为 153=1*1*1+5*5*5+3*3*3。请编程输出所有的水仙花数。 2. (12 分,其中自定义函数 8 分,主函数 4 分) 定义函数 int DeleteLetter(char* str,char ch)删除字符串 str 中包含的字符 ch。 例如字符串为“abcabdef” ,删除字符’b’后,字符串变为“acadef” 。编写主函数测 试这个函数。 3. (20 分)一个班 30 个学生参加期末的 3 门课考试(学生信息包含学号、姓名、每门 课成绩和总分) ,编写程序完成下列功能: (1)输入学生信息及考试成绩,并计算每个学生的总分; (10 分) (2) 统计每门课的最高分、 最低分、 平均分和不及格的人数, 并将结果存存入 test.txt 文件中。 (10 分) C 语言程序设计试卷第 8 页(共 11 页)

答 题 纸
班级
题 得 号 分 一

学号
二 三

姓名
总 分

评卷人

一、基础知识测试题(本大题共 15 小题,每小题 4 分,共 60 分) 1① 2① ② 3① ② 5① ② 7① ② 9① ② ② 4① ② 6① ② 8① ② 10① ②

11① ②

12① ②

C 语言程序设计试卷第 9 页(共 11 页)

13① ② 15① ② 二、编程题(本大题共 3 小题,共 40 分) 1(8 分)

14① ②

2(12 分,其中自定义函数 8 分,主函数 4 分)

C 语言程序设计试卷第 10 页(共 11 页)

3 (20 分)

C 语言程序设计试卷第 11 页(共 11 页)


赞助商链接

更多相关文章:
南京邮电大学C语言程序设计网站上机习题参考答案
南京邮电大学C语言程序设计网站上机习题参考答案_工学_高等教育_教育专区。南京邮电大学C语言程序设计A网站上机习题参考答案 网站上机程序参考源代码 1. 编程题 1:...
重庆邮电大学 c语言实验报告
重庆邮电大学 c语言实验报告_理学_高等教育_教育专区...掌握运行个 c 程序设计的基本步骤,包 括编辑、...("90~100\n"); break; case'B': printf("80...
更多相关标签:

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图