IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 初识C语言(上) -> 正文阅读

[C++知识库]初识C语言(上)

目录

什么是c语言

第一个c语言程序

数据类型

变量,常量

字符串+转义字符+注释

选择语句

循环语句

函数

数组


一、什么是C语言

C语言是一门通用的计算机语言,广泛的用于底层的开发。计算机语言,顾名思义就是人和计算机交流的语言,目前常见的计算机语言有C\C++\JAVA\Python等。计算机语言是从机器语言到汇编语言,再到现在的高级语言逐步发展过来的,机器语言也可以称为二进制语言,是由一串0,1组成的二进制序列,但是编写起来十分困难,后来人们为了方便,便创造了一些助记符,构成了汇编语言,但是编写起来仍然不方便,再往后发展便有了现在的高级语言。

二、第一个C语言程序

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

在这段代码中,main函数是整个程序的入口,一定要有main函数,并且一个工程中,有且仅有一个main函数。printf是库函数中的输出函数,想要使用库函数就需要提前打招呼,引用头文件stdio.h。

三、数据类型

我们写程序是为了解决生活中的问题,所以就要有描述生活中问题的能力。比如需要描述价格,价格中就会有小数比如15.6元,描述年龄就会有整型。所以就引用了数据类型这一概念。

常见的数据类型有char-字符数据类型、short-短整型、int-整型、long-长整型、longlong-更长的整型、float-单精度浮点型、double-双精度浮点型。介绍完数据类型后,又有一个问题是,为什么同样都是整型,但又会分为整型,长整型,短整型这些的?我们可以用sizeof这样的操作符直观的感受出来:

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));
return 0;
}

Ctrl+F5 运行后结果如下

?sizeof是计算类型或变量所占空间大小的一个操作符,他的单位为字节,所以可以看到不同的数据类型所占内存的大小也是不一样的,为了节省内存,用合适的内存大小描述合适的内容,所以有了不同的数据类型。

说到单位,计算机中最小的单位是比特 1byte=8bit 1kb=1024byte 1mb=1024kb 1gb=1024mb 等

四、变量,常量

变量

在生活中,有一些值是不变的(如:圆周率,性别,血型,身份证号)

还有一些值是可以改变的(如:年龄,身高,体重)

在C语言中,不变的值用常量来表示,变化的值用变量来表示。

创建一个变量的格式通常为:? 类型? ? ? 变量名? ? 赋值

比如描述年龄为24: int age = 24;

描述体重为75.6kg:? ?float weight = 75.6;

变量又分为局部变量和全局变量,全局变量是在{}外部定义,局部变量是在{}内部定义,当局部变量名字和全局变量名字相同时,局部变量优先,但不推荐名字相同。

用一段两个数求和的代码来熟悉变量的使用

#include<stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
scanf("%d %d",&num1,&num2);
int sum = 0;
sum =num1 + num2;
printf("sum = %d\n",sum);
return 0;
}

依旧先把程序的主体写出来,先从main函数进入,之后因为要输入两个数字,所以就要先定义连个数字num1和num2,因为都为整型,所以用int类型定义,之后用scanf函数(输入函数)输入两个数字,因为要求两个数的和所以也要定义一个数sum为整型来存放两个数的和,最后用printf(输出函数)打印出来,并且注意用库函数时要引用头文件stdio.h

局部变量的作用域:就是变量所在的局部范围。局部变量的生命周期:进入局部范围生命开始,出局部范围生命结束。

全局变量的作用域:整个工程。全局变量的生命周期:程序的生命周期。

常量

C语言中的常量大致分为:

1、字面常量:例如3.14、10、'a'这样称为字面常量,没有什么特殊含义但是真实存在。

2、const修饰的常变量:常变量顾名思义实际上还是一个变量,只不过用const修饰为常量不可更改,通俗的理解为一位美籍华人,虽然是美国国籍,但本质还是一名中国人。接下来用一段代码直观的感受下。

这里可以看到此时num还是一个变量,在赋值后可以更改。

?当用const修饰后,变为了常量,出现了报错。

再用一段代码直观的感受下为什么说常变量的本质还是变量?

数组必须用常量表示,代码中将n变量用const修饰为常变量后表示数组出现了报错,因为常变量的本质还是变量,并不是常量,无法表示数组。?

3、#define定义的标识符常量

4、枚举常量

枚举常量就是可以一一列举的常量,比如性别。

?五、字符串+转义字符+注释

1、字符串

由双引号引起来的一串字符称之为字符串,例如:"hello,world\n"就是一个字符串。

注意字符串的结束标志是\0的转义字符。在计算字符串长度的时候\0是结束标志,不算作字符串内容。从一段代码直观的感受一下:

数组arr2中没有加\0转义字符作为结束标志,就会默认后面还有字符,于是出现了乱码的现象,而字符串本身就后面隐藏了\0作为结束标志,所以没有出现乱码。

2、转义字符?

转义字符顾名思义就是转变意思,如何在屏幕上输出c:\code\test.c呢?

会看到程序运行起来会缺失一部分,这是因为代码中有一些转义字符。下图是一些常见的转义符:?

?所以可以用\\表示反斜杠,防止被解释为转义序列符。

?在这里解释下\ddd和\xdd这两个转义字符

?\130是三个八进制数字转化为十进制数字就是1*8^2+3*8^1+0*8^0=88。88所对应的ASCII表中的正是X,所以输出了X。\xdd同理为16进制数字。

3、注释

在代码中有一些需要删除的可以注释掉,还有一些比较难以理解的代码可以通过注释一些中文用以解释说明。

六、选择语句

#include<stdio.h>
int main()
{
int coding = 0;
printf("敲代码吗:1/0"\n);
scanf("%d",&coding);
if(coding == 1)
{
printf("拿到好offer\n");
}
else
{
printf("拿不到好offer\n");
}
return 0;
}


具体的选择语句在后面会详细的讲到.

七、循环语句

循环语句大概有while循环,for循环,do...while循环。这里只是点到为止说一下while循环。

#include<stdio.h>
int main()
{
int line = 0;
printf("好好写代码\n");
while(line < 30000)
{
printf("继续写代码\n");
line ++;
}
if(line == 30000)
{
printf("拿到好offer\n");
}
return 0;
}

进入while循环时,当line小于30000时一直在循环,并且每循环一次line会+1,当不满足line<30000时便会跳出循环。

八、函数

函数的特点就是简化代码,代码复用。

这是普通代码来进行两个数的求和?

?

这是利用Add函数进行两个数求和,从代码量上可能感觉用函数较为复杂,但是当程序量大的时候,可以随时调用Add函数来使用,而不至于需要求和时再写一次代码。

九、数组

数组是一组相同类型元素的集合。例如如果定义1-10的数字每次都是int a =0,int b = 0.......会很繁琐可以使用数组直接定义int arr[10] ={1,2,3,4,5,6,7,8,9,10}

?

数组的访问是通过下标的方式来访问的,第一个元素的下标为0,因此从第一个元素开始依次访问a[0],a[1].........a[9]不存在a[10]。?

?

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-28 08:51:02  更:2021-08-28 08:51:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:53:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码