请回答c语言-初识c语言(上)【入门】

  • 1.为什么我们要学习c语言?
  • 2.什么是C语言
  • 3.第一个C语言程序
  • 4.利用编译器
  • 5.数据类型
  • 6.常量与变量
    • 6.1变量的定义方法
    • 6.2局部变量和全局变量
    • 6.3使用变量
    • 6.4 变量的作用域和生命周期
    • 6.5常量
  • 7. 字符串+转义字符
    • 7.1字符串
    • 7.2 转义字符
  • 8.注释
  • 9.选择语句
  • 10.循环语句
  • 总结

1.为什么我们要学习c语言?


C生万物
编程之本
长远IT职业发展的首选
C语言是母体语言,是人机交互接近底层的桥梁
学会C/C++,相当于掌握技术核心
知识点一竿子打通。
IT行业,一般每10年就有一次变革
近50年间,在TIOBE 排行榜中,C/C++位置长期霸占前三名,没有丝毫撼动,可谓经典永不过时!


2.什么是C语言

语言是交流与沟通的工具,
人与人之间交流,我们可能会用到中文,英文,韩文等等,
而人和计算机交流会用到计算机语言(C/C++/Java/Python…),
C语言就是一种最常见的计算机语言.

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

3.第一个C语言程序

经典hello world

#include <stdio.h>
int main()
{printf("hello world\n");
return 0;
}

注意 main函数有且仅有一个
main 函数是程序的入口
程序是从main函数的第一行开始执行的

int main函数结束后会返回一个返回值
0就是一个整数,就是main函数返回的
以往用void main 现在不太用这么写了,请不要这么写

4.利用编译器

现在我们常用的集成开发环境是Visual Studio,它能够实现很多功能,强推一波

但是学习c语言的话可能会遇到scanf函数不安全报错问题需要这样一句话

#define  _CRT_SECURE_NO_WARNINGS 1

具体方法可以参照这个博客完美解决
VS2019解决输入scanf报错问题方法(保姆级)

5.数据类型

凡是计算机语言肯定要有用来表示数据类型的符号,c语言中也存在着许多类型,目的就是为了更加丰富地表达生活中的各种值。

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

为什么要细化那么多的类型呢?

每个类型有不同大小,怎么来看大小呢?
利用关键字sizeof 它的单位是字节

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);

6.常量与变量

生活中的有些值是不变的,有些值是可变的。
不变的值,C语言中用常量的概念来表示,变的值C语言中用变量来表示。
变量在创建的时候我们应该初始化,不初始化是一种非常不好的代码风格。

6.1变量的定义方法

int age = 18;
float weight = 150.1;
char ch = 'a';

6.2局部变量和全局变量

在代码块内部定义的是局部变量
在代码块外部定义的是全局变量

一般在括号内部的就是局部变量

int main()
{int a=10;{int b=20;//局部}
return 0;
}

局部变量和全局变量的名字冲突时,局部优先

6.3使用变量

使用变量的话我梦以最简单的例子来看。

利用scanf方法和printf方法实现变量的输入输出。

#include <stdio.h>
int main()
{int m = 0;
int n = 0;
int sum = 0;
printf("输入两个数:");
scanf("%d%d", &m, &n);
sum = m + n;
printf("sum = %d\n", sum);
return 0;
}

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

作用域

局部变量的作用域应该是其所在的作用范围,出了作用域就用不了了

可以看到g是在任何地方都可以打印的

a可以在main函数里面打印

而b只能在大括号里面打印

总结:

  1. 局部变量的作用域是变量所在的局部范围。

  2. 全局变量的作用域是整个工程。

生命周期

  1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
  2. 全局变量的生命周期是:整个程序的生命周期。

6.5常量

C语言中的常量和变量的定义的形式有所差异。

C语言中的常量分为以下以下几种:

  • 字面常量

  • const 修饰的常变量

  • define 定义的标识符常量

  • 枚举常量

  • #include <stdio.h>
    //举例
    enum NBA//枚举需要先声明枚举常量
    {//以下就是枚举该类型可能的取值LEBRON,//0CURRY,//1KD,//2
    };//字面常量
    int main()
    {//字面常量
    3.14;//字面常量
    1000;//字面常量//const 修饰的常变量
    const float pai = 3.14; //这里的pai是const修饰的常变量
    //const修饰变成常量是不能直接修改的!//#define的标识符常量
    #define SCORE 100
    printf("score = %d\n", SCORE);//枚举常量
    printf("%d\n", LEBRON);
    printf("%d\n", CURRY);
    printf("%d\n", KD);
    //注:枚举常量的默认是从0开始,依次向下递增1的 0,1,2...return 0;
    }
    

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

7. 字符串+转义字符

7.1字符串

"hello world"

这种由双引号引起来的一串字符称为字符串字面值,或者简称字符串。

转义字符\0
字符串的结束标志是一个\0 的转义字符。

以下的代码可以看到区别:

int main()
{char arr1[]="abc";
char arr2[]={'a','b','c'};printf("%s\n",arr1);printf("%s\n",arr2);
}

输出的内容如下

这是因为arr1中的定义方法自动有’\0’.
正因为有\0所以在打印arr1时,\0是字符串的结束标志,arr1在打印完abc之后就结束了.
而arr2的定义方式因为不知道什么时候停下来,因此出现了其他字符.

改成char arr3[]={'a','b','c','\0'};即可

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

比如这个arr1 看出有3 个字符 而arr2则因为没有\0而输出了随机的15

7.2 转义字符

举个例子:当同时打多个?时,有些编译器会解释为三字母词(不重要)

可以用转义的 \ 解决

再举个例子:

1:在屏幕上打印一个单引号’,怎么做?
2:在屏幕上打印一个字符串,字符串的内容是一个双引号“,怎么做?

#include <stdio.h>
int main()
{printf("%c\n", '\'');
printf("%s\n", "\"");
return 0;
}

8.注释

  1. 代码中有不需要的代码可以直接删除,也可以注释掉
  2. 代码中有些代码比较难懂,可以加一下注释文字
  3. 加太多也不好,会显得冗余和不专业

比如:

注释有两种风格:

  • C语言风格的注释 /* xxxxxx */

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

9.选择语句

#include <stdio.h>
int main()
{int melon = 0;
printf("你这瓜保熟吗?选择熟(1) or你TM找茬是吧(0):");
scanf("%d", &coding);//输入
//判断
if(melon == 1)
{prinf("我开水果摊能卖你生瓜蛋子\n");
}
else
{printf("华强撒日朗\n");
}
return 0;
}

10.循环语句

有些事必须一直做,比如日复一日的学习和代码练习。
还比如:

C语言中如何实现循环呢?
while语句
for语句(之后)
do … while语句(之后)

//以下给出while循环的实例

#include <stdio.h>
int main()
{printf("学习一项技能\n");
int hour = 0;
while(hour<=10000)
{hour++;
printf("我要继续努力挤时间练习\n");
}
if(hour>10000)
printf("学成出师了\n");
return 0;
}

总结

本版块内容只是简单的介绍c语言初级知识,内容不细致,后面会分成逐个版块细细记上笔记分享。感谢支持!
由于文章太长容易读不下去,后面的内容会分享到下一个博客中,后期会补上链接
后面的主要内容是:

函数
数组
操作符
常见关键字
define 定义常量和宏
指针
结构体

请回答c语言-初识c语言(上)【入门】相关推荐

  1. 新手上路C语言初识C语言(其二)

    文章目录 新手上路C语言初识C语言(其二) 导入 一.变量的作用域和生命周期 二.常量 字面常量 const修饰的常变量 #define定义的标识符常量 枚举常量 三.字符串 四.转义字符 五.注释 ...

  2. 0基础玩转C语言—初识C语言(上)

    初始C语言(上) 一.开门见山 1.1.第一个C语言程序 1.2.程序解剖 二.数据类型 2.1.为什么引入数据类型? 2.2.C语言中有哪些基本数据类型? 2.3.每种类型的大小是多少? 2.4.数 ...

  3. C语言-初识C语言(4)

    11.常见关键字 auto    break    case   char  const   continue   default   do   double   else   enum   exte ...

  4. ea=1是什么意思 c语言,初识C语言1

    什么是C语言 人与人之间的沟通须要语言,而人与计算机之间沟通也须要语言,计算机只能识别这种由0和1组成的二进制,因此最开始人与计算机是用二进制构成的机器语言沟通的,可是因为其复杂,人们便用符号来定义二 ...

  5. C语言——初识C语言(define定义常量和宏,指针,结构体)

    1.1define定义常量和宏 define    定义符号(定义常量) //define 定义标识符常量 #define MAX 1000 define    定义宏(宏是有参数的,参数用来替换) ...

  6. C语言入门(初识C语言)

    C语言入门(初识C语言) 前言 什么是C语言? 为什么选择C语言? 计算机语言的发展 高级计算机语言中的经典:C语言 初识C语言(正片开始) 一.第一个C语言程序(你好,C语言) 1.1 #inclu ...

  7. C语言入门——初识C语言

    C语言入门--初识C语言 一. C语言的起源 二. 选择C语言的原因 (一). 设计特性 (二). 高效性 (三). 可移植性 (四). 强大而灵活 (五). 面向程序员 (六). 缺点 三. C语言 ...

  8. 【零基础入门C语言】 初识C语言—1

    声明:[零基础入门C语言]系列是博主对B站up主:鹏哥C语言所分享教学内容的学习笔记,并且该系列每篇博客都会将博主听课后总结的纸质版笔记附于文末,供大家参考. 初识C语言章节的内容在于初步了解C语言的 ...

  9. Go从入门到精通(一)go语言初识

    一.第一个go程序 package mainimport ("fmt" )func main(){fmt.Println("hello world") } 对于 ...

最新文章

  1. hdu4642博弈(矩阵)
  2. 信息系统项目管理师:第9章:项目人力资源管理-章节重点
  3. MyBatis 源码解读-environmentsElement()
  4. 【qduoj - 夏季学期创新题】最长公共子串(水题暴力枚举,不是LCS啊)
  5. parser.add_argument验证格式
  6. 在Java中使用instanceof的性能影响
  7. ubuntu mysql环境变量配置_MySQL在Win10与Ubuntu下的安装与配置
  8. Sharepoin学习笔记—架构系列--Sharepoint的网页(Page),网页解析(Parsing)与解析安全处理(Security)...
  9. 配置 .vimrc 解决 Vim / gVim 在中文 Windows 下的字符编码问题
  10. 仿微信朋友圈图片按下效果
  11. 「代码随想录」746. 使用最小花费爬楼梯【动态规划】力扣详解!
  12. W12Scan:一款功能强大的网络安全资产扫描引擎
  13. pb 打印dw footer 不打印_喷墨打印机怎样加墨 打印机加墨方法及不识别墨的处理方式...
  14. 深入浅出MFC 书中源码Frame1(C++11)
  15. 机械加工工艺师手册_这些机械加工工艺,你见过吗?
  16. 计算机信息技术奥赛实践,高中信息技术奥赛一本全
  17. SQL 当天在当月、当季度、当年的时间进度
  18. android听筒+扬声器自动切换,Android 听筒扬声器切换(多机型兼容、兼容5.0以上)...
  19. 基于51单片机霍尔汽车自行车码表测速测里程显示proteus仿真原理图PCB
  20. 手机静音状态下也让播出声音

热门文章

  1. 2021年5月国产数据库排行榜:“华为高斯模式”取得成功,阿里OPA持续攀升
  2. LeetCode 2106. 摘水果
  3. word文字怎么竖向排列_word文档如何将文字竖着排列?word文字排列技巧
  4. PhotoShop CS5 EXTENED(12.0 x64)快捷键汇总
  5. JQuery制作图书简介页面
  6. ps新手学——修改文字
  7. java.text.ParseException: Unparseable date: 2015-06-09 hh:56:19
  8. 债券:几个重要知识点
  9. 关于“标题TITLE、关键词KEYWORDS、描述DESCRIPTION”写法的优化
  10. NSTimer 暂停 继续 停止 的方法