C语言------数据类型

C语言的数据类型有很多,为了突出主线,避免初学者一开始就因为接触太多的数据类型陷入到繁琐的语法当中,这里只介绍整型和实数型。

C语言程序处理的数据有常量变量两种形式。

常量

    在程序中不能改变的量。按着类型分为:整型常量(包括0在内)、实型常量、字符常量、字符串常量、枚举常量。

    整型常量我们习惯用十进制来表示,计算机用二进制存储,由于二进制表示不直观方便,有时我们也用八进制(以0开头)和十六进制(以0x开头),无论用几进制,编译器都会自动转换为二进制存储。

    实型常量分为单精度(F)、双精度、长双精度(L)3种。实数型常量通常默认按双精度处理。

变量

    在程序中可以改变的量(变量在使用之前必须先定义),在定义变量时,要声明变量类型和变量名:

                                类型关键字   变量名;

关键字是C语言预先设定的,具有特殊意义的单词。

上述的类型关键字用于声明变量的类型,变量的类型决定了编译器为其分配内存单元的字节数,数据在内存单元存放形式,该类型变量合法的取值范围以及该类型变量可以参与的运算种类。变量名是用户定义的标识符,用于标识内存中的一个具体的存储单元,在这个存储单元中存放的数据称为变量的值。标识符是区分大小写的。

在计算机的 内存中,变量就好比一个盒子,程序员负责为这个盒子命名,盒子可以存放你想放进去的任何数据。当新的数据被存放到盒子里时,盒子里原有的数据就会被修改。变量名的命名规则:标识符只能由英文字母,数字,下划线组成,并且不能以数字开头。

main()
{
    int a;
    float b;
    char c;
    a = 1;
    b = 2.5;
    c = 'A';
}

    用标准C语言编写的程序都是以main()作为开头的,他指定了C程序执行行的起点,在C程序中只能出现一次,一个C程序必须有且只能用一个main作为名字的函数,称为主函数。C程序总是从主函数开始执行,与其在函数中的位置无关。主函数中的语句用花括号括起来,并且以分号作为结束。

这里强调一下,标准C(C89)规定所有的变量必须在第一条可执行语句之前定义。C语言允许在定义变量的同时为其赋值(初始化)

在为变量赋值时,等号两边为了美观,最好加一个空格。main函数内部的语句通常统一缩四个空格。

C语言的注释:通常用一对/*和*/来进行注释,可以跨越多行。但是不可以嵌套。

在一个语句中,同时定义多个相同类型的变量:int a,b,c;    中间用逗号隔开,叫做分隔符

简单的屏幕输出:

变量被赋值以后,如何在屏幕上显示这些变量的值,这里用到printf()函数

printf():输出一个字符串,或者按着指定格式和数据类型输出若干变量的值。

#include <stdio.h>
main()
{
    int a = 1;
    float b = 2.5;
    char C = 'A';
    printf("a = %d\n",a);
    printf("b = %f\n",b);
    printf("c = %c\n",c);
    printf("End of program\n")
 }

    第一行是编译预处理指令,这一行将会出现在每一个需要向屏幕输出数据或者从键盘输入数据的程序中。

    C语言没有提供专门的输入/输出语句,所有的操作是通过调用C的标准库函数来实现的。使用这些函数,只需要在程序的没开始位置加上如程序第一行所示的编译预处理指令就可以。

尖括号内的文件称为头文件,编译预处理指令#include可以使头文件在程序中生效。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
顺序栈是一种基于数组实现的栈,它的特点是具有随机存取的特性。顺序栈的基本运算包括进栈、出栈和查看栈顶元素。进栈操作将元素插入到栈顶,出栈操作将栈顶元素删除并返回,查看栈顶元素操作返回栈顶的元素值,但不修改栈的状态。 在C语言中,顺序栈的存储结构可以使用一个一维数组来存放栈中的元素,同时使用一个指示器top来指示栈顶的位置。在进行进栈和出栈操作时,需要更新top的值,使其指向栈顶元素。 下面是一种常见的顺序栈的定义和基本操作的示例代码: ```c // 定义栈中元素的数据类型 typedef int StackElementType; // 定义顺序栈的存储结构 #define Stack_Size 100 // 栈的最大容量 typedef struct { StackElementType elem[Stack_Size]; // 用数组存放栈中元素 int top; // 栈顶指针 } SeqStack; // 初始化顺序栈 void Init_SeqStack(SeqStack *S) { S->top = -1; // 初始时栈为空,栈顶指针置为-1 } // 进栈操作 void Push_SeqStack(SeqStack *S, StackElementType x) { if (S->top == Stack_Size - 1) { printf("栈已满,无法进栈"); return; } S->top++; // 栈顶指针加1 S->elem[S->top] = x; // 将新元素放入栈顶位置 } // 出栈操作 StackElementType Pop_SeqStack(SeqStack *S) { if (S->top == -1) { printf("栈为空,无法出栈"); return -1; // 返回一个特殊值表示出错 } StackElementType x = S->elem[S->top]; // 获取栈顶元素的值 S->top--; // 栈顶指针减1 return x; // 返回栈顶元素的值 } // 查看栈顶元素 StackElementType GetTop_SeqStack(SeqStack *S) { if (S->top == -1) { printf("栈为空"); return -1; // 返回一个特殊值表示出错 } return S->elem[S->top]; // 返回栈顶元素的值 } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值