ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

C++:常用、常查

C++:常用、常查 文章目录1.运算符优先级2.ASCII码表3.vim全文替换4.函数(1)清空数组 / 数组初始化memset(2)malloc、calloc、realloc(3)sizeof()(4)取整函数5.算法(1)求最大公约数 gcd()(2)得到一个三位数的个位、十位、百位6.常用宏(1)SIZE(a) 求数组长度(2)INT_MIN-2^31^(3)防止头文件重复包含的宏命令(对于.h文件)1.运算符优先级1.C语言2.C比起C语言多增加了几个运算符如 作用于限定符、new、delete2.ASCII码表A-Z65-90a-z97-1223.vim全文替换替换全文的所有匹配项:%s/要被替换的词/用来替换的词/g4.函数(1)清空数组 / 数组初始化memsetvoid*memset(void*s,intc,size_tn);#includestring.hintarr[10]{0,1,2,3,4,5,6,7,8,9};memset(arr,0,sizeof(arr));//初始化为0charstr[50]Hello, World!;memset(str,h,5);memset(str,0,sizeof(str));#includestring.hintcount[26];memset(count,0,sizeof(count));//初始化为0charstr[26];memset(str,0,sizeof(str));memset(起始地址,0~0xFF,长度)一个字节一个字节的设置(2)malloc、calloc、realloc#includestdlib.hint*p1malloc(个数*sizeof(int));int*p2calloc(个数,sizeof(int));int*p1realloc(p1,新的个数*sizeof(int));(3)sizeof()sizeof 运算符用于计算一个对象或类型所占的内存字节数C语言字符串是以\0结尾intasizeof(Hello);//6intbstrlen(Hello);//5(4)取整函数函数功能示例 (3.7)示例 (-3.7)ceil(x)向上取整4.0-3.0floor(x)向下取整3.0-4.0round(x)四舍五入4.0-4.0trunc(x)截断小数3.0-3.05.算法(1)求最大公约数 gcd()辗转相除法(欧几里得算法求最大公约数)//greatest comon divisor//a b * q r (0 r b)//gcd(a,b) gcd(b,r) … gcd(d,0) d1.非递归写法 循环intgcd(inta,intb){if(ab){swap(a,b);}while(b!0){intr;ab;br;}// b 0returna;}2.递归intgcd(inta,intb){if(b0)returna;elsereturngcd(b,a%b);}intgcd(inta,intb){returnb?gcd(b,a%b):a;}三目运算符表达式1 ? 表达式2 : 表达式3;若1为真则执行2若1为假则执行3例题1实现分数相加答案#define_CRT_SECURE_NO_WARNINGS#includestdio.h//辗转相除法求两个数的最大公约数intfindgcd(inta,intb){if(b0)returna;elsereturnfindgcd(b,a%b);}intmain(void){intnumerator1,numerator2,denominator1,denominator2;intsum1,sum2;printf(Enter first fraction: );scanf(%d/%d,numerator1,denominator1);printf(Enter second fraction: );scanf(%d/%d,numerator2,denominator2);sum1numerator1*denominator2numerator2*denominator1;sum2denominator1*denominator2;intgcdfindgcd(sum1,sum2);sum1/gcd;sum2/gcd;printf(The sum is %d/%d,sum1,sum2);return0;}(2)得到一个三位数的个位、十位、百位intnum153;intonesnum%10;inttens(num/10)%10;inthundredsnum/100;6.常用宏(1)SIZE(a) 求数组长度自定义宏 SIZE(a)用于求数组的长度#defineSIZE(a)(2)INT_MIN-2311.宏INT_MIN表示32位带符号整数的最小值即 -231 -2147483648定义在limits.h头文件中#define_CRT_SECURE_NO_WARNINGS#includestdio.h#includelimits.hintmain(void){printf(%d\n,INT_MIN);return0;}2.long long类型的最大最小值LLONG_MIN-9,223,372,036,854,775,808即 -2^63LLONG_MAX9,223,372,036,854,775,807即 2^63 - 1(3)防止头文件重复包含的宏命令(对于.h文件)以LogWidget.h为例方法13行搞定是通用的宏#ifdefLogWidget_H#defineLogWidget_H内容#endif方法2 1行搞定但不通用仅限某些编译器#pragmaonce内容
返回列表