我与C语言二周目邂逅vlog—1.熟悉而又陌生-初识C语言

如题,在下是一名大二学生,希望改过自新,重新学习C语言(同时也在学习数据结构,希望各位大佬多多指教)

1.C语言的历史

C语言最初作为Unix系统的开发工具而发明的。如今成为一种高级语言,可谓C生万物

2.编译与链接

C语言代码是放在.c为后缀的文件里,.c为后缀的文件称为源文件,.c本身就是文本文件,无法直接运行,所以要得到最终运行的可执行程序,中间要经过编译链接两个过程。

3.VS项目的创建

打开VS时需要新建项目,新建项目选择空项目,然后可以给项目取一个名称,再选择一个文件路径来保存这个项目

3.1头文件

以xxx.h为代表,主要用于函数声明

3.2源文件

以xxx.c为代表,用于编写代码实现函数

4.第一个c程序

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

运行结果:

5.程序解析

5.1main函数

注意不要写成mian哦

1.main函数是程序的入口
2.main函数有且只有一个
3.一个项目里不管有多少.c文件,但是main函数只能有一个(main函数是程序的入口)

5.2printf函数

printf是一个库函数,对应的头文件是#include<stdio.h>,它的功能是在标准输出设备(一般指屏幕)上进行信息打印。上面使用printf函数打印了一串字符串。只要想打印一串字符就将它放进双引号内并传递给printf函数,printf函数可以将这串字符串打印到屏幕上

5.3头文件

这个头文件的#include是预处理,是用来包含头文件的。这个"<>"括号里的的stdio.h是一个,头文件名,.h后缀代表头文件,stdio是英文 (standard(标准) input(输入) output(输出)) 的缩写,全名“standard input output(标准输入输出)”,所以每个被调用的标准输入输出函数都会通过该头文件里对应的函数声明到库文件(标准库)中找到函数的定义并使用。#include<stdio.h>里的“<>“表示是标准库里的头文件。#include“stdio.h”表示个人创建的头文件,如果调用一个函数会先到个人创建的头文件里找函数声明,如果未找到,便会自己到标准库里去找。

6.字符和ASCII码

ASCII里的字符都是以0--127的十进制的数字表示,也叫编号。以编号的二进制存入内存中叫做编码,共128个字符。

只需注意一些特殊的ASCII码

1.字符A-Z的ASCII码值范围65-90
2.字符a-z的ASCII码值范围97-122
3.对应的大小写字母(a和A)的ASCII码值的差值是32
4.数字字符0-9的ASCII码值范围48-57
5.换行 '\n' 的ASCII码值是:10

7.字符串与'\0'

'1'为字符,“123”是字符串

字符串可以理解为多种字符串成了一串,就叫字符串。

'\0'的介绍(很重要!)

' \0 '是字符串的结束标志。

每个字符串的内容不止表面的几个字符,例如 "hello",它实际上存储了6个字符,为什么?

这是因为每创建一个的字符串结尾都有一个结束标志 ' \0 ',因为程序在内存中读取字符串时,是从前往后一个一个读取的,所以最后需要额外存储一个结束标志

举例如下:

#include <stdio.h>
int main()
{
    char str1[] = "hello";  //创建字符数组
    char str2[] = {'h','e','l','l','o'};
    printf("%s\n",str1);
    printf("%s\n",str2);
    return 0;
}

str1 打印结果为hello;

str2 打印结果为hello烫烫烫烫;烫为乱码

因为字符串自带\0作为终止符,而str2无终止符,打印完hello后会打印乱码

8.转义字符

转义字符顾名思义就是转变意义的符号,比如我有一个数字字符' 0 ',但是当我给这个字符前面加上右斜杠' \ '后,就是' \0 ',意思就从字符' 0 ' 转变为' \0 '字符串结束标志,这种就叫做转义字符。

例:'n'未转意前打印出来就是字符n,若变为'\n'则变为换行

转义字符列表

\?:在书写连续多个问号时使用,防止他们被解析成三字母词,在新的编译器上无法验证
三字母词就是??)--转换-->],??(--转换-->[

\':用于表示字符常量'
\":用于表示字符串内部的双引号
\\:用于表示反斜杠,防止字符被解释为转义字符
\a:警报(蜂鸣)
\b:退格键,光标回退一个字符,但不删除字符
\f:换页符,光标移到下一页,在现代系统上,这已经反应不出来了,行为改成类似于\v
\n:换行符
\r:回车符,光标移到同一行的开头
\t:制表符,光标移到下一个水平制表位,通常是下一个8的倍数
\v:垂直分隔符,光标移到下一个垂直制表位,通常是下一行的同一列。
下面两种转义可以理解为:字符的8进制或16进制的形式

\ddd:ddd表示1—3个八进制的数字。  如:\130   表示字符X
\xdd:dd表示2个十六禁止的数字。    如:\x30   表示字符0

  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
本火锅店点餐系统采用Java语言和Vue技术,框架采用SSM,搭配Mysql数据库,运行在Idea里,采用小程序模式。本火锅店点餐系统提供管理员、用户两种角色的服务。总的功能包括菜品的查询、菜品的购买、餐桌预定和订单管理。本系统可以帮助管理员更新菜品信息和管理订单信息,帮助用户实现在线的点餐方式,并可以实现餐桌预定。本系统采用成熟技术开发可以完成点餐管理的相关工作。 本系统的功能围绕用户、管理员两种权限设计。根据不同权限的不同需求设计出更符合用户要求的功能。本系统中管理员主要负责审核管理用户,发布分享新的菜品,审核用户的订餐信息和餐桌预定信息等,用户可以对需要的菜品进行购买、预定餐桌等。用户可以管理个人资料、查询菜品、在线点餐和预定餐桌、管理订单等,用户的个人资料是由管理员添加用户资料时产生,用户的订单内容由用户在购买菜品时产生,用户预定信息由用户在预定餐桌操作时产生。 本系统的功能设计为管理员、用户两部分。管理员为菜品管理、菜品分类管理、用户管理、订单管理等,用户的功能为查询菜品,在线点餐、预定餐桌、管理个人信息等。 管理员负责用户信息的删除和管理,用户的姓名和手机号都可以由管理员在此功能里看到。管理员可以对菜品的信息进行管理、审核。本功能可以实现菜品的定时更新和审核管理。本功能包括查询餐桌,也可以发布新的餐桌信息。管理员可以查询已预定的餐桌,并进行审核。管理员可以管理公告和系统的轮播图,可以安排活动。管理员可以对个人的资料进行修改和管理,管理员还可以在本功能里修改密码。管理员可以查询用户的订单,并完成菜品的安排。 当用户登录进系统后可以修改自己的资料,可以使自己信息的保持正确性。还可以修改密码。用户可以浏览所有的菜品,可以查看详细的菜品内容,也可以进行菜品的点餐。在本功能里用户可以进行点餐。用户可以浏览没有预定出去的餐桌,选择合适的餐桌可以进行预定。用户可以管理购物车里的菜品。用户可以管理自己的订单,在订单管理界面里也可以进行查询操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值