linux C学习第五天

今天对变量和常量进行了区分和深入的了解

一、变量

1、什么是变量

程序中用一个字符来表示一段内存,因此对于内存的操作就是对这个符号的操作。而变量就是这个符号和4字节的空间。(变量是一个整体,符号和空间都是变量的一部分)

2、变量的组成

(1)内存空间:存放数据的地方
(2)变量名:用于方便对内存的操作
(3)变量地址(编号):区分变量的在内存中的位置,以开头第一个字节的地址为变量地址
(4)变量类型:决定这个空间能存放的数据类型

3、标识符(变量名)的命名规则

(1)只能以数字、字母、下划线组成
(2)不能以数字开头
(3)不能使用C语言的关键子

4、变量的类型

变量是以变量占用内存空间大小的不同进行划分的,不同大小的数所需要的内存空间大小是不同的。
C语言是按变量占据的内存大小和存储类型不同,划分了不同的变量类型。
类型区别有:
(1)带符号的有:整型有:char、short、int、long、long long,浮点型有:float、double
(2)无符号数:整型unsigned char、unsigned short、unsigned int、unsigned long、unsigned long long,浮点型没有无符号数
注:整型的规则 char <= short <= int <= long <= long long ,浮点型 float 有效为数为6—7位,double 有效位数为15—16。

5、字符与字符串的区分

内存中存放的数据多是二进制数,取出数据时会对二进制数进行编码(编码:把存放的内容转换成数字放入内存,用的时候从内存中取出数字再将数字转换成对应的内容)。
(1)字符:字符使用 ‘ ’ 括起来的单个符号,类似‘a’是指字符a,‘!’是指字符!
(2)字符串:字符串是用 “ ” 括起来的内容,类似“a”并不是指字符a而是指字符串a

6、变量的定义和使用

变量 说明 举例
变量的定义 给变量分配名字和空间 int a
变量的初始化 给变量定义的同时给变量一个初值 int a=3;
变量的声明 只给变量一个名字但并不分配空间

注:变量的初始化只在变量第一次被创建的时候使用

7、标准输入、输出函数

(1)标准输入函数:printf(“打印的内容%打印类型”,要打印的变量的名字或者常量);
在这里插入图片描述
(2)标准输出函数:scanf("%输入的类型",写入的变量的地址);
注意:scanf输入需要的是变量的地址,用&取变量地址。
scanf是以空格或者回车作为一次读取的结束

二、常量

1、常量指的就是字面量
2、常量的值是不允许改变的
3、整型对应不同的常量

开头 对应进制 举例
无开头 十进制 12:指十进制12
以0开头 八进制 012:是十进制的10,八进制的12
以0x开头 十六进制 0x12:是十进制的18,16进制的12
以L结尾 是长整型的 12L:是指长整型的12

4、浮点数不同的常量

开头 对应类型 举例
默认 double型 1.2:double型的1.2
结尾加f float型 1.2:float型的1.2

5、字符常量
字符常量有两种:
一种是普通字符,即用单撇号括起来的一个字符,如’b’ ,‘y’,‘?’。字符常量在储存在计算机的储存单元中时,是以其代码(一般采用ASCII代码)储存的。ASCII码只定义了前128个。
在这里插入图片描述
另一种是转义字符,即特殊字符常量。转移字符是C语言中表示字符的一种特殊形式,其含义是将 \ 后面的字符转换成另外的意义,例"是指“ ”。
6、#denfine
程序之中一般不会直接用数字、字符常量,会在文件的开头用#define 将数字、字符常量定义成一个词(大写,用于区分变量名)例如:#define PI 3.14,在下文中写 PI 就是3.14.

三、cos函数和sin函数在0—360度内用“+”,“*”打印出来

#include <stdio.h>
#include <math.h>

main()
{
    double i;
    int x,y,n,m;
/*      
    for(y=0;y<=20;y++)
    {
        i=y*0.1;
        m=acos(1-i)*10;
        n=45*(i-1)+31;

        for(x=0;x<=62;x++)
        
            if(x==m && x==n)
            { 
                printf("+");
            }
            else if(x==n)
            {
                printf("+");
            }
            else if(x==m || x==62-m)
            {
                printf("*");
            }
            else
            {
                printf(" ");
            }
            printf("\n");
*/                      
        


    for(y=0;y<=20;y++)
    {
        i=0.1*y;
        m=asin(1-i)*10;
        n=acos(1-i)*10;
        for(x=0;x<=62;x++)
        
        if(x==m &&x==n)
        {
            printf("+");
        }
        else if(x==n || x==62-n)
        {
            printf("*");
        }
        else if(x==m || x==31-m) 
        {
            printf("+");
        }
        else if(x==m || x==62+m)
        {
            printf("+");
        }
        else 
        {
            printf(" ");
        }
        printf("\n");
        
    }

    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43360263/article/details/84136328