一、学习目标

  1. 了解C语言的基本数据类型
  2. 了解变量的基本概念
  3. 了解变量的使用方法
  4. 了解了变量的命名方法
  5. 了解格式占位符
  6. 了解变量的输出

目录

C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言。
第一篇:(一)脱离学习误区
第二篇:(二)C语言没那么难简单开发带你了解流程
第三篇:(三)轻轻松松理解第一个C语言程序
第五篇:(五)C语言的变量、常量及运算
第六篇:(六)轻轻松松了解C语言的逻辑运算
第七篇:(七)C语言的循环分分钟上手
第八篇:(八)了解基本数组还不是那么简单
第九篇:(九)C语言二维数组与循环嵌套
第十篇:(十)C语言的指针原来是这样
第十一篇:(十一)C语言自定义函数真的很简单
第十二篇:(十二)原来结构体是这么回事
第十三篇:(十三)socket服务端编写

C语言新手的100个报错解法

推荐

我正在参与1024活动,欢迎大家点赞、收藏、评论我的干货文章《一篇文带你从0到1了解建站及完成CMS系统编写》
欢迎大家关注公众号,公众号每满1024及1024倍数则会抽奖赠送机械键盘一份+IT书籍2份哟~

二、了解C语言程序的基本数据类型及概念的使用方法

在C语言编程中,系统定义了多种数据类型,本节将讲解基本数据类型的分类。基本数据类型分别为整型、字符型、实型(浮点数)以及枚举。枚举数据类型本节并不讲解,在之后的课程中将会详细讲解有关枚举数据类型的概念及使用。

系统定义的数据类型可以用于描述一变量。在编程中变量是指可以存储值的容器,是一个抽象的概念。如果用具体化的方式描述变量,则可以称为一个标有存储类型说明的容器,例如一个盒子在外标有月饼字样,则表示该盒子是用于装月饼类型的容器并且所存储的值可以改变(存储值的改变将会在下一章讲解)。

2.1 了解基本数据类型的概念
基本数据类型指不可再分解的类型。想必各位读者觉得这句定义还是依如常规的生涩难懂。

为什么说基本数据类型指的是不可再分解的类型呢?因为在C语言编程中,有些数据类型内部其实有着多种数据类型组合,多种数据类型组合成的类型称为 构造数据类型,它可以分解成几种或一种数据类型。而基本的数据不能再分解,例如整型,表示一个整数的类型,该类型是无法再进行分解的。

2.2 了解整型及使用整型描述变量
整型在C语言中使用int表示,int也称为类型说明符。在之前的内容中提到,类型说明符可以用于描述一变量;如使用int 描述一变量则表示该变量所存放的值需要是整数类型。用C语言描述如下:

int a;

其中a表示这个变量的名称,或者说这一容器我们命名为a,使用int描述这个容器。

变量命名是有一定规则的,并不能随意的命名规则,须遵从以下几个标准(摘抄于百科):

  1. 标识符必须以字母或者下划线开头,其他可以是数字、字母、下划线。
  2. 标识符中的字母不限大小写,但大小写意义不同。
  3. 标识符的有效长度是31个字符
  4. 不能使用关键字。关键字指C语言中已使用过的特殊标志,如int表示整型,则int不能作为变量名。

变量的命名最好是能够表示这个变量所存储的值。例如我需要一个变量存储年龄,那么我可以将这个变量命名为age(age为英文,中文意为年龄),变量的命名从名字可以表达存储值的内容是最好不过了。但在一些情况下,可以需要多个英文单词才能表达出该变量存储值,在没有指定其它命名标准的情况下,可以使用几种经典的命名方式:匈牙利命名法、骆峰命名法、下划线命名法以及帕斯卡命名法。

匈牙利命名法:匈牙利命名法为属性加描述名。例如你需要创建一个年龄是整型的变量则可以写成isex,意思为int类型的变量sex。C语言示例为:

int iage;

驼峰命名法:驼峰命名法为多个英文单词的组合,首个英文单词首字母小写,之后的单词首字母首字母大写;当我需要创建一个变量为我的年龄时可以写为myAge,my表示我的,Age则是年龄。C语言示例为:

int myAge;

帕斯卡命名法:帕斯卡命名法和驼峰命名法类似,则是所有的英文单词首字母都需要大写,如MyAge。C语言示例为:

int MyAge;

下划线命名法:下划线命名法则是在多个英文单词组合时使用下划线间隔,例如my_age。C语言示例为:

int my_ag;

以上的所有变量创建都需要遵循变量初始化。变量初始化指在创建变量时需要赋予变量一个值,防止在接下来的程序编写中发生不可控的bug。变量初始化可以将未知的变量值变成已知,减少程序错误。如:

int my_ag=0;

使用等于号(=)可以将等于号右边的值存储在等于号左边的变量中;在此注意,在非特殊情况下,将要存储的值一定要与变量的类型相符。
一个完整的C语言变量初始化代码如下:

void main(){int myAge;
}

2.3 了解字符型及使用字符型描述变量
了解了整型变量的创建及初始化后,接着了解字符型及字符型变量的初始化。
字符型使用char表示。同样,使用char可以用于描述变量。C语言代码描述如下:

char my_name='T';

以上描述形式跟整型描述形式相同,在变量名前加上描述符即可完成对变量的描述,并且也表示新建了一个该类型的变量。以上新建了一个变量my_name,并且给予了一个值’T’。

可能会有同学问,这个字符的值就是’T’了吗?为什么要加单引号?
这是因为在C语言中,字符值在赋值或者传递的时候需要使用单引号表示,这是一种语法规定。其实理解起来也很简单,例如我创建一个变量为T,我单独的给予一个T给变量my_name,这时给的是变量T还是字符T呢?所以在C语言中,使用单引号引起来的字符表示为本身。

在这还需要注意的是理解字符的概念,字符是单个符号、字母或数字,并不是一连串的符号。例如“ABCDefg,.;d[]213”这一串称为字符串,字符指的是单个符号。当我向字符类型变量传递一个值“ABCDefg,.;d[]213”则会错误。可能在C语言新的标准中会出现警告。在警告下的程序是可以运行的,但会出现不可控的状态。在字符赋值时,字符值需要添加单引号。

2.4 了解浮点型及使用浮点型描述变量
浮点型我们可以理解为小数或实数,分为单精度与双精度。单精度使用float表示,双精度使用double表示。单精度与双精度的区别为位数不同、精确度不同。由于本系列教程为基础的快速入门教程,在此只讲解单精度float,并不过多的讲解其它内容。我们只需要明白小数之类的存储,需要使用float描述变量即可。例如:

float fval=1.1;

以上使用float描述变量fval,fval使用了匈牙利命名法,f表示float,val则是value的缩写,意味float的值。存储的值为1.1。

三、变量值的输出

在前几章中,我们了解了使用printf使程序在运行时显示指定的内容,那么如何直接输出变量的值呢?

现在假设有一变量名为myAge,所存储的值为25,使用printf输出myAge的值到屏幕上则可以写为:

#include<stdio.h>
void main(){int myAge=25;printf("%d",myAge);
}

在代码中,使用int描述myAge这个变量,表示该变量存储的值为一个整数;在myAge变量右侧为一个等于号,表示将等于号右侧的内容存储值等于号左侧的变量myAge。之后使用printf输出。

之前的学习中提到printf将会把括号中双引号内的内容给照原样输出值屏幕上显示,应该显示为%d,在此先查看运行结果。
程序运行结果为:

程序运行结果并没有输出%d,这是因为%d是特殊的标志,称为格式占位符号。%d表示将要在这个位置输出一个整数类型的值,这个值将会是双引号后的第一个值;双引号要与值进行分隔,需要使用逗号,就像printf("%d",myAge);的书写方式一样。%d会显示myAgew的值。

假设我有多个变量一个为myAge另外一个为myName,那么输出两个值的方式则可以写成:

#include<stdio.h>
void main(){int myAge=25;char myName='T';printf("%c:%d",myName,myAge);
}

以上代码创建了两个变量,一个名为myAge一个名为myName,它们分别存储了25与T字符。输出时代码为:printf("%c:%d",myName,myAge);。在printf中,我们发现多了一个不认识的标志%c,%c与%d一样也是格式占位符;%c表示这个位置将会有一个字符的值代替,%d则表示将会有一个整数值代替;它们之间具体输出的值将由双引号后,由逗号隔开的变量顺序决定。第一个值%c则会在输出显示时更换成myName所存储的值,%d则会跟换成myAge所存储的值。在%c与%d之间的冒号则会原样输出,因为冒号并不是格式占位符。输出结果如下:

以上示例可能会导致某些同学觉得%c表示字符,就会自动的去后面寻找字符的第一个替换。其实并不会这样,所有值的替换是由顺序决定的。第一个占位符将会输出后方第一个变量值,以此类推。

以下再看一个示例代码了解输出顺序:

#include<stdio.h>
void main(){int myAge=25;char myName='T';char myName1='b';printf("%c:%d:%c",myName,myAge,myName1);
}

以上示例增加了一个变量myName1,所存储的值为字符b。在printf中所有占位符都以变量类型对应的数序书写;第一个myName为%c、第二个myAge为%d、第三个myName1为%c。结果如下:

浮点数的格式占位符为%f,示例如下:

#include<stdio.h>
void main(){float myAge=25.5;printf("我今年的年龄为:%f",myAge);
}

结果如下:

四、总结

通过以上描述与讲解,我们了解了以下几点内容:

  1. 了解了C语言的基本数据类型有整型、字符型、浮点型
  2. 了解了变量是存储值的容器
  3. 了解了变量如何的创建需要使用类型符号进行描述并且需要初始化值
  4. 了解了变量的驼峰命名法、匈牙利命名法、下划线命名法、帕斯卡命名法
  5. 了解格式占位符%d以及%c的作用及使用方法
  6. 了解了变量使用printf与格式占位符进行输出显示

IT原创动漫、学习资料、原创教程请关注公众号。

《零基础看得懂的C语言入门教程 》——(四)C语言的基本数据类型及变量相关推荐

  1. c++ 结构体赋值_《零基础看得懂的C语言入门教程》—(十二)结构体是这么回事

    一.学习目标 了解C语言的结构体的使用方法 了解C语言结构体的结构的赋值 了解多种C语言结构体变量的赋值方法和取值方法 目录 <零基础看得懂的C语言入门教程>--(二)简单带你了解流程 & ...

  2. 《零基础看得懂的C++入门教程 》——(9)结构体原来如此

    一.学习目标 了解C++语言的结构体的使用方法 了解C++语言结构体的结构的赋值 了解多种C++语言结构体变量的赋值方法和取值方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的 ...

  3. 《零基础看得懂的C++入门教程 》——(8)搞定二维数组与循环嵌套

    一.学习目标 了解二维数组的使用方法 了解循环嵌套的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想了解编译原理和学习方法点这 ...

  4. 《零基础看得懂的C++入门教程 》——(7)小数组玩起来

    一.学习目标 了解数组的使用方法 了解一维数组的使用方法 了解一维数组与循环的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想 ...

  5. 《零基础看得懂的C++入门教程 》——(6)自己动手写个函数

    一.学习目标 了解C语言的自定义函数的使用方法 了解C语言自定义函数的传参 了解C语言自定义函数的返回值 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软 ...

  6. 《零基础看得懂的C++入门教程 》——(5) 容我套个娃 循环

    一.学习目标 了解循环的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想了解编译原理和学习方法点这篇,学习方法和一些原理C++ ...

  7. 《零基础看得懂的C++入门教程 》——(4)条件判断原来如此

    一.学习目标 了解什么是条件判断 了解多个条件判断 了解输入 了解什么是逻辑与.逻辑或 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想 ...

  8. 《零基础看得懂的C++入门教程 》——(3)表达式花样挺多鸭

    一.学习目标 了解变量之间的计算 了解什么是表达式 了解什么是自增.自减 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想了解编译原理和 ...

  9. 《零基础看得懂的C++入门教程 》——(2)什么是数据类型、变量?一看便会

    一.学习目标 了解基本常用的数据类型 了解什么是变量 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想了解编译原理和学习方法点这篇,学习 ...

  10. 《零基础看得懂的C++入门教程 》——(1)第一个C++程序就让你知其所以然

    一.学习目标 了解第一个C++程序 了解第一个C++程序结构 了解什么是注释 了解什么是命名空间 了解C语言的输出(如何在程序运行时显示内容) 了解语句结束后需要使用什么符号表示结束 了解程序入口 目 ...

最新文章

  1. Faster-Rcnn的loss曲线可视化
  2. 第二十二章 面向对象
  3. python数据预处理_Python数据预处理——缺失值、重复值
  4. 【java基础知识】linux运行或停止jar包程序
  5. java(7)LinkedList源码
  6. Redhat Enterprise Linux 5系统引导故障解决方法
  7. L2-002. 链表去重-PAT团体程序设计天梯赛GPLT
  8. scala spark 数据对比_Spark 实践——用 Scala 和 Spark 进行数据分析
  9. wenbao与cf整数直角三角形
  10. Autodesk 首届开发者训练营所有讲座课程介绍(包括云,建筑,机械,多媒体以及娱乐几个大方向)
  11. 【论文阅读】The Devil is in the Channels: Mutual-Channel Loss for Fine-Grained Image Classification
  12. 2017 年终总结 --- 忙碌而又颇有意义的一年
  13. [EuroPython2021笔记] Python反面模式 -- 用空格的比用tab的收入高
  14. 小红书算法sign php,小红书API签名算法分析
  15. CentOS下Tomcat的安装及配置教程
  16. 以太坊学习路线——(二、下)以太坊编程接口:web3.js
  17. [linux] 命令对应英文全称
  18. ESP8266-SDK的3路PWM输出
  19. 2014河北职称计算机考试大纲,2014职称计算机考试大纲
  20. 一文让你学会flex布局关于主轴 、侧轴的布局方式

热门文章

  1. 通过Dapr实现一个简单的基于.net的微服务电商系统(十二)——istio+dapr构建多运行时服务网格...
  2. Newbe.Claptrap 0.9.4 发布,全新构建
  3. 使用 C# 9 的records作为强类型ID - 路由和查询参数
  4. 5G在工业互联网应用的机遇与挑战
  5. 使用 C# 捕获进程输出
  6. 我们为什么推荐在Json中使用string表示Number属性值
  7. 打造更好用的 EF 自动审计
  8. dotNET Core 3.X 使用 Jwt 实现接口认证
  9. angular 构建可以动态挂载的配置服务
  10. 在C#中使用Irony实现SQL语句的解析