怎样学习C语言——快速上手C语言系列之—认识C语言

目录

 

一,C语言概述

1.1 什么是C语言

1.2 计算机介绍

1.3 语言发展历程

1.4 为什么要学习C语言

1.5 第一个C语言程序:

二,数据类型

2.1 常量与变量

2.2 进制

2.3 计算机内存数值存储方式

2.4 sizeof关键字

2.5整型:int

2.6字符型:char

2.9字符串格式化输出和输入

三,运算符与表达式

3.1 常用运算符分类

3.2 算术运算符

3.3 赋值运算符

3.4 比较运算符

3.5 逻辑运算符

3.6 运算符优先级

3.7 类型转换


一,C语言概述

1.1 什么是C语言

一提到语言这个词语,自然会想到的是像英语、汉语等这样的自然语言,因为它是人和人交换信息不可缺少的工具。

而今天计算机遍布了我们生活的每一个角落,除了人和人的相互交流之外,我们必须和计算机角落。

用什么的什么样的方式和计算机做最直接的交流呢?人们自然想到的是最古老也最方便的方式——语言,而C语言就是人和计算机交流的一种语言。

语言是用来交流沟通的。有一方说,有另一方听,必须有两方参与,这是语言最重要的功能:

 说的一方传递信息,听的一方接收信息;
 说的一方下达指令,听的一方遵循命令做事情。

语言是人和人交流,C语言是人和机器交流。只是,人可以不听另外一个人,但是,计算机是无条件服从。

语言有独特的语法规则和定义,双方必须遵循这些规则和定义才能实现真正的交流。

喜欢的可以加QQ一块学习:2621873689

1.2 计算机介绍

1.2.1 计算机结构组成

1.2.2 计算机系统组成

1.2.3 程序和指令

 指令是对计算机进行程序控制的最小单位。
 所有的指令的集合称为计算机的指令系统。
 程序是为完成一项特定任务而用某种语言编写的一组指令序列。

1.3 语言发展历程

1.3.1 机器语言

计算机的大脑或者说心脏就是CPU,它控制着整个计算机的运作。每种CPU,都有自己的指令系统。这个指令系统,就是该CPU的机器语言。

机器语言是一组由0和1系列组成的指令码,这些指令码,是CPU制作厂商规定出来的,然后发布出来,请程序员遵守。

要让计算机干活,就得用机器语言(二级制数)去命令它。这样的命令,不是一条两条,而是上百条。而且不同型号的计算机其机器语言是不相通的,按着一种计算机的机器指令编制的程序,不能在另一种计算机上执行。

1.3.2 汇编语言和编译器

机器语言编程是不是很令人烦恼呢,终于出现了汇编语言,就是一些标识符取代0与1。一门人类可以比较轻松认识的编程语言。

只是这门语言计算机并不认识,所以人类还不能用这门语言命令计算机做事情。这正如如何才能让中国人说的话美国人明白呢?——翻译!

所以,有一类专门的程序,既认识机器语言,又认识汇编语言,也就是编译器,将标识符换成0与1,知道怎么把汇编语言翻译成机器语言。

1.3.3 高级语言

汇编语言和机器语言都是面向机器的,机器不同,语言也不同。既然有办法让汇编语言翻译成机器语言,难道就不能把其他更人性化的语言翻译成机器语言?

1954年,Fortran语言出现了,其后相继出现了其他的类似语言。这批语言,使程序员摆脱了计算机硬件的限制,把主要精力放在了程序设计上,不在关注低层的计算机硬件。这类语言,称为高级语言。

同样的,高级语言要被计算机执行,也需要一个翻译程序将其翻译成机器语言,这就是编译程序,简称编译器。
这类高级语言解决问题的方法是分析出解决问题所需要的步骤,把程序看作是数据被加工的过程。基于这类方法的程序设计语言成为面向过程的语言。C语言就是这种面向过程的程序设计语言。

1.3.4 语言的层次

1.3.5 语言进化史

1.4 为什么要学习C语言

1.4.1 C语言特点

优点:

 代码量小
 执行速度快
 功能强大
 编程自由

缺点:

 写代码实现周期长
 可移植性较差
 过于自由,经验不足易出错
 对平台库依赖较多

1.4.2 学习C语言理由

1.4.3 C语言应用领域

C语言的应用极其广泛,从网站后台,到底层操作系统,从多媒体应用到大型网络游戏,均可使用C语言来开发:

  •  C语言可以写网站后台程序
  •  C语言可以专门针对某个主题写出功能强大的程序库
  •  C语言可以写出大型游戏的引擎
  •  C语言可以写出另一个语言来
  •  C语言可以写操作系统和驱动程序,并且只能用C语言编写
  •  任何设备只要配置了微处理器,就都支持C语言。从微波炉到手机,都是由C语言技术来推动的

1.4.4 C语言的简洁

C语言仅有32个关键字,9种控制语句,34种运算符,却能完成无数的功能:

1.4.5 学习C语言的常见困惑

1.5 第一个C语言程序:

HelloWorld

1.5.1 编写C语言代码:

hello.c

#include <stdio.h>
int main()
{
//这是第一个C语言代码
printf(“hello world\n”);
return 0;
}


C语言的源代码文件是一个普通的文本文件,但扩展名必须是.c。

1.5.2 通过gcc编译C代码

  1. gcc编译器介绍
    编辑器(如vi、记事本)是指我用它来写程序的(编辑代码),而我们写的代码语句,电脑是不懂的,我们需要把它转成电脑能懂的语句,编译器就是这样的转化工具。就是说,我们用编辑器编写程序,由编译器编译后才可以运行!
    编译器是将易于编写、阅读和维护的高级计算机语言翻译为计算机能解读、运行的低级机器语言的程序。
    gcc(GNU Compiler Collection,GNU 编译器套件),是由 GNU 开发的编程语言编译器。gcc原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,gcc同样适用于微软的Windows。
  2. gcc最初用于编译C语言,随着项目的发展gcc已经成为了能够编译C、C++、Java、Ada、fortran、Object C、Object C++、Go语言的编译器大家族。

编译命令格式:
gcc [-option1] …
g++ [-option1] …
 命令、选项和源文件之间使用空格分隔
 一行命令中可以有零个、一个或多个选项
 文件名可以包含文件的绝对路径,也可以使用相对路径
 如果命令中不包含输出可执行文件的文件名,可执行文件的文件名会自动生成一个默认名,Linux平台为a.out,Windows平台为a.exe

gcc、g++编译常用选项说明:
选项 含义
-o file 指定生成的输出文件名为file
-E 只进行预处理
-S(大写) 只进行预处理和编译
-c(小写) 只进行预处理、编译和汇编

gma warning(disable:4996) //或者使用这个

二,数据类型

2.1 常量与变量

2.1.1 关键字

2.1.2 数据类型

数据类型的作用:

编译器预算对象(变量)分配的内存空间大小。

2.1.3 常量

常量:

 在程序运行过程中,其值不能被改变的量
 常量一般出现在表达式或赋值语句中

整型常量 100,200,-100,0
实型常量 3.14 , 0.125,-3.123
字符型常量 ‘a’,‘b’,‘1’,‘\n’
字符串常量 “a”,“ab”,“12356”

2.1.4 变量

变量:

 在程序运行过程中,其值可以改变
 变量在使用前必须先定义,定义变量前必须有相应的数据类型

标识符命名规则:

 标识符不能是关键字
 标识符只能由字母、数字、下划线组成
 第一个字符必须为字母或下划线
 标识符中字母区分大小写

变量特点:

 变量在编译时为其分配相应的内存空间
 可以通过其名字和地址访问相应内存

声明和定义区别:

 声明变量不需要建立存储空间,如:extern int a;
 定义变量需要建立存储空间,如:int b;

如下:

#include <stdio.h>
int main()
{
//extern 关键字只做声明,不能做任何定义,后面还会学习,这里先了解
//声明一个变量a,a在这里没有建立存储空间
extern int a;
a = 10; //err, 没有空间,就不可以赋值
int b = 10;    //定义一个变量b,b的类型为int,b赋值为10
return 0;
}

从广义的角度来讲声明中包含着定义,即定义是声明的一个特例,所以并非所有的声明都是定义:

 int b 它既是声明,同时又是定义
 对于 extern b来讲它只是声明不是定义

一般的情况下,把建立存储空间的声明称之为“定义”,而把不需要建立存储空间的声明称之为“声明”。

2.1.5 使用示例

#include <stdio.h>
#define MAX 10 //声明了一个常量,名字叫MAX,值是10,常量的值一旦初始化不可改

int main()
{
int a; /
  • 25
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值