1、C语言考试1.#include #include void main()float a ,b ,c;float s,v;printf(请输入长方体的长a:n);scanf(a=%f,&a);printf(请输入长方体的宽b:n);scanf( b=%f,&b);printf(请输入长方体的高c:n);scanf( c=%f,&c);s=(a*b+a*c+b*c)*2;v=a*b*c;printf(长方体的面积s是:%fn,s);printf(长方体的体积v是:%fn,v);2.#include #include void main()double r=0.03; double a,s; pri
2、ntf(请输入您的存款金额:); scanf(%lf,&a); s=a*(1+r); printf(一年后您的总额是:%lfn,s);3.#include#include#includevoid main()double p,q,x1,x2,disc,a,b,c; scanf(a=%lf,b=%lf,c=%lf,&a,&b,&c); disc=b*b-4*a*c; p=-b/(2.0*a); if(disc0) q=(sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(n此方程有两个不同根:nx1=%lftx2=%lfnn,x1,x2); else if(di
3、sc=0) x1=p; printf(n此方程有两个相同根:nx1=x2=%lfnn,x1); else if(disc0) disc=-disc; q=(sqrt(disc)/(2.0*a); printf(n此方程有复根:nx1=%lf+%lfinn,p,q); printf(nx2=%lf-%lfinn,p,q); 4.#include#includevoid main()int h,m,s;printf(请输入一个时间: 时:分:秒n);scanf(%d:%d:%d,&h,&m,&s);if(h=0&h=0&m=0&s=60)printf(%02d:%02d:%02dn,h,m,s);
4、elseprintf(不合理的时间);5.#include#includevoid main()char a;printf(请输入一个字母:n);scanf(%c,&a);if(a=65&a=90)printf(%cn,a+32);elseprintf(%cn,a-32);6.#include#include#includevoid main()int f,a,b,c;printf(请输入一个正整数:n);scanf(%d,&f);if(f=100&f=999)c=f/100;b=f%100/10;a=f%10;printf(此正整数是三位数,且个位数为a,十位数为b,百位数为c:n);pri
5、ntf(a=%d,b=%d,c=%dn,a,b,c);elseprintf(此正整数不是三位数,它的平方为:n);printf(%dn,f*f);printf(它的平方根为:n);printf(%fn,sqrt(f);7.#include#includevoid main()int a,b;printf(请输入平面上一个点的坐标(要求该点不在原点和坐标轴上):n);scanf(%d%d,&a,&b);if(a0&b0)printf(点(%d,%d)位于第一象限n,a,b);if(a0)printf(点(%d,%d)位于第二象限n,a,b);if(a0&b0&b0)printf(点(%d,%d)
6、位于第四象限n,a,b);8.#include#includevoid main()float x,y;printf(请输入x的值:n);scanf(%f,&x);if(x0)printf(y=2x+1,y=%fn,2*x+1);else if(x=0)printf(y=0n);else if(x0)printf(y=x2,y=%fn,x*x);9.#include#includevoid main()int x,y,z,t;printf(输入任意三个数:n);scanf(%d%d%d,&x,&y,&z);if(xy)t=x;x=y;y=t;if(xz)t=z;z=x;x=t;if(yz)t=
7、y;y=z;z=t;printf(从小到大的排序为:%d %d %dn,x,y,z);10.#include#includevoid main()int a,b;printf(请输入年份和月份:n);scanf(%d%d,&a,&b);if(a%4=0)&(b=2)printf(这个月有29天n);else if(b=2)printf(这个月有28天n);if(a%4!=0)&(b=1|b=3|b=5|b=7|b=8|b=10|b=12)printf(这个月有31天n);else if(a%4!=0)&(b=4|b=6|b=9|b=11)printf(这个月有30天n);11.#include
8、#includevoid main()float a=0,b=0,c=0;char d;printf(输入两个数:n);scanf(%f%f,&a,&b);getchar();printf(选择算法:+,-,*,/n);scanf(%c,&d);switch(d)case+:c=a+b;break;case-:c=a-b;break;case*:c=a*b;break;case/:if(b0)c=a/b;break;printf(%g%c%g=%gn,a,d,b,c);12.#include#includevoid main()int i,n,c=0;scanf(%d,&n);for(i=1;
9、i=n;i+)if(i%7=0)printf(%dt,i);c+;if(c%5=0)printf(n);printf(n);13.#include#include#define PI 3.14#define N 3void main()float rN;int i=0;doF:scanf(%f,&ri);if(ri0)printf(第%d个数据无意义,请重新输入:n,i+1);goto F;i+;while(iN);for(i=0;iN;i+)printf(第%d个圆的面积为%2fn,i+1,PI*ri*ri);14.#include#includevoid main()int i,j,k,n
10、;printf(100-999之间的水仙花数有:n);for(n=100;n1000;n+)i=n/100;j=n/10%10;k=n%10;if(i*100+j*10+k=i*i*i+j*j*j+k*k*k)printf(%5dn,n);15.#include#includevoid main()int n;printf(请输入一个整数:n);scanf(%d,&n);int i,p=1;for(i=2;i*i=n;i+)if(n%i=0)if(i*i!=n)p+=(i+n/i);elsep+=i;if(p=n)printf(Yesn);elseprintf(Non);完数16.#inclu
11、de#includeint max(int p_a,int p_b)if(p_b=0)return p_a;elsereturn max(p_b,p_a%p_b);void main()int a,b;printf(请输入两个整数:n);scanf(%d %d,&a,&b);if(ba)printf(最大公约数为:%dn,max(a,b);elseprintf(最大公约数为:%dn,max(b,a);17.#include#includeint isprime(int n)int i;if(n2) return 0;for(i=2;in-1;i+)if(n%i=0) return 0;retu
12、rn 1;void main()int a;scanf(%d,&a);if(isprime(a)printf(%d是素数n,a);elseprintf(%d不是素数n,a);18.#include#includeint f(int n)int s=0,i;for(i=1;i=n;+i)s=s+i;return s;void main()int n,a;scanf(%d,&n);a=f(n);printf(和为:%dn,a);19.#include#include#includevoid equation(double a,double b,double c);void equation(dou
13、ble a,double b,double c)double p,q,x1,x2,delt;delt=b*b-4.0*a*c;p=-b/(2.0*a);if(delt0)q=(sqrt(delt)/(2.0*a);x1=p+q;x2=p-q;printf(n此方程有两个不同根:nx1=%lftx2=%lfnn,x1,x2);else if(delt=0)x1=p;printf(n此方程有两个相同根:nx1=x2=%lfnn,x1);else if(delt0)delt=-delt;q=-(sqrt(delt)/(2.0*a);printf(n此方程有复根:nx1=%lf+%lfnn,p,q);
14、printf(nx2=%lf-%lfinn,p,q);return;int main()double a,b,c;printf(输入a:);scanf(%lf,&a);printf(输入b:);scanf(%lf,&b);printf(输入c:);scanf(%lf,&c);equation(a,b,c);return;问题一:格式化输出printf1、下面程序段的输出结果是_。int c=6,d=5;printf(c=%d,d=%dn,c,d);A.c=%d,d=5B.c=6,d=5C.c=%d,d=5D.c=%d,d=6答案(程序运行结果):2、下面程序的输出结果是_。int a=12;p
15、rintf(%o,%d,%xn,a,a,a);A.14,12,xcB.c,12,14C.014,12,0xcD.14,12,c答案(程序运行结果):3、以下程序运行后的输出结果是_。int x=015;printf(%dn,-x);A.12B.11C.13D.14答案(程序运行结果):问题二:格式化输入scanf1、已有如下定义和输入语句,若要求a1、a2、b1、b2的值分别为25、40、C和D,当从第一列开始输入数据时,正确的数据输入方式是_。(答案中$代表空格)int a1,a2; char b1,b2;scanf(%d%c%d%c,&a1,&b1,&a2,&b2);A.25C$40$DB
16、.25$C$40$DC.25C40DD.25C40$D答案:C问题三:字母大小写转换程序1、设变量ch的值为小写字母n,将其转为大写字母N的表达式是_。A.ch a + AB.ch + 32C.ch a +AD.以上都不正确答案:C问题四:if语句1、对if语句中表达式的类型,下列正确的描述是_。A.必须是关系表达式B.必须是关系表达式或逻辑表达式C.必须是关系表达式或算法表达式D.可以是任意表达式答案:D2、请阅读以下程序,其运行结果是_。#include #include void main( )char c = A; if( 0= c = 10) printf(1n);else prin
17、tf(0n);A.1B.0C.10D.程序错误答案(程序运行结果):问题五:运算符与表达式1、计算以下式子的结果。(计算结果为十进制)68 & 49 = _68 | 49 = _68 49 = _ 12 =_17 5 =_2、若定义int i=3; float f=2.3f; double d=3.2; long l=10; 则表达式 10+a+i*f-d/l 的结果是:A.113B.113.580000C.113.620000D.114答案(程序运行结果):3、若有定义如下: int a=7; float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4 的值是_。A.2.500000B.2.750000C.3.500000D.0.000000答案(程序运行结果):4、逻辑运算符两侧运算对象的数据类型_。A.只能是0或1 B.只能是0或非0正数C.只能是整型或字符型数据D.可以是任何类型的数据答案:D问题六:逗号运算符假设k为整型变量,则表达式 (k=5,+k,k*5,k+5) 的值是_。答案(程序运行结果):