静态断言assert #define NDEBUG#define _CRT_SECURE_NO_WARNINGS#include#include#include#include#ifndef NDEBUG#define myassert(x)#else#define myassert(x) \if (!(x))\ {\ printf("myassert(%s)宏检测开始。。。。", #x);
求余的符号取向 #define _CRT_SECURE_NO_WARNINGS#includeint main(){ printf("%d", 3 % 5);//3=0*5+3 printf("%d", 5 % 3);//5=1*3+2 printf("%d", 5 % -3);//5=-1*-3+2 printf("%d", -5 % 3);//-5=-1*3-2 printf(
longlong 及long double类型及输出 #define _CRT_SECURE_NO_WARNINGS#include#includeint main(){ long long lli; printf("%d", sizeof(long long)); printf("%lld-%lld", LLONG_MAX, LLONG_MIN); printf("%llu-%llu", ULLONG_MAX, 0); s
整数二进制移位 #define _CRT_SECURE_NO_WARNINGS#includeint wordlength(void){ unsigned d=~0,i; for (i = 0; d > 0;d >>= 1) i++; return i;}unsigned rightrot(unsigned x, int n){ unsigned d; d = (x & 1) << w
设置printf打印宽度 #define _CRT_SECURE_NO_WARNINGS#includeint main(){ int x; scanf("%d", &x); printf("*"); printf("%-*d", x, x); printf("*"); printf("%*d", x, x); printf("*"); system("pause"); return 0;}
求一个整数的二进制位数 #define _CRT_SECURE_NO_WARNINGS#includeint bitcount(unsigned x){ int i; printf("bitcout"); for (i = 0;x > 0;x &= x - 1) i++; return i;}int bitcount1(unsigned x){ int i; printf("bitcount1
条件表达式应用 #define _CRT_SECURE_NO_WARNINGS#includeint lower(int ch){ return ((ch >= 'A'&&ch <= 'Z') ? ch + 32 : ch);}int main(){ char ch;//变量不能定义为int类型 scanf("%c",&ch); printf("%c", ch); //ch = get
宽字符的应用 #define _CRT_SECURE_NO_WARNINGS#include#includeint main(){ //MessageBox(0, "杀破狼", "电影", 0);//在多字符集上适用 MessageBox(0, L"杀破狼", L"电影", 0);//在unicode字符集中适用 MessageBoxA(0, "杀破狼", "电影", 0);//无论是多字符集还是
中文输入输出 #define _CRT_SECURE_NO_WARNINGS#include#include#includeint main(){ char str1[20] = "我爱美女"; printf("%s", str1); printf("%c%c", str1[0], str1[1]); wchar_t str[20] = L"我爱中国"; wscanf(L"%s",
小型计算器的实现 #define _CRT_SECURE_NO_WARNINGS#includedouble add(double b1,double b2){ return b1 + b2;}double minus(double b1,double b2){ return b1 - b2;}double mul(double b1,double b2){ return b1*b2;}
取出二进制的某些位 #define _CRT_SECURE_NO_WARNINGS#includeint main(){ //取出二进制中从右向左数的p位置,向右数n个二进制位 int k, p, n; printf("请输入要取位的数值:"); scanf("%d", &k); printf("请输入要取位的位置及个数:"); scanf("%d%d", &p, &n); k = k >> (p
实数四舍五入 #define _CRT_SECURE_NO_WARNINGS#includeint main(){ double db,sum=1.0; int i,n; printf("请输入要四舍五入的实数:"); scanf("%lf", &db); printf("请输入要保留的位数:"); scanf("%d", &n); for (i = 0;i < n;i++) {
按照规定删除字符串 #define _CRT_SECURE_NO_WARNINGS#includevoid squeeze(char s1[], char s2[]){ int i, j, k,n; for (i = k = 0;s1[i] != '\0';i++) { k = i; for (j = 0;s2[j]!='\0'&&s2[j] == s1[k];k++, j++) ; i
按照规定删除字符 函数squeeze(s1,s2),字符串s1中任何与字符串s2中字符匹配的字符都删除。#define _CRT_SECURE_NO_WARNINGS#includevoid squeeze(char s1[], char s2[]){ int i, j, k; for (i = k = 0;s1[i] != '\0';i++) { for (j = 0;s2[j] !=
十六进制转换为十进制 函数htoi(s[])把由十六进制数字组成的字符串(包含可选的前缀0x或0X)转换为与之等价的等价的十进制数。字符串中允许包含的数字包括:0~9,a~f以及A~F。#define _CRT_SECURE_NO_WARNINGS #include#define YES 1#define NO 0int htoi(char s[]){ int hexdigit, i, in
写一个替换for的语句 在不使用&&或||的条件下编写一个与上面的for循环语句等价的循环语句(for(i=0;i enum loop { NO, YES }; enum loop okloop = YES; i = 0; while (okloop == YES) { if (i < lim - 1) okloop = NO; else if ((c = getchar()) == '')
long long极限值 #include#includeint main(){ printf("%f,%f",(float)LLONG_MAX,(float)LLONG_MIN); printf("%f,%d", (float)ULLONG_MAX, 0); printf("%.200f,%.200f",FLT_MAX,FLT_MIN); printf(".%.500f,%.500f",DBL
求极限值 程序以确定分别由signed及unsigned限定的char、short、int、及long类型变量的取值范围。采用打印标准头文件中相应值以及直接计算两种方式实现。#define _CRT_SECURE_NO_WARNINGS#include#includevoid main(){ printf("signed char max=%d", SCHAR_MAX); pri
73.根据公式求a的平方根 函数fun的功能是:应用递归算法求形参a的平方根。求平方根的公式是:x1=(x0+a/x0)/2.#define _CRT_SECURE_NO_WARNINGS#include#includedouble fun(double a, double x0){ double x1, y; x1 = (x0 + a / x0) / 2.0; if (fabs(x1 - x0)
74.统计字符串中各原音字母的数目 函数fun的功能是:统计字符串中各原音字母(即A,E,I,O,U)的个数,注意:字母不分大小写。#define _CRT_SECURE_NO_WARNINGS#includevoid fun(char *s, int num[5]){ int k, i = 5; for (k = 0;k < i;k++) num[k] = 0; for (;*s;s++) { i