当前位置: 首页 > news >正文

3 数据类型、运算符与表达式-3.1 C语言的数据类型和3.2 常量与变量

  1. 数据类型
    1. 基本类型
      1. 整型
      2. 字符型
      3. 实型(浮点型)
        1. 单精度型
        2. 双精度型
      4. 枚举类型
    2. 构造类型
      1. 数组类型
      2. 结构体类型
      3. 共用体类型
    3. 指针类型
    4. 空类型
#include <stdio.h>
#include <string.h>
#include <stdbool.h> // 包含布尔类型定义
// 常量和符号常量
#define PRICE 30// 函数返回空类型
void greet()
{printf("你好!\n");
}// 定义一个枚举类型,表示一周中的几天
enum Weekday
{Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
};// 定义一个结构体类型,表示学生信息
struct Student
{char name[50];int age;float score;
};// 定义一个共同体类型,表示既可以存储整数也可以存储浮点数的变量
union Data
{int intValue;float floatValue;
};int main()
{int age = 30; // 整型变量printf("年龄: %d\n", age);char initial = 'A'; // 字符型变量printf("首字母: %c\n", initial);float height = 170.5f; // 单精度浮点型double pi = 3.14159;   // 双精度浮点型printf("身高: %.1f 米\n", height);printf("π值: %lf\n", pi);bool isMale = true; // 布尔型变量printf("性别: %s\n", isMale ? "男" : "女");greet(); // 调用无返回值的函数int numbers[5] = {1, 2, 3, 4, 5}; // 整型数组for (int i = 0; i < 5; i++){printf("numbers[%d]: %d\n", i, numbers[i]);}int num = 100;int *ptr = &num; // 整型指针printf("数值: %d\n", num);printf("通过指针访问数值: %d\n", *ptr);enum Weekday today = Wednesday; // 声明并初始化一个枚举变量// 打印今天是周几switch (today){case Monday:printf("今天是星期一。\n");break;case Tuesday:printf("今天是星期二。\n");break;case Wednesday:printf("今天是星期三。\n");break;case Thursday:printf("今天是星期四。\n");break;case Friday:printf("今天是星期五。\n");break;case Saturday:printf("今天是星期六。\n");break;case Sunday:printf("今天是星期日。\n");break;}// 注意:枚举值默认从0开始,但可以指定起始值enum{Red = 100, // 从100开始Green,Blue};enum{ // 也可以不命名枚举类型,直接使用Jan = 1,Feb,Mar};printf("Green 的值是:%d\n", Green); // 输出 Green 的值,基于前面的定义应为 101struct Student student1; // 声明一个结构体变量// 初始化结构体变量strcpy(student1.name, "张三");student1.age = 20;student1.score = 88.5;// 打印学生信息printf("姓名: %s, 年龄: %d, 成绩: %.1f\n", student1.name, student1.age, student1.score);union Data data;// 存储整数data.intValue = 100;printf("作为整数时的值: %d\n", data.intValue);// 同一块内存现在存储浮点数data.floatValue = 3.14;// 注意:这里打印的是之前整数值转换成浮点数的结果,因为共用体在同一时间只能有效存储一种类型的数据printf("转换为浮点数后的值(可能不准确): %.2f\n", data.floatValue);int num1, total;num1 = 10;total = num1 * PRICE;printf("total = % d", total);return 0;
}
http://www.lryc.cn/news/368998.html

相关文章:

  • NSSCTF-Web题目5
  • cnvd_2015_07557-redis未授权访问rce漏洞复现-vulfocus复现
  • 免费,C++蓝桥杯等级考试真题--第7级(含答案解析和代码)
  • python为什么要字符串格式化
  • go语言后端开发学习(三)——基于validator包实现接口校验
  • 系统架构设计师【补充知识】: 应用数学 (核心总结)
  • 【ArcGIS微课1000例】0118:一文讲清楚tif(geotiff)栅格数据格式
  • 调用第三方API --------------Python篇
  • Web自动化测试-掌握selenium工具用法,使用WebDriver测试Chrome/FireFox网页(Java
  • maven多模块项目搭建
  • PostgreSQL的视图pg_tables
  • Stable diffusion采样器详解
  • 为什么要进行渗透测试?
  • 后方碰撞预警系统技术规范(简化版)
  • Position定位
  • npm install 的原理
  • 基于I2C协议的OLED显示(利用U82G库)
  • 【文末附gpt升级秘笈】探索AGI之路:穿越大模型的冰与火,谱写未来技术的乐章
  • 国内12寸先进封装厂家的一些情况
  • 【代码随想录训练营】【Day 48】【动态规划-7】| 卡码 57, Leetcode 322, 279
  • 【Qt】Qt常见的数据类型
  • 【源码】Spring Data JPA原理解析之事务执行原理
  • 第十一篇——信息增量:信息压缩中的保守主义原则
  • 中国飞行器设计创新大赛多旋翼无人机任务飞行
  • WPF-UI布局
  • 武忠祥17堂课没必要全听,这几个才是精华!
  • Android 蓝牙profile的配置
  • Selenium时间等待_显示等待
  • 41 mysql subquery 的实现
  • 钉钉二次开发-企业内部系统集成官方OA审批流程(三)