温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C语言基本语法的示例分析

发布时间:2021-09-24 15:49:18 来源:亿速云 阅读:210 作者:小新 栏目:开发技术

小编给大家分享一下C语言基本语法的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    1、标识符与关键字

    给变量所取的名字叫变量名,定义变量的名字需要遵循标识符的命名规则。
    标识符是用来标识变量、符号常量、数组、函数、文件等名字的有效字符序列。

    标识符的命名规则:

    1.只能由字母、数字和下划线组成(例如:Score1,Stu_name)

    2.第一个字符必须为字母或下划线

    3.区分大小写字母

    4.C语言内部规定的标识符(即关键字)不能作为用户标识

    C语言的关键字:

    C语言的关键字,是保留的一些特殊作用的词语,一共32个关键字

    关键字说明
    auto声明自动变量
    break跳出当前循环
    case开关语句分支
    char声明字符型变量或函数返回值类型
    const定义常量,如果一个变量被 const 修饰,那么它的值就不能再被改变
    continue结束当前循环,开始下一轮循环
    default开关语句中的"其它"分支
    do循环语句的循环体
    double声明双精度浮点型变量或函数返回值类型
    enum声明枚举类型
    extern声明变量或函数是在其它文件或本文件的其他位置定义
    float声明浮点型变量或函数返回值类型
    for一种循环语句
    goto无条件跳转语句
    if条件语句
    int声明整型变量或函数
    long声明长整型变量或函数返回值类型
    register声明寄存器变量
    return子程序返回语句(可以带参数,也可不带参数)
    unsigned声明无符号类型变量或函数
    union声明共用体类型
    void声明函数无返回值或无参数,声明无类型指针
    volatile说明变量在程序执行中可被隐含地改变
    while循环语句的循环条件

    C99新建关键字:

    _Bool _Complex_Imaginaryinline restrict

    C11新建关键字:

    _Alignas _Alignof _Atomic _Generic _Noreturn_Static_assert _Thread_local

    2、常量和符号常量

    常量:在程序运行过程中,其值不会发送变化的量。

    变量:在程序运行过程中,其值可以发送变化的量

    (1)常量和常量符号

    C语言提供的常量类型有整型常量、实型常量、字符常量、字符串常量和符号常量。

    用一个标识符来代表一个常量,该标识符叫做符号常量,其一般形式为:

    #define 标识符 常量

    例如:

    #define PI 3.1415926

    关于typede和defin的用法与区别:

    1.#defien是预处理指令,在编译预处理时进行简单替换,不作正确性检查,不管含义是否正确照样带入,只要在编译器已被展开的源程序时才会发现可能的错误并报错。

    例如:#define PI 3.1415926

    程序:area = PIrr替换3.1415926r

    2.rtypedef是在编译时处理的,通常是用于对已有数据类型取别名,而#define只是简单地替换。

    例如:typedef unsigned int uint;

    这样就为unsigned int型引入新助记符uint,以后使用uint直接代表unsigned int型。

    例如:typedef PI 3.1515926;

    编译器会直接报错,原因PI并非已存在类型,其次“3.1515926”不符合命名规则。

    (2)变量

    1.变量在内存中占用一定的储存单元,在该储存单元中存放变量值。

    2.程序中用到的所有变量都必须有一个变量名

    3.变量名和变量值是两个不同的概念

    C语言基本语法的示例分析

    4.不同类型的变量在内存中占据储存单元的数量及储存的格式不相同,例如:char ch = ‘1';int i = 1;

    C语言基本语法的示例分析

    5.变量必须“先定义后使用”,这样做的目的是:

    1、便于编译程序程序检测对该变量的运算是否合法。例如:整型变量可以进行求模(余数)运算,实型变量不可以进行求模运算。

    2、程序中变量名的正确使用

    3、C语言数据类型

    C语言基本语法的示例分析

    (1)整型常量

    整型常量就是整数,有3种表示形式

    1.十进制整常数:就是通常整数的写法,数码取值为0-9。例如:25、-623、0等

    2.八进制整数:以0为前缀,数码取值0-7,

    例如:

    020(十六进制16)

    016(十六进制14)

    0177777(十六进制65535)

    -010(十进制数-8)

    几种不合法的八进制数:

    256(无前缀0)

    079(包含了非八进制数码9)

    3.十六进制整型常数:以数字和字母0x开头,即0x作为前缀,数码的取值为0-9和A-F(或字母a-f)

    几种合法的十六进制数:

    0x2A(十进制数42)

    0x1AB0(十进制数6832)

    几个不合法 的十六进制数:

    5A(无前缀)、0x2H(包含了非十六进制数码H)

    整型变量

    整型变量分为:基本整型、长整型、短整型、无符号型

    C语言基本语法的示例分析

    整型变量的定义及初始化:

    定义变量及初始化的一般形式 为:

    类型说明符 变量名1 = 值1

    例如:

    int a,b,c;	//定义a,b,c为整型变量
    long x = 10;	//定义x为长整型变量,并附初值10
    unsigned int p=2,q=5,m;	//定义p,q,m为无符号整型变量。p赋初值为2,q赋初值为5

    整型变量需要注意:
    1、允许在一个类型说明符后,定义多个相同类型变量,类型说明符与变量名之间至少用一个空格间隔,各变量名之间用逗号间隔
    2、最后一个变量名后面用“;”号结尾
    3、变量定义必须放在变量使用之前,一般放在函数体开头
    4、没有给变量赋初值,并不意味着该变量中没有数值,只表面给变量中没有确定的值,因此直接使用这种变量的话可能产生莫名其妙的结果,有可能导致运算错误

    例程:

    #include <stdio.h>
    void main(void)
    {
        int a = 3, b = 5, c, d;
        c = a+b;
        d = a-b;
        printf("a+b=%d,a-b=%d\n",c,d);
    }
    原码、反码和补码

    计算机中数分为有符号和无符号。他们是以二进制形式表示的,有三种表示方法,即原码和补码。

    三种表示方式由符号位和数值位两部分构成

    符号位在最高位,用0表示“正”,1表示“负”。

    取余位为数值位

    C语言基本语法的示例分析

    C语言基本语法的示例分析

    原码:按照二进制的方法来表示数的绝对值,用这个方法得到的就是数的原码。

    反码:正数的反码与其原码相同,负数的反码为其原码除符号位以外的各位 按为取反。

    补码:正数的补码与其原码相同,负数的补码是将其原码除符号位之外的各位求反之后,在末位再加1

    正数的原码、反码。补码相同;负数的原码、反码、补码不同。数值在计算机中以补码形式存放。

    例如:求-127的补码

    C语言基本语法的示例分析

    (2)实型数据

    实型数据又称为实数或浮点数,指是带有小数部分的非整数数值。

    实型常量

    在C语言中,实数常量只能用十进制数表示,有两种表示方法:

    1.小数形式:由数字0~9和小数点组成,当小数部分为零时,小数点不能省略。例如:0.0/24.4、-56.33等均为合法的实型常量

    2.指数形式:由十进制数、加阶码标志小写字母“e”(或大写字母“E”)和阶码(必须是整数)组成。

    例如:2.3E5(相当于2.3 x 10^5)

    以下是不合法的实型常量:

    123(无小数点)

    E4(阶码“E”之前无数字)

    23.-E3(负号的位置不对)

    2.7E(无阶码)

    实型变量

    C语言基本语法的示例分析
    C语言基本语法的示例分析

    实型变量的定义以及初始化

    例如:

    float a,b,c;			//定义a,b,c为单精度实型变量
    double m=3.5,n=5.6;		//定义m,n为双精度实型变量,并分别赋值3.5和5.6

    (3)字符型数据

    字符常量是用一对单引号括起来的一个字符

    如:‘b'、‘z'、‘='、‘?'、‘5'

    字符常量特点:

    1.字符常量只能是单个字符,不能是多个字符

    2.字符常量是以ASCII码形式储存,一个字符常量占用一个字节空间。

    ASCII码

    ASCII码表示American Standrd Code for Information Interchange。ASCII编码能表示数据范围是00000000~11111111共2^8即256个数据

    标准的ASCII码有128个字符,其中:

    1.0-31为控制字符,例如,回车换行、文件结束标志、字符串结束标志

    2.10个阿拉伯‘0'~‘9'的码值是连续的

    3.26个大写字母‘A'-‘Z'是连续的,26和大小写字母‘a'-‘z'是连续的

    4.字符常量也可以参与各种运算,如:‘B'-‘A'值为1(字符‘B'的ASCII码值减去66字符‘A'的ASCII码值65结果为1)

    字符型变量

    1.字符型变量在内存中占用1个字节,只能存放一个字符,并以该字符的ASCII码的值的形式存放

    2.在C语言中,一个字符型数据可以按照它的ASCII码进行数据运算

    字符型数据储存空间和值范围

    类型字节数取值范围
    char1-128~127
    unsigned char10~255

    例程:给字符变量赋整数值

    #include <stdio.h>
    int main()
    {
        char ch2=65,ch3=66;
        printf("%c,%c\n",ch2,ch3);
        printf("%d,%d\n",ch2,ch3);
    }
    转义字符字符

    转义字符:是由一个反斜杠“"后跟规定,具有特定含义的字符

    常用转义字符如下表

    C语言基本语法的示例分析

    转义字符使用如下:

    #include <stdio.h>
    int main()
    {
        printf("\"china\"\n");
        printf("My \tCountry.\n");
        printf("I am hap\160\x79.\n");
    }
    字符串常量

    字符串常量是简称字符串,是用一对双撇号(西方双引号英文)括起来的一串字符,包含字符的个数和字符长度
    例如:“Hello World”。“a”,“C语言”都是字符串常量。

    字符串常量和字符常量区别:

    1.字符常量是右边单引号括起来的字符,而字符串常量是由双引号括起来的字符。尽管‘a'与“a”都包含一个字符,但在C程序中,它们都具有不同的含义

    2.字符常量只能是一个字符,字符串常量可以是多个字符

    3.可以把一个字符串常量赋值一个字符变量,但不能把一个字符常量赋值一个字符变量。

    字符串变量

    在C语言中没有专门的字符串类型,我们只能使用数组或者指针来间接地存储字符串。

    char str1[] = "Hello World!"
    char *str2 = "你好世界!"

    str1 和 str2 是字符串的名字,后边的[]和前边的*是固定的写法。初学者暂时可以认为这两种存储方式是等价的,它们都可以通过专用的 puts 函数和通用的 printf 函数输出。

    #include <stdio.h>
    int main()
    {
        char web_url[] = "hHello World!";
        char *web_name = "你好世界";
        puts(web_url);
        puts(web_name);
        printf("%s\n%s\n", web_url, web_name);
        return 0;
    }

    以上是“C语言基本语法的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI