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语言-基础篇(Ⅰ)

目录

前言:

一、数据类型与打印数据

1.1 数据类型的使用

1.1.1 数据空间的创建

?1.1.2?打印数据

1.2?计算数据所占空间的大小

1.3?补充:计算机存储单位换算

二、变量与常量

2.1 变量

2.2 常量

?三、字符串、转义字符、注释

3.1 字符串

?3.2?转义字符

?3.3 注释


前言:

? ? ? ?C语言是一种面向对象、较为抽象的语言,在学习过程中主要思考的是思路,怎样如何完成一个过程,又C语言是一种偏向于底层的语言,所以解决问题要从最基础的步骤开始,就像把做题思路每一步都写下来一样,既要晰,又要便于表达。

? ? ? ?虽然C语言的语法限制不是非常严格,对变量等限制并不严格,但是编写代码时我们仍需要有一定的规范性,不仅使代码美观,而且也增强了阅读性和可理解性。

? ? ? ? 下面,让我们来见见第一个代码:

#include<stdio.h>

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

以上代码执行的操作是,打印hello world,并换行。

解析代码:

(1)#include<stdio.h>为引用库函数;

(2)int main()为代码运行入口,其返回值0,为int整数类型?;

(3)printf("")是调用库函数中的打印函数,执行打印“hello world”的命令;其中“\n”为换行命令。

?注意:

(1)一个代码中仅可包含一个main函数,否则编译程序无法进入并执行代码。

(2)代码中return 0与main函数前的int是一起使用的。虽然有void main的形式,但是已经是一种过时的写法了,而且可能会引发一些问题。

(3)用<>号表示引用的库函数,有些时候会用""号来引用。区别在于,<>常用作引用已经发布在网络上常用的库函数,而""用作引用自己写的作为的库函数。

?了解了这些,那么开始正式的学习吧!

一、数据类型与打印数据

引:生活中我们常用各种数字符号来表示各种事物,C语言也一样,它提供了多种数据类型让我们来选择使用。

下面是几个常见的数据类型:

表1_1 数据类型及信息
名称打印符号所占空间大小(单位:字节)
char字符数据类型%c1
short短整型%d2
int整型%d4
long长整型%ld4
long long更长整型%lld8
float单精度浮点数%f4
double双精度浮点数%lf8

说明:

(1)数据类型分无符号型(unsigned)与有符号型(signed),有需要可提前了解

(2)C语言标准规定,long数据类型大小>=int数据类型大小

1.1 数据类型的使用

? ? ? ?我们有了数据类型,那么就可以使用它们了。如何使用呢?那就要考考你数学知识了,在C语言中的整形就是数学中说的整数,而浮点型就是小数;当然,字符型并不在数字中,它是a、b、c等字母以及一些符号,如!、?等。

1.1.1 数据空间的创建

? ? ?? 知道了一个事物所属的数据类型,现在就该将它表示出来了。表示一个数据,首先就要确定它的类型,确定申请空间大小,然后再给数据命名和赋值(创建变量时赋值也称为初始化)。

代码1_1:

#include<stdio.h>

int main(){
char ch='A';
float weight=50.0;
int number=100;
return 0;
}

说明:以上代码即为创建某一种数据类型的变量,数据类型+数据名称+=+初始化

?1.1.2?打印数据

? ? ? ?创建好一个数据类型后,接下来就是如何使用了,加减乘除均可,下面我们先了解如何打印数据。

代码1_2:

#include<stdio.h>

int main(){
char ch='A';
float weight=50.0;
int number=100;

printf("%c\n",ch);
printf("ch=%c\n",ch);
return 0;
}

以上代码执行效果:

A

ch=A

?说明:

打印数据所使用的代码函数为printf函数。从上面代码运行结果来看,是否有所发现呢?

printf函数的使用即:printf("? ? ? " ,? ? ? );其中引号内为打印的内容,只要输入合法且没有一些特殊符号均可打印;而引号后,则是需要打印的变量,与打印符号配对使用。

? ? ? ? 如果条件允许,可以尝试打印剩下几个数据。

补:

? ? ? ?printf函数在打印浮点数小数时,如果没有规定,通常打印为小数点后六位,那么然后规定呢?如下:

#include<stdio.h>

int mian(){
float pai=3.14;
printf("%3.1f\n",pai);
return 0;
}

(%3.1f)说明:

(1)3? ->? 打印整数的位数:若整数位数小于3,则左空位补充;若大于3,则照常打印;

(2).1 ->? 打印小数的位数:若小数位数小于1,则小数点后补0;若大于1,则四舍五入。

1.2?计算数据所占空间的大小

代码1_3:

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

说明:使用库函数中的sizeof函数,即可求得该数据类型所占空间的大小了,见图1_1。

1.3?补充:计算机存储单位换算

? ? ? ? 生活中常见的单位有比特位bit、字节byte、kb、mb和gb,除外还有tb、pb......这些单位的进制,除bit与byte为八进位(8bit=1kyte),后均为1024进位(1024byte=1kb...)。

二、变量与常量

2.1 变量

2.1.1 定义

(1)局部变量:定义在代码块{}内的变量;

(2)全局变量:定义在代码块{}外的变量。

说明:

i)局部、全局变量建议不要相同,虽然合法,但容易产生误会,或者产生bug;

ii)局部、全局变量同名时,局部变量优先。

?2.1.2 变量的使用

输入数据-使用输入函数scanf("? ?",? ? ),引号内为输入数据的类型表示,类似于打印字符,引号后则为变量名称,且必须加上取地址符号&。

?2.1.3 作用域和生命周期

作用域:

(1)局部变量:仅在所在代码块内作用;

(2)全局变量:整个代码文件,

? ? ? ? ? i)如果需要在不同文件使用,需要提前声明:extend(int ~);

生命周期:

(1)局部变量:进入作用域,到出作用域;

(2)全局变量:整个程序。

2.2 常量

2.2.1 字符常量(单纯的数字)

2.2.2 const修饰的常变量

代码2_1:

#include<stdio.h>

int mian(){
const int num=4;
return 0;
}

说明:const修饰表示该变量有了常属性,则num为常变量,后续num的值不可以再被赋值

?2.2.3 #define定义的标识符常量

代码2_2:

#include<stdio.h>

#define Max 10;

int main(){
printf("%d\n",Max);
return 0;}

其中,Max即为常量,且数值为10.

2.2.4 枚举常量

? ? ? ?枚举,即一一列举,如性别、三原色、星期等。

? ? ? ?枚举关键字:enum。

代码2_3:

#include<stdio.h>

enum Sex {
	MALE,
	FEMALE,
	SECRET,
};

int main() {
	printf("%d", MALE);
	return 0;
}

说明:代码2_3中enum Sex就是一次枚举,其中枚举常量均有个各的数值,由上到下,从0开始计数。

?2.2.5 补充:数组

创建数组:数据类型? arr[ ]?= {? };? ,其中?[ ]内为数组元素个数,必须为常数,{ }内为数组中元素。

?三、字符串、转义字符、注释

3.1 字符串

定义:由“”双引号引起的一个或多个字符;

字符串所占存储空间大小:字符数+1(“\0”);

打印字符串符号:%s。

代码3_1:

#include<stdio.h>

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

运行结果:

?说明:

(1)数组arr1中用双引号引用的效果:"abc"<==>{'a','b','c','\0'}

(2)打印字符串时常以‘\0’为结束标志,换句话说,如果没有‘\0’,则程序会一直运行,直到‘\0’为止。

?补:

库函数<string.h>为字符串操作函数库,其中的strlen函数,用于计算字符串的长度的,也是以“\0”为结束标志。例如:strlen(arr1),则其值为3,可自行验证。

?3.2?转义字符

定义:将数字或符号改变其原本含义,如“\0”、“\n”......

以下是较常见的转义字符:

图3_1
\'用于表示字符常量'
\"用于表示字符常量"
\\用于表示一个反斜杠,防止被解析为一个转义序列符
\a警告字符,蜂鸣
\b退格符
\f进纸符,表示换页,将当前位置移到下页开头
\n换行
\r回车
\t水平制表符(大空格),tab键
\v垂直制表符
\ddd表示1~3个八进制数字,如\10=8,\110...
\xdd

表示2个十六进制数字,如\x30...

补:

strlen("c:\test\32\test.c")其中字符串长度为13.

(1)转移字符为一个字符长度

(2)"\32",表示2个八进制数,表示其对应十进制数作为ASCII码值对应的字符

(3)ASCII表

?3.3 注释

(1)代码中不需要的内容,可删,可注释

(2)难懂的代码需要注释解释

(3)注释符号://(注释内容)或者/*(注释内容)*/?

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-17 11:49:20  更:2021-10-17 11:49:37 
 
开发: 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/24 3:32:17-

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