简单c语言入门

article/2025/10/24 9:44:02

@[TOC](目录

## 前言

内容

​​# 1.第一个C程序

# 2.标识符

# 3.变量

# 4.数据类型

### 1.1整型

### 1.2浮点型

### 1.3字符型

# 5.运算符

# 6.符号常量

# 7.标准化输入输出

# 8.语句结构

## 1.1顺序结构

## 1.2择结构

## 1.3循环结构

## 9.break和continue语句

# 10.数组

# 11.函数

# 12.指针

## 总结

:)


前言

    大家好!很高兴与各位读者见面,如果你是一名程序猿,那么对c语言入门知识再熟悉不过了。本篇文章主要讲解一些c语言入门知识,希望能帮助大家!


1.第一个C程序

   作为C语言新手,下面我们先来打印一段简单的代码。

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

这段代码的运行如下:

main()是一种函数,int表示此函数返回类型是整型,return 0表示返回整型,后面我都会给大家讲讲。

看起来很简单吧,是不是对c语言感兴趣了呢?下面让我们一起进入跨进c语言大门吧!

2.标识符

标识符:标识符是程序中的变量、常量、函数、数据类型等任何用户自定义项目的名字。

C语言中标识符的命名规范:

  1. 标识符是以字母下画线开始的,由数字字母下画线所构成的字符串。其中字母包括A~Z或a~z,数字包括0~9。(注:c标识符不允许出现标点字符,比如@、¥和%。)
  2. 标识符对大小写敏感,即严格区分大小写。例如:panda_6和Panda_6是两个不同的标识符。(注:一般对变量名用小写字母,符号常量用大写字母。)
  3. 不能把C语言关键字作为自定义的标识符,例如:if、for和while等。
  4. 标识符尽量做到“见名知意”,例如:长度(英文:length),求和(英文:sum)

3.变量

下面我们来看这一段代码了解变量:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int num = 0;  //定义变量num,并初始化num = 100;    //给变量赋值printf("%d\n", num);   //打印变量的值return 0;
}
  1. 定义变量

通过定义变量向内存中申请内存空间,从而可将待处理数据放入内存中。

  1. 变量必须先定义,在使用

定义变量就是向内存中申请分配存储空间,如上述代码段int num(定义num为整型)后续会讲。

  1. 变量的初始化

在定义变量同时给变量赋值,上述代码段中给变量num赋值为0,如果不给变量赋值,那么变量的值是不确定的可能会导致程序产生错误结果。

4.数据类型

整型

整型变量描述字节数数值范围
int整型4

0~(2^32-1)和-2^31~(2^31-1)

short int短整型20~(2^16-1)和-2^15~(2^15-1)
long int长整型40~(2^32-1)和-2^31~(2^31-1)
long long int64位长整型80~(2^64-1)和-2^63~(2^64-1)

浮点型

类型描述字节数有效位数
float单精度46~7
double双精度815~16
long double长双精度16

18~19

浮点型指数形式表示方法: 字母e可以大写也可以小写,e前后必须有数字,e后的数字成为阶码,阶码只能是整数,可以带符号。    例如:5756.913的指数形式是5.756913e3或是5.756913E3,

-0.0003618的指数形式是3.618e-4或是3.618E-4

字符型

1.字符型常量

单括号括起来的单个字符,例如:'a',’b‘,’c‘,’?‘,’=‘

(注:字符型常量常以ASCII码的形式存储在计算机中。例如:字符’a'的ASCII码值是01100001,对应的十进制数是97。)

2.字符型变量

看下面一段代码:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{char a, b;   //定义字符型变量a = 'm';    //对字符变量a赋值b = 'n';    //对字符变量b赋值printf("%c %c\n", a, b);   //%c用来打印字符return 0;
}

上述代码段中 a,b是定义的字符型变量,其类型是char型,被分配一字节的内存空间,用于存放单个字符值。

3.转义字符

转义字符是一种特殊的字符常量,通常以反斜杠(\)开头,转义字符由名称意义可知就是原字符被加上反斜杠后其意义发生改变,故称转义字符。例如:\n是一种转义字符表示“回车换行”。

4.字符串常量

字符串常量是由一对双引号括起的字符序列,例如:“abcdef”  “C language”   “56231001”   “ABCDEF”

(注:字符串常量在内存中存储时,除了每个字符占用一个字节以外,系统还在其最后一个字符的末尾添加一个字符(\0),作为字符串的结束标志。)

5.运算符

1.算术运算符

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int a = 1, b = 3, c;c = a + b;    //加法printf("%d\n", c);c = a - b;    //减法printf("%d\n", c);c = a * b;    //乘法printf("%d\n", c);c = a / b;   //除printf("%d\n", c);c = a % b;    //取余printf("%d\n", c);return 0;
}

 2.赋值运算符

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int a = 0;a = 2;   //将2赋给变量aprintf("%d\n", a);return 0;
}

 

 3.复合赋值运算符(常见)

符合运算符等价
+=a+=ba=a+b
*=a*=ba=a*b
/=a/=ba=a/b
%=a%=ba=a%

三目运算符:x>y?x:y  (x如果大于y,则执行x表达式,否则则执行y)

4.关系运算符

运算符描述
<小于
>大于
<=小于等于
>=大于等于
==等于
!=不等于

5.逻辑运算符

运算符描述意义
&&

逻辑与

双目运算符

两个操作数同为真,结果才真,否则为假
||

逻辑或

双目运算符

两操作数一个为真则真,都为假则假

逻辑非

单目运算符

若操作数为真,则非运算为假,若操作数为假,则非运算为真

6.自增运算符++

前置++,看下面一段代码:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int a = 0;int b = 2;a = ++b;printf("%d\n", a);printf("%d\n", b);return 0;
}

上述代码段中++b表示b的值自增1,其结果赋给a。 

后置++,看下面一段代码:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int a = 0;int b = 2;a = b++;printf("%d\n", a);printf("%d\n", b);return 0;
}

 上述代码段中b++表示b先把原值赋给a,再自增1。

注:同理与自增运算符++一样,自减运算符--原理相同。

7.逗号运算符

看下面一段代码:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int a = 1, b = 2, c = 3, x, y;y = ((x = a + b), (x + c));printf("y=%d\nx=%d",y,x);return 0;
}

 逗号表达式求值过程:从左向右分别计算每个表达式的值,以最右边表达式的值作为整个逗号表达式的值。

6.符号常量

在C语言中的符号常量通常用一个标识符代表一个常量,称为符号常量。

输入格式:  #define 标识符  常量

看下面一段代码的使用:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define M 100  //定义常量M的值为100
int main()
{int a = 0;a += M;  //使用常量Mprintf("%d\n", a);return 0;
}

上述代码常量M可以直接使用。

7.标准化输入输出

printf(),scanf()是一个库函数,分别是格式化输出和输入。

  1. 非格式字符:按原样输出。
	printf("a");

 

  1. 转义字符:按对应含义输出。
	printf("\n");

 

  1. 格式字符串:以%开头,在后面跟各种格式字符。
格式字符含义
d以十进制形式输出带符号整数
lld以十进制输出long long型带符号整数
f以小数形式输出单、双精度实数
llu64位无符号整数
o以八进制输出无符号整数
x,X以十六进制输出无符号整数
c输出单个字符
e,E以指数形式输出单、双精度实数
g,G以%f或%e中较短的输出宽度输出单、双精度实数
u输出无符号整数
s输出字符串

(注:scanf函数输入必须添加取地址符&)

如:scanf("%d",&a);   //表示读入十进制整数a。

  1. getchar()函数单个读入字符。

实例:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{char a;a = getchar();printf("%c", a);
}

 

 输入m字符,getchar()函数读取m后,再赋给a。

8.语句结构

1.1顺序结构

 代码案例:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int a = 1;int b = 2;printf("%d\n", a + b);
}

 

 1.2选择结构

1.if-else语句 

 代码案例:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int a = 0;int b = 0;scanf("%d%d", &a, &b);if (a > b)printf("%d", a);elseprintf("%d", b);
}

if语句嵌套,看下面一段代码:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int a = 0;scanf("%d", &a);if (a > 1 && a <= 5)if (a != 2)printf("haha"); //1elseprintf("hehe");  //2elseprintf("wuwu");  //3return 0;
}

输入:3  则执行语句1 

输入:2  则执行语句2

 输入:6  则执行语句3

 

 综上所述,在if语句中出现多个if-else语句时,我们要注意if和else的配对问题,C语言规定else总是与它前面最近的且尚未与其他else配对的if配成一对。

2. switch语句

看下面一段代码实现switch语句: 

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int n = 0;scanf("%d", &n);switch (n){default:printf("D"); break;case 1:printf("A"); break;case 2:printf("B"); break;case 3:printf("C"); break;}return 0;
}

 

1.3循环结构

1.while语句

while语句一般形式:

 

 如图:expression是循环条件,当条件为真进入循环,否则跳出循环。break也可以跳出循环后期会讲。

来看下面一段代码实现while语句:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int n = 5;  while (n)  //当n等于0时结束循环,因为0本身为假{printf("haha\n");  //每循环一次打印一次hahan--;  //n自减1}printf("hehe\n");  //循环结束打印hehereturn 0;
}

2. for循环

 for一般形式:

看下面一段代码实现for语句:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int n = 5;  for (int i = 1; i <= 5; i++)   //for(初始化i=1;i范围小于等于5;i自增1){printf("haha\n");  //每循环一次打印一次haha}printf("hehe\n");  //循环结束打印hehereturn 0;
}

上述代码段还可以写成:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int n = 5;  int i = 1;for (; i <= 5;){printf("haha\n");i++;}printf("hehe");return 0;
}

由上图可知for后面括号内两个分号不能省略,但是三个表达式可以自行调整合适位置。 

3.do-while语句

 如图:不同于while语句,do-while语句是先执行一次循环体后在进行循环条件的判断。简单来说就是”先做后判“,而while语句是”先判后做“。

do-while语句一般形式:

 下面看一段代码实现do-while语句:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int n = 5;  do{printf("haha\n");  //每循环一次打印hahan--;   //n自减1 } while (n);  //n等于0结束循环,0本身为假printf("hehe\n");  //结束循环后打印hehereturn 0;
}

 9.break和continue语句

break:在循环语句中如果遇到break语句,则循环立刻终止。

continue:在循环语句中如果遇到continue语句,本次循环立刻终止,开始下一次循环。

总结:在写代码过程中我们可以合理利用三大语句结构进行组合来解决问题,可以利用break语句和continue语句操纵循环。

10.数组

 1.一维数组

定义:  数据类型  数组名[常量表达式]

注:1.数组的类型是指数组中元素的类型,对同一个数组,其所有元素的类型都是相同的。

2.数组名的命名规则应符合C语言标识符的命名规则。

3.数组名不能和其他变量名相同。

初始化:

 一维数组存储情况:

 数组中的元素按其下标的顺序在内存中是连续存放的。上面右图表示每个数组对应的内存地址。

数组名arr表示该数组首元素地址,所以我们可以通过首元素地址找对数组中其他元素地址。

看下面一段代码:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int arr[] = { 1,2,3,4,5,6 };int* p = &arr[0];   //定义指针变量 p,并把首元素地址赋予 p 中,(指针就是地址,后面会讲)printf("%p\n", arr);  //打印数组首元素地址printf("\n");for (int i = 0; i < 6; i++) //创建临时变量i,用于找到其他元素地址{printf("%p\n", (p + 1*i));  //用首元素地址找到其他元素地址}return 0;
}

运行如下:

注:此次元素地址与上面数组元素地址不一样是因为内存地址一直都会变d

2.二维数组

 定义:数据类型  数组名[常量表达式1][常量表达式2];

初始化:

 这两个初始化方式是一样的,第一个方框叫行,第二个方框叫列。

 

 当数组元素未初始化完时,会直接被赋值为0;

 

 大括号里面,可以看出两个一维数组,分别是第一行和第二行,剩余部分直接赋值为0。

注:二维数组存储顺序是从左往右,从上往下依次存储。且每个被存储的元素其内存地址也是连续的。

字符数组:

初始化:

 注意事项:

printf()函数打印字符数组遇到转义字符\0会停止。

 因为数组arr1中无转义字符\0所以不会停止打印,该数组后面内存地址是未知的,打印出来的是随机数。数组arr2中字符串末尾会自动包含一个转义字符\0,所以会停止打印。

11.函数

函数分类

1.有返回值函数

最开始讲的main函数就是有返回值函数,函数类型是int 型。 

return语句功能是计算表达式的值并返回给主调函数。

 2.无返回值函数

 无返回值函数一般函数类型是void。

1.有参函数并调用

看下面一段代码:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>int text_6(int x,int y)   //形参x,y
{return x + y;  //返回值为x与y的和
}int main()
{int a = 1;int b = 2;int z = text_6(a, b);   //实参a,b printf("%d", z);   //变量z用于接收text_6函数的返回值return 0;
}

如图:text_6是我们创建一个函数,调用text_6函数并进行函数进行传参。

2.无参函数并调用

看下面一段代码:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void text_6()   
{printf("haha");
}
int main()
{int a = 1;int b = 2;text_6();   return 0;
}

如图:text_6函数括号无参数,无参函数一般用来调用函数。

1.库函数:大多数编程语言都有已编号的函数库,我们只需要知道它们的使用方式然后调用即可。

如:add()表示加法运算、 pow()表示次方运算。

2.用户自定义函数由用户解决问题的需要编写的函数。

如上述text_6()函数。

函数定义:

 注:函数一定要先声明再使用。

形参与实参的关系:

简单来说形参是实参的临时拷贝,调用函数时创建形参,当函数调用完时,形参会自动销毁。

主调函数与被调函数关系:

当主调函数调用被调函数时,在内存中会创建一个临时空间用于被调函数的使用,当被调函数使用完时也会自动销毁。

12.指针

前面我们说过指针就是内存地址,就行我们家庭地址一样,警察要找到犯罪嫌疑人的家,就可以找到他的家庭地址,然后埋伏他。我们通过指针就可以找到对应的内存地址并进行操作。

看下面一段代码:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int a = 10; int* p = &a;  //创建指针变量p,并把a的地址赋给p,&是取地址符printf("%p\n", &a); //打印a的地址printf("%p\n", p);  //打印p的地址printf("%d\n", *p);  //打印p的地址对应的内容,*p表示解应用p  return 0;
}

运行如下:

 指针在x86编译器环境中4个字节,在x64中是8个字节。

  • 总结

谢谢大家的阅读,很高兴能帮到大家,这是我第一篇博客,欢迎大家指出这篇文章中有许多不足之处我会努力学习修改进步。


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

相关文章

零基础学C语言(C语言入门)

C语言入门&#xff08;初识C语言&#xff09; 初识C语言 前言什么是C语言为什么要选择C语言作为学习的第一门语言一.第一个C语言程序1.1 #include1.2 int main()1.3 printf1.4 return 01.5小结 二.C语言的数据类型三.C语言的常量与变量3.1常量3.2变量 总结 前言 什么是C语言 …

C语言入门教程,C语言自学教程(2022年)

一、C语言入门教程&#xff0c;C语言自学教程 经过多年的时间洗礼&#xff0c;C语言俨然已成为“第一”语言&#xff0c;出色的性能使之成为高级语言中的性能王者。这么牛的语言&#xff0c;你是不是想知道怎样学习和掌握它呢&#xff1f;接下来请看经过小编整理过的C语言入门…

C语言从入门到精通

文章目录 C语言1.helloworld1.1 pause1.2 cls清屏1.3 加法运算1.4 hello 2 常量变量和数据类型2.1 常量2.2 变量2.3 sizeof数据类型大小2.4 无符号整型2.5 字符类型2.5.1 字符类型简介2.5.2 字符类型运算 2.6 实数型2.7 进制和转换2.8 数据溢出 3. 运算符和分支循环语句3.1 字符…

单片机及C语言入门

一、什么是单片机&#xff1f; 将CPU芯片、存储器芯片、I/O接口芯片和简单的I/O设备&#xff08;小键盘、LED显示器&#xff09;等装配在一块印刷电路板上&#xff0c;再配上监控程序&#xff08;固化在ROM中&#xff09;&#xff0c;就构成了一台单片微型计算机&#xff08;简…

【零基础】入门C语言这一篇就够了

初识C语言 1. 什么是C语言&#xff1f;2. 第一个C语言程序2.1 如何写代码2.2 运行代码 3. 数据类型3.1 为什么出现这么多类型&#xff1f;3.2 如何使用数据类型3.3 数据类型的大小 4. 变量、常量4.1 定义变量的方法4.2 变量的命名4.3 全局变量和局部变量4.4 变量的使用4.4.1 sc…

C语言入门学习(入门级C语言)

一、初识C语言 【定义】C语言&#xff1a;一种通用的计算机语言&#xff08;人和计算机交互的语言&#xff09;&#xff0c;广泛用于底层软件开发。 C语言是一门面向过程的编程语言。 【如何写语言代码】 第一步&#xff1a;写出主函数&#xff08;main函数&#xff09; C…

C语言入门教程(一)

C语言入门教程&#xff08;一&#xff09;&#xff1a;输入输出函数、程序中的数据 本文为初学 C语言的学习日志篇一。 实验环境 Ubuntu 16.04 终端gccgedit 代码如下&#xff1a; #include<stdio.h> int main() {int a,b,c;printf(" Please enter a value: &q…

c语言零基础入门(完整版)

1软件下载 官网下载: https://sourceforge.net/projects/orwelldevcpp/ 百度网盘&#xff1a;https://pan.baidu.com/s/1mhHDjO8 提取密码&#xff1a;mken 推荐用百度网盘&#xff0c;官方下载太慢了 开始安装 首先双击打开刚刚下载的软件 点击0k 因为在安装过程中不能使用…

【C语言】 基础知识入门

目录 一&#xff1a;C语言结构 二&#xff1a;C标准库 三&#xff1a;C程序执行过程 编写过程 四&#xff1a;数据类型 五&#xff1a;变量在内存中的存储 六&#xff1a;C基本数据类型 一&#xff1a;C语言结构 1.1 C语言允许分割代码和数据 可以使用具有局部&#xff0…

《零基础看得懂的C语言入门教程 》——(一)脱离学习误区

本节视频连接&#xff1a; https://www.bilibili.com/video/BV1Qv411t7ae 新手C语言学习有些误区你应该知道&#xff0c;这样学习起来事半功倍~ 一、前言 距离上一次编写C语言的教程是5年前了&#xff08;2015年&#xff09;&#xff0c;由于自己是从初一时开始学习编程&…

c语言入门这一篇就够了-学习笔记(一万字)

内容来自慕课网&#xff0c;个人学习笔记。加上了mtianyan标签标记知识点。 C语言入门 -> Linux C语言编程基本原理与实践 -> Linux C语言指针与内存 -> Linux C语言结构体 https://www.imooc.com/course/programdetail/pid/37 c语言入门 C语言一经出现就以其功能丰…

C语言基础知识快速入门(全面)

目录 什么是C语言 计算机语言发展 写第一个C语言代码 基本格式 数据类型 单位 变量 作用域 生命周期 常量 函数 数组 数组初始化 操作符 位操作 赋值 单目操作 关系/逻辑/条件 逗号表达式 关键字 字符串 定义 结束标志 局别 求字符串长度 转义字符 注释…

初识C语言———C语言基础入门

目录 一.什么是C语言 二.第一个C语言程序 三.数据类型 四.常量、变量 1.常量 2.变量 2.1定义变量的方法&#xff1a; 2.2变量的分类&#xff1a; 2.3变量的作用域和生命周期 五、字符串转义字符注释 1.字符串 2.转义字符 3.注释 六、选择语句 七、循环语句 八、…

2021年最新C语言教程入门,C语言自学教程(最全整理)

一、c语言教程入门 C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好&#xff0c;可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言&#xff0c;所以说学习C语言教…

C语言程序入门(零基础入门)

C语言一面世就以其简洁紧凑、灵活方便。运算方便、数据结构丰富、适用范围广、执行效率高等特点在全世界迅速推广。c语言也是其他众多高级语言的鼻祖语言&#xff0c;所以学习c语言是进入编程世界的必修课。 一 C语言的书写规则 &#xff08;1&#xff09;一个说明或一个语句…

C语言基础知识入门大全

一、C语言基础知识入门 C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好&#xff0c;可以用来开发应用软件、驱动、操作系统等。C语言基础知识入门也是其它众多高级语言的鼻祖语言&#xff0c;…

C/C++编程笔记:指针篇!从内存理解指针,让你完全搞懂指针

C语言最核心的知识就是指针&#xff0c;所以&#xff0c;这一篇的文章主题是「指针与内存模型」&#xff01;说到指针&#xff0c;就不可能脱离开内存&#xff0c;学会指针的人分为两种&#xff0c;一种是不了解内存模型&#xff0c;另外一种则是了解。 不了解的对指针的理解就…

C语言基础知识入门(2022年)

一、C语言基础知识入门 百度百科&#xff1a;C语言是一门面向过程的、抽象化的通用程序设计语言&#xff0c;广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言不仅仅执行效率高而且可移植性非常好&#xff0c;C语言可以用来开发应用软件、驱动、操作系统等…

初识c语言(入门篇)

目录 一、简单介绍C语言 二、认识一个简单的C程序 三、数据类型 四、常量、变量 五、字符串、转义字符和注释 六、选择语句 七、循环语句 八、函数 九、数组 十、关键字 十一、指针 一、简单介绍C语言 1.关于C语言 C语言是一门面向过程的、抽象化的通用程序设计语言&#xff0c…

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其它常…