本章重点:
目录

1.什么是C语言

2.第一个C语言程序

3.C语言数据类型

4.变量、常量

5.字符串+转义字符+注释

 1. 什么是C语言?

语言是一门通用计算机编程语言 ,广泛应用于底层开发。 C 语言的设计目标是提供一种能以简易
的方式编译 、处理低级存储器 、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管 C 语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的
C 语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU )以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的 C 语言语法产生差异,由美国国家标准局 为 C 语言制
定了一套完整的美国国家标准语
法,称为ANSI C ,作为 C 语言最初的标准。 [1] 目前 2011 年 12 月 8 日,国际标准化组织( ISO )和
国际电工委员会( IEC )发布的C11标准
是 C 语言的第三个官方标准,也是 C 语言的最新标准,该标准更好的支持了汉字函数名和汉字
标识符,一定程度上实现了汉字编程。
C 语言是一门面向过程的计算机编程语言,与 C++ , Java 等面向对象的编程语言有所不同。
其编译器主要有 Clang 、GCC、 WIN-TC 、 SUBLIME 、 MSVC 、 Turbo C 等。
(C语言是一门高级语言)

1.1一定有朋友想问,那我们为什么要学C语言呢?现在那么多编程语言,Java、Python、go...等等 那么多优秀的语言,我们偏偏学c语言这种古老的语言?

       确实C语言挺老的了,好几十年了,但它依旧不会过时,C语言是母体语言,熟话说C生万物,学好C语言对我们长远的发展一定是有意的,就像我们使用的Windows系统大部分内核都是由C语言写的。我们想要在编程这条路上走的更远,学习C语言还是很有必要的,当然你学会了C语言再去学Java 、Python、c++ 等 ,学起来都会更加得心应手。这便是我学C语言的原因。学编程不急一时半会,要把基础知识学好,学扎实。

2.第一个C语言程序

#include <stdio.h>

int main()
{   
    printf("hello world\n");

    return 0;
}

输出结果:
解释:

//#include<stdio.h> 表示引用了standard input output标准输入输出头文件,像scanf printf都是这个头文件里,需要用到
//int 表示函数的返回类型
//int 表示函数的返回类型
//main 表示函数名 
//以main为函数名称为主函数,一个工程中有且只有一个。
//return 0  是函数的返回值,函数中要写明return 0,表示返回
//输出函数 printf   \n表示换行
//C语言规定,语句的结束符 用英文状态下的分号 ;来进行标识。

3.数据类型

char         // 字符数据类型
short       // 短整型
int         // 整形
long         // 长整型
long long   // 更长的整形
float       // 单精度浮点数
double       // 双精度浮点数
注:C语言中没有字符串类型
字符串则用" "(双引号)引起来
每种类型的大小(在内存中占几个字节)是多少呢?(我们打印出来看看)

#include <stdio.h>
int main()
{
    printf("%d\n", sizeof(char));
    printf("%d\n", sizeof(short));
    printf("%d\n", sizeof(int));
    printf("%d\n", sizeof(long));
    printf("%d\n", sizeof(long long));
    printf("%d\n", sizeof(float));
    printf("%d\n", sizeof(double));
    printf("%d\n", sizeof(long double));
    return 0;

}


可以看到大小分别为:
1 ,2,  4,  4,8,4,8, 8

每种数据类型都可以用来存储不同的值  根据你需要存储的值的大小、与类型来选择用哪种数据类型

4. 常量、变量

在我们的日常生活中,有些值是不变的比如:圆周率,性别,身份证号码,血型等等)
不变的值, C 语言中用 常量 的概念来表示

有些值是可变的(比如:年龄,体重,薪资)
变的值 C语言中 用变量 来表示

4.1局部变量与全局变量

#include <stdio.h>
int global = 2022 // 全局变量
int main ()
{
int local = 2020 ; // 局部变量
int global = 2021 ; //如果把上面那个global放这里,它也就变成了 局部变量
printf ( "global = %d\n" , global );
return 0 ;
}

解释 :global是我们自己定义的变量名(下面的local也是)

总结:在一个函数内部定义的变量是局部变量,只能在函数内部使用。

注:当局部变量与全局变量同名时,局部变量优先级高于全局变量

故上面代码输出结果为:global=2021

4.2 变量的使用

#include <stdio.h>
int main ()
{
int num1 = 0 ;
int num2 = 0 ;
int sum = 0 ;
printf ( " 输入两个操作数 :" );
scanf ( "%d %d" , & num1 , & num2 );
sum = num1 + num2 ;
printf ( "sum = %d\n" , sum );
return 0 ;
}
//
//scanf 输入函数 %d表示整型输入   &取地址符号  &num1 表示获取到num1在内存中的地址
//我们取到了地址,就可以往里面输入值
//printf 输出函数  %d表示整型输出 

4.3 变量的作用域和生命周期

作用域
作用域( scope )是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效 / 可用
而限定这个名字的可用性的代码范围就是这个名字的作用域。
1. 局部变量的作用域是变量所在的局部范围。
2. 全局变量的作用域是整个工程。
生命周期
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2. 全局变量的生命周期是:整个程序的生命周期。

4.4 常量

C 语言中的常量和变量的定义的形式有所差异。
C 语言中的常量分为以下以下几种:
1.字面常量
2.const 修饰的常变量
3.#define 定义的标识符常量
4.枚举常量
#include <stdio.h>
// 举例
enum Sex
{
MALE ,
FEMALE ,
SECRET
};
// 括号中的 MALE,FEMALE,SECRET 是枚举常量
int main ()
{
// 字面常量演示
3.14 ; // 字面常量
1000 ; // 字面常量
//const 修饰的常变量
const float pai = 3.14f ;   // 这里的 pai 是 const 修饰的常变量
pai = 5.14 ; // 是不能直接修改的!
//#define 的标识符常量 演示
#define MAX 100
printf ( "max = %d\n" , MAX );
// 枚举常量演示
printf ( "%d\n" , MALE );
printf ( "%d\n" , FEMALE );
printf ( "%d\n" , SECRET );
// 注:枚举常量的默认是从 0 开始,依次向下递增 1 的
return 0 ;
}

注:
上面例子上的 pai 被称为 const 修饰的常变量, const 修饰的常变量在 C 语言中只是在语法层面限制了
变量 pai 不能直接被改变,但是 pai 本质上还是一个变量的,所以叫常变量。

5. 字符串+转义字符+注释

5.1 字符串

"hello bit .\n"
这种由双引号( Double Quote )引起来的一串字符称为字符串字面值( String Literal ),或者简称字符
串。
注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串 内容。
注:下面会提到下数组arr[2]中,arr是数组名 []中括号里放数组元素个数 
#include <stdio.h>
// 下面代码,打印结果是什么?为什么?(突出 '\0' 的重要性)
int main ()
{
char arr1 [] = "bit" ; //这里默认有/0 隐藏的
char arr2 [] = { 'b' , 'i' , 't' };
char arr3 [] = { 'b' , 'i' , 't',   '\0' };
printf ( "%s\n" , arr1 ); 
printf ( "%s\n" , arr2 );
printf ( "%s\n" , arr3 );
return 0 ;
}
可以看到数组arr2乱码了 因为没有\0也就是没有字符串的结束标志

5.2 转义字符

加入我们要在屏幕上打印一个目录地址: c:\code\test.c
我们该如何写代码?

#include <stdio.h>
int main ()
{
printf ( "c:\code\test.c\n" );
return 0 ;
}
实际上程序运行的结果是这样的:
这里就需要提下转义字符(即转变字符原来的意思)
下面看一些转义字符。
// 问题 1 :在屏幕上打印一个单引号 ' ,怎么做?
// 问题 2 :在屏幕上打印一个字符串,字符串的内容是一个双引号 “ ,怎么做?
这里可以看到程序出错了,因为它把'''中前两个单引号看成了一对、
这个时候我们就需要用到转义字符

#include <stdio.h>

int main ()
{  
printf ( "%c\n" , '\'' );//%打印字符
printf ( "%s\n" , "\"" ); //%s打印字符串
return 0 ;
}
这样就打印出来啦 !

5.3 注释

1. 代码中有不需要的代码可以直接删除,也可以注释掉
2. 代码中有些代码比较难懂,可以加一下注释文字
3.一个好的程序员学会注释是很重要的。
4.我们写代码的时候难点、复杂的语句都应该注释,
这样既方便别人看懂你的代码,又方便自己看
"当我写这段代码的时候,就我和 上帝看得懂,半天之后除了上帝,没有人看得懂。"
注释有两种风格:
C 语言风格的注释 /*代码内容*/
#include<stdio.h>

/* int main()
{
    printf('\060'); 打印转义字符\060
    return 0;
}*/ 缺陷:不能嵌套注释

C++ 风格的注释 //代码内容//
//int main()
//{   
//    printf("hello world\n"); //打印hello world 后换行
//
//    return 0;
可以注释一行也可以注释多行

注: 注释的快捷键 Ctrl + K+C (选中代码以后)
     取消注释快捷键Ctrl+K+U(选中代码以后)

结语

       感谢大家的关注与支持,可能写的不太好,摘抄的也挺多的,谢谢大家支持!

最易理解的C语言教学 第一章相关推荐

  1. 北大青鸟c语言课后答案,北大青鸟C语言教程--第一章 C语言基础.ppt

    <北大青鸟C语言教程--第一章 C语言基础.ppt>由会员分享,可在线阅读,更多相关<北大青鸟C语言教程--第一章 C语言基础.ppt(20页珍藏版)>请在人人文库网上搜索. ...

  2. c语言编程指法输入,C语言 课件 第一章引论.pdf

    C语言 课件 第一章引论 我很高兴为同学们上C语言课 我希望同学们有 良好的课堂纪律,给老师一个好心情: 让我先谢谢同学们的良好合作: 师生共努力,教好学好C语言; 学会编程更有利于数学的应用; 学习 ...

  3. 《深入理解计算机系统》读书札记(第一章)

    <深入理解计算机系统>读书札记(第一章) 原书网盘链接地址:https://pan.baidu.com/s/1kF1Q9TloZzzgXewv7atWBw 提取码:gtt1 第一章 计算机 ...

  4. 翁刚c语言,1第一章C语言入门.ppt

    1第一章C语言入门 C 程 序 设 计 | 第 一 章 1.1 C语言入门 第一章 蔼专淬泉寄谚燕娃瓶彪假接又室睁撰炒郸芝载估扳笺安寝屉匡厩翁刚暴镀1第一章C语言入门C语言程序入门 C 程 序 设 计 ...

  5. C++语言篇 第一章 二进制及计算机基础

    前言 进入新世纪以来,新科技.新技术日新月异,层出不穷:人工智能.机器人.无人驾驶.虚拟现实,量子信息.生物技术.大数据.3D打印.石墨烯.纳米材料.数字货币.区块链.物联网.互联网+.工业4.0-- ...

  6. 山西农业大学c语言答案,第一章C语言及程序设计概述-东北农业大学教务处.doc...

    全国高等农林院校"十一五"规划教材 C语言程序设计 孙力 主编 中国农业出版社 内容简介 本书是全国高等农林院校"十一五"规划教材之一. 全书共11章,分别介绍 ...

  7. c语言整形变浮点型报错,【C语言】第一章

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 本专题博客主要内容为本人在C语言学习过程中遇到的主要问题和C语言相关知识点的讲解,是系统性的技术学习博客,使用的环境为V ...

  8. 【深入理解计算机系统-学习笔记】第一章 计算机系统漫游

    第一章 计算机系统漫游 简介: 我们通过跟踪hello程序的生命周期来开始对系统的学习--从它被程序员创建开始,到在系统上运行,输出简单的消息,然后终止 我们将沿着这个程序的生命周期,简单得介绍一些逐 ...

  9. c语言程序第一章编程,c语言程序的设计第一章 C语言编程入门.ppt

    c语言程序的设计第一章 C语言编程入门 第1章 C语言编程入门 本章是本书的入门篇,专为初学者熟悉编程过程.掌握程序结构而准备的. 本章学习目标 ? 1)? 能够通过模仿与改变来构造带有测试函数的C语 ...

最新文章

  1. Android中对Log日志文件的分析[转]
  2. 90 后 CTO 创业 6 年,做了一件改变互联网的“小事”
  3. PL/SQL 的一些用法
  4. Windows 安装 NoneBot2
  5. 一种求任意多边形内部水平方向似最大矩形的算法
  6. QQ号码采集及邮件发送系统2009
  7. 20145202马超《信息安全系统设计基础》实验四总结
  8. [剑指offer]面试题31:连续子数组的最大和
  9. 驱动编程class_create说明
  10. Hangover C语言 UVA2294
  11. Java开发技术有哪些?
  12. SpriteBuilder切换解决方案以及CCB的修改与保存
  13. 拍牌神器是怎样炼成的(二)--- 键鼠模拟之AutoIt
  14. POI设置excel样式
  15. 技术学校面试该说什么_我第一次现场技术面试后,香港专业教育学院学到了什么...
  16. Keras : 训练minst数据集并加载模型对本地手写图片进行预测
  17. 【java】关于java编程语言开发
  18. 全款房抵押贷款要注意什么?
  19. 在10亿像素图像中发现预后模式 FINDING PROGNOSTIC PATTERNS IN GIGAPIXEL IMAGES
  20. 现实版的黑客大战,这可能是中国黑客做过最燃的事情了

热门文章

  1. <Zhuuu_ZZ>HIVE(九)窗口函数
  2. android直播切换浮窗,直播悬浮窗怎么设置
  3. 深入理解TCP协议的连接状态与可靠机制
  4. Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.Gener
  5. 人工智能-数学基础-数据科学必备分布
  6. win10修改账户权限
  7. create connection SQLException, url: jdbc:mysql:///test, errorCode 1045, state 28000
  8. 96.(leaflet之家)leaflet态势标绘-进攻方向修改(燕尾)
  9. 计算机excel2010知识点,Excel-模拟分析和图表知识点讲解-计算机二级Office
  10. 辛瓜地计算机体育英语,体育英语|射箭(Archery)