c语言习题笔记整理.docx
- 文档编号:5608455
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:31
- 大小:21.95KB
c语言习题笔记整理.docx
《c语言习题笔记整理.docx》由会员分享,可在线阅读,更多相关《c语言习题笔记整理.docx(31页珍藏版)》请在冰豆网上搜索。
c语言习题笔记整理
//例1:
计算a+b的值(答案579)
main()
{inta,b,sum;/*定义变量啊,a,b,sum*/
a=123;b=456;/*给变量a赋值,123为十进制常量*/
sum=a+b;/*计算a+b的和,并将结果赋给sum变量*/
printf("sumis%d\n",sum);/*输出结果,以十进制形式输出*/
}
//例2,转义字符实例,输出结果(A,0
A,0)
#include
#include
voidmain()
{
printf("%c,%c\n",'\101','\60');
printf("%c,%c\n",'\x41','\x30');
system("pause");
}
例3.将小写字母变成大写。
(A)
#include
voidmain()
{charc;
printf("a");
#include
main()
{charch;
ch=getchar()+32;
putchar(ch);
}(由小写变大写)
c=getchar();
c=c-32;
putchar(c);
}
#include
voidmain()
{charc;
printf("a");
scanf("%c",&c);
c=c-32;
printf("%c",c);
}
例4:
三个数x,y,z从小到大输出
#include
main()
{intx,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if(x>y)
{t=x;x=y;y=t;}
if(x>z)
{t=z;z=x;x=t;}
if(y>z)
{t=y;y=z;z=t;}
printf("smalltobig:
'%d,%d,%d\n",x,y,z);
}
例5.求一元二次方程的根,
#include
#include
voidmain()
{floata,b,c,x1,x2;
scanf("%f%f%f",&a,&b,&c);
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("x1=%f,x2=%f\n",x1,x2);
}
例6.输出三个数中的最大值。
#include
voidmain()/主函数,无返回值/
{
inta,b,c,t;/定义变量/
printf("a,b,c:
");
scanf("%d,%d,%d",&a,&b,&c);/输入三个整型数给变量a、b、c/
if(a
{t=a;a=b;b=t;}/因为a
if(b {t=b;b=c;c=t;}/c为较大者/ printf("max=%d\n",b); #include voidmain() {inta,b,c,max; printf("pleaseinputa,b,c: \n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if(max if(max printf("MAX=%d\n",max); } } 例7.f(X)=1,当x>0.f(X)=0,当x=0.f(X)=-1,当x<0. #include voidmain() {intx,y; printf("x"); scanf("%d",&x); if(x>0) y=1; elseif(x==0) y=0; elsey=-1; printf("y=%d\n",y); } 例8: 使用switch语句计算加,减,乘,除。 #include main() {charop;floatx,y; printf("inputaarithmeticexpression: "); scanf("%f%c%f",&x,&op,&y); switch(op) {case'+': printf("=%f\n",x+y);break; case'-': printf("=%f\n",x-y);break; case'*': printf("=%f\n",x*y);break; case'/': if(y! =0.0) printf("=%f\n",x/y); else printf("Divisoriszero\n"); break; default: printf("Illegaloperator\n"); } } 例9,求两数之和。 {#include #include voidmain( inta,b,sum; a=12;) b=10; sum=a+b; printf("sumis%d\n",sum); system("pause"); } #include voidmain() {inta,b,c,max; printf("pleaseinputa,b,c: \n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if(max if(max printf("MAX=%d\n",max); } 例10,//检验数据类型的重要性。 短整型的范围(-32768~32767)结果为-1 #include voidmain() {shortinta,b,sum; a=32767;b=-32768; sum=a+b; printf("a=%d,b=%d\n",a,b); printf("sum=%d\n",sum); } //实验二2.常量与变量的应用。 #include voidmain() {intx,y,z; floatx1,y1,z1; x=123;y=0123;z=0x123; printf("x=%d,y=%d,z=%d\n",x,y,z); x1=123.456;y1=.123;z1=0.123E-4; printf("x1=%f,y1=%f,z1=%f\n",x1,y1,z1); } #include main() { intSum=0,i=1,n; scanf("%d",&n); do{Sum=Sum+i; i=i+1; } while(i<=n); printf("sum=%d\n",Sum); } 第一章第五题 例11.求1~n的和。 #include main() { intSum=0,i=1,n; scanf("%d",&n); while(i<=n) {Sum=Sum+i; i=i+1; } printf("sum=%d\n",Sum); } 例12: 输入一个年份,月份。 打印该月份有多少天(考虑闰年),用switch语句。 #include #include voidmain() {intyear,month,day; printf("请输入一个年份和月份: \n"); scanf("%d%d",&year,&month); switch(month) { case1: day=31;break; case2: day=28;break; case3: day=31;break; case4: day=30;break; case5: day=31;break; case6: day=30;break; case7: day=31;break; case8: day=31;break; case9: day=30;break; case10: day=31;break; case11: day=30;break; case12: day=31;break; } if(year%4==0); if(year%! 100==0); {if(year%400==0); printf("29"); } }(year%4==0&&year%100! =0)||year%400==0 若表达式为真,为闰年,为假,则不是闰年。 例13: 强制类型转换。 #include #include voidmain() { floatf=12.465f; printf("(int)f=%d,f=%f\n",(int)f,f); system("pause"); } 例14//用printf()输出整型和字符。 (a97) #include #include voidmain() {charc1='a'; printf("%c%d",c1,c1); system("pause"); } 例15: //输入十进制整数,八进制整数,十六进制整数。 (1231737b)page30 #include #include voidmain() {inti=123; printf("%d%o%x",i,i,i); system("pause"); } 例16: //用printf()输出字符串page30 #include #include voidmain() {printf("%10s\n","hello"); printf("%-10s\n","hello"); system("pause"); } 例17: scanf中输入格式字符串与程序运行时输入格式的比较。 #include #include voidmain() {inta,b,c,d; charc1; scanf("%d%d%d%c",&a,&b,&c,&c1); d=a+b+c; printf("%c=%d\n",c1,d); system("pause"); } 例18: 用自定义的数据分隔符“,”方式输入数据。 #include #include voidmain() {intx,y; charc; scanf("%d,%d,%c",&x,&y,&c);必须在英文状态下输入 printf("%d,%d,%c\n",x,y,c); system("pause"); } 例19: putchar和getchar运用。 (输入ab,得到ac) #include #include voidmain() {charc1,c2; c1=getchar(); c2=getchar()+1; putchar(c1); putchar(c2); system("pause"); } 例20: #include main() { charc; inti; printf("输入一个数: "); for(i=0;(c=getchar())! ='\n';i++) { if(i>0)printf(""); switch(c) { case'0': printf("zero");break; case'1': printf("one");break; case'2': printf("two");break; case'3': printf("three");break; case'4': printf("four");break; case'5': printf("five");break; case'6': printf("six");break; case'7': printf("serven");break; case'8': printf("eight");break; case'9': printf("nine");break; } } printf("\n"); } #include #include voidmain() {floata,b,c,s,m; scanf("%f%f%f",&a,&b,&c); {if(a+b>c&&a+c>b&&b+c>a) m=(a+b+c)/2; s=sqrt(m*(m-a)*(m-b)*(m-c)); } printf("%f\n",s); } 例21: 三角形面积(已知三角形的边长a、b和c,求其面积。 输入三边a、b、c输出面积,保留3位小数。 样例输入122.5样例输出0.950#include #include voidmain() {floata,b,c,s,m; scanf("%f%f%f",&a,&b,&c); m=(a+b+c)/2.0; s=sqrt(m*(m-a)*(m-b)*(m-c)); printf("%.3f\n",s); } 例22: 求s=1-1/2+1/3-1/4…+1/99+1/100之值。 【解】使用一个for循环即可。 程序如下: 程序运行结果: #include main() {inti; floats; s=0; for(i=1;i<=100;i++) {if(i%2==0) s=s-1.0/i; else s=s+1.0/i; } printf("s=%f",s); }s=0.688172 例23: 求1~1/n的和。 #include voidmain() { inti,n; floats;(float对应正小数,%f表示,.2f表示两位小数) s=0,i=1; scanf("%d",&n); while(i<=n) {for(i=1;i<=n;i++)(一般for循环有三个判定条件) s=s+1.0/i; printf("s=%f",s); }(double双精度对应正负小数,占8字节,用%lf表示) 例24: 求奇数项分之一的和。 偶数项分之一的和。 #include intmain() { floatsum,n,i; printf("Pleaseinput: "); scanf("%f",&n); sum=0.0; for(i=1;i<=n/2+1;i++) { sum=1/(i*2-1)+sum; } printf("%f\n",sum); return0; } #include intmain() { floatsum,n,i; printf("Pleaseinput: "); scanf("%f",&n); sum=0.0; for(i=1;i<=n/2;i++) { sum=1/(i*2)+sum; } printf("%f\n",sum); return0; } #include"stdio.h" intmain() { intSum,n,i; printf("Pleaseinput: "); scanf("%d",&n); Sum=0; for(i=1;i<=n;i+=2); { Sum=Sum+i; } printf("Sum=%d\n",Sum); return0; 例: 字符型的运用。 #include voidmain() {charc1,c2; inti1,i2; unsignedu1,u2; c1='a'; c2=c1-32; printf("%c,%c,%d,%d\n",c1,c2,c1,c2); c1='\176';c2='\376'; i1=c1;i2=c2; u1='\176';u2='\376'; printf("%d,%d,%u,%u\n",i1,i2,u1,u2); } 例: #include voidmain() {shortinta,b; unsignedc,d; longe,f; a=100;b=-100;e=50000;f=32767; c=a;d=b; printf("%d,%d\n",a,b); printf("%u,%u\n",a,b); printf("%u,%u\n",c,d); c=a=e; d=b=f; printf("%d,%d\n",a,b); printf("%u,%u\n",c,d); } 实验三: #include voidmain() {inti,j,m=0,n=0; i=8;j=10; m+=i++;n-=--j; printf("i=%d,j=%d,m=%d,n=%d",i,j,m,n); } (2)#include voidmain() {inta=5,b=4,c=3,i; i=a>b>c; printf("%d,%d\n",i,a||b+c&&c-b); a=b=c=2; i=a>b&&(c=0); printf("%d,%d,%d\n",i,a,b,c); i=(a==b? (c=0): a>b? (c=1): (c=-1)); printf("%d,%d,%d\n",i,a,b,c); }(3) #include voidmain() {inti1,i2; charc1,c2; floatf; i1=5;c1='A'; i2=i1+++i1; c2=--c1%2; printf("%d.%d\n",i1,i2); i1=10;i1*=i1-5;i2=i1%3; printf("%d,%d\n",i1,i2); i1=3;f=15/(i1--); printf("%f\n",f); } (4)#include voidmain() {intx,y; x=50; y=(x=x-5,x/5); printf("%d\n",y); } 2.赋值运算符。 #include voidmain() {intx,y,z; x=y=z=5+6; x+=y+z; x/=z; printf("x=%d,y=%d,z=%d,(float)(11/3)=%f,11./3=%f\n",x,y,z,(float)(11/3),11./3); } 3.逗号表达式的计算。 #include voidmain() {inta=2,b=3,c,i; i=(b=a+1,c=b+2); printf("%d,%d,%d,%d\n",a,b,c,i); b=a++,c=++b,i=c+++a; printf("%d,%d,%d.%d\n",a,b,c,i); } 4.位运算 #include voidmain() {intv1,v2,v3,v4; unsignedu1,u2,u3,u4; u1=011; u2=u1<<2; printf("%u,%u,%x,%o\n",u1,u2,u2,u2); u2=u1>>2; printf("%u,%u,%x,%o\n",u1,u2,u2,u2); u1=0xfe;u2=u1&~u1;u3=u1|~u1;u4=u1^~u1; printf("%u,%u,%u,%u",u1,u2,u3,u4); v1=-011; v2=v1<<2; printf("%u,%u,%x,%o\n",v1,v2,v2,v2); v2=v1>>2; printf("%u,%u,%x,%o\n",v1,v2,v2,v2); v1=-0xfe;v2=v1&~v1;v3=v1|~v1;v4=v1^~v1; printf("%u,%u,%u,%u",v1,v2,v3,v4); } 5. 输入两个自然数 m和 n,求它们的最大公因数 (1): #include #include voidmain() { inta,b,i,c; scanf("%d%d",&a,&b); if(a>b) { for(i=b;i>0;i--) { if(a%i==0&&b%i==0) { c=i; break; } } } else { for(i=a;i>0;i--) { if(a%i==0&&b%i==0) { c=i; break; } } } printf("%d",c); } 4. 输入两个自然数 m和 n,求它们的最小公倍数 #include voidmain() {inta,b,p; scanf("%d%d",&a,&b); for(p=1;p<=a*b;p++) if(p%a==0&&p%b==0)break; printf("\n%d",p); } 5.#include voidmain() {intnm,r,n,m,t; printf("pleaseinput: \n"); scanf("%d,%d",&m,&n); nm=n*m; if(m {t=n;n=m;m=t; } r=m%n; while(r! =0) {m=n;n=r;r=m%n; } printf("最大公约数: %d\n",n); printf("最小公倍数: %d\n",nm/n); } 实验四: 1。 #include
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 习题 笔记 整理
![提示](https://static.bdocx.com/images/bang_tan.gif)