經(jīng)典c程序100例==41--50【程序41】題目:學(xué)習static定義靜態(tài)變量的用法 1.程序分析:2.程序源代碼:#include "stdio.h"varfunc(){int var=0;static int static_var=0;printf("\40:var equal %d \n",var);printf("\40:static var equal %d \n",static_var);printf("\n");var++;static_var++;}void main(){int i; for(i=0;i<3;i++) varfunc();}==============================================================【程序42】題目:學(xué)習使用auto定義變量的用法1.程序分析: 2.程序源代碼:#include "stdio.h"main(){int i,num;num=2; for (i=0;i<3;i++) { printf("\40: The num equal %d \n",num); num++; { auto int num=1; printf("\40: The internal block num equal %d \n",num); num++; } }}==============================================================【程序43】題目:學(xué)習使用static的另一用法?! ?.程序分析:2.程序源代碼:#include "stdio.h"main(){int i,num;num=2;for(i=0;i<3;i++){printf("\40: The num equal %d \n",num);num++;{static int num=1;printf("\40:The internal block num equal %d\n",num);num++;}}}==============================================================【程序44】題目:學(xué)習使用external的用法。1.程序分析:2.程序源代碼:#include "stdio.h"int a,b,c;void add(){ int a;a=3;c=a+b;}void main(){ a=b=4;add();printf("The value of c is equal to %d\n",c);}==============================================================【程序45】題目:學(xué)習使用register定義變量的方法。1.程序分析:2.程序源代碼:void main(){register int i;int tmp=0;for(i=1;i<=100;i++)tmp+=i;printf("The sum is %d\n",tmp);}==============================================================【程序46】題目:宏#define命令練習(1) 1.程序分析:2.程序源代碼:#include "stdio.h"#define TRUE 1#define FALSE 0#define SQ(x) (x)*(x)void main(){int num;int again=1;printf("\40: Program will stop if input value less than 50.\n");while(again){printf("\40:Please input number==>");scanf("%d",&num);printf("\40:The square for this number is %d \n",SQ(num));if(num>=50) again=TRUE;else again=FALSE;}}==============================================================【程序47】題目:宏#define命令練習(2)1.程序分析: 2.程序源代碼:#include "stdio.h"#define exchange(a,b) { \ /*宏定義中允許包含兩道衣裳命令的情形,此時(shí)必須在最右邊加上"\"*/ int t; t=a; a=b; b=t; }void main(void){int x=10;int y=20;printf("x=%d; y=%d\n",x,y);exchange(x,y);printf("x=%d; y=%d\n",x,y);}==============================================================【程序48】題目:宏#define命令練習(3) 1.程序分析:2.程序源代碼:#define LAG >#define SMA <#define EQ ==#include "stdio.h"void main(){ int i=10;int j=20;if(i LAG j)printf("\40: %d larger than %d \n",i,j);else if(i EQ j)printf("\40: %d equal to %d \n",i,j);else if(i SMA j)printf("\40:%d smaller than %d \n",i,j);elseprintf("\40: No such value.\n");}==============================================================【程序49】題目:#if #ifdef和#ifndef的綜合應用。1. 程序分析:2.程序源代碼:#include "stdio.h"#define MAX#define MAXIMUM(x,y) (x>y)?x:y#define MINIMUM(x,y) (x>y)?y:xvoid main(){ int a=10,b=20;#ifdef MAXprintf("\40: The larger one is %d\n",MAXIMUM(a,b));#elseprintf("\40: The lower one is %d\n",MINIMUM(a,b));#endif#ifndef MINprintf("\40: The lower one is %d\n",MINIMUM(a,b));#elseprintf("\40: The larger one is %d\n",MAXIMUM(a,b));#endif#undef MAX#ifdef MAXprintf("\40: The larger one is %d\n",MAXIMUM(a,b));#elseprintf("\40: The lower one is %d\n",MINIMUM(a,b));#endif#define MIN#ifndef MINprintf("\40: The lower one is %d\n",MINIMUM(a,b));#elseprintf("\40: The larger one is %d\n",MAXIMUM(a,b));#endif}==============================================================【程序50】題目:#include 的應用練習 1.程序分析:2.程序源代碼:test.h 文件如下:#define LAG >#define SMA <#define EQ ==#include "test.h" /*一個(gè)新文件50.c,包含test.h*/#include "stdio.h"void main(){ int i=10;int j=20;if(i LAG j)printf("\40: %d larger than %d \n",i,j);else if(i EQ j)printf("\40: %d equal to %d \n",i,j);else if(i SMA j)printf("\40:%d smaller than %d \n",i,j);elseprintf("\40: No such value.\n");}
聯(lián)系客服