C和C++学习心得(更新中)

1.关于库函数的调用,使用strcmp(),strcpy()等函数,需要加上#include ,还有值得注意的一点是,在调用strcpy时,假设你写了正常的调用语句,如strcpy(str1,str2),编译器仍会报错,则可能需要使用更安全的strcpy_s() 相关详解

2.字符的输入可使用cin.get(),和C中gets()函数的用法差不多,如ar=cin.get(),可用于在多组字符串的输入中吸收无关字符(如输入数据后的回车击键)。而字符串的输入可以使用cin.getline()函数,该函数使用规则:cin.getline()实际上有三个参数,cin.getline(接受字符串到m,接受个数5,结束字符),当第三个参数省略时,系统默认为'\0' 是'/n'吧。相关详解

示例代码

int repeat,i;
char c,ar,str[100];
cin>>repeat;//输入循环次数
for(i=1;i<=repeat;i++){
    ar=cin.get();//吸收回车的击键
    cin.getline(t,100);
    cin>>m;
    strmcpy(s,t,m);//调用一个自定义函数
}

3.字符和字符串的输出,使用cout即可,输出字符串记得要用字符数组的首地址(即函数名)。值得一提的是在C语言中,%g的作用(详解)
还有就是强制转换(type)可以用于浮点数的取整数部分的运算,下面的代码可以将实数分为整数部分和非整数部分两部分。

#include <stdio.h>
void splitfloat( float x, int *intpart, float *fracpart );//用于将实数拆分成整数部分和小数部分
int main()
{
    float x, fracpart;
    int intpart;
    scanf("%f", &x);
    splitfloat(x, &intpart, &fracpart);
    printf("The integer part is %d\n", intpart);
    printf("The fractional part is %g\n", fracpart);
    return 0;
}
void splitfloat( float x, int *intpart, float *fracpart )
{
    int i,len=0;
    float store;
    *intpart=0;
    if(0.0<=x&&x<1.0){
        *fracpart=x;
    }
    else{
        *intpart=(int)x;
        *fracpart=x-*intpart;
    }
}

4.在这里提一下,指针数组的使用。示例如下:

const char*week[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};

其实在这里我有一些疑惑,把char*前的const去掉,编译器会报错????相关用法和说明

猜你喜欢

转载自www.cnblogs.com/031902522ycy/p/12444471.html