logo资料库

安徽大学C语言例题.doc

第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
第6页 / 共40页
第7页 / 共40页
第8页 / 共40页
资料共40页,剩余部分请下载后查看
[例 1.1]打印一个语句. main() { printf("Hello!\n"); } [例 1.2]求两数中的最大值. main() {int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("max=%d\n",c); } int max(int x,int y) {int z; if(x>y)z=x; else z=y; return(z); } [例 1.8]求 10! 的值. main() {int i;long t; t=1; i=2; while(i<=10) { t=t*i; i=i+1; } printf("%1d",t); } 1.7.2 例题分析 1.有下面程序,程序运行结果. # include main() { printf("%d\n",NULL); } 2.下面程序中错误的语句有________. main(); { INT a,b,c,sum; 第 1页
a:=1:b:=2:c:=3; SUM=A+B+C; printf("SUM=%d\n",SUM); } 完! 孙骞——2006 年 3 月 9 日。 #define PI 3.14159 void main() {float s,r; r=5.0; s=PI*r*r; printf("s=%f\n",s); } [例 2.3.4]. void main() { float PI=3.14159; int s,r=5; s=r*r*PI; printf("s=%d\n",s); } [例如]. main() { float f=5.75; printf("(int)f=%d,f=%f\n",(int)f,f); } [例 2.1]有如下程序: void main() { int i=5; printf("%d\n",++i); printf("%d\n",--i); printf("%d\n",i--); printf("%d\n",-i++); printf("%d\n",-i--); } [例如 2.2]有如下程序: void main() { int i=5,j=5,p,q; p=(i++)+(i++)+(i++); q=(++j)+(++j)+(++j); 第 2页
printf("%d,%d,%d,%d",p,q,i,j); } 例如:有如下程序: void main() { int a=1,b=2,c=3,x,y; y=((x=a+b),(b+c)); printf("y=%d,x=%d",y,x); } [例 2.4]分析下面程序的运行结果. main() { int m,n,k; m=5;n=10; k=(--m)+(--n); printf("m=%d,n=%d,k=%d\n",m,n,k); m=5;n=10; k=(m--)+(n--); printf("m=%d,n=%d,k=%d\n",m,n,k); } [例 2.5]分析下面程序的运行结果. main() {int c=5; printf("%d,%d,%d\n",c+=c++,c+8,++c); c=5; printf("%d\n",c+=c++,c+8,++c); } [例 2.6]分析关系表达式. main() {int a=5,b=3; float x=3.14,y=6.53; printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1)); } [例 2.7]分析逻辑表达式. main () {char c; int i,j,k,m,n; c='3'; i=5;j=7;k=0; m=4;n=6; 第 3页
printf("%d,%d,%d\n",i&&K,i||j,i||k); printf("%d,%d\n",c>='0'&&c<='9',i<=j-1||c!='3'); printf("%d\n",(m=i>j)&&(n=j>=k)); } [例 2.8]分析下面的程序,程序运行的结果. main() { char a,b,c,d; a=15; b=a;c=-a;d=!a; printf("a=%d\tb=%d\t",a,b); printf("c=%d\td=%d\t",c,d); } [例 2.9]分析双目逻辑运算. main() { unsigned char a,b; a=53;b=11; printf("%d&%d=%d\n",a,b,a&b); printf("%d|%d=%d\n",a,b,a|b); printf("%d^%d=%d\n",a,b,a^b); } [2]下面程序,程序运行结果. #include main() {int a,b=68; a=-3; printf("\t a=%d\n\t b=%c\n",a,b); } [3]下面程序,程序运行结果. #include main() {int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf("%d,%d\n",a,b); } [13]下列程序的输出结果为_________. #include 第 4页
main() {int m=oio,n=10; printf("%d,%d\n",++m,n--); } 完~! 孙骞--06 年 3 月 10 号 [例 3.1]有如下程序: void main() { int a=5,b=2; float c=2.5; print("OK,%ld/%ld is %3.1f!",,a,b,c); } 例 3.2]有如下程序 void main() { int a=12; float b=123.12345678; double c=12345678.1234567; char d='p'; printf("a=%d,%5d,%o,%x\n",a,a,a,a); printf("b=%f,%lf,%5.4lf,%e\n",c,c,c); printf("d=%c,%8c\n",d,d); [例 3.3]有如下程序 void main() { int a=65; char b='a'; printf("%d %d\n",a,b); printf("%c,%c\n",a,b); printf("%d,%c\n",a,b); printf("%c,%d\n",a,b); } [例 3.4]有如下程序 void main() { int i=5; printf("%d,%d,%d,%d,%d\n",++i,--i,i--,i++,-i--); } [例 3.5]有如下程序 void main() { int a,b,c; printf("input a,b,c:"); scanf("%d%d%d",&a,&b,&c); printf("\na=%d,b=%d,c=%d",a,b,c); } [例 3.6]有如下程序 第 5页
void main() { int a; scanf("%d",&a); printf("%ld",a); } [例 3.7]字符数据的输出。 #include main() { char a,b; a='Y';b='e'; putchar(a); putchar(b); putchar('s'); putchar('\n'); putchar('\141'); } [例 3.8]字符数据的输入 #include main() { char c; c=getchar(); putchar(C); /*输入任意可打印字符给字符变量 a*/ } [例 3.9]将输入的小写字母转换成大写字 #include main() { int c; c=getchar(); return(c>='a'&&c<='z'? putchar(c+'A'-'a'):putchar(c)); /*从键盘输入 a~z 间的任意字符*/ } [例 3.10] #include main() { int x,y,t; printf("ENTER x & y:\n"); scanf("%d %d",&x,&y); printf("x=%d y=%d\n",x,y); t=x;x=y;y=t; printf("x=%d y=%d\n",x,y); } [例 3.11]输入一个 double 类型的数,使该数保留小数后两位,对第三位小数进行四舍五入处 理,以便验证处理是否正确。 main() { double x; printf("ENTER x:"); scanf("%lf",&x); 第 6页
printf("(l)x=%f\n",x); x=x*100; x=x+0.5; x=(int)x; x=/100; printf("(2)x=%f\n",x); } [例 3.12]编程显示由键盘输入的一个英文字母,并显示其对应的大写字母。 方法 1:main() { } char ch; printf("Enter a letter:"); scanf("%C",&ch); printf("%c\t%c\n",ch,ch+'A'-'a'); 方法 2:include main() { char ch; printf("Enter a letter:"); ch=getchar(); putchar(ch); putchar('\t'); putchar(ch-32); } [例 3.13]为使例一个的程序更具通用性,在每次程序运行中,可由用户从键盘输入半径 r 的 值,计算并打印该半径所对应的圆的周长 C、面积 A、球的表面积 S 和球的体积 V,这样, 输入不同的半径值,就会得到不同的运行结果。 程序:#include main() {float r,c,a,s,v; printf("input value of r:"); scanf("%f",&r:"); c=2*3.141593*r; a=*3.141593*r*r; s=4*a; v=s*r/3; printf("r=%f\t",r); printf("c=%f\n",c); printf("a=%f\t",a); printf("s=%f\t",s); printf("v=%f\n",v); } [例 3.14]从键盘输入一个小写字母,打印该字母及其对应的十进制 ASC||代码值。 main() 第 7页
{char ch1,ch2; scanf("%c",&ch1); printf("%c,%d\n",ch1,ch1); ch2=ch1-32; printf("%c,%d\n",ch2,ch2); } [例 3.15]用 putchar 函数输出一个字符。 #include main() {int c; char d; c=65;d='A'; putchar(c); putchar(d); putchar('A'); putchar(65); } [例 3.16]用 getchar()输入一个字符。 #include main() {char c; c=getchar(); printf("%c\n",c);/*printf()函数按字符格式显示 c 的值*/ printf("%D\n",c);/*printf()函数按整数格式显示 c 的值*/ } 完! 徐桂林-2006-3-12 [例 4.1]输入两个整数,输出其中的大数。 void {int a,b,nmax; scanf("%d%d",&a,&b); nmax=a; if(nmaxb) printf("max=%d\n",a); else printf("max=%d\n",b); 第 8页
分享到:
收藏