C语言-数据类型

news/2024/11/28 15:45:25/
1 基本类型
char short int int long int float double
#include <stdio.h>//基本数据类型的学习和使用
//char short int long float doubleint main(int argc, char *argv[])
{//定义一个char类型的变量并赋值,输出字符使用%cchar a = 'w';printf("a = %c\n", a);//定义一个short类型的变量并赋值short b = 100;printf("b = %d\n", b);//定义一个int类型的变量并赋值,输出int类型变量的值使用%dint c = 9999;printf("c = %d\n", c);//定义一个long类型的变量并赋值,输出long类型变量的值使用%ldlong d = 34536453;printf("d = %ld\n", d);//定义一个float类型的变量并赋值,输出float类型变量的值使用%f//默认保留小数点后六位,并且可以四舍五入float e = 3.1415926;printf("e = %f\n", e);//定义一个double类型的变量并赋值,输出double类型变量的值使用%lfdouble f = 3452.2345324523452;printf("f = %lf\n", f);return 0;
}

 

2 构造类型
概念:由若干个相同或不同类型数据构成的集合,这种数据类型被称为构造类型
例: int a[10];
数组、结构体、共用体、枚举
扩展:常量和变量
常量:在程序运行过程中,其值不可以改变的量
例: 100 ‘a’ “hello”
  整型
100 125 -100 0
  实型
3.14 0.125f -3.789
  字符型
‘a , b , 2
字符串
a , ab ”,“ 1232
ASCII 码表
ASCII 码表:对于计算机而言,只能识别二进制数,也就是数值,对于非数值型数据,如果 要使用,就需要将其用一个数值型数据进行标识,就称之为ASCII码表

 测试

#include <stdio.h>int main(int argc, char *argv[])
{//注意在使用字符类型的数据时,如果用%c输出就是输出字符,如果用%d就是输出字符的ascii值char ch1 = 'w';printf("ch1 = %c %d\n", ch1, ch1);char ch2 = 97;printf("ch2 = %c %d\n", ch2, ch2);return 0;
}

 

2 变量
变量:其值可以改变的量被称为变量
定义变量的方式:
存储类型 数据类型 变量名;
存储类型 数据类型 变量名 = 变量或者常量;
变量在定义的时候要满足标识符的命名规则
(1)只能由字母、数字和下划线组成
(2)首字母不能是数字
(3)不能关键字相同
整型数据
整型常量:(按进制分):
十进制:
以正常数字1-9开头,如457 789
八进制:
以数字0开头,如0123
十六进制:以0x开头,如0x1e
整型变量:
有/无符号短整型(un/signed) short(int) 2个字节
有/无符号基本整型(un/signed) int 4个字节
有/无符号长整型(un/signed) long (int) 4个字节 (32位处理器)
实型数据(浮点型)
实型常量
实型常量也称为实数或者浮点数
十进制形式: 由数字和小数点组成:0.0、0.12、5.0
指数形式:
123e3代表123*10的三次方
123e-3代表123*10的负三次方
不以f结尾的常量是double类型
以f结尾的常量(如3.14f)是float类型
实型变量
单精度(float)和双精度(double)3.1415926753456
float型: 占4字节,7位有效数字,指数-37到38
double型: 占8字节,16位有效数字,指数-307到308
        
字符数据
字符常量:
直接常量:用单引号括起来,如:
'a'、'b'、’0’等.
转义字符 以反斜杠“\”开头,后跟一个或几个字符、如'\n','\t'等,分别代表换行、横向跳格.
‘\\’表示的是\                  ‘ \’  ’
字符变量:
用char定义,每个字符变量被分配一个字节的内存空间
字符值以ASCII码的形式存放在变量的内存单元中;
注:char a;
a = 'x';
a变量中存放的是字符'x'的ASCII :120
即a=120跟a='x'在本质上是一致的.
字符串常量
是由双引号括起来的字符序列,如“CHINA”、”哈哈哈”
“C program”,“$12.5”等都是合法的字符串常量.
字符串常量与字符常量的不同
‘a’为字符常量,”a”为字符串常量
每个字符串的结尾,编译器会自动的添加一个结束标志位'\0',
即“a”包含两个字符‘ a’和’\0’
3 格式化输出字符
普通字符
%d 十进制有符号整数
%ld 十进制long有符号整数
%u 十进制无符号整数
%o 以八进制表示的整数
%x 以十六进制表示的整数
%f float型浮点数
%lf double型浮点数
%e 指数形式的浮点数
%c 单个字符
%s 字符串
%p 指针的值
特殊应用
%3d    %03d    %-3d      %5.2f
%3d 要求宽度为3位,如果不足3位,前面空格补齐;如果足够3位,此语句无效
%03d 要求宽度为3位,如果不足3位,前面0补齐;如果足够3位,此语句无效
%-3d 要求宽度为3位,如果不足3位,后面空格补齐;如果足够3位,此语句无效
%5.2f 小数点后只保留2位
#include <stdio.h>//格式化输出字符的使用int main(int argc, char *argv[])
{//输出整数int a = 100;//输出十进制数,用%dprintf("a = %d\n", a);//输出八进制数,用%o//printf("a = %o\n", a);//使用%#o,可以输出八进制数的前导符printf("a = %#o\n", a);//输出十六进制数//printf("a = %x\n", a);// 使用%#x,可以输出十六进制数的前导符printf("a = %#x\n", a);//输出浮点型数据,float使用%f,double使用%lf//默认小数点后保留六位,并且可以四舍五入,如果不够六位自动补0float b = 3.1415926;double c = 2345.2345;printf("b = %f\n", b);printf("c = %lf\n", c);//输出字符,使用%c输出字符,使用%d可以输出字符的ascii码值char d = 'y';printf("d = %c %d\n", d, d);//输出字符串,使用%s//没有专门的变量保存字符串,一般使用数组来保存char e[] = "hello world";printf("e = %s\n", e);//输出地址,使用%pint f = 999;//&:取一个变量的地址,一般地址用十六进制数标识printf("&f = %p\n", &f);printf("********************\n");int m = 456;printf("%d%d\n", m, m);//%5d:输出的宽度为5,右对齐,如果实际数据的宽度小于5,则左边位置补空格,如果大于5,则没有用printf("%5d%5d\n", m, m);//%05d:输出的宽度为5,右对齐,如果实际数据的宽度小于5,则左边位置补0,如果大于5,则没有用printf("%05d%05d\n", m ,m);//%-5d:输出的宽度为5,左对齐,如果实际数据的宽度小于5,则右边补空格,如果大于5,则没有用printf("%-5d%-5d\n", m, m);float n = 3.678;printf("n = %f\n", n);//%.2f:小数点后保留两位并且可以四舍五入printf("n = %.2f\n", n);return 0;
}

 

 


http://www.ppmy.cn/news/366435.html

相关文章

Java入门 —— 打开Java世界的大门

目录 一. 了解Java 二.Java入门 三.变量 一. 了解Java 1.什么是程序 ——计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合 2.Java是如何诞生的 ——1990年&#xff0c;sun公司启动了绿色计划&#xff0c;1992年sun公司创建了oak语言&#xff0c;后改名为Java…

2023年Q1天猫电脑品类数据分析(含笔记本、游戏本、平板电脑)

目前&#xff0c;PC市场中正经历新旧产品的换代&#xff0c;在各行业消费复苏的背景下&#xff0c;PC市场的整体市场需求也有回暖的可能。结合鲸参谋平台上第一季度的销售数据&#xff0c;我们一起来看一看电脑市场当前的销售表现如何&#xff01; 笔记本电脑 尽管人们的消费需…

英语二学习笔记

英语二学习笔记&#xff1a; thought 想法&#xff0c;though 虽然&#xff0c;through 通过 # 第一到三集 —————————————————————————————————————————————————————————————————————————————…

三国杀移动版武将台词大全

哈哈&#xff0c;今天来干一件傻事&#xff0c;来写写三国杀移动版武将台词大全&#xff08;写之前也搜了一些&#xff0c;然而所谓大全其实并不全&#xff0c;终究还是错付了&#xff0c;所以不如自力更生&#xff09;&#xff0c;本来准备用 json 格式&#xff0c;但是 yaml …

行为型设计模式08-职责链模式

&#x1f9d1;‍&#x1f4bb;作者&#xff1a;猫十二懿 ❤️‍&#x1f525;账号&#xff1a;CSDN 、掘金 、个人博客 、Github &#x1f389;公众号&#xff1a;猫十二懿 职责链模式 1、职责链模式介绍 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;…

《道德经》全文及译文

《老子》&#xff0c;又称《道德真经》《道德经》《五千言》《老子五千文》&#xff0c;是中国古代先秦诸子分家前的一部著作&#xff0c;为其时诸子所共仰&#xff0c;传说是春秋时期的老子李耳(似是作者、注释者、传抄者的集合体)所撰写&#xff0c;是道家哲学思想的重要来源…

C/C++折半查找与哈希查找[2023-05-11]

C/C折半查找与哈希查找[2023-05-11] 4、折半查找与哈希查找&#xff08;难度等级 A&#xff09; [问题描述] 查找是通过在查找表中做比较来完成的操作。折半查找与哈希查找都是利用数组实现的查找算法。通过本题&#xff0c;可以观察两种查找算法的性能。一般我们用平均查找…

百年孤独

百年孤独 作者&#xff1a;加西亚马尔克斯 内容提要 何塞阿卡迪奥布恩地亚和表妹乌苏拉结了婚。乌苏拉怕生下长有猪尾巴的孩子&#xff0c;不肯和丈夫同房。邻居普罗登肖嘲笑布恩地亚不通人道&#xff0c;两人决斗。普罗登肖被长矛刺中咽喉&#xff0c;顿时毙命。从此&#…