代码编写篇

来源:互联网 发布:淘宝思加图是真的吗 编辑:程序博客网 时间:2024/05/18 01:20

代码编写篇

1.写一个float x 与零值的比较的if语句;
这里主要存在一个float精度的问题,尽量少用“==”或者“!=”来比较float/double

#define FLT 1e-6float x=0.00003;if((x >= FLT)) {    //x大于0} else if( x >= (-FLT) || x <= FLT ) {    //x = 0} else {    //x < 0}

2.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直到全部输出为止,写出C程序

编程思路:首先建立一个循环指针,用来对1~N进行循环,然后就是每次数到M时,delete当前指针,从头再一次循环,直到循环指针的数量少于M为止

3.判断自加运算正确与否

了解左值和右值:C/C++语言中可以放在赋值符号左边的变量,左值表示存储在计算机内存的对象,左值相当于地址值。右值:当一个符号或者常量放在操作符右边的时候,计算机就读取他们的“右值”,也就是其代表的真实值,右值相当于数据值
优先级: () > ++ > +

int a = 4,b = 4,c = 4,d = 4;a += (a++);b += (++b);(c++) += c; //左值不能自加(d++) += (d++);//左值不能自加结果:plusplus.c: In function ‘main’:plusplus.c:17:8: error: lvalue required as left operand of assignment  (c++) += c;        ^plusplus.c:18:8: error: lvalue required as left operand of assignment  (d++) += (d++);a = [9]b = [10]c = [4]d = [4]在C语言中,++c = 10;++c=10;++(c=10);都是非法的然而在C++中则要另提别论了,要注意C中自增自减都不能作为左值

4.计算sizeof

    void Foo(char str100[100]){        printf("sizeof(str100) =[%d]\n",sizeof(str100));    }    char str[] = "563200085@qq.com";    char* p = str;    int n = 10;     printf("sizeof(str) = [%d]\n",sizeof(str));    printf("sizeof(p) = [%d]\n",sizeof(p));    printf("sizeof(n) = [%d]\n",sizeof(n));    Foo(str);    void* vp = (void*)malloc(100);    printf("sizeof(vp) = [%d]\n",sizeof(vp));结果:sizeof(str) = [17]sizeof(p) = [4]sizeof(n) = [4]sizeof(str100) = [4]sizeof(vp) = [4]经检测,在C和C++中都是一样的

5.不用C++/C的字符串库,编写strcat

//原型:char* strcat(char *strDst,char *strSrc);char* CatStr(char* dst,char src){    if(!dst || !src) return NULL;    char* p = dst;    while(*dst){        dst++;    }    while((*dst++ = *src++));    return p;}
0 0
原创粉丝点击