C语言学习大纲__斌(讲解).doc
C语言概述:
为什么学习C语言
. C的起源和发展
.C的特点
优点
代码量小 速度快 功能强大
缺点
危险性高
开发周期长
可移植性不强
.c的应用领域
主要是系统领域
.c的重要性
怎样学习C语言
学习的目标
了解程序语言及发展历史
熟练掌握c语言的语法规则
掌握简单的算法
理解面向过程的思想,这非常有助于将来对面向对象思想的学习
能看懂程序
会调试程序
掌握将大问题转化为一系列小问题来求解的思想
为学习c++、数据结构、c#、java打下良好的基础
常见的学习问题
学习java为什么建议先学习C语言
没学过计算机专业的课程能够学懂C语言
英语和数学不好能学好C吗
32个关键词:(有系统定义,不能重做其他定义)
auto break case char const
continue default do double else
enum extern float for goto
if int long register return
short signed sizeof static struct
switch typedef unsigned unsigned
union void volatile while
课程规划
c语言简介
第一讲、基本编程知识
第二讲、数据类型
第三讲、运算符和表达式
第四讲、流程控制(所有语言都一样的)
第五讲、函数(体现出面向过程和面向对象的区别)
第六讲、数组
第七讲、指针(c语言的灵魂)
第八讲、变量的作用域和存储方式
第九讲、扩展数据类型
第十讲、专题:
字符串的处理
进制转换
补码
动态内存分配(java、数据结构必学)
综合应用:链表的使用
举例子:一元二次方程
# include
# include
int main (void)
{
//把三个系数保存到计算机中
int a=1; //=不表示相等,表示赋值
int b=2;
int c=3;
double delta; //delta存放的是b*b-4*a*c
double x1; //存放一元二次方程的其中一个解
double x2; //存放一元二次方程的其中一个解
delta= b*b - 4*a*c;
if(delta>0)
{
x1 = (-b + sqrt(delta)) / (2*a)
x2 = (-b - sqrt(delta)) / (2*a)
printf("该一元二次方程有两个解,x1=%f,x2=%f\n",x1,x2);
}
else if (delta==0)
{
x1 =(-b)/(2*a);
x1=x2; //右边赋给左边
printf("该一元二次方程有一个唯一解,x1 = x2=%f\n",x1);
}
else
{
printf("无解\n");
}
}
Helloword程序举例
# include
int main(void)
{
printf("欢迎大家学习C语言!");
return 0;
}
C语言编写的病毒举例:
龌龊的程序:
/*
龌龊的程序!
/*
# include
# include
# include
int main (void)
{
int c;
int i;
int j;
Nihao:
printf("1:死机\n");
printf("2:机房爆炸\n");
printf("请选择:");
scanf("%d,&c");
If (c ==1)
{
System("shutdown -s -t 60")
}
else if (2 == c)
{
printf("你太坏了 我要惩罚你!\n");
for (j=0;j<10;++j)
System("start");
}
else
{
printf("你敲错了,请重新输入!\n")
goto nihao;
}
return 0;
}
内存泄露(占满内存)程序导致死机实例
# include
# include
int main(void)
{
while (1)
{
int *p = (int*)malloc(1000);
}
return 0;
}
C语言编程预备知识
cpu 内存条 硬盘 显卡 主板 显示器 之间的关系
Helloworld程序如何运行起来的
什么是数据类型
基本类型