C语言程序设计习题与上机实验全部答案.docx
- 文档编号:24934371
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:53
- 大小:45.41KB
C语言程序设计习题与上机实验全部答案.docx
《C语言程序设计习题与上机实验全部答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计习题与上机实验全部答案.docx(53页珍藏版)》请在冰豆网上搜索。
C语言程序设计习题与上机实验全部答案
C语言程序设计习题与上机实验
(参考答案)
2008年3月30日
第一部分同步习题集
第1章C语言概述
一、判断题
1、正确2、正确3、错误4、错误
二、单项选择题
1、B2、B3、A4、A5、D6、C7、D8、C
三、填空题
1、/**/2、函数首部、函数体
第2章算法
一、填空题
1、算法2、算法、数据结构3、自然语言、N-S结构图、伪代码
4、顺序结构、选择结构、循环结构5、程序设计风格、程序结构、清晰的结构
第3章数据类型\运算符与表达式
一、单项选择题
1、D2、D3、D4、D5、B6、AB7、D8、D9、C10、A
11、D12、C13、B14、C15、C16、B17、C
二、填空题
1、2;-32768~72767;4;42、1.0/2*(a*x+(a+x)/(4.0*a))
第4章最简单的C程序设计
一、单项选择题
1、B2、B3、D4、C5、A6、D7、D
二、填空题
1、;2、{}3、%4、输入输出函数
三、写结果题
1、a2、6,53、-64、11空格10
5、ch:
dec=97;oct=141,hex=61,ASCII=a
6、修改题…printf(“%d,%d,%d,%d\n”,++i,j--,i++,--j);结果为:
7,4,5,4
四、程序填空题
1、%c2、%.2f3、
(1)&x,&y
(2)printf(“%d,%d”,x,y);
第5章逻辑运算和判断选择结构
一、单项选择题
1、C2、A3、D4、D5、B6、D7、B8、B9、C10、D
11、C12、C
二、写运行结果题
1、1002、63、24、a=2,b=1
三、程序填空题
1、
(1)x>y
(2)u>z2、
(1)m==’c’
(2)m==’b’
3、
(1)ch>=’A’&&ch<=’Z’
(2)ch=ch-324、
(1)x>2&&x<=10
(2)x>-1&&x<=2
四、编程题
1、
#include
main()
{
inta,b,t;
printf(“Pleaseinputa,b:
”);
scanf(“%d,%d”,&a,&b);
t=a;a=b;b=t;
printf(“a=%d,b=%d”,a,b);
}
2、编程实现以下功能:
读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1opdata2的值,其中op可为‘+’,‘-’,‘*’,‘/’(用switch语句实现)。
#include
main()
{
floatdata1,data2,result;
charop;
printf(“Pleaseinputexpress(data1opdata2):
”);
scanf(“%f%c%f”,&data1,&op,&data2);
switch(op)
{
case‘+’:
result=data1+data2;break;
case‘-’:
result=data1-data2;break;
case‘*’:
result=data1*data2;break;
case‘/’:
result=data1/data2;break;
default:
printf(“Inputerror!
”);exit(0);
}
Printf(“%g%c%g=%g”,data1,op,data2,result);
}
3、试编程判断输入的正数是否既是5又是7的倍数。
若是,则输出yes,否则输出no。
#include
main()
{
intx;
printf(“Pleaseinputx”);
scanf(“%d”,&x);
if(x>=0)
if(x%5==0&&x%7==0)
printf("yes");
else
printf("no");
else
printf(“Inputdataerror!
”);
}
4、
#include
main()
{
floatx,y;
printf(“Pleaseinputx:
”);
scanf(“%f”,&x);
if(x<1)
y=x;
elseif(x<10)
y=2*x-11;
else
y=3*x-11;
printf(“y=%g”,y);
}
5、
#include
main()
{
chargrade;
floatscore;
printf(“POleaseinputgrade:
”);
scanf(“%c”,&grade);
switch(grade)
{
case‘A’:
case‘a’:
score=95;break;
case‘B’:
case‘b’:
score=85;break;
case‘C’:
case‘c’:
score=75;break;
case‘D’:
case‘d’:
score=65;break;
case‘E’:
case‘e’:
score=50;break;
default:
printf(“Inputerror!
”);exit(0);
}
printf(“score=%f”,score);
}
第6章循环结构
一、判断题
1、错误2、正确3、正确4、错误5、正确
二、单项选择题
1、A2、C3、A4、D5、B6、B7、A8、D9、A10、D
11、C12、B13、C14、AC
三、写结果题
1、8,202、25811143、84、85、a=16y=606、74
7、68、a=419、
10、2,3
四、程序填空题
1、①c!
=’#’②c>=’0’&&c<=’9’2、①t=t*i②t=-t/i
3、①i<10②10*i+54、①i 五、编程题 1、 #include main() { floatmax,min,score,average; inti; printf(“Pleaseinputscore: ”); scanf(“%f”,&score); max=min=average=score; for(i=1;i<=34;i++) { printf(“Pleaseinputscore: ”); scanf(“%f”,&score); if(score if(score>max)max=score; average+=score; } average/=35.0; printf(“max=%g,min=%g,average=%g”,max,.min,average); } 2、 #include main() { inta,b,r,temp; printf(“Pleaseinputa,b”); scanf(“%d,%d”,&a,&b); while(a<=0||b<=0) { printf(“Tryagain: ”); scanf(“%d,%d”,&a,&b); } if(a {r=a;a=b;b=r;} temp=a*b; while(b! =0) { r=a%b;a=b;b=r; } printf(“最大公约数=%d,最小公倍数=%d”,a,temp/a); } 第7章数组 一、单项选择题 1、C2、D3、C4、C5、C6、C7、D8、D9、C10、B 11、C12、B13、C14、D15、A 二、写结果题 1、32、he3、AHaMA4、Howdoesshe5、 三、程序填空题 1、①a[9]=x②i<92、①k=i②k! =i3、①x! =0②t+’0’ 4、①strlen(t)②t[k]==c5、①b[j]! =’\0’②a[i]=’\0’ 四、编程题 1、 #include #defineN10 main() { inta[N],temp,i; for(i=0;i {printf(“PleaseinputNO%d: ”,i+1); scanf(“%d”,&a[i]); } for(i=0;i<=N/2-1;i++) {temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;} for(i=0;i printf(“%3d”,a[i]); } 2、输出杨辉三角形前十行。 #include #defineN10 main() { inta[N][N]; inti,j; for(i=0;i { a[i][i]=1; a[i][0]=1; } for(i=1;i for(j=1;j<=i;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i { for(j=0;j<=i;j++) printf(“%5d”,a[i][j]); printf(”\n”); } } 第8章函数 一、单项选择题 1、D中加一句z=x+y;2、选D(题不严密)3、D4、A5、B6、D 7、B8、A9、B10、D11、A12、A13、B14、CD15、A i=5 i=2 i=2 i=4 i=2 二、写结果题 1、82、43、 4、5 三、程序填空题 1、①floatfun(floata,floatb);或floatfun(float,float);②x+y,x-y③z+y,z-y 2、①i<=10②array[i-1]③returnavgr 3、①j=num-1②array[i] 4、①t*i②s+factor(k) 5、①l>h②s,l+1,h-1 四、编程题 1、 intprime(intx) { inti; intflag=1; for(i=2;i if(x%i==0) {flag=0; break; } return(flag); } main() { intx,y; printf(“Pleaseinputx: ”); scanf(“%d”,&x); y=prime(x); if(y==1) printf("%disprime! ",x); else printf("%disnotprime! ",x); } 2、 #include longfun(charstr[]); main() { chardatastring[10]; longdata; printf(“Pleaseinputdatastring: ”); scanf(“%s”,datastring); data=fun(datastring); printf("outputnumber\n"); printf("%ld",data); } longfun(charstr[]) { inti; longdata; data=0; for(i=0;str[i]! ='\0';i++) data=data*10+(str[i]-'0'); returndata; } 第9章编译预处理 一、单项选择题 1、C2、B3、D4、D5、B6、B7、D8、D 二、判断题 1、错误2、正确3、正确4、正确5、错误6、正确 三、编程题 1、求面积 #include #include #defineS(a,b,c)(((a)+(b)+(c))/2.0) #defineAREA(a,b,c)sqrt(S(a,b,c)*(S(a,b,c)-a)*(S(a,b,c)-b)*(S(a,b,c)-c)) main() { doublea,b,c,area; printf(“Pleaseinputa,b,c: ”); scanf(“%lf,%lf,%lf”,&a,&b,&c); area=AREA(a,b,c); printf(“area=%lg”,area); } 第10章指针 一、单项选择题 1、B2、B3、D(? ? )4、D5、B6、C7、D8、B 9、CD10、D11、B12、C13、D14、D15、C16、B17、A18、D 35 53 二、写结果题 1、192、603、 4、495、GOOGLE6、-27、Excuteright! 8、xyzabc9、4321 三、程序填空题 1、①*max=i②a,7,&max,&min2、①*p! =’\0’②*p-‘0’③j-->0 3、①s+n-1或p1+n-1②p2--4、①s1++②*s2③s1=p或puts(p)或return 5、①*q②str[k]或*(str+k) 四、编程题 1、 #include voids*p1,int*p2) { intt; t=*p1;*p1=*p2;*p2=t; } main() { inta,b; printf(“Pleaseinputa,b: ”); scanf(“%d,%d”,&a,&b); s); printf(“a=%d,b=%d”,a,b); } 2、 #include intstrlength(char*p) { char*s=p; while(*p)p++; returnp-s; } main() { charstr[81]; printf(“Pleaseinputstring: ”); gets(str); printf(“length=%d”,strlength(str)); } 第11章结构体和共用体 一、单项选择题 1、A2、A3、D4、D5、A6、D7、D8、D9、C10、B 11、B12、C13、A(不严密) 二、写结果题 1、Zhao2、7,33、9 三、程序填空题 1、①p->link②p! =NULL或p 四、编程题 1、 #include #defineN5 structstudent { longnum; charname[20]; floatscore[3]; }; voidinput(structstudentw[],intn); voidoutput(structstudentw[],intn); main() { structstudentst[N]; intn; printf("Pleaseinputthenumberofworker(<10): "); scanf("%d",&n); input(st,n); output(st,n); } voidinput(structstudentw[],intn) { inti,j; floattemp; for(i=0;i { printf("PleaseinputNO%d\n",i+1); printf("Num: "); scanf("%ld",&w[i].num); getchar(); printf("name: "); gets(w[i].name); for(j=0;j<3;j++) { printf(“Score[%d]=”,j); scanf("%f",&temp); w[i].score[j]=temp; } } } voidoutput(structstudentw[],intn) { inti,j; for(i=0;i { printf("\nOutputNO%d\n",i+1); printf("Num: "); printf("%ld",w[i].num); printf("\nname: "); puts(w[i].name); printf("score: "); for(j=0;j<3;j++) printf("%g",w[i].score[j]); } } 第12章位运算 一、单项选择题 1、C2、B3、D4、B5、0x13(无答案)6、A7、A8、B 二、写结果题 1、108,-22、03、a=894、 第13章文件 一、单项选择题 1、A2、D3、B4、B5、A6、A7、C8、C9、A10、D 二、程序填空题 1、①fgetc(fp)②count++2、①fname3、①EOF②ch,stdout 4、①f2=fopen(argv[2]②fgetc(f1),f2 5、①”stu_list”,”wb”②&stud[i],sizeof(structstudent_type),1 三、编程题 1、 #include main() { FILE*fp; charstr[255]; inti; if((fp=fopen(“d: \\test.txt”,”r”))==NULL) { printf(“Openerror! ”); exit(0); } for(i=1;i<=7;i++) { fgets(str,255,fp); printf(“%s”,str); } fclose(fp); } 2、 #include main(intargc,char*argv[]) { FILE*fp1,*fp2; if(argc! =3) { printf("youforgottoentera\n"); exit(0); } if((fp1=fopen(argv[1],”r”))==NULL) { printf(“Openargument1! ”); exit(0); } if((fp2=fopen(argv[2],”a”))==NULL) { printf(“Openargument2! ”); exit(0); } while(! feof(fp1)) fputc(fgetc(fp1),fp2); fclose(fp1); fclose(fp2); } 3、将指定的文本文件中的小写字母改为大写字母。 #include main() { FILE*fp; char[81]; charch; longpos; printf("Pleaseinput: "); gets(); if((fp=fopen(,"r+"))==NULL) { printf("Openerror! "); exit(0); } pos=0; while(! feof(fp)) { fseek(fp,pos,0); ch=fgetc(fp); if(ch>='a'&&ch<='z') { ch=ch-32; fseek(fp,pos,0); fputc(ch,fp); } pos++; } fclose(fp); } 4、将100~200之间的素数保存到A盘根目录的“test.txt”文本文件中。 (每行存5个数,每个数占10列) include main() { FILE*fp; charstr[255]; inti,j,count;; if((fp=fopen("a: \\test.txt","w"))==NULL) { printf("Openerror! "); exit(0); } count=0; for(i=100;i<=200;i++) { for(j=2;j<=i-1;j++) if(i%j==0) break; if(j==i) { count++; fprintf(fp,"%10d",i); if(count%5==0) fprintf(fp,"%c",'\n'); } } fclose(fp); } 5、将平均成绩不及格的学生数据保存到A盘的根目录的文件“stud.dat”中。 #include #defineN50 structstudent { longnum; charname[20]; floatscore[3]; floataverage; }; voidinput(structstudentw[],intn); voidsave
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 习题 上机 实验 全部 答案