初阶C语言(一)-初识C语言

这篇具有很好参考价值的文章主要介绍了初阶C语言(一)-初识C语言。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

抱歉啦,发完第一篇之后断更这么久,主要是因为发完上一篇之后,就进入了期末周,一直在复习,就没有找到合适的时间来更新,现在也放假啦,暑假让我们一起努力学习吧!按照我的规划,会从C语言开始学起,主要以更新学习笔记为主,有任何不对的地方,欢迎大家批评指正。俗话说:“种一棵树最好的时间是十年前,其次是现在。”让我们把握当下,共创未来!

一.什么是C语言

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

二.第一个C语言程序

第一个C语言程序:在屏幕上打印"Hello World"

#include <stdio.h>//头文件
//main - 主函数(程序的入口,写的C语言代码都是从main函数的第一行开始执行的)
int main()//int-整型
{
	printf("Hello World!");
	//printf是库函数 - C语言标准库中提供的一个现成的函数,可以直接使用,功能是在屏幕上打印信息
	//库函数的实现需要包括库函数-printf需要用到的头文件是:stdio.h
	return 0;
}//{}-函数体

:1.main函数是必须有的,并且有且只有一个,千万不要写成mian
2.C语言中所有的字符都必须是英文的(特别是分号;和引号’’ ‘’)

三.数据类型

常见的数据类型:
char - 字符数据类型
short - 短整型
int - 整型
long - 长整型
long long - 更长的整型
float - 单精度浮点数(浮点数就是小数的意思)
double - 双精度点数

接下来,让我们一起通过一段代码来了解一下每一种数据类型的大小

int main()
{
	//%d-以十进制的形式打印整数
	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;
}

初阶C语言(一)-初识C语言,c语言,开发语言
那么,这里的1、2、4…的这些数字又代表着什么含义呢?
这里,我们需要引入计算机中常见的一些单位:bit(比特位)、byte(字节)、KB、MB、GB、TB、PB等等。(8bit = 1 byte 1 KB = 1024 byte…)而上图所示的数字所对应的单位为字节(bite)
C语言标准:sizeof(long long)>=sizeof(long)>=sizeof(int)>sizeof(short)>sizeof(char)

四.变量、常量

在我们的日常生活中,存在一些变化的量(比如:身高、体重、薪资…)同样,也存在着一些不变的量(例如:身份证号码、圆周率…)C语言中,将这些不变的量称为常量,将变化的量称为变量。

1.定义变量的方法

定义变量的基本格式为:数据类型 变量名
示例如下:

    int age = 20;
	float weight = 50.3f;//此处如果是double型,则不需要加f
	char ch = 'a';

上述代码在定义变量的同时,也给变量赋了值,这样可以让程序变得简便。

2.变量的命名

变量的命名也是有讲究的,规则如下:
(1).只能由字母、数字和下划线(_)组成
(2).不能以数字开头
(3).长度不能超过63个字符
(4).变量名中区分大小写
(5).变量名中不能使用关键字

读到这里,你肯定会好奇什么又是关键字呢?
关键词是由C语言规定的具有特定意义的字符串,通常也称为保留字,用户定义的标识符不应与关键词相同,C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。

1、数据类型关键字(12个):
(1) char :声明字符型变量或函数
(2) double :声明双精度变量或函数
(3) enum :声明枚举类型
(4) float:声明浮点型变量或函数
(5) int: 声明整型变量或函数
(6) long :声明长整型变量或函数
(7) short :声明短整型变量或函数
(8) signed:声明有符号类型变量或函数
(9) struct:声明结构体变量或函数
(10) union:声明联合数据类型
(11) unsigned:声明无符号类型变量或函数
(12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)

2、控制语句关键字(12个):
A循环语句 :(1) for:一种循环语句(可意会不可言传) (2) do :循环语句的循环体 (3) while :循环语句的循环条件 (4) break:跳出当前循环 (5) continue:结束当前循环,开始下一轮循环
B条件语句: (1)if: 条件语句 (2)else :条件语句否定分支(与 if 连用) (3)goto:无条件跳转语句
C开关语句: (1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支
D return :子程序返回语句(可以带参数,也看不带参数)

3 、存储类型关键字(4个):
(1)auto :声明自动变量 一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量) (3)register:声明积存器变量 (4)static :声明静态变量

4、其它关键字(4个): (1)const :声明只读变量 (2)sizeof:计算数据类型长度 (3)typedef:用以给数据类型取别名(当然还有其他作用) (4)volatile:说明变量在程序执行中可被隐含地改变。

虽然关键字只有以上32个,但是为了便于读者阅读你的代码,尽量要使自己的变量名取的有意义。

3.变量的分类

变量分为局部变量和全局变量
全局变量:在{}外边定义的变量是全局变量
局部变量:在{}内部定义的变量是局部变量
示例如下:

#include <stdio.h>
int b = 20;//全局变量
int a = 100;
int main()
{
	int a = 10;//局部变量
	printf("%d\n", a);
	printf("%d\n", b);
	return 0;
}

初阶C语言(一)-初识C语言,c语言,开发语言

注:当局部变量和全局变量在同一个地方使用的时候,遵循局部优先的原则。

4.变量的使用

给出一个示例:写一个代码实现两个数的相加,并输出结果。

int main()
{
	int a = 0;
	int b = 0;
	int sum = 0;
	//输入两个值
	//printf为输出函数,而scanf为输入函数
	scanf("%d %d", &a, &b);
	sum = a + b;
	printf("%d\n", sum);
	return 0;
}

初阶C语言(一)-初识C语言,c语言,开发语言
:在VS编译器中,为防止因scanf函数报错,可以在头文件之前添加#define _CRT_SECURE_NO_WARNINGS 1(放在.c文件的第一行)

5.变量的生命周期和作用域

作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
1.局部变量的作用域是变量所在的局部范围。(它所在的{}内)
2. 全局变量的作用域是整个工程。(整个工程都能用)

#include <stdio.h>
int c = 100;//全局变量
int main()
{
	int b = 10;//局部变量
	{
		int a = 30;//局部变量
		printf("%d\n", a);//a的作用域在与它最邻近的{}内
	}
	printf("%d\n", b);
	printf("%d\n", c);
	return 0;
}

初阶C语言(一)-初识C语言,c语言,开发语言

变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
1 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2. 全局变量的生命周期是:整个程序的生命周期。

6.常量

C语言中的常量和变量的定义的形式有所差异。
C语言中的常量分为以下以下几种:
1.字面常量(直接写出的值)
例如:100、3.12、5.2、‘a’…
2.const 修饰的常变量
定义的基本格式为:const 数据类型 变量名

#include <stdio.h>
int main()
{
	const int a = 10;//a为const修饰的常变量,此时a的值不能再被修改,但a在本质上还是一个变量
	printf("a = %d\n", a);
	return 0;
}

3.#define 定义的标识符常量
定义的基本格式为:#define 符号常量 常量的值

#include <stdio.h>
#define M 100//注意:这里没有分号;
int main()
{
	printf("%d\n", M);
	int a = M;
	printf("%d\n", a);
	return 0;
}

初阶C语言(一)-初识C语言,c语言,开发语言

4.枚举常量(枚举-一一列举)

#include <stdio.h>
enum Color//自定义类型
//enum是枚举的关键字
{
	//枚举常量
	Blue, //0
	Red,  //1
	Green //2
};

int main()
{
	enum Color c = Red;
	printf("%d\n", Blue);
	printf("%d\n", Red);
	printf("%d\n", Green);
	return 0;
}

初阶C语言(一)-初识C语言,c语言,开发语言
不难看出,枚举常量的值是按照从上到下的顺序,从0开始逐渐+1的

今天的学习就到这里啦,后面会继续跟新C语言的相关学习笔记,快来点赞、评论和收藏吧!文章来源地址https://www.toymoban.com/news/detail-561990.html

到了这里,关于初阶C语言(一)-初识C语言的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 初识网络(JavaEE初阶系列9)

    目录 前言: 1.网络的发展史 1.1独立模式 1.2网络互联 1.3局域网LAN 1.4广域网WAN 2.网络通信基础 2.1IP地址 2.2端口号 3.认识协议 3.1协议分层 3.2分层的作用 3.3TCP/IP五层(或四层)模型 3.4OSI七层模型 3.5网络设备所在分层 4.封装和分用 结束语: 网络的主要发展大体可以分为这四个阶

    2024年02月14日
    浏览(36)
  • HarmonyOS(二)—— 初识ArkTS开发语言(中)之ArkTS的由来和演进

    在上一篇文章HarmonyOS(二)—— 初识ArkTS开发语言(上)之TypeScript入门,我初识了TypeScript相关知识点,也知道ArkTS是华为基于TypeScript发展演化而来。 从最初的基础的逻辑交互能力,到具备类型系统的高效工程开发能力,再到融合声明式UI、多维状态管理等丰富的应用开发能

    2024年02月06日
    浏览(53)
  • 【Java EE初阶十三】网络初识

            网络发展的几个主要时期:         单机时代-局域网时代-广域网时代-移动互联网时代         随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成 业务,就有了网络互连。         网络互连: 将多台计

    2024年02月20日
    浏览(42)
  • 【C++初阶(一)】初识C++&命名空间

    📙 作者简介:  清水加冰,目前大二在读,正在学习C/C++、Python、操作系统、数据库等。 📘 相关专栏: C语言初阶、C语言进阶、C语言刷题训练营、数据结构刷题训练营、有感兴趣的可以看一看。 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误还望各路大佬指正! ✨每一次努力都

    2024年02月08日
    浏览(42)
  • 【JavaEE初阶】Tomcat安装与使用及初识Servlet

    在浏览器中搜索Tomcat,打开官方网页.Tomcat官网 点击下载Tomcat8. 点击下载压缩包. 下载好后解压缩. 解压缩后得到的目录: 下面对上述关键文件做部分解释: bin :可执行的程序/脚本.启动Tomcat就在这里. conf :配置,用xml格式表示服务器的配置,比如像修改tomcat的绑定的端口号就需要修改

    2024年02月15日
    浏览(37)
  • HarmonyOS(二)—— 初识ArkTS开发语言(下)之ArkTS声明式语法和组件化基础

    通过前面ArkTS开发语言(上)之TypeScript入门以及ArkTS开发语言(中)之ArkTS的由来和演进俩文我们知道了ArkTS的由来以及演进,知道了ArkTS具备了声明式语法和组件化特性,今天,搭建一个可刷新的排行榜页面。在排行榜页面中,使用循环渲染控制语法来实现列表数据渲染,使

    2024年02月04日
    浏览(52)
  • 【Linux初阶】基础IO - 动静态库 | 初识、生成、链接、加载

    🌟hello,各位读者大大们你们好呀🌟 🍭🍭系列专栏:【Linux初阶】 ✒️✒️本篇内容:动静态库初识,库的含义,静态库的生成与链接,gcc/g++默认链接方式,动态库的生成与动态链接,查看动态链接的方法,动静态库的加载原理 🚢🚢作者简介:计算机海洋的新进船长一

    2024年02月14日
    浏览(35)
  • 【C++初阶】八、初识模板(泛型编程、函数模板、类模板)

    ========================================================================= 相关代码gitee自取 : C语言学习日记: 加油努力 (gitee.com)  ========================================================================= 接上期 : 【C++初阶】七、内存管理 (C/C++内存分布、C++内存管理方式、operator new / delete 函数、定位new表

    2024年02月04日
    浏览(43)
  • 【JavaEE初阶系列】——网络初识—TCP/IP五层网络模型

    目录 🚩网络的发展史 🎈局域网LAN  🎈广域网WAN 🚩网络通信基础 🎈IP地址 🎈端口号 🎈协议类型  🎈五元组 🚩协议分层  🎈什么是协议分层 🎈协议分层的好处 🎈OSI七层网络模型 🎈TCP/IP五层网络模型 💻物理层 💻数据链路层 💻网络层 💻传输层  💻应用层 🎈网络

    2024年04月15日
    浏览(36)
  • 【C++初阶】第七站:string类的初识(万字详解、细节拉满)

    前言: 📍 本文知识点:string的初识 💨 个人博客: Dream_Chaser~-CSDN博客 🚩本专栏: C++ 目录 一、什么是STL 二、STL的六大组件 三、STL的缺陷 四、为什么学习string类? 五、标准库中的string类 1、string类(了解) 2、string类的常用接口说明(最常用的接口) A. string类对象的常见构

    2024年03月20日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包