C_Prime_Plus笔记_01_概览

C是一种强大、简洁的编程语言,之所以流行是因为它提供了有用的编程工具和对硬件良好的控制,还因为C程序在从一个系统向另一个系统移植方面比大多数程序方便。

C是一种需要编译的语言。C编译器和链接器市将C语言源代码转换为可执行代码的程序。

学习内容

  • C的历史和特性;
  • 编写程序所需要的步骤;
  • 关于编译器和链接器的知识;
  • C的标准

就编程而言,可移植性代表什么?

在一个系统上编写的C程序经过很少改动或者不经修改就可以在其他系统上运行。如果修改是必要的,则通常只须改变伴随主程序的一个头文件中的几项内容即可。


解释源代码文件、目标代码文件和可执行代码文件之间的区别。
  • 源代码文件中包含着程序员使用任何语言编写的代码。
  • 目标代码包含着机器语言代码,它并不需要市完整的程序代码。
  • 可执行文件包含着组成可执行程序的全部机器语言代码。

编程的7个主要步骤是什么?
  1. 定义程序目标;
  2. 设计程序;
  3. 编写代码;
  4. 编译;
  5. 运行程序;
  6. 测试和调试程序;
  7. 维护和修改程序;

编译器的任务是什么?

编译器是一种程序,其工作是将源代码转换为可执行代码。可执行代码市用计算机的本机语言或机器语言表示的代码。不同的计算机具有不同的机器语言,C编译器用来将C语言转换为特定的机器语言。最后的结果是,形成一个包含计算机可以理解的代码并且能够运行的可执行文件。


链接器的任务是什么?

编译器将源代码转换为中间代码,链接器将此中间代码于其他代码相结合来生成可执行文件。链接器的作用市将目标代码、系统的标准启动代码和库代码结合在一起,并将它们存放在单个文件中。


练习

英制公制转换器

停车攻略

1、天安门
提起天安门的停车,大家恐怕都挠头吧。其实有两个地方,停车位还是比较充足,而且位置方便。一个是国家大剧院的地下停车场,基本上没有客满的时候;一个是鲜鱼口街的路边停车。
画圈处为入口,位置相对隐蔽,很容易一不小心就溜过去了。国家大剧院的地面停车场都是内部停车场不对外开放,而且周边的地面停车场都是人民大会堂管理处的车场,也不对外开放。该停车场的价格是每15分钟1.5元,也就是一小时六元,比我司的楼下的收费停车场都便宜。这个停车场最妙的地方在于,出口就是卫生间,并直接与天安门西地铁站相连,上到地面过马路就是人民大会堂和天安门。
鲜鱼口那边是路边停车场,可以从崇文门的兴隆街开过去,要比前门大街好走一点。去前门大栅栏、北京规划馆、铁路博物馆很近。此地距离路口半站地的时候就找车位停吧,近了就没车位了。价格是第一个小时内每15分钟1.5元,第二个小时起每15分钟2.5。
2、北京西站
接客组的同志注意、送客组的同志注意,我个人认为对于北京西站最优日间停车场就是P3停车场了。这个停车场其实就是出租车在北一出口、北二出口的上车站。从停车场东边的小门(此处有厕所)出去就是北一出口。到北一出口从售票厅旁边的网吧小楼梯上去就是二楼的进站口,比一楼人少、进的快,而且二楼出口处就有网络售票取票机。当然,你要是后半夜过去的话,还是北广场西边地面停车场最好。
红标处为入口。注意,该停车场入口比较隐蔽,很容易就错过去了。

3、长城
其实,长城没啥选择就是滚天沟。但是,滚天沟这个面条停车场实在太长了,只要是不打算花八十块坐缆车上长城的同志,还是停这里吧。停里面的话,过了上午九点里面都是旅游大巴、中巴以及外地车辆,很不容易开出来。从长城博物馆的入口上去,走右手的小道就可以到长城脚下。此入口有厕所。

《为你而歌》观后感

近期受党支部的学习活动的安排,我观看了北京卫视拍摄的《为你而歌》系列党建宣传视频。BTV搞的这个党建短视频还是挺有意思的,特别是看到好几个以前待过的地方,还是有感觉的。
点击打开为你而歌
其中20170702期朝阳区孙河镇沙子营村的党支部书记尹德胜和20170627大兴区礼贤镇大马坊村党支部书记张月学的这两期节目很有意思。这两期的相同点很多,首先,都是农村拆迁话题;其次,都是从村里面走出去的“能人”返村带领村里人走向新生活;其三,农业土地和村民宅基地都变成了楼房;最后,村里面没年轻人了。
我们先来看看这两个村庄在哪里:

第一个是尹书记的沙子营村,处于朝阳区北部,京承高速旁。该村开发较早,八十年代初就已经是比较富裕了。尹书记自承当年一年工资就四千块了。第二个是张月学的大马坊村,只是边远郊区的一个纯农业村。经济状况迥异的两个村庄,却在相同的建设征地拆迁中走向了相同的上楼进城的城市化结局。

“拆迁“,毫不夸张的说是近十余年来城乡普通居民最揪心的一个词。作为毛主席当年就批评雀窝被捅还要叫两声的社会热点问题,一面是家破人亡、一面是一辈子乃至十辈子的钱都能从拆迁里面挣出来。那么对于这个冲突热点,两村的村民是什么态度呢?

沙子营村民言语中表现出完全信赖从乡人大副主任位子上退休回到村里面当书记的尹书记,顺利把小石料厂和出租房”关停并转“,然后继续为了公园建设,顺利的扒掉自家的房子拆迁上楼。甚至有干部表示尹书记回村之前村里面组织涣散无力、村容村貌及其不堪直到尹书记再次掌印。只是,尹书记在退休之前,他在沙子营当了二十年书记、住了一辈子啊!

而对于大马坊村则要“正常“许多,我们能够看到日常生活中经济冲突和钉子户了。但村民翘首以盼的”能人“却是一个模范出租车司机,在得知他有一个当该村党支部书记的爹之前,完全看不出来这位老司机有什么组织能力、管理能力过人之处。然后,他在村里面第一个扒自家房子、迁自家坟,于是村民就被感动的纷纷忘掉拆迁致富的发财梦去投亲靠友找房子住了……

还有一个引起我注意的是,在两个村这么多的重大的经济活动中,都看不到年轻人。无论是村干部,还是村民都是中老年人来表达和执行。而在影片的最后,在无人机拍摄大广角镜头中,年轻的张书记带领一群颤颤巍巍的老太老头孤独在工地前的水泥马路上,指着拔地而起的新楼盘说,那就是明天的家。

短短视频,肯定放不下太多的内容。但对于利益的冲突,我从这两个短片里面看不到正面的交锋,背后的故事一定比我们想象的更加精彩。如果把现在这样的稿件放到我司的深度报道组面前,怕是不合格的吧?

奔跑的小人

啊哈C语言!逻辑的挑战

使用函数和switch()来改进《啊哈C·逻辑的挑战》中“奔跑的小人”一题的解法。

#include<stdlib.h>
#include<stdio.h>
#include<windows.h>
//在‘小人’前打印空格
void jump(int begin, int step){
        step = 1;
        while (step <= begin){
            printf(" ");
            step++;         
        }
    }   
int main(){ 
    int a = 0;
    int b,i;    
    do{
        system("cls");
        for(i = 1;i<4;i++){
            jump(a,b);
            switch(i){
                case 1:printf(" O\n");
                break;
                case 2:printf("<H>\n");
                break;
                case 3:printf("I I\n");
                break;
            }
        }
    sleep(1);
    a++;
    }while(a);
    return 0;
}

同时,如果要实现相反的小人运动方向,只需稍加修改。

#include<stdlib.h>
#include<stdio.h>
#include<windows.h>
void jump(int begin, int step){
        step = 10;
        while (step > begin){
            printf(" ");
            step--;         
        }
    }   
int main(){ 
    int a = 1;
    int b,i;    
    do{
        system("cls");
        for(i = 1;i<4;i++){
            jump(a,b);
            switch(i){
                case 1:printf(" O\n");
                break;
                case 2:printf("<H>\n");
                break;
                case 3:printf("I I\n");
                break;
            }
        }
        sleep(1);
        a++;
    }while(a<11);
    return 0;
}

九九乘法表

啊哈C语言!逻辑的挑战

使用for循环打印九九乘法表

#include<stdlib.h>
int main(){ 
    int i,j;
    for(i=1;i<10;i++){
        for(j=1;j<=i;j++){
        printf("%dx%d=%-4d",i,j,i*j);
        }
        printf("\n");
    }
    return 0;
}

备注一个do_while循环的九九乘法表

#include<stdlib.h>
int main(){ 
    int a,b;
    a = 1;
    do{
        b = 1;
        while(b<10){
            printf("%dx%d=%-3d ",a,b,a*b);
            b++ ;
        }
        printf("\n");
        a++;
    }while(a<10);
    return 0;
}