C语言程序设计(基础1)

来源:互联网 发布:吃鸡启动项优化 编辑:程序博客网 时间:2024/05/17 04:56
-------------------------------------------------------------------
软件=程序+文档
程序=函数1+函数2+...+函数n
函数=数据结构+算法

算法:解决问题的方法,整个步骤。

算法的5个特性:
    (1).有穷性:每条语句,必须在一定的时间内,可以执行完。
    (2).确定性:每条语句,执行后的结果唯一
    (3).输入:  需要初始信息,可以有多个输入,或没有输入。
    (4).输出:  执行的结果,是为人所需的,必须有输出
    (5).健壮性: 可行,每个步骤的结果,和预期的相同,没有逻辑错误

-------------------------------------------------------------------
Vi下的标准代码书写格式:
    1.   #include <stdio.h>
    2.
    3.
    4.   int main()
    5.   {      
    6.             int a;
    7. [tab键]printf("hello world!\n")
    8.          
    9.             scanf("%d",&a);
   10.            printf("a=%d\n");    
   11. [tab键]return 0;           
   12.   }    
--------------------------------------------------------------------
解释:    
        行注释//:  头文件内有对函数的声明、全局变量、外部变量、宏的定义。
        
          主函数: 一个程序有且仅有一个主函数,主函数是程序的入口和出口,程序从主函数开始,从上往下,一个一个语句执行,
最后一条语句后,程序结束。int main(int argc,int* argv) 是 int main()的原型
 
      printf函数:标准输出函数。输出的内容是 "内容在这里",\n是:转义字符中的一种 作用:换行
。print(打印) ,printf的作用:将“内容字符串”,存放到stdout标准输出缓冲区,(并不是把数据打印到终端显示出来,这是常搞错的问题)
而是由其他函数或机制,执行从缓冲区读取并显示在屏幕上。

       scanf函数:标准输入函数,把内容交给stdin函数
       
---------------------------------------------------------------------
C语言基础:
        运算符 :34种
        + - * / % ++ -- > < = == >= <= != ! || | & && ^ ~ << >> ()[]{} \ . , ; ? :
        " '
        关键字 : 32个
            字符:char
            整型:int
            浮点型: float doble
            空类型: void
            ....
        控制语句 :9个
        
             选择:2个  if、switch
             循环:3个  for、while、do...while
             返回:4个  return、break、continue、goto

        标识符 :函数名,变量名等。
             规则:由字母、数字、下划线组成,不能以数字开头!不能和关键字相同!不能重名!
            
        数据类型:
             基本数据:    整形、字符型、实型、 枚举类型(enum)
             构造类型:    数组([])、结构体(struct)、共用体(union)
             指针类型:    (*)
             空类型(void):      

----------------------------------------------------------------------
精度:
    %d : 将数据以整形输出。
          如果d前加数字n,输出的数字宽度<n,则前面补完空格,再输出
          如果d前加数字n,输出的数字宽度>n,则原样输出。
          
    %f : 将数据以单精度浮点型输出。
          如果f前加n.m ,要满足(n>m)的,m代表小数要保留的位数,也可以不要n,直接是.m。
          是否输出空格跟%d的规则保持一致。
          
    %lf: 将数据以双精度浮点型输出。规则与%f一致
 
    %c:  将数据以字符型输出。
    ........
----------------------------------------------------------------------    
随机数程序:
#include <stdio.h>
#include <stdlib.h>  //标准连接库
#include <time.h>    //这是在std后,出来的库文件

int main()
{
   int a,i;

   for(i=0;i<20;i++)
{
   system(“clear“)
 
   srand(time(null));  
 
   a=rand()%29+1;
 
   printf("中奖者为%d \n",a);
 
   usleep(900000);
}
   return 0;
}
----------------------------------------------------------------------
sizeof运算符:
            int a;
            sizeof(变量名);
            求出的是字节数
----------------------------------------------------------------------
再谈linux命令:
    如果文件编写出现问题,或者两个环境,同时访问一个文件,异常中断该文件过程,
    则系统生成.swp文件保存修改之前的内容。
    删除swp文件: rm .*.swp        

----------------------------------------------------------------------

问题:1.为什1么在vi中编辑C语言使用printf函数,不加头文件也可以执行代码。printf的f是什么意思?


            2.标准库的" "和< >的区别,include是怎么工作的,包含的路径是怎样的?

            (答案见下期)

(以上内容仅供参考,更多未写到的查阅谭浩强的《C语言程序设计》这本书)

----------------------------------------------------------------------

心得体会: 

                  在学校学习的时候,对程序语言的语法,常识等 都是简单的看看 就开始用了,所以经常导致概念模棱两可,容易出错。学功夫就得需要扎马步,是修炼基本功,也是在修炼内功。区别一般程序员和厉害的程序员就是在内功的深厚。今后在空闲时间,学习一下汇编语言,可以在vc切换到反汇编窗口,查看源文件的汇编代码,这样就可以弄懂C语言的更多语法规则,从堆栈来了解指针、数组等概念。

原创粉丝点击