12年的试题比13年的难很多,笔者费了一早上加一中午才全部做完。如果对答案有疑问或者觉得**有问题请联系我 李添锐。
一、 写出下列程序段的运行结果(40分)
1、 (4分)
char a='d'-'a',b='\010',c,d;
c = a ||b++;
d = a-- b--;
printf("%d,%d,%d,%d",a,b,c,d);
输出:3,7,1,1
2、 (4分)
char a=0x123fff;
printf("%d,",a);
a=127;
printf("%d",+a);
输出:-1,-128
3、 (4分)
int a=5,y=0;
int main()
while(a=5)
a+=5;
y+=a;printf("%d,%d,",a, y);
if (y>18) break;
return 0;
输出:10,10,10,20
4、 (4分)
int i=1, j=2, k=4;
printf("%f,",i-(float)j/k);
printf("%d,",j>1k+=5/10*i ;
printf("%d,",k);
printf("%d", j=1)?2:0);
输出:0.500000,1,4,2
5、 (4分)
int a[2]=;
printf("%d",a[0][1]);
输出:46、 (4分)
int **e(int x, int y)
return (x+y)/2;
int main()
int a=1, b=2, c=3;
printf("%d",**e(**e(a,b), **e(b,c)))
return 0;
输出:1()
7、 (4分)
void exc(int x, int *y)
int t;
t=x; x=*y; *y=t;
int main()
int a=5,b=8;
exc(a,&b);
printf("a=%d,b=%d",a,b);
return 0;
输出:a=5,b=5
8、 (4分)
char str[10]="believe";
char *p=str;
(str+5)=0;
puts(2+p);
输出:lie
9、 (4分)
struct pt
int x; int y;
p[2]=;
printf("%3f",
p[1].y/(float)p[0].y
+ p[1].x/p[0].x);
输出:7.333
10、 (4分)
file *fp;
char c=49;
int d=50, e;
fp=fopen(""w");
fprintf(fp,"%c%d", c, d);
fclose(fp);
fp=fopen(""r");
fscanf(fp,"%d",&e);
printf("%d",e);
输出:150()
二、 改错题(20分)
以下程序实现:从键盘输入若干个学生的成绩数据,将这些数据存到磁盘文件上,并求这些学生的最高成绩。程序21行前存在4个错误,其余部分存在若干错误,指出错误所在位置并改正。
#define size 80第1行*/去掉分号;
#include <>第2行*/
struct stu第3行*/
第4行*/char name[10第5行*/
double score第6行*/
第7行*/ 后加分号;
void s**e(struct stu stud[size]) 第8行*/
第9行*/file fp第10行*/ fp
int i第11行*/
if((fp=fopen("stu-list","wb"))null) /第12行*/
第13行*/
printf("cannot open file");第14行*/
return第15行*/
第16行*/
for(i=0;i if(fwrite(stud[i],sizeof(struct stu),1,fp)!=1) /第18行*/&stud[i]
printf("file write error");第19行*/
fclose(fp第20行*/
第21行*/
int main第22行*/
第23行*/
struct stu stud[size第24行*/
double maxscore第25行*/函数声明double max(struct stu stud[size]);
for(i=0;i第27行*/
scanf("%lf%s ",stud[i].score,&stud[i].name); 第28行*/去掉第二个&
第29行*/
s**e(struct stud第30行*/去掉struct
maxscore = max(stud[size]);第31行*/去掉[size]
printf("maxscore is :%8.2lf", maxscore); 第32行*/
return 0第33行*/
第34行*/
double max(struct stu stud[size])/第35行*/
第36行*/
double tmp第37行*/tmp=0;
int i第38行*/
for(i=0;i if(tmp> stud[i].score第40行*/>改<
第41行*/
tmp= stud[i].score第42行*/
第43行*/
return tmp第44行*/
第45行*/
三、编程题(40分) 注意:程序中请添加必要的注释。
1、编程实现以下功能:输入星期几的第一个字母来判断输入的是星期几,如果第一个字母一样,则要求用户继续输入第二个字母。程序要求可以进行多轮判断,直到输入为字符‘#’为止。
其中输入的星期的首字母必须大写,其余字母小写。如果输入的字母不合法,则输出:data error。
(12分)
一周7天是monday、tuesday、wednesday、thursday、friday、saturday、sunday)
解:本题看似简单,其实难度不小,稍不留神就会出错,希望读者可以先自己试着编一遍,体会一下这道题的陷阱。
#include<>
int main()
char c[2],a;//定义三个字符,前两个用来储存字母,第三个用来吸收“回车”字符。
2019C语言程序设计基础 答案
c语言程序设计基础 试卷参 一 填空题 每空1分,共15分 1 函数 2 1 3 1 4 2.5 5 24 6 6 7 地址 8 行指针,指向有四个元素的一维数组 9 指针数组名,该数组有四个元素,每个元素都是指针。10 russia 11 i 12 h 13 c 14 d 15 7 二 判断题 每...
2019C语言程序设计
c语言程序设计专周。专周报告。班级 10611学号 20姓名 设计时间 2011 5 30至2011 6 3 一 设计题目 职工工资管理小软件。二 实习目的。1 通过这次专题实习,可以巩固和加深对所学相关知识点的理解。2 进一步熟悉基本的流程控制结构 实现分支的if else语句 switsh语句和...
1253 C语言程序设计A
试卷代号 1253 广播电视大学2009 2010学年度第二学期 开放本科 期末考试。c语言程序设计a试题。一 单选题 每小题2分,共20分 1 在每个c语言程序中都必须包含有这样一个函数,该函数的函数名为 a.mainb.main c.named.function 2 每个c语言程序文件的编译错误...