1 //C语言学习笔记 2 第一讲 C语言概述 3 第二讲 基本编程知识 4 第三讲 运算符和表达式 5 第四讲 流程控制 6 第五讲 函数 7 第六讲 数组 8 第七讲 指针 9 第八讲 变量的做用域和存储方式 10 第九讲 拓展类型 11 第十讲 专题: 12 字符串的处理 13 进制转换 14 补码 15 动态内存分配 16 综合应用:链表的使用 17 18 19 1、C语言概述 20 1.为何要学习C语言 21 1). C的起源和发展 22 机器语言->汇编语言->高级语言 23 机器语言:0000 0001 1101 10000 执行速度最快 24 汇编语言:ADD AX,BX 25 高级语言:a+b 速度最慢 26 高级语言->结构化思想 {C、Basic、Fortan、Pascal} 27 ->面向对象思想 {JAVA、C++、C#、Algo} 28 发展: C->C++->JAVA、C# 29 三大操做系统 Windows 内核C、C++ 30 unix系统 内核C 稳定 31 linux系统 内核C 稳定 32 硬件由操做系统控制 33 34 2). C的特色 35 优势: 代码量小、速度快、功能强大(可访问硬件) 36 缺点: 危险性高、开发周期长、可移植性低 37 行业需求: 38 C/C++、JAVA、C# 39 40 3). C的应用领域 41 系统软件开发: 42 操做系统:Windows、Linux、Unix 43 驱动程序:主板驱动、显卡驱动、摄像头驱动 44 数据库:DB二、Oracle、Sql Server 45 应用软件开发: 46 办公软件:WPS、OFFICE 47 图形图像多媒体:ACDsee、PhotoShop、MediaPlayer 48 嵌入式软件开发:智能手机、掌上电脑 49 游戏开发:2D、3D游戏开发 50 51 4). C的重要性 52 最重要的系统都是由C编写的 53 一个合格黑客必须掌握的语言 —>访问内存感染 54 全部大学工科和理科学生必修课程 55 任何一个想要终身从事程序设计和开发人员必须熟练掌握的语言 56 大企业、外企招聘程序员必考语言 57 为学习数据结果、C++、java、C#奠基基础 58 59 /*入门最基本的方法就是从C语言入手 60 当你成为C语言高手,那么你就很容易进入到操做系统的平台里去; 61 当你进入到操做系统的平台里去实际作程序时,就会懂得调试; 62 当你懂得调试的时候,你就会发现能垂手可得地了解到整个平台的架构。 63 这时候,计算机基本上一切都在你的掌握之中了,没有什么东西能逃出 64 你的手掌心。 65 ————《编程箴言》梁肇新*/ 66 67 68 2.怎样去学习C语言 69 途径:多思考原理和思路,多上机练习 70 目标:看懂程序,调试程序,自学能力 71 练习:大量试错,总结积累 72 参考资料 73 谭浩强《C语言程序设计》 74 《C primer Plus》邮电 系统学习语法 75 《C和指针》《C专家编程》《C陷阱与缺陷》 76 汇编语言 王爽 77 78 3.学习的目标 79 了解程序语言及发展历史 80 熟练掌握C语言的语法规则 81 掌握简单的算法 82 理解面向过程的思想,有助于对面向对象思想的学习 83 能看懂程序,会调试程序,会分解问题 84 为学习C++、数据结构、C#、java打下基础 85 86 4.常见问题答疑 87 1.学习JAVA为何建议先学C语言 88 学C就是学JAVA,由于C缘由至少80%的语法知识都被继承过来。 89 C是面向过程语言的表明,学好C有助学习JAVA中面向对象思想。 90 学好C中的指针是理解JAVA中引用的基础。 91 92 2.英语和数学很差能学好C嘛 93 英语 不懂英语对学习编程毫无影响,但懂会学得更快。 94 数学 只有研究高深算法及专业课题才须要专业的数学知识。 95 96 5.课程计划 十讲23课时 97 6.例子 一元二次方程*/ 98 99 /* VC操做流程 100 File->new->C++Source File->name */ 101 102 //Hello World 103 #include<stdio.h> 104 int main() 105 { 106 print("Hello World") ; 107 return 0 ; 108 } 109 110 //32个关键字 111 auto break case char const 112 continue default do double else 113 enum extern float for goto 114 if int long register return 115 short signed sizeof static struct 116 switch typedef unsigned union void 117 volatile while 118 119 //一元二次方程详解 120 //ax^2+bx+c=0 121 /*变量a、b、c 122 求b^2-4ac */ 123 #include<stdio.h> 124 int main() 125 { 126 //把三个系数保存到计算机中 127 int a = 1 ; //"="不表示相等,表示赋值 128 int b = 2 ; 129 int c = 3 ; 130 double delta ; //delta存放的是b*b-4*a*c 131 double x1 ; //存放一元二次方程的其中一个解 132 double x2 ; //存放一元二次方程的其中一个解 133 //定义delta 134 delta = b*b -4*a*c ; 135 136 if(delta>0) 137 { 138 //两个解 139 x1=(-b + sqrt(delta)) / (2*a); 140 x2=(b + sqrt(dalta))/ (2*a) ; 141 printf("该一元二次方程有两个解,x1=%f,x2=%f\n",x1,x2) ; 142 } 143 else if(delta ==0) 144 { 145 //惟一解 146 x1 = (-b) / (2*a) ; 147 x2 = x1 ; 148 printf("该一元二次方程只有一个解,x1=x2=%f\n",x1,x2) ; 149 } 150 else 151 { 152 //无解 153 printf("该方程无解") ; 154 } 155 156 return 0 ; 157 } 158 159 //VC++6.0使用详解 160 File->New 161 ->File->C++ Source->定义名字,放置位置 162 #include<stdio.h> 163 int main() 164 { 165 printf("Hello World") ; 166 printf("Good Moring") ; 167 return 0 ; 168 } 169 170 //要运行第二个程序,点选Close Workspace,选择Close并无完全关闭 171 //.cpp为代码源文件 172 //时刻记住,写完一步就要保存,Ctrl + S 保存 173 //代码规范 养成习惯