初识c语言(入门篇)

article/2025/10/24 11:12:00

目录

一、简单介绍C语言

二、认识一个简单的C程序

三、数据类型

四、常量、变量

五、字符串、转义字符和注释

六、选择语句

七、循环语句

八、函数

九、数组

 十、关键字

 十一、指针

       一、简单介绍C语言

1.关于C语言

       C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。

2.C语言的特点

(1)简洁的语言(2)具有结构化的控制语句(3)丰富的数据类型(4)丰富的运算符(5)可对物理地址进行直接操作(6)代码具有较好的可移植性(7)可生成高质量、目标代码执行效率高的程序

3.C语言的基本构成

数据类型、常量与变量、数组、指针、字符串、文件的输入输出、运算……

二、认识一个简单的C程序

用程序输出一个“hello world!”

#include<stdio.h>
//这是一个头文件
int main()
//main 函数是程序的入口,程序从main函数第一行开始执行
//一个工程中main(主)函数有且只有一个
{printf("hello world!\n");//printf 为输出打印的库函数,库函数的使用必须要包含一个头文件return 0;
}

三、数据类型

数据基本类型
char  字符数据类型long long  更长的整型
short  短整型float  单精度浮点数
int  整型double 双精度浮点数
long 长整型

                                 

简单介绍各数据类型

1.char(字符数据类型):char用于C或C++中定义字符型变量,只占一个字节,就是8位。

2.short(短整形):类型说明符为short int或short。所占字节和取值范围均与int相同。

3.int(整型):类型说明符为int,在内存中占4个字节。

4.long(长整型):类型说明符为long int或long,在内存中占4个字节。

5.long long(更长的整型):在内存中占8个字节。

6.float(单精度浮点数):浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数。

7.double(双精度变量):双精度浮点型,此数据类型与单精度数据类型(float)相似,但精确度比float高,占8 个字节(64位)内存空间。

用sizeof计算各数据类型占字符

 由此可以看出:char占1个字节;int占4个字节;

                          short占2个字节;long占4个字节;

                          long long 占8个字节;float占4个字节;

                          double占8个字节。

sizeof:C语言中用来计算变量或者使用类型创建变量的大小,单位是字节。

%d:打印一个10进制整数。

四、常量、变量

          “常量”的广义概念是:‘不变化的量’(例如:在计算机程序运行时,不会被程序修改的量;数学函数中的某一个量,例如每一个具体的圆的半径、直径数值;物理学中的靠近地面的重力加速度;真空中的光速数值;不同的微粒的各自的质量)换言之,常量,在计算机技术方面虽然是为了硬件、软件、编程语言服务,但是它并不是专门为硬件、软件、编程语言而引入的概念。常量可区分为不同的类型,如:25、0为整型常量,6.8为实型常量,‘a’、‘b’为字符常量。常量一般从其字面形式即可判断。这种常量称为字面常量或直接常量。

           “变量”的广义概念是:变化的量,来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念,变量可以通过变量名访问。在指令式语言中,变量通常是可变的。

常量

  •  字面常量
  • const常量
  • #define常量
  • 枚举常量

 对各常量的代码演示

int main()
{120;//字面常量10;//字面常量//const 修饰常变量const int num = 10;//num是const修饰的常变量//num的值不可被改变,但本质还是一个变量//#define的标识符常量 #define MIN 100printf(" = %d\n", MIN);//枚举常量printf("%d\n", MALE);printf("%d\n", FEMALE);return 0;}

定义变量的方法

int  size=100;

float height=182.5f;

char ch='a';

变量的分类

  • 局部变量:在代码块内定义的变量
  • 全局变量:在代码块外定义的变量

当局部变量与全局变量名冲突

 由此代码可知:当局部变量与全局变量冲突时,局部变量优先输出。

变量的使用

#include<stdio.h>
int main()
{int a, b, sum;//对变量的定义//输入scanf("%d %d", &a, &b);
//&取地址操作符sum = a + b;//输出printf("%d\n", sum);return 0;
}

变量的作用域和生命周期

作用域

作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用 的

1. 局部变量的作用域是变量所在的局部范围。

2. 全局变量的作用域是整个工程。

生命周期

变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段

1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。

2. 全局变量的生命周期是:整个程序的生命周期。

五、字符串、转义字符和注释

  • 字符串

"hello wrold !"

像这样的用双引号引起来的一组字符,称为字符串。

  • 转义字符

转义字符顾名思义就是转变原来的意思

转义字符
\?在书写连续多个问号时使用,防止被解析成三字母词\'用于表示字符常量
\"用于表示一个字符内部的双引号\\用于表示一个反斜杠,防止被解释为一个转义序列符
\a警告字符,蜂鸣\b退格符
\f进纸符\n换行
\r回车\t水平制表符
\v垂直制表符\dddddd表示1~3个八进制数字
\xdddd表示2个十六进制的数字
  • 注释

1. 代码中有不需要的代码可以直接删除,也可以注释掉

2. 代码中有些代码比较难懂,可以加一下注释文字

注释的方法

使用 ://不想要的代码;

/*不想要的代码*/

六、选择语句

选择语句有if语句、switch语句。

选择语句解释:要么选A,要么选B。

       

#include<stdio.h>
int main()
{int input = 0;printf("你要成为一位程序开发工程师吗?(1/0):");scanf("%d", &input);if (input == 1){printf("迎娶白富美,走上人生巅峰\n");}else {printf("回家种田、养猪、放牛\n");}return 0;
}

七、循环语句

  • while语句
  • for语句
  • do while语句

while语句

  •  用法:

while(表达式)

   循环语句;

#include<stdio.h>
int main()
{int i = 1;//初始化while (i <= 10)//判断{printf("%d\n", i);i++;//调整部分}return 0;
}

for语句

  • 语法

     for(表达式1;表达式2;表达式3)

     循环语句;

  • for语句过程图

   

  • 代码演示
#include <stdio.h>
int main()
{int i = 0;//for(i=1/*初始化*/; i<=10/*判断部分*/; i++/*调整部分*/)for (i = 1; i <= 10; i++){printf("%d ", i);}return 0;
}

do while语句

  •        语法

do

        循环语句;

while(表达式);

  • do while 语句过程图

         

  •  代码演示
#include <stdio.h>
int main()
{int i = 10;//初始值do{if (5 == i)break;printf("%d\n", i);}while (i<10);//判断return 0;
}

八、函数

计算两数之和

int main()
{int num1 = 0;int num2 = 0;int sum = 0;printf("输入两个操作数:>");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("sum = %d\n", sum);return 0;
}

用函数写出计算两数的和

#include <stdio.h>
int Add(int x, int y)//定义函数
{int z = x + y;return z;
}
int main()
{int num1 = 0;int num2 = 0;int sum = 0;printf("输入两个操作数:>");scanf("%d %d", &num1, &num2);sum = Add(num1, num2);printf("sum = %d\n", sum);return 0;
}

九、数组

一组相同类型元素的集合

 

  •  数组的定义

  •  数组的下标

  •  数组的使用

 十、关键字

常见的关键字

auto声明自动变量,缺省时编译器一般默认为auto;最宽宏大量的关键字
int声明整型变量
double声明双精度变量
long声明长整型变量
char声明字符变量
float声明浮点型变量
short声明短整形变量
signed声明有符号类型变量
unsigned声明无符号类型变量
 struct声明结构体变量;结构体所占内存大小是其成员所占内存之和
 enum声明枚举类型变量
 union声明联合数据类型变量
 static声明静态变量;最名不符实的关键字
switch用于开关变量
case用于语句分支
default开关语句中的其他分支
break跳出当前循环;表示终止本层循环
continue结束当前循环,开始下一轮循环
register声明寄存器变量;最快的关键字
const声明只读变量,其修饰的只读变量必须在定义的同时初始化
volatile说明变量在出现执行中可被隐含地改变 ;最易变的关键字
 typedef

 用以给数据类型取名

 extern 声明变量是在其他文件中声明;最会带帽子的关键字
 return子程序返回语句,用来终止一个函数并返回后面跟着的值
void声明函数无返回值或者无参数,声明空类型指针
do循环语句的循环体
while循环语句的循环条件
 for一种循环语句
if条件语句
 else 条件语句否定分支
goto无条件跳转语句
sizeof计算对象所占内存空间大小

注:关键字不能自己创建;关键字不是变量名

 十一、指针

指针即为地址

          


  • 结构体作用

      结构体使得C语言有能力描述复杂类型

#include<stdio.h>
struct Stu
{//结构体成员char name[10];int age;char sex[10];char love[20];
};
int main()
{//创建结构体变量并初始化struct  zhangsan = { "张三", 20,"男", "篮球" };struct  lisi = { "李四", 18,"女", "足球" };//打印结构体数据printf("%s\n %d\n %s\n %s\n", zhangsan.name, zhangsan.age, zhangsan.sex, zhangsan.love);printf("%s\n %d\n %s\n %s\n", lisi.name, lisi.age, lisi.sex, lisi.love);return 0;
}

     

       好了,小白初识C语言之启程篇就结束了,历经一天的时间终于把初始C语言介绍完毕,希望大家多多支持一下,蟹蟹!!!


http://chatgpt.dhexx.cn/article/uhj7L47y.shtml

相关文章

C语言基础入门教程

目录 第一章 初识C语言 1.C语言基础知识 2.C语言的构成 3.第一个C语言程序 4.数据类型 5.变量 5.1定义变量的方法 5.2变量的分类 5.3变量的使用 5.4变量的作用域和生命周期 6.常量 6.1符号常量 6.2字符串常量 6.3字符常量 6.4实型常量 6.5整型常量 6.6其它常…

C语言初阶——手把手教零基础/新手入门(万字心得笔记)

目录 前言 一、C语言是什么&#xff1f; 二、开发环境 1.编译器 三、初始C语言 1.第一个C语言程序 2.数据类型 2.1 数据类型的长度 3. 变量 && 常量 3.1 如何定义变量 3.2 变量的分类 3.3 变量的作用域和生命周期 3.4常量 1.字面常量 2.const修饰的常变…

JAVA电子书大礼包

通过好友后私聊发送“电子书”有小编整理好的JAVA方向电子书大礼包 通过好友后私聊发送“加群” 小编抱你进技术微信交流群 通过好友后私聊发送“内推” 小编快速审核简历并内推到合适企业 image

【电子书】Head First Java

书名&#xff1a;Head First Java&#xff08;中文版&#xff09; 下载地址 链接&#xff1a;https://pan.baidu.com/s/1jI14ygqx3Vym6eaQMUHSmA 提取码&#xff1a;gsqg

开题报告:基于java电子书阅读系统 毕业设计论文开题报告模板

开发操作系统&#xff1a;windows10 4G内存 500G 开发环境&#xff1a;JDK1.8 Tomcat8 开发语言&#xff1a;Java 开发框架&#xff1a;springboot 模板引擎&#xff1a;Thymeleaf 开发工具&#xff1a;Idea 数据库&#xff1a;mysql8 数据库管理工具&#xff1a;nav…

基于javaweb的在线电子书小说阅读系统(java+layui+springboot+mysql+html+ftp)

基于javaweb的在线电子书小说阅读系统(javalayuispringbootmysqlhtmlftp) 运行环境 Java≥8、MySQL≥5.7 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计&#xff0c;大作业&#xff0c;毕业设计&#xff0c;项目练习&#xff0c;学习演示等 功能说明…

共享Java电子书

共享Java电子书(12月31日更新)热802罗智明 2009-12-14 09:42 免责声明: 这些书籍都是本人从网上收集而来,无一原创,在此做一个总结和归类,免去大家找资料的奔波之苦。 感谢网盘支持:DBank数据银行(华为出品) 电子书索引: Structure&Algorithms C C++ Linux Embedde…

2021必看!java电子书合集

1. 前言 最近面试了几家公司&#xff0c;体验了一下电话面试和今年刚火起来的视频面试&#xff0c; 虽然之前就有一些公司会先通过电话面试的形式先评估下候选人的能力水平&#xff0c;但好像不多&#xff0c;至少我以前的面试形式100%都是现场面试。 面试过程中&#xff0c…

Java硬核福利,实战虚拟机+Springboot+缓存,java电子书教材下载

总目录 1. 消息中间件概述 2. 安装及配置 RabbitMQ 3. RabbitMQ 入门 4. AMQP 5. RabbitMQ 工作模式 6.Spring t Boot 整合 RabbitMQ ![太狠了&#xff01;阿里大牛纯手写RabbitMQ 笔记&#xff0c;GitHub 70K星&#xff0c;有点东西](https://img-blog. 【一线大厂Java面试题…

软件工程毕业设计课题(21)基于JAVA毕业设计电子书小说网站系统毕设作品项目

项目背景和意义 目的&#xff1a;本课题主要目标是设计并能够实现一个基于web网页的电子书阅读系统&#xff0c;整个网站项目使用了B/S架构&#xff0c;基于java的springboot框架下开发&#xff1b;管理员通过后台录入信息、管理信息&#xff0c;设置网站信息&#xff0c;管理会…

Java面试回忆录:java电子书免费

目录 部分内容展示 深入浅出索引&#xff08;上&#xff09; 索引的常见模型InnoDB 的索引模型索引维护小结 深入浅出索引&#xff08;下&#xff09; 覆盖索引最左前缀原则索引下推 为什么这些SQL语句逻辑相同&#xff0c;性能却差异巨大&#xff1f; 案例一&#xff1a;条…

排名前5位的免费Java电子书

有很多免费的Java电子书&#xff0c;但是大多数已经过时或不准确。 这是我收藏中最好的5本免费Java电子书&#xff0c;它们是使用Java编程语言的知名&#xff0c;完整&#xff0c;更新和详细的内容。 最适合Java初学者&#xff0c;也可能是经验丰富的程序员的良好参考。 PS该订…

python微信小程序 java电子书阅读器系统uniapp

功能介绍 将系统权限按管理员和用户这两类涉及用户划分。 (a) 管理员&#xff1b;管理员使用本系统涉到的功能主要有&#xff1a;个人中心、用户管理、类型管理、书城管理、管理员管理、系统管理等功能。 (b)用户进入系统前台可以实现首页、我的、书城、新书资讯等功能。 随着信…

Java工程师通宵都要看完这几本阿里P8都强烈推荐的Java电子书

以下是楼主收藏的电子书籍以及java架构学习资料 ​ 编辑 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 面试资料 ​ 编辑 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; Java核心知识文档 ​ 编辑切换为居中 添加图片注释&…

在职场中Java工程师通宵都要看完这几本阿里P8小编都强烈推荐的Java电子书

以下是小编收藏的电子书籍以及java架构学习资料 面试资料 Java核心知识文档 Java核心知识PDF 1. JVM 2. JAVA集合 3. JAVA多线程并发 4. JAVA基础 5. Spring 原理 6. 微服务 7. Netty与RPC 8. 网络 9. 日志 10. Zookeeper 11. Kafka 12. Rabbi tMQ 13. Hbase 14.…

Java 学习如逆水行舟,不进则退,100 本 java 电子书推荐

Java 学习如逆水行舟&#xff0c;不进则退。一路自学过来&#xff0c;踩过很多坑&#xff0c;吃过很多苦。 现在回想起来&#xff0c;当初要是能有一个完整的「学习路线」让我按图索骥就好了。 建议做好时间规划&#xff0c;不断的提高自己的学习效率&#xff0c;学习过程中尽…

5本免费的Java电子书

互联网上面有大量的java电子书,但是大部分都是过期或者不准确。这里是mkyong网站经整理的最棒的5本免费的java电子书,它们都有名、完整、更新、详尽的。无论是java初学者还是有经验的程序员都很有帮助。 1. the java language specification, third edition 下载 : http://j…

【转】7本免费的Java电子书和教程

本文由 ImportNew - 唐小娟 翻译自 Javapapers。如需转载本文&#xff0c;请先参见文章末尾处的转载要求。 1. Thinking in Java (Third Edition) 本书的作者是Bruce Eckel&#xff0c;它一直都是Java最畅销的免费电子书。这本书可以帮助你系统的学习Java&#xff0c;里面包含有…

Android_Data 资料

项目地址&#xff1a; Freelander/Android_Data 简介&#xff1a;Some Android learning materials, hoping to help you learn Android development. 收集整理这份资料灵感来自于 trip_to_iOS, 征得同意引用了该资料的开头描述 收集整理这份资料主要帮助初学者学习 Android 开…