美文网首页
C语言变量,运算符,表达式

C语言变量,运算符,表达式

作者: RubyiOS | 来源:发表于2018-03-17 13:56 被阅读0次

第一个C语言程序

#include <stdio.h>

int main(void)

{

    printf("Hello world!\n");

}

打印一个Hello world! (\n换行符)

gcc -o test 1.c

./test

1.#include <stdio.h>

int main(void){

        int a = 5;

// 声明一个整形变量a,初始化为5

//标示符:由字母数字下划线组成,由字母开头,下划线属于字母;不可以用关键字

//关键字:union,int float 等等

        //在内存中开辟4字节空间(int),跟这4个字节起个名字叫做a,将数字5存储到这个空间里

        printf("%d\n",a);

        int b; //在声明时不初始化,在后面给变量赋值,称为赋值

        b = 6;

        return 0;

}

2.short 短整形,short a = 5;2个字节

long 长整形,long a = 5; 8字节64位存储5;

int                        16位cpu占2字节,32位cpu占4字节, 64位cpu占4字节

unsigned int        16位cpu占2字节,32位cpu占4字节, 64位cpu占4字节

short                   16位cpu占2字节,32位cpu占2字节, 64位cpu占2字节

unsigned short  16位cpu占2字节,32位cpu占2字节, 64位cpu占2字节

long                    16位cpu占4字节,32位cpu占4字节, 64位cpu占8字节

unsigned long    16位cpu占4字节,32位cpu占4字节, 64位cpu占8字节

3.int a = 010,表示存储的8进展,转化为10禁止位8;打印也是8,不看怎么存,只看怎么读,不管是2进制2进制还是10进制,16进制,存到内存中都是2进制的补码

#include <stdio.h>

int main (void){

        int a = 010;

        printf(''%d\n",a);   //8  10进制

        printf(''%o\n",a);   //10 8进制

        printf(''%x\n",a);   //8 16进制

        return 0;

}

4.unsigned int a = 8;无符号位整形,4个字节,32位;所有位都表示大小,没负数

0000 0000 0000 0000 0000 0000 0000 1000

1000 0000 0000 0000 0000 0000 0000 1000,最左侧的不是符号位在这里,表示一个很大的数

#include <stdio.h>

int main(void){

        int a = -1;

// 0xFFFFFFFF 补码形式存储

        printf("%d\n",a);  //结果1

        printf("%u\n",a);  //当作无符号位打印结果是4294967295

}

5.字符常量

'A' '*', 字符常量,计算机中是用一个数字存储1个字符的;

#include <stdio.h>

int main (void){

        char _a = 'A';

        printf("%c  %d\n",_a,_a);  //A  65(ASCII)

        return 0;

}

char 在C语言中仍然是整形变量,占1个字节;不同于JAVA,

6.sizeof(),打印字节长度

#include <stdio.h>

int main(void){

        int a = 5;

        int b = 'A';

        printf("%d   %d\n",sizeof(int),sizeof(a));   // 4   4

        printf("%d   %d\n",sizeof(char),sizeof('A'));   // 1   4

        printf ("%d  %c",b,b); //65  A  不看怎么存,只看怎么读

        return 0;

}

7.一个高位数赋值给一个低位数,会发生截断,如果高位数超过当前类型允许的最大值,超过部分直接去掉

位扩展的时候正数补0,负数补1;低位转高位,char a = -1;short b = a;   1111 1111 ->1111 1111 1111 1111

8.实型数据大小

float                 4字节   有效小数位数6-7位

double             8字节   有效小数位数15-16位

long double     16字节   有效小数位数18-19位

9.scanf 输入

#include <stdio.h>

int main(void){

        int a;

        int b;

        scans("%d%d",&a,&b);//输入a和b的值;

        printf("%d,%d",a,b);

        return 0;

}

10.不同类型运算时会发生类型转换

char -> short -> int -> unsigned int -> long -> double <- float

a.短字节向长字节看齐:float a = 9.0,char b = 3;a + b 变为float;b先变为float类型再计算

b.有符号位向无符号位看齐

c.整形向浮点型看齐

d.单精度向双精度看齐

11.自增自减运算符

int i = 0,j = 0;

j = i ++;  //取i+之前的值

printf("i == %d,j==%d",i,j);  //1  0

j = i --;  //取i-之前的值

printf("i == %d,j==%d",i,j);  //  0  1

j = ++i;  //取i+之后的值

printf("i == %d,j==%d",i,j);  1  1

int a = ++i++;右结合性,同级运算先算右边;但是这么写也是错的。i++的表达式是一个常量,自增自减运算符是对变量进行的

a += 5; a = a + 5; 效果一样; a *= 5等

12.运算符优先级

!++ --

* / %

+ -

> < >= ==

&&

||

= += 等复合运算符

, 逗号运算符非常低

相关文章

  • c语言记录

    # c语言 ## 一 语法 ### 第一章 类型,运算符与表达式 #### 1.变量 ##### 1.1 变量名 ...

  • 【初识C语言】C语言中的运算符

    C语言中的运算符 1运算符和表达式 C语言运算符是说明特定操作的符号,它是构造C语言表达式的工具。C语言的运算异常...

  • C语言表达式和运算符大学霸IT达人

    C语言表达式和运算符大学霸IT达人 C语言中表达式会包含常量、标识符、运算符。最基础最简单的表达式就是常量表达式。...

  • C语言6 运算符和表达式

    C语言6 运算符和表达式 运算符与表达式 什么是运算符?什么是表达式? 表达式的结果 表达式不论怎么复杂。最终只有...

  • eeert 的编程记录

    c语言 一 语法 第一章 类型,运算符与表达式 1.变量 1.1 变量名 变量标识符只可以使用字母,下划线以及数字...

  • Java学习

    1 java语言基础 java语言简介, Java开发环境, 变量, 运算符, 表达式, 分支语句, 循环语句, ...

  • C语言02- 运算符、表达式、程序语句、编码风格

    C语言02- 运算符、表达式、程序语句、编码风格 7:运算符与表达式 7.1:运算符 只有一个操作数的运算符叫单目...

  • C语言变量,运算符,表达式

    第一个C语言程序 #include int main(void) { printf("Hello world!...

  • Python逻辑运算符

    Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20: 运算符逻辑表达式描述实例 andx a...

  • 2018-02-05Java与C相似处

    运算符意义相同。 简写的C语言中条件运算符 条件运算符( ? :)也称为 “三元运算符”。 语法形式:布尔表达式...

网友评论

      本文标题:C语言变量,运算符,表达式

      本文链接:https://www.haomeiwen.com/subject/pzxjqftx.html