指针与零的比较以及浮点型与零的比较

来源:互联网 发布:软件服务行业会计处理 编辑:程序博客网 时间:2024/06/06 16:32

指针和零的比较

 int *p = null; if(p != null) {    p = 20;}

整形和零的比较

int i = 0;if(0==i){    ...}

浮点型和零的比较

判断一个浮点数是不是零

###### #define  EXP   0.0000000000001float f = 0.00001;if((f > -EXP)&&(f < EXP)){    ...}

扩展后

判断一个浮点数是不是20

###### #define  EXP   0.0000000000001<code>float f = 20.0;if( (f  - 20 > -EXP) && (f - 20)< EXP) ){    ...}

数组个数的计算语句

int arr[] = {0,1,2,3,4}for(int i = 0;i < sizeof(arr)/sizeof(arr[0]);i++)

练习题判断两个素数是否有相同的元素

#include <stdio.h>int main(){    int i = 0 ,j = 0 ,count = 0;    int arr1[] = { 1, 2, 3, 4, 5 };    int arr2[] = { 7, 9, 8, 10 ,0};    for (i = 0; i < sizeof(arr1) / sizeof(arr1[0]); i++)    {        for (j = 0; j < sizeof(arr2) / sizeof(arr2[0]); j++)        {            if (arr1[i] == arr2[j])            {                printf("有\n");                return 0;            }           }        if (j >= sizeof(arr2) / sizeof(arr2[0]))        {            printf("没有\n");            return 0;        }    }    return 0;}

计算两个数的最小公倍数以及最大公约数

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main(){    int BeiChu = 0;    int ChuShu = 0;    int temp = 0;    int YuShu = 0;    printf("请输入BeiChu:\n");    scanf("%d", &BeiChu);    printf("请输入ChuShu\n");    scanf("%d", &ChuShu);    printf("BeiChu = %d\n", BeiChu);    printf(" ChuShu = %d\n", ChuShu);    temp = BeiChu * ChuShu;        YuShu = BeiChu % ChuShu;        int GongBei = 0;        while (YuShu != 0)        {        BeiChu = ChuShu;        ChuShu = YuShu;        YuShu = BeiChu % ChuShu;        }               printf("最大公约数是:%d\n", ChuShu);          GongBei = temp / ChuShu;        printf("最小公约数是:%d\n", GongBei);    system("pause");    return 0;}

关键字volatile 说明

   关键字volatile是一个关键字修饰符,使得内存可见,因为当用const定义了一个常变量时,操作系统认为既然变量为常变量,于是便把变量从内存中调入到高速缓存区,当下一次使用const定义的常变量时,操作系统便从高速缓存区中去拿,当改变了变量的值时,系统完全不知道,只有当被volatile修饰后,操作系统才会看到内存中已经被改变的变量的值

原创粉丝点击