俗话说:学好c语言,走遍天下都不怕

article/2025/11/6 17:27:18

c语言的重要性

C语言产生于1972年,是计算机的一种高级语言,目前在国际上还是很流行的,因为它具有低级程序语言的功能,所以也有人说它是中级语言。

对于大多数程序员来说。C语言是学习编程的第一门语言,也可以说是入门语言,C语言是现在众多高级语言的鼻祖。

一、第一个c程序:hello,world

#include<stdio.h>
int main()
{//屏幕上打印双引号中的内容其中\n是转义字符(不打印)printf("hello,wrold!\n");return 0;
}

执行程序后,在显示器上打印的内容:

程序说明:

  • main在c程序中有且仅有一个,是程序的入口
  • 而因为使用了printf所以要引用头文件#include<stdio.h>(printf是c语言标准库函数,定义与头文件<stdio.h>)
  • printf函数一般格式为:printf("<格式化字符串>",<参量表>)

二、注释

在c程序中注释有两种

注释是给程序员看的,编译器不看

多行注释:/*要注释的内容*/   (不能嵌套)

单行注释://要注释的内容

三、c语言基本字符

1)关键字

关键字又称为保留字,是c语言预先声明的具有特殊意义的单词,用户不能将这些关键字作自定义的标识符

a)数据类型关键字:char、double、float、int、long、short、unsigned、union、viod、enum、signed、struct 等

b)控制语句关键字:do、break、case、continue、for、goto、return、else、default、if、while、switch、extern 等

c)储存类型关键字:auto、register、static 等

d)其他关键字:const、sizeof、typedef、volatile、inline 等

2)标识符

c语言对标识符规定:

  • 构成:以字母或下划线“_”开头,后面由字母、数字、下划线组成
  • 大小写字母含义不同,例如,name和Name是两个不同的标识符
  • 一般c语言不对标识符的长度限制,但受c语言编译器限制(一般长度最好不要超8位,有些编译器会将前8位相同的标识符,认为是一个相同的标识符)

3)运算符

  • 算术运算符

 注:a++与++a的区别是:前者是先使用,再自增,后者是先自增,再使用。例如:

 

 注:a--与--a的区别是:前者是先使用,再自减,后者是先自减,再使用。例如:

 

部分运算符的优先级和结合性

 

 /运算

注:对于/运算,其操作数可以为整型或实型的常量、变量和函数。如果两个操作数中有一个是实型,则结果为实型,若两个操作数都是整型,则觉果为整形(舍去小数部分,没有四舍五入

例如:5/2.0=2.5,5/2=2

而如果除数或被除数中有一个为负值,则按照c99规定,除运算舍入的方向采用向0舍入

例如:-9/7的值为-1

最后你们认为这个表达式的结果是多少呢?

2/3*1000(答案在最下面)

%运算

%运算符要求两个操作数必须为整数,其运算结果等于两数相除后的余数,余数的符号始终与分子(被除数)的符号一致。

要注意分母(除数)不能为0

例如:9%2=1,9%3=0,-9%4=-1,9%-4=1,-9%-4=-1

此外C语言支持求负运算,例如-(+9)的结果为9,-(+(-5))的结果为5

4)sizeof运算符

运算符sizeof是求某一操作对象占用的内存字节数,其运算结果为整型数据 如下表:

 如果操作数为数据类型标识,则必须用括号括住,如sizeof(int);如果操作数是表达式,则可用可不用,如(sizeof(var_name)),sizeof var_name 等都是正确形式。

注:sizeof操作符不能用于函数类型、不完全类型或位字段。

sizeof(max)/*若此处max定义为interesting马修();*/
sizeof(void)

上面示例均为不正确的使用形式

c规定:sizeof(long long)>=sizeof(long)>=sizeof(int)>=sizeof(short)

四、数据类型

 

1)常量

在c语言中常量有三大类:数、字符、字符串。

常量:在程序执行中,其值不能改变的量称为常量

整型常量简称整数,在c语言中整型常量用三种数值来表示:

        1.十进制整数:数码取值范围为0~9

        2.八进制整数:数码取值范围为0~7,通常以数字0开头。如十进制数12,用八进制来表达为014

        3.十六进制整数:数值取值范围为0~9、A~F或a~f,通常已0x(数字0和字母x)或0X开头。如0x1b23、0X2B等。

2)实型常量

在计算机科学中,把带小数的数称为实数。c语言中的实数有float(单精度)和double(双精度)实数,它们在计算机内存中是以浮点数形式存放的,又称浮点数,实型常量只能用十进制形式来表示,不能用八进制和十六进制表示。

实型有两种表示方法:

        1.十进制形式:由数码0~9、小数点及正负号组成。

        2.指数形式:由十进制a,加阶码标识e或E以及阶码n组成。如aen或aEn。

        其中a为实数,n为十进制整数,“E”或“e”两边必须有数字。

        如:2.1e5(2.1*10^5)、5.4E-8(5.4*10^-8)、-9.9E-5(-9.9*10^-5)

3)字符型常量

字符常量是由一对单引号括起来的的单个字符构成,例如'a'、'B'、'1'等都是有效的字符型常量

在c语言中字符是用其对应的ASCII码值来表示的,一个字符占一个字节。例如字符'a'、'B'、'0'的ASCII码值分别为97、57、48.

c语言中还有一种特殊形式的字符常量,这就是一反斜杠'\'开头,后面跟一个或几个字符,它们便没有原来的意义了而是具有特殊意义,故也称为“转义字符”。

例如:'\n'表示换行字符,他的ASCII码值为10,在字符常量中要使用单引号和反斜杠时,必须用转义字符,即在这些字符前加上反斜杠  '\\' '\''

 

给大家推荐一个好玩的程序:

测试'\a'响铃

 

4 )字符串常量

在c程序中编写时使用一对双引号括起来的字符序列就是字符串常量

注:这里的双引号仅起定界符作用,并不是字符串中的字符。

字符串常量在内存中存储时,除了一个字符占一个字节外,还会自动在其尾部增加一个转义字符'\0',用这个特殊的字符作为字符串结束的标识。或者说,若干个字符后有了结束标识,'\0,'才称为c语言的字符串。

 

例如字符串"computer"包含8个字符,但其在内存中占用9个字节 如下表

computer\0

系统规定字符串的结束标识'\0'的值是0。因此,'\0'的写法等同于0,而不等同与'0',

因为'\0'的ASCII码值为0,'0'的ASCII码值为48。

程序说明 :printf()函数输出4个常量的值,前两个常量的类型是字符常量,后面两个是字符串常量。

  • 第一个字符是转义字符'\''
  • 第二个字符是转义字符'\\'
  • 第一个字符串常量是"ab\"c\"",它包含两个双引号“"”,在字符串中用转义字符表示
  • 第二个字符串常量是"a\\b",它包含了一个反斜杠“\”,在字符串中用转义字符表示

字符串中字符的个数(不包括结束标识'\0')称为字符串长度。因此字符串“a”长度为1,储存

长度为2,字符串"ab\"c\""长度为5.

以上几种常量一般从字面上即可判别,统称为字面常量或直接常量。

5)符号常量

在c语言中还可以用标识符来代表一个常量,符号常量在使用之前必须先定义。

使用宏定义命令#define定义符号常量。一般形式为:

#define 标识符 常量表达式

 

#include<stdio.h>
#define PI 3.14
int main()
{float r, s, v;scanf("%f", &r);//输入球的半径s = 4 * PI * r * r;//求球的表面积v = r * s / 3;//求球的体积printf("s=%f v=%f\n", s, v);return 0;
}

本程序中用#define宏定义命令定义PI,它代表常量3.14,此后凡在本程序中出现PI都代表3

.14,它和常量一样参运算。

习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别

用字符常量的好处是含义清楚,也可以实现“一改全改”的效果

#define PI 3.1415926
#define	PI2 PI*2 //定义PI2符号常量,值为2*3.1415926

宏定义中常数表达式可由常量、以声明过的符号常量和运算符组成

如果那些常量没有讲到的 欢迎补充!!!

6)变量

变量与常量相对,顾名思义:在程序运行过程中其值可以发生变化的一种数据对象称为变量

每一个变量都用一个标识符来表示,该标识符称为变量名。每一个变量都属于某个确定的数据类型,在内存中占一定的存储单元,在该存储单元中存放变量的值。

变量具有属性如下:

  • 地址:变量所在存储单元编号。不同类型的变量占据不同数量的存储单元,存放变量第一个存储单元地址(变量的起始地址)就是该变量的地址
  • 变量名:变量所在存储单元起始地址的助记符
  • 变量值:存储在相应存储单元中的数据,即该变量所具有的值。程序通过变量名存取该存储单元的值
  • 类型:变量所属的数据类型。类型决定了变量的存储方式(该变量占据的存储单元的字节和存储格式)以及允许对变量采取的操作

如图变量a的属性:类型为int,分配在1000开始的存储单元中,它的值为10

 

int i, j num;//说明i,j,num为整形变量
float a, b, sum;//说明a,b,sum为实型变量
char ch, c;//说明ch,c为字符型变量

        1,整型变量 

                 例如:int i =7

整形变量在内存中的存储形式

十进制7的二进制形式为111,但在内存中却占4个字节

 

        整型变量的分类

        整型变量的基本类型符为int,可以根据数值的范围将变量定义为基本整形、短整型、长整型

在int之前可以根据需要加上修饰符:short(短型)、long(长型)

        a.基本整形:int

        b.短整型:short int  或 short

        c.长整型:long int   或long

        一个int型变量的取值范围-2^31~(2^31)-1

        加上unsigned修饰符以指定其“无符号数”

        加上signed修饰符以指定其“有符号数”

        例如:        有符号基本整形:[signed] int 

                           有符号基本整形:[signed] short [int]

                           有符号基本整形:[signed] long [int]

                           无符号基本整形:[unsigned] int 

                           无符号基本整形:[unsigned] short [int]

                           无符号基本整形:[unsigned] long [int]

其中 signed一般省略       方括号可有可无

类型字节数
int 4
unsigned int4
short2
unsigned short2
long4
unsigned long4

程序说明:int类型的整形变量允许的最大值为2147453647,如果加1会溢出

 

当数据超过范围时就会溢出,但运行时不会报错,所以加1后并不能得到2147483648,而是-2147483648 

        2.实型变量

                实型变量分为单精度(float)、双精度(double)和长双精度(long double)

                在vs2019的环境下结果如下:

                初学者知道有long double即可

        3.字符型变量

                

类型字节数取值范围
[signed char]1-128~127
unsigned char10~255

   

int main()
{char ch1, ch2 = 0;ch1 = 'a';ch2 = 'b';ch1 = ch1 - 32;//字母大写转下写运算    小写字母的ASCII码值比大写字母多32ch2 = ch2 - 32;printf("%c %c\n",ch1, ch2);//以字符形式输出printf("%d %d\n", ch1, ch2);//以整数形式输出return 0;
}

                执行结果:

        如果将程序中 ch1='a';ch2='b';  改为 ch1=97;ch2=93; 结果不变

注:不能把字符串常量赋值给字符型变量  如char ch ="a";

"a"占两个字节,而字符型变量仅有一个字节的容量

在从语言中如果想把字符串存到变量中,可以使用字符数组,数组中每个元素存放一个字符

 

 最后表达式2/3*1000的值为0,因为2/3的值为0。


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

相关文章

如何学习 C 语言?

在线资源 C程序员帮助建立了互联网&#xff0c;而互联网可以帮助你学习C。互联网时刻都在发展、变化&#xff0c;这里所列的资源只是在撰写本书时可用的资源。当然&#xff0c;你可以在互联网中找到其他资源。 如果有一些与C语言相关的问题或只是想扩展你的知识&#xff0c;可…

关于学好C语言的心得

一.工欲善其事&#xff0c;必先利其器 选择visual sudio 2019 原因&#xff1a;1.vs2019是集成开发环境&#xff0c;对新手友好&#xff0c;不需要配置环境&#xff0c;上手就可以使用 2.大部分网课教程都在使用&#xff0c;避免产生冲突 下载网址&#xff1a;Visual Studio 产…

c语言学的是什么,C语言怎么学?

计算机有一种专业叫c语言&#xff0c;那么什么是c语言&#xff0c;怎么去学它&#xff1f;能给我们带来什么&#xff1f;这篇文章主要是针对此内容做一讲解&#xff01; c语言是一种电脑程序设计语言。它有高级语言的特点&#xff0c;也有整编语言的特征。可以作为系统设计和应…

为什么要学好c语言,c语言到底多重要,你造吗

一、前言 对于理工 科学生来说&#xff0c;这个答案可能很简单&#xff0c;因为这是一门必修课。而对于程序员来说选择一门编程语言&#xff0c;在某种程度上&#xff0c;对职业生涯的发展会产生重大的影响&#xff0c;所以必须慎 之又慎。那么&#xff0c;为什么要选择一门诞…

零基础如何学好C语言?

经常有人会这样问"我没有一点基础&#xff0c;该如何入门C语言&#xff0c;该如何学好C语言 ?"看到很多初学者摸不到门路&#xff0c;我在这里制定了相应的学习计划&#xff0c;对于零基础新手一定会有很大的帮助。 很多新手认为学习C语言离不开记忆语法&#xff0c…

怎样学习C语言?

一 、怎样学习C语言 很多人对学习C语言感到无从下手&#xff0c;经常问我同一个问题&#xff1a;究竟怎样学习C语言&#xff1f;我是一个教师&#xff0c;已经开发了很多年的程序&#xff0c;和很多刚刚起步的人一样&#xff0c;学习的第一个计算机语言就是C语言。 经过这些年的…

如何学好C语言--你的学渣朋友告诉你

光说不练假把式,光练不说傻把式,又练又说真把式。 真实感受&#xff0c;不是我不想学&#xff0c;是我真的不知道我哪里不会啊和得怎么做啊&#xff1f;本文作者当初就是这么废掉的 推荐两个练习的网站 &#xff08;一&#xff09;C语言网 https://www.dotcpp.com/ 水题基…

学好C语言,你只需要这几句口诀!

学好C语言的秘诀就是1234&#xff1a;“一字真言&#xff0c;两种态度&#xff0c;三个框架&#xff0c;四项注意”。 一、一字真言 各位看官&#xff0c;学好C语言&#xff0c;其实只需一个字&#xff0c;那就是“编”。 &#xff08;一&#xff09;编。 学习C语言&#x…

推荐给初学者:如何学好C语言?

点击上方“大鱼机器人”&#xff0c;选择“置顶/星标公众号” 福利干货&#xff0c;第一时间送达&#xff01; 学习C语言不是一朝一夕的事情&#xff0c;但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意&#xff0c;即使是“最小的代价”…

如何学好C语言?

目录 零基础学习C语言该怎么入门&#xff1f;第一步 视频课程第二步 阅读配套教材第三步 完成配套练习习题第四步 如果题目不会做怎么办&#xff1f;第五步 如果参考答案看不懂怎么办&#xff1f;第六步 熟练使用C语言第七步 全面理解C语言第八步 精通C语言第九步 C语言实战 零…

新手如何学好C语言?

作为一名资深码农&#xff0c;在软件行业也拼搏了十多年&#xff0c;这里跟想学习C语言的萌新童鞋分享下我的个人学习心得&#xff01;&#xff01;&#xff01; 在大学时代&#xff0c;我们大二才开始学习C语言&#xff08;起步有点晚啊&#xff09;&#xff0c;第一次看到那…

完全卸载nginx的详细步骤

一个执着于技术的公众号 前言 在开局配置Nginx时有可能会配置错误&#xff0c;报各种错误代码。看不懂或者懒得去看这个报错时&#xff0c;其实最简单的方式是卸载并重装咯。今天就带大家一起学习下&#xff0c;如何彻底卸载nginx程序。 卸载nginx程序的详细步骤 1、停止Nginx软…

Linux中完全卸载nginx及安装的详细步骤

前言 在开局配置Nginx时有可能会配置错误&#xff0c;报各种错误代码。看不懂或者懒得去看这个报错时&#xff0c;其实最简单的方式是卸载并重装咯。今天就带大家一起学习下&#xff0c;如何彻底卸载nginx程序。 一、卸载NGINX 卸载nginx程序的详细步骤 1、停止Nginx软件 …

Linux 下卸载nginx的操作步骤(亲测有效)

亲测有效&#xff0c;傻瓜式步骤&#xff0c;按着步骤来你也可以成功卸载nginx!!! 1.执行命令&#xff0c;看nginx是否在运行 ps -ef|grep nginx 上图可看出nginx在运行状态&#xff0c;接下来 2.到nginx的安装目录下 cd /tmp/upload/software/nginx 3.输入停止…

Centos7安装、卸载nginx及配置,配置成系统服务(一步到位)

目录 前言 一、下载安装解压 1.进入临时文件夹里&#xff08;随便一个都行&#xff09; 2.下载并安装nginx压缩包 3.解压该压缩包 4.创建目标文件夹 5.&#xff08;默认会安装在/usr/local/nginx&#xff09;这里通过configure命令指定安装目录 6.编译安装 7.最后生成的…

CentOS7卸载Nginx、最后有命令总结

第一步、查看Nginx的进程 命令 &#xff1a;ps aux | grep nginx 下图表示Nginx启动 下图表示Nginx没有启动 第二步、如果Nginx没有启动就可以跳过这个步骤了&#xff1b;如果是启动状态的话用下面命令进行停止&#xff1b; 先通过可命令1找到对应目录在执行命令2 命令1&#x…

安装、卸载nginx(基于Centos7)

一、卸载&#xff1a; 1、检查任务进程&#xff1a; ps -ef|grep nginx &#xff08;有活动进程&#xff0c;kill 掉 &#xff09; kill -9 进程ID2、查看nginx相关文件 find / -name nginx 3、文件删除 4、检查依赖 yum remove nginx 二、安装&#xff1a; 1…

Windows下cmd卸载nginx服务

文章目录 一、Windows卸载nginx服务1.以管理员身份运行CMD2.进入到安装的nginx目录下3.卸载nginx服务 一、Windows卸载nginx服务 1.以管理员身份运行CMD 2.进入到安装的nginx目录下 3.卸载nginx服务 命令&#xff1a;nginx-service.exe uninstall #nginx服务卸载后再次执…

linux 下卸载nginx的操作步骤

linux 下卸载nginx的操作步骤 1.执行命令&#xff0c;看nginx是否在运行 ps -ef|grep nginx 2.如上图&#xff0c;发现nginx是在运行状态&#xff0c;所以停止nginx服务 注意&#xff0c;要进入到nginx的目录&#xff0c;执行命令 ./nginx -s stop 3.删除nginx相关内容 首先…