//C语言学习笔记
第一讲 C语言概述
第二讲 基本编程知识
第三讲 运算符和表达式
第四讲 流程控制
第五讲 函数
第六讲 数组
第七讲 指针
第八讲 变量的作用域和存储方式
第九讲 拓展类型
第十讲 专题:
字符串的处理
进制转换
补码
动态内存分配
综合应用:链表的使用 一、C语言概述
.为什么要学习C语言
). C的起源和发展
机器语言->汇编语言->高级语言
机器语言: 执行速度最快
汇编语言:ADD AX,BX
高级语言:a+b 速度最慢
高级语言->结构化思想 {C、Basic、Fortan、Pascal}
->面向对象思想 {JAVA、C++、C#、Algo}
发展: C->C++->JAVA、C#
三大操作系统 Windows 内核C、C++
unix系统 内核C 稳定
linux系统 内核C 稳定
硬件由操作系统控制 ). C的特点
优点: 代码量小、速度快、功能强大(可访问硬件)
缺点: 危险性高、开发周期长、可移植性低
行业需求:
C/C++、JAVA、C# ). C的应用领域
系统软件开发:
操作系统:Windows、Linux、Unix
驱动程序:主板驱动、显卡驱动、摄像头驱动
数据库:DB2、Oracle、Sql Server
应用软件开发:
办公软件:WPS、OFFICE
图形图像多媒体:ACDsee、PhotoShop、MediaPlayer
嵌入式软件开发:智能手机、掌上电脑
游戏开发:2D、3D游戏开发 ). C的重要性
最重要的系统都是由C编写的
一个合格黑客必须掌握的语言 —>访问内存感染
所有大学工科和理科学生必修课程
任何一个想要终身从事程序设计和开发人员必须熟练掌握的语言
大企业、外企招聘程序员必考语言
为学习数据结果、C++、java、C#奠定基础 /*入门最基本的方法就是从C语言入手
当你成为C语言高手,那么你就很容易进入到操作系统的平台里去;
当你进入到操作系统的平台里去实际做程序时,就会懂得调试;
当你懂得调试的时候,你就会发现能轻而易举地了解到整个平台的架构。
这时候,计算机基本上一切都在你的掌握之中了,没有什么东西能逃出
你的手掌心。
————《编程箴言》梁肇新*/ .怎样去学习C语言
途径:多思考原理和思路,多上机练习
目标:看懂程序,调试程序,自学能力
练习:大量试错,总结积累
参考资料
谭浩强《C语言程序设计》
《C primer Plus》邮电 系统学习语法
《C和指针》《C专家编程》《C陷阱与缺陷》
汇编语言 王爽 .学习的目标
了解程序语言及发展历史
熟练掌握C语言的语法规则
掌握简单的算法
理解面向过程的思想,有助于对面向对象思想的学习
能看懂程序,会调试程序,会分解问题
为学习C++、数据结构、C#、java打下基础 .常见问题答疑
.学习JAVA为什么建议先学C语言
学C就是学JAVA,因为C原因至少80%的语法知识都被继承过来。
C是面向过程语言的代表,学好C有助学习JAVA中面向对象思想。
学好C中的指针是理解JAVA中引用的基础。 .英语和数学不好能学好C嘛
英语 不懂英语对学习编程毫无影响,但懂会学得更快。
数学 只有研究高深算法及专业课题才需要专业的数学知识。 .课程计划 十讲23课时
.例子 一元二次方程*/ /* VC操作流程
File->new->C++Source File->name */ //Hello World
#include<stdio.h>
int main()
{
print("Hello World") ;
return ;
} //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 union void
volatile while //一元二次方程详解
//ax^2+bx+c=0
/*变量a、b、c
求b^2-4ac */
#include<stdio.h>
int main()
{
//把三个系数保存到计算机中
int a = ; //"="不表示相等,表示赋值
int b = ;
int c = ;
double delta ; //delta存放的是b*b-4*a*c
double x1 ; //存放一元二次方程的其中一个解
double x2 ; //存放一元二次方程的其中一个解
//定义delta
delta = b*b -*a*c ; if(delta>)
{
//两个解
x1=(-b + sqrt(delta)) / (*a);
x2=(b + sqrt(dalta))/ (*a) ;
printf("该一元二次方程有两个解,x1=%f,x2=%f\n",x1,x2) ;
}
else if(delta ==)
{
//唯一解
x1 = (-b) / (*a) ;
x2 = x1 ;
printf("该一元二次方程只有一个解,x1=x2=%f\n",x1,x2) ;
}
else
{
//无解
printf("该方程无解") ;
} return ;
} //VC++6.0使用详解
File->New
->File->C++ Source->定义名字,放置位置
#include<stdio.h>
int main()
{
printf("Hello World") ;
printf("Good Moring") ;
return ;
} //要运行第二个程序,点选Close Workspace,选择Close并没有彻底关闭
//.cpp为代码源文件
//时刻记住,写完一步就要保存,Ctrl + S 保存
//代码规范 养成习惯

[编程笔记]第一章 C语言概述的更多相关文章

  1. javaSE习题 第一章 JAVA语言概述

    转眼就开学了,正式在学校学习SE部分,由于暑假放视频过了一遍,略感觉轻松,今天开始,博客将会记录我的课本习题,主要以文字和代码的形式展现,一是把SE基础加强一下,二是课本中有很多知识是视频中没有的,做 ...

  2. 第一章 Java语言概述2

    一.编写第一个Java应用程序 1.下载.安装JDK 官方网址:www.oracle.com java.sun.com 安装JDK 傻瓜式安装,下一步即可. 建议:安装路径不要有中文或者特殊符号,如空 ...

  3. [编程笔记]第二章 C语言预备知识

    /*第二讲 C语言预备专业知识 1.CPU 内存条 硬盘 显卡 主板 显示器之间的关系 CPU不能直接处理硬盘上的数据 文件存储在硬盘,当运行时,操作系统把硬盘上的数据调用到内存条上. 图像以数据的形 ...

  4. 疯狂java——第一章 java语言概述与开发环境

    J2ME: 主要用于控制移动设备和信息家电等有限存储的设备. J2SE: 整个java技术的核心和基础,它是J2ME和J2EE编程的基础. J2EE: Java技术中应用最广泛的部分,J2EE提供了企 ...

  5. 《R语言实战》读书笔记--第一章 R语言介绍

    1.典型的数据分析过程可以总结为一下图形: 注意,在模型建立和验证的过程中,可能需要重新进行数据清理和模型建立. 2.R语言一般用 <- 作为赋值运算符,一般不用 = ,原因待考证.用-> ...

  6. 第一章 Java语言概述

    1.人机交互有两种方法:一种是图形化界面,一种是命令行方式 2.如何打开命令行:开始-在运行命令行中输入cmd 3.常用的DOS命令: dir(directory):列出当前目录下文件及文件夹 md( ...

  7. 第一章 Java语言概述1

    1.人机交互有两种方法:一种是图形化界面,一种是命令行方式 2.如何打开命令行:开始-在运行命令行中输入cmd 3.常用的DOS命令: dir(directory):列出当前目录下文件及文件夹 md( ...

  8. [HeadFrist-HTMLCSS学习笔记][第一章Web语言:开始了解HTML]

    head title body 元素= 开始标记 + 内容 +结束标记 还能给段落一个变量名 <p id="houseblend"> body </p> s ...

  9. 《深入Linux内核架构》笔记 --- 第一章 简介和概述

    Linux将虚拟地址空间划分为两个部分,分别称为内核空间和用户空间 各个系统进程的用户空间是完全彼此分离的,而虚拟地址空间顶部的内核空间总是同样的,无论当前执行的是哪个进程. 尽管Intel处理器区分 ...

随机推荐

  1. Servlet(三):获取表单数据、解决乱码和报错问题

    在了解了servlet的生命周期以及运行过程后,再来动手写一个小例子,加深对servlet的理解. 一.需求说明 在用户注册信息页面,输入用户名.密码.性别.邮箱等一些信息后,页面返回刚刚填写的信息. ...

  2. MYSQL的binlog日志

    binlog 基本认识 MySQL的二进制日志以事件形式,记录了所有的DDL和DML(除了数据查询语句)语句,及语句执行消耗时间. MySQL的二进制日志是事务安全型的,是MySQL最重要的日志. b ...

  3. Nginx使用教程(二):Nginx配置性能优化之worker配置

    配置Nginx workers <br\>NGINX根据指定的配置运行固定数量的工作进程. 这些工作进程负责处理所有处理. 在下面的章节中,我们将调整NGINX worker参数. 这些参 ...

  4. Spring+SpringMVC+Mybatis环境的搭建(使用Intellij IDEA)

    前言:本文主要介绍利用IDEA如何搭建SSM环境,并使用mybatis的逆向生成功能,根据数据表生成对应mapper接口和sql映射文件.具体步骤如下. 开发环境: IDEA 14.1.7 maven ...

  5. [CQOI2017]老C的键盘

    [CQOI2017]老C的键盘 题目描述 额,网上题解好像都是用的一大堆组合数,然而我懒得推公式. 设\(f[i][j]\)表示以\(i\)为根,且\(i\)的权值为\(j\)的方案数. 转移: \[ ...

  6. 1、原生jdbc连接oracle数据库简单介绍

    一.jbdc的常用API1.Connection:数据库的链接对象2.statement:数据库sql执行对象3.preparedStatment:sql的预编译处理对象,是statement子接口4 ...

  7. Java 数据类型总结

    Java 中提供了八种数据类型:6个数字类型(四个整数型,两个浮点型).字符类型.布尔型. 依次分别是 : byte.int.short.long.float.double.char.boolean. ...

  8. Generative Adversarial Nets[iGAN]

    本文来自<Generative Visual Manipulation on the Natural Image Manifold>,是大神Jun-Yan Zhu在2016年9月的作品. ...

  9. Microsoft Tech Summit 2018 课程简述:利用 Windows 新特性开发出更好的手绘视频应用

    概述 Microsoft Tech Summit 2018 微软技术暨生态大会将于10月24日至27日在上海世博中心举行,这也会是国内举办的最后一届 Tech Summit,2019 年开始会以 Mi ...

  10. H5 video标签的第二种格式

    36-video标签的第二种格式 2.第二种格式存在的意义: 由于视频数据非常非常的重要, 所以五大浏览器厂商都不愿意支持别人的视频格式, 所以导致了没有一种视频格式是所有浏览器都支持的 这个时候W3 ...