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++知识库 -> 通过这14点,让你快速入门C语言(2) -> 正文阅读

[C++知识库]通过这14点,让你快速入门C语言(2)

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

5.1 字符串

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

#include <stdio.h>
#include <string.h>
int main()
{
	printf("hello bit\n");
	
	char arr1[] = "abc";//[]中是这个数组内有多少个字符,因此此处是4,因为\0算作一个字符,而字符串的结束标志是一个 \0 的转义字符。
	char arr2[] = { 'a', 'b', 'c', '\0' };//[]中是这个数组内有多少个字符,因此此处是4。
	//string length 字符串长度
	//strlen是库函数,是专门求字符串长度的函数;所以在一开始要加上#include <string.h>
	printf("%d\n", strlen(arr1));//3
	printf("%d\n", strlen(arr2));//3
	
	printf("%s\n", arr1);//%s是打印字符串,遇到\0打印自然结束
	printf("%s\n", arr2);

	return 0;
}

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

5.2 转义字符

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

#include <stdio.h>

int main()
{
    printf("c:\code\test.c\n");
    return 0;
} 

但实际上程序运行的结果是这样的:
转义字符
这里就不得不提一下转义字符了,转义字符顾名思义就是转变意思。
下面我们就来看一些转义字符:

转义字符释义
\?在书写连续多个问号时使用,防止他们被解析成三字母词
\’用于表示字符常量’
\"用于表示一个字符串内部的双引号
\\用于表示一个反斜杠,防止它被解释为一个转义序列符
\a警告字符,蜂鸣
\b退格符
\f清屏并换页符
\n换行
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示1~3个八进制的数字
\xdddd表示2个十六进制数字
  • 问题1:如何打印(are you ok??)
#include <stdio.h>

int main()
{
    printf("(are you ok??)");//这样写实际打印出来是(are you ok]
    printf("(are you ok\?\?)");//这样写实际打印出来才是(are you ok??)
    return 0;
}

附:
在ANSI C标准中,定义了9个三字母词(trigraph),三字母词就是几个字符的序列,合起来表示另一个字符。由于一些非常老式的键盘上没有[]{}#^~|这些字符,因此在C语言中规定了9个三字母词与其对应。

三字母词对应的字符
??=#
??([
??)]
??<{
??>}
??//
??!|
??’^
??-~
  • 问题2:如何打印’
#include <stdio.h>

int main()
{
    printf("%c\n",'\'');
    return 0;
    //%c - 打印字符,且是单个字符
    //%d - 打印整型
    //%f - 打印浮点数(小数)
    //%s - 打印字符串
}
  • 问题3:如何打印"
#include <stdio.h>

int main()
{
    printf("%s\n","\"");
    return 0;
}
  • 问题4:如何打印c:\code\test.c
#include <stdio.h>

int main()
{
    printf("c:\code\\test.c");//\t是一个转义字符,为了不让\是\t中的\,则需在\前再加一个\,以此来转义\,而\c本身就不是转义字符,因此不用在\c的\前加一个\
    return 0;
} 
  • 问题5:\a的用法
#include <stdio.h>

int main()
{
    printf("\a");
    return 0;
}
  • 问题6:\b的用法
    退格符的用法
  • 问题7:\f的含义
    终端在输出‘\f’之后内容之前,会将整个终端屏幕清空,然后在输出内容。由于现阶段用的还不是很多,所以不用过度纠结,先大致了解,等到学到Linux后就可以理解了。
  • 问题8:\n的用法
    换行的用法
  • 问题9:\r的用法
    此处\r所代表的回车与键盘上我们所用的回车键是有所区别的。\r的效果是输出回到本行行首,结果可能会将这一行之前的输出覆盖掉,也就是说,\r (要与\n区别开来,\n是换行的,而\r是不换行的)后边的数字替代这一行最开始的相等数目的数字。
#include <stdio.h>

int main()
{
    printf("123456\r789");//打印出来是789456
    return 0;
}
  • 问题10:\t的用法
    水平制表符的用法
  • 问题11:\v的用法
#include <stdio.h>

int main()
{
    printf("123\v456");
    return 0;
    //打印出来是
    //123
    //   456
}
  • 问题12:\ddd的用法
    反斜杠ddd的用法
    \ddd中的ddd表示1-3个八进制的数字。130这个8进制数字转成10进制数字,作为ASCII码值,表示的字符就是‘X’。

附:
8进制转换成10进制


ASCII码表

  • 问题13:\xdd的用法
    反斜杠xdd的用法
    \xdd中的dd表示2个十六进制数字。30这个16进制数字转成10进制数字,作为ASCII码值,表示的字符就是‘0’。
    附:
    16进制转换成10进制

5.3 注释

  • 代码中有不需要的代码可以直接删除,也可以注释掉
  • 代码中有些代码比较难懂,可以加一下注释文字

注释有两种风格:

  • C语言风格的注释 :/*xxxxxx*/(缺陷:不能嵌套注释)
  • C++风格的注释 //xxxxxxxx(推荐,可以注释一行也可以注释多行)

6. 选择语句

#include <stdio.h>

int main()
{
    int input = 0;
    printf("要好好学习吗?(1/0)");
    scanf("%d", &input);
    
    if(input == 1)
    {
        printf("好offer\n");
    }
    else if(input == 0)
    {
        printf("卖红薯\n");
    }
    
    return 0;
}

7. 循环语句

C语言中如何实现循环呢?

  • while语句
  • for语句(后期讲)
  • do … while语句(后期讲)
#include <stdio.h>

int main()
{
    int line = 0;
    while (line < 20000)
    {
        printf("写代码:%d\n", line);
        line++;
    }
    if (line == 20000)
        printf("好offer\n");
    return 0;
}

8. 函数

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

9. 数组

9.1 数组定义

要存储1-10的数字,怎么存储?
C语言中给了数组的定义:一组相同类型元素的集合

int main()
{
    int arr[10] = {1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放10个元素
    
    int arr1[10] = {1,2,3};//不完全初始化,只初始化前3个,剩余的初始化为0
    int arr2[10];//这样写也是可以的,只是数组中的值是随机值
    int arr3[] = {1,2,3};//这样写也是可以的,[]中默认是3
    int arr4[];//这样写是错误的

    int n = 10;
	int arr[n];//C99标准中  变长数组,允许数组在创建的时候,数组大小用变量指定,但是这种数组不能初始化
    
    return 0;
}

9.2 数组的下标

C语言规定:数组的每个元素都有一个下标,下标是从0开始的。数组可以通过下标来访问。

#include <stdio.h>

int main()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	printf("%d\n", arr[8]);//打印出来是9
	return 0;
}

附:

int arr[10] = {1,2,3,4,5,6,7,8,9,10}12345678910
下标0123456789

9.3 数组的使用

#include <stdio.h>

int main()
{
    int arr[10];
	//输入0~9
	int j = 0;
	while (j < 10)
	{
		scanf("%d", &arr[j]);
		j++;
	}

	//输出0~9
	int i = 0;
	while (i < 10)
	{
		printf("%d ", arr[i]);
		i++;
	}

	return 0;
}

附:

通过这14点,让你快速入门C语言(1)

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

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