C语言程序设计(数据类型、运算符与表达式)

2024-09-08 15:04

本文主要是介绍C语言程序设计(数据类型、运算符与表达式),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、C的数据类型

C语言提供的数据类型:

二、常量和变量

2.1常量和符号常量

在程序运行过程中,其值不能被改变的量称为常量。

常量区分为不同的类型:

程序中用#define(预处理器指令)命令行定义变量将代表常量,用一个标识符代表一个常量,称为符合常量。

2.2变量

变量代表内存中具有特定属性的一个存储单元,用来存放数据,在程序运行期间,这些值是可以

改变的。

变量名实际上是一个以一个名字代表一个地址,在对程序编译连接时,由编译系统给每一个变量

名分配对应的内存地址。

从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据。

变量命名的规定:C语言规定标识符只能由字母、数字和下划线(_)三种字符组成,且第一个字符必须为字母或下划线。

注意:

编译系统将大写和小写字母认为是两个不同的字符。

建议变量名的长度最好不要超过 8个字符。

在选择变量名和其它标识符时,应做到“见名知意”,即选有含意的英文单词(或其缩写)作标

识符。

要求对所有用到的变量作强制定义,就是“先定义,后使用”。

三、整型数据

3.1整型常量的表示方法

整型常量即整常数。在 C语言中,整常数可用以下三种形式表示:

(1)十进制整数。如:123,-456,4。

(2)八进制整数。以0开头的数是八进制数

(3)十六进制整数。以0x开头的数是 16进制数。

3.2整型变量

(1)整型数据在内存中的存放形式

数据在内存中是以二进制形式存放的。

(2)整型变量的分类:

有符号基本整型 :(signed)int

有符号短整型:(signed) short (int)

有符号长整型:(signed) long (int)

无符号基本整型:unsigned int

无符号短整型:unsigned short (int)

无符号长整型:unsigned long (int)

:括号表示其中的内容是可选的。

(3)整型变量的定义:

C规定所有用到的变量都必须在程序中定义,即“强制类型定义”。

eg:

int a,b(指定变量a、b为整型)

unsigned c,d;(指定变量c、d为无符号短整型)

long e,f;(指定变量e、f为长整型)

说明:不同种类的整型数据可以进行算术运算。

数值是以补码表示的。(一个整型变量只能容纳 -32768~32767范围内的数,无法表示大于32767或小于-32768的数。遇此情况就发生“溢出”)

3.3整型常量的类型

(1)一个整数,如果其值在-32768~32767范围内,认为它是int型,它可以赋值给int型和long int型变量。

(2)一个整数,如果其值超过了上述范围,而在-2147483648~214783647范围内,则认为它是 为长整型。可以将它赋值给一个long int型变量。

(3)如果所用的 C版本分配给 short int与int型数据在内存中占据的长度相同,则它的表数范围与int型相同。因此一个int型的常同时也是一个 short int型常量,可以赋给int型或short int型变量。

(4)一个整常量后面加一个字母 u或 U,认为是 unsigned类型,如12345u,在内存中按unsigned规定的方式存放(存储单元中最高位不作为符号位,而用来存储数据)。如果写成 -12345u, 则先将-12345转换成其补码 53191,然后按无符号数存储。

(5)在一个整常量后面加一个字母l或L,则认为是long int型常量。例如123l.

这篇关于C语言程序设计(数据类型、运算符与表达式)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1148436

相关文章

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

Go语言中Recover机制的使用

《Go语言中Recover机制的使用》Go语言的recover机制通过defer函数捕获panic,实现异常恢复与程序稳定性,具有一定的参考价值,感兴趣的可以了解一下... 目录引言Recover 的基本概念基本代码示例简单的 Recover 示例嵌套函数中的 Recover项目场景中的应用Web 服务器中

Java Lambda表达式的使用详解

《JavaLambda表达式的使用详解》:本文主要介绍JavaLambda表达式的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言二、Lambda表达式概述1. 什么是Lambda表达式?三、Lambda表达式的语法规则1. 无参数的Lambda表

Go语言中使用JWT进行身份验证的几种方式

《Go语言中使用JWT进行身份验证的几种方式》本文主要介绍了Go语言中使用JWT进行身份验证的几种方式,包括dgrijalva/jwt-go、golang-jwt/jwt、lestrrat-go/jw... 目录简介1. github.com/dgrijalva/jwt-go安装:使用示例:解释:2. gi

Go 语言中的 Struct Tag 的用法详解

《Go语言中的StructTag的用法详解》在Go语言中,结构体字段标签(StructTag)是一种用于给字段添加元信息(metadata)的机制,常用于序列化(如JSON、XML)、ORM映... 目录一、结构体标签的基本语法二、json:"token"的具体含义三、常见的标签格式变体四、使用示例五、使用

Go语言使用slices包轻松实现排序功能

《Go语言使用slices包轻松实现排序功能》在Go语言开发中,对数据进行排序是常见的需求,Go1.18版本引入的slices包提供了简洁高效的排序解决方案,支持内置类型和用户自定义类型的排序操作,本... 目录一、内置类型排序:字符串与整数的应用1. 字符串切片排序2. 整数切片排序二、检查切片排序状态:

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细

如何合理管控Java语言的异常

《如何合理管控Java语言的异常》:本文主要介绍如何合理管控Java语言的异常问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、Thorwable类3、Error4、Exception类4.1、检查异常4.2、运行时异常5、处理方式5.1. 捕获异常

C语言中的常见进制转换详解(从二进制到十六进制)

《C语言中的常见进制转换详解(从二进制到十六进制)》进制转换是计算机编程中的一个常见任务,特别是在处理低级别的数据操作时,C语言作为一门底层编程语言,在进制转换方面提供了灵活的操作方式,今天,我们将深... 目录1、进制基础2、C语言中的进制转换2.1 从十进制转换为其他进制十进制转二进制十进制转八进制十进