dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | flex | CRM | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>C/C++>C语言教程>文章内容
C 程序开发经典实例之6
来源: 作者:

【程序51】

    题目:学习使用按位与 & 。   

    1.程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1

    2.程序源代码:


            #include "stdio.h"
            main()
            {
             int a,b;
             a=077;
             b=a&3;
             printf("\40: The a & b(decimal) is %d \n",b);
             b&=7;
             printf("\40: The a & b(decimal) is %d \n",b);
            }

    【程序52】

    题目:学习使用按位或 | 。

    1.程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1            

    2.程序源代码:

            #include "stdio.h"
            main()
            {
             int a,b;
             a=077;
             b=a|3;
             printf("\40: The a & b(decimal) is %d \n",b);
             b|=7;
             printf("\40: The a & b(decimal) is %d \n",b);
            }

    【程序53】

    题目:学习使用按位异或 ^ 。   

    1.程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0

    2.程序源代码:

            #include "stdio.h"
            main()
            {
             int a,b;
             a=077;
             b=a^3;
             printf("\40: The a & b(decimal) is %d \n",b);
             b^=7;
             printf("\40: The a & b(decimal) is %d \n",b);
            }

 

    【程序54】

    题目:取一个整数a从右端开始的4~7位。

    程序分析:可以这样考虑:

    (1)先使a右移4位。

    (2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4)

    (3)将上面二者进行&运算。

    2.程序源代码:

            main()
            {
             unsigned a,b,c,d;
             scanf("%o",&a);
             b=a>>4;
             c=~(~0<<4);
             d=b&c;
             printf("%o\n%o\n",a,d);
            }

    【程序55】

    题目:学习使用按位取反~。   

    1.程序分析:~0=1; ~1=0;

    2.程序源代码:

            #include "stdio.h"
            main()
            {
             int a,b;
             a=234;
             b=~a;
             printf("\40: The a's 1 complement(decimal) is %d \n",b);
             a=~a;
             printf("\40: The a's 1 complement(hexidecimal) is %x \n",a);
            }

    【程序56】

    题目:画图,学用circle画圆形。   

    1.程序分析:

    2.程序源代码:

            /*circle*/
            #include "graphics.h"
            main()
            {
             int driver,mode,i;
             float j=1,k=1;
             driver=VGA;mode=VGAHI;
             initgraph(&driver,&mode,"");
             setbkcolor(YELLOW);
             for(i=0;i<=25;i++)
             {
          setcolor(8);
          circle(310,250,k);
          k=k+j;
          j=j+0.3;
             }
            }

    【程序57】

    题目:画图,学用line画直线。

    1.程序分析:           

    2.程序源代码:

            #include "graphics.h"
            main()
            {
             int driver,mode,i;
             float x0,y0,y1,x1;
             float j=12,k;
             driver=VGA;mode=VGAHI;
             initgraph(&driver,&mode,"");
             setbkcolor(GREEN);
             x0=263;y0=263;y1=275;x1=275;
             for(i=0;i<=18;i++)
             {
          setcolor(5);
          line(x0,y0,x0,y1);
          x0=x0-5;
          y0=y0-5;
          x1=x1+5;
          y1=y1+5;
          j=j+10;
             }
             x0=263;y1=275;y0=263;
             for(i=0;i<=20;i++)
             {
          setcolor(5);
          line(x0,y0,x0,y1);
          x0=x0+5;
          y0=y0+5;
          y1=y1-5;
             }
            }


    【程序58】

    题目:画图,学用rectangle画方形。   

    1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

    2.程序源代码:

            #include "graphics.h"
            main()
            {
             int x0,y0,y1,x1,driver,mode,i;
             driver=VGA;mode=VGAHI;
             initgraph(&driver,&mode,"");
             setbkcolor(YELLOW);
             x0=263;y0=263;y1=275;x1=275;
             for(i=0;i<=18;i++)
             {
          setcolor(1);
          rectangle(x0,y0,x1,y1);
          x0=x0-5;
          y0=y0-5;
          x1=x1+5;
          y1=y1+5;
             }
             settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
             outtextxy(150,40,"How beautiful it is!");
             line(130,60,480,60);
             setcolor(2);
             circle(269,269,137);
            }

    【程序59】

    题目:画图,综合例子。

    1.程序分析:

    2.程序源代码:

            # define PAI 3.1415926
            # define B 0.809
            # include "graphics.h"
            #include "math.h"
            main()
            {
            int i,j,k,x0,y0,x,y,driver,mode;
            float a;
            driver=CGA;mode=CGAC0;
            initgraph(&driver,&mode,"");
            setcolor(3);
            setbkcolor(GREEN);
            x0=150;y0=100;
            circle(x0,y0,10);
            circle(x0,y0,20);
            circle(x0,y0,50);
            for(i=0;i<16;i++)
            {
             a=(2*PAI/16)*i;
             x=ceil(x0+48*cos(a));
             y=ceil(y0+48*sin(a)*B);
             setcolor(2); line(x0,y0,x,y);}
            setcolor(3);circle(x0,y0,60);
            /* Make 0 time normal size letters */
            settextstyle(DEFAULT_FONT,HORIZ_DIR,0);
            outtextxy(10,170,"press a key");
            getch();
            setfillstyle(HATCH_FILL,YELLOW);
            floodfill(202,100,WHITE);
            getch();
            for(k=0;k<=500;k++)
            {
             setcolor(3);
             for(i=0;i<=16;i++)
             {
          a=(2*PAI/16)*i+(2*PAI/180)*k;
          x=ceil(x0+48*cos(a));
          y=ceil(y0+48+sin(a)*B);
          setcolor(2); line(x0,y0,x,y);
             }
             for(j=1;j<=50;j++)
             {
          a=(2*PAI/16)*i+(2*PAI/180)*k-1;
          x=ceil(x0+48*cos(a));
          y=ceil(y0+48*sin(a)*B);
          line(x0,y0,x,y);
             }
            }
            restorecrtmode();
            }

    【程序60】

    题目:画图,综合例子。   

    1.程序分析:

    2.程序源代码:

            #include "graphics.h"
            #define LEFT 0
            #define TOP 0
            #define RIGHT 639
            #define BOTTOM 479
            #define LINES 400
            #define MAXCOLOR 15
            main()
            {
            int driver,mode,error;
            int x1,y1;
            int x2,y2;
            int dx1,dy1,dx2,dy2,i=1;
            int count=0;
            int color=0;
            driver=VGA;
            mode=VGAHI;
            initgraph(&driver,&mode,"");
            x1=x2=y1=y2=10;
            dx1=dy1=2;
            dx2=dy2=3;
            while(!kbhit())
            {
             line(x1,y1,x2,y2);
             x1+=dx1;y1+=dy1;
             x2+=dx2;y2+dy2;
             if(x1<=LEFT||x1>=RIGHT)
             dx1=-dx1;
             if(y1<=TOP||y1>=BOTTOM)
          dy1=-dy1;
             if(x2<=LEFT||x2>=RIGHT)
          dx2=-dx2;
             if(y2<=TOP||y2>=BOTTOM)
          dy2=-dy2;
             if(++count>LINES)
             {
          setcolor(color);
          color=(color>=MAXCOLOR)?0:++color;
             }
            }
            closegraph();
            }


上一篇:C 程序开发经典实例之7   下一篇:C 程序开发经典实例之5
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·c语言 最简单的推箱子游戏
·c语言 全国计算机编程大赛复赛试
·c语言 全国计算机编程大赛复赛试
·编译指示指令
·C语言基础07-C语言中的关键字
·C语言基础06-逻辑运算符和逻辑表
·C语言基础05-运算符和表达式
·C语言入门之分支结构04-2
·C语言入门之分支结构04-1
·C语言基础03-先学2个库函数
·C语言基础02-数据类型、运算符与
·C语言基础01-引言及预备知识
  相关文章
·C 程序开发经典实例之7
·C 程序开发经典实例之5
·C 程序开发经典实例8
·C 程序开发经典实例之4
·C语言入门之数组(2)
·C 程序开发经典实例之3
·C语言入门之数组(1)
·C 程序开发经典实例之2
·C语言基础01-引言及预备知识
·C 程序开发经典实例之1
·C语言基础02-数据类型、运算符与
·C语言入门之函数1
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763