-------------------------------------------------------------------
软件=程序+文档
程序=函数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+函数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语言的更多语法规则,从堆栈来了解指针、数组等概念。