一、C语言介绍

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语言程序(Hello world)

#include <stdio.h>
int main()
{printf("hello bit\n");printf("he he\n");return 0;
}
//解释:
//main函数是程序的入口
//一个工程中main函数有且仅有一个

二、数据结构

char //字符数据类型
short //短整型
int //整形
long //长整型
long long //更长的整形
float //单精度浮点数
double //双精度浮点数

每种类型的大小是多少?

#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;
}

注意:存在这么多的类型,其实是为了更加丰富的表达生活中的各种值。
类型的使用:

char ch = 'w';
int weight = 120;
int salary = 20000;

三、变量、常量

生活中的有些值是不变的(比如:圆周率,性别,身份证号码,血型等等)
有些值是可变的(比如:年龄,体重,薪资)。
不变的值,C语言中用常量的概念来表示,变得值C语言中用变量来表示。

1、定义变量的方法

int age = 150;
float weight = 45.5f;
char ch = 'w';

2、变量的分类

  • 局部变量
  • 全局变量
#include <stdio.h>
int global = 2019;//全局变量
int main()
{int local = 2018;//局部变量//下面定义的global会不会有问题?int global = 2020;//局部变量printf("global = %d\n", global);return 0;
}

总结:
上面的局部变量global变量的定义其实没有什么问题的!
当局部变量和全局变量同名的时候,局部变量优先使用。

3、变量的使用

#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
//printf

4、变量的作用域和生命周期

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

5、常量

C语言中的常量和变量的定义的形式有所差异。
C语言中的常量分为以下以下几种:

  • 字面常量
  • const 修饰的常变量
  • #define 定义的标识符常量
  • 枚举常量
#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 100printf("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 本质上还是一个变量的,所以叫常变量。

四、字符串+转义字符+注释

1、字符串

"hello bit.\n"

这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。

注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。

#include <stdio.h>
//下面代码,打印结果是什么?为什么?(突出'\0'的重要性)
int main()
{char arr1[] = "bit";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;
}

2、转义字符

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

#include <stdio.h>
int main()
{printf("c:\code\test.c\n");return 0;
}

实际上程序运行的结果是这样的:

这里就不得不提一下转义字符了。转义字符顾名思义就是转变意思。
下面看一些转义字符

#include <stdio.h>
int main()
{//问题1:在屏幕上打印一个单引号',怎么做?//问题2:在屏幕上打印一个字符串,字符串的内容是一个双引号“,怎么做?printf("%c\n", '\'');printf("%s\n", "\"");return 0;
}

笔试题:

//程序输出什么?
#include <stdio.h>
int main()
{printf("%d\n", strlen("abcdef"));// \62被解析成一个转义字符printf("%d\n", strlen("c:\test\628\test.c"));return 0;
}

五、注释

  1. 代码中有不需要的代码可以直接删除,也可以注释掉
  2. 代码中有些代码比较难懂,可以加一下注释文字
    比如:
#include <stdio.h>
int Add(int x, int y)
{return x+y;
}
/*C语言风格注释
int Sub(int x, int y)
{return x-y;
}
*/
int main()
{//C++注释风格//int a = 10;//调用Add函数,完成加法printf("%d\n", Add(1, 2));return 0;
}

注释有两种风格:
C语言风格的注释 /xxxxxx/

  • 缺陷:不能嵌套注释
    C++风格的注释 //xxxxxxxx
  • 可以注释一行也可以注释多行

六、选择语句

#include <stdio.h>
int main()
{int coding = 0;printf("你会去敲代码吗?(选择1 or 0):>");scanf("%d", &coding);if(coding == 1){prinf("坚持,你会有好offer\n");}else{printf("放弃,回家卖红薯\n");}return 0;
}

七、循环语句

C语言中如何实现循环呢?
while语句-讲解
for语句
do … while语句

//while循环的实例
#include <stdio.h>
int main()
{int line = 0;while(line<=20000){line++;printf("我要继续努力敲代码\n");}if(line>20000)printf("好offer\n");return 0;
}

C语言初级:Hello world、数据类型、变量常量、字符串、转义字符、注释、选择语句、循环语句相关推荐

  1. 初识C语言(1)(2)(3)(4) C语言入门 保姆级教程 变量 常量 字符串 转义字符 操作符 关键字 字符串 指针 函数 结构体 数组 选择语句 循环语句

    一.如何写C语言代码 1.编译器 2.创建项目 3.创建源文件 4.写代码 5.编译+链接+运行 项目名字不要汉语,不要特殊字符,不要加空格,项目路径一般为你想要的路径 C语言中,一般创建.c源文件, ...

  2. ES6变量常量字符串数值

    [转]ES6之变量常量字符串数值 ECMAScript 6 是 JavaScript 语言的最新一代标准,当前标准已于 2015 年 6 月正式发布,故又称 ECMAScript 2015. ES6对 ...

  3. 【Linux学习笔记④】——Shell程序设计【变量 输入与输出 条件表达式 判断语句 循环语句 Shell函数】

    ⌛️ 文章目录 一.Shell 概述 二.Shell 脚本的定义与执行 2.1 Shell 脚本的定义 2.2 Shell 脚本的执行 三.Shell 变量 3.1 用户自定义变量 3.2 环境变量 ...

  4. C语言学习——从零开始学编程(第三篇:选择与循环)

    文章目录 前言--小颖的话 一.语句 1)C语言中的语句有哪些 2)语句 二.选择语句 1) if选择语句 1. if语句 2.if-else语句 3.if - else if - else 多分支语 ...

  5. [Java]介绍|环境|编码|数据类型|String|运算符|标准输入|if语句|循环语句|三元运算符|循环语句|swich语句

    一.介绍 1.java是oracle(甲骨文)公司的. 2.JAVA语言有3类应用 1)JAVAME 用于嵌入式开发. 比如:电视机顶盒.打印机.PDA又称掌上电脑(手机.平板电脑.游戏机.扫码枪). ...

  6. C语言学习笔记—P2(<C语言初阶>+<字符串+转义字符+注释>+图解+题例)

    目录 1.变量的使用 2. 变量的作用域和生命周期 3. 常量 4. 字符串 5. 注释 后记:●由于作者水平有限,文章难免存在谬误之处,敬请读者斧正,俚语成篇,恳望指教!               ...

  7. java中可以用浮点作为循环变量吗_Java千问:Java循环语句的几个冷门知识点你都知道吗?...

    我们在进行Java开发的时候,经常会用到循环结构,但是有几个关于循环的"冷门"知识点,不知道你是不是都已经掌握了呢?我们一起来看看 一.大括号可以不写吗? 我们都知道,如果每次循环 ...

  8. 初步认识C语言中的选择和循环语句

    我们在日常生活中经常会做出选择,同样的我们在C语言的学习当中也经常会遇到选择语句,举一个简单的例子: 如果我们好好学习,不断完善自己,那么我们就能社会中找到一份好的工作,最终走上人生巅峰:反之,如果我 ...

  9. c语言基本数据类型常量,C语言基础学习基本数据类型-变量和常量

    变量和常量 什么是变量和常量?有些数据在程序运行前就预先设定,并在运行过程中不发生变化,称之为常量:有些数据在程序运行中可能发生变化或被赋值,称之为变量. 使用变量前必须先声明一个变量.变量定义的语法 ...

  10. 【C语言重点难点】数据类型、常量和变量

    这部分东西在C语言考试中特别爱考,但是十分琐碎,所以总结如下 一:C语言包含的数据类型 二:各数据类型细节 三:C语言中常量和变量 三:变量命名规则 这一点还是值得详谈的,因为有的人变量命名是在是不忍 ...

最新文章

  1. OpenCV4.4 CUDA编译与加速全解析
  2. 不得不爱开源 Wijmo jQuery 插件集(4)-【手风琴效果】(附页面展示和源码)
  3. 企业网站服务器负载均衡技术
  4. 频谱分析:c和python对比FFT的效率并画出幅度谱
  5. boost::mp11::mp_map_contains相关用法的测试程序
  6. 互联网造富亲历者讲述:屌丝富了以后
  7. 5错误怎么办_“选择不对,一生白费”:如果选错了,该怎么办?记住这两句话...
  8. 【LeetCode之C#解法】 移动零、爬楼梯
  9. leetcode150. 逆波兰表达式求值
  10. JVM运行时区域详解
  11. Endnote生成的中英文混排参考文献中“等”与“et al”的处理
  12. 数据结构基础(6) --顺序栈的设计与实现
  13. 资源放送丨《OGG日常运维及故障处理》PPT视频
  14. [HAOI2007]反素数ant
  15. 信息系统项目管理师论文范围管理范文(2021上半年范围管理论文)
  16. ios 图片裁剪框架_iOS开发图片剪切
  17. 专注物联网人工智能服务 云知声芯起航
  18. gcc -wall -pedantic -ansi
  19. 报错 | error ‘App‘ is not defined no-undef
  20. ardupilot软件仿真及调试(vscode版)

热门文章

  1. 数据分析与数据挖掘的区别与个人理解
  2. 香港银行开户哪家门槛低
  3. Excel转Word,Excel导出Word,利用Excel表批量生成Word文档,邮件合并进阶版
  4. java通过netty实现心跳机制_Netty4服务端心跳机制
  5. asciidoc html java_gradle asciidoc 使用
  6. nsi学习之 软件重复安装不可以改路径
  7. 如何把Windows 7英文系统转换为中文系统
  8. IE8,9,10下table th不显示边框解决方法
  9. 亚琛工业大学 计算机科学,德国亚琛工业大学各专业的世界排名
  10. Python——Crypto库实现公钥加密私钥解密