C语言和C++对比
一、新建文件
// C 语言 ***.c // C++ ***.cpp
二、运行文件
// c 语言 gcc 文件名.c -o hello(hello为自定义名称) // c++ g++ 文件名.cpp
三、试题对比
1. 300——500之间能被3和7整除的偶数
/* C语言---300——500之间能被3和7整除的偶数 */ #include <stdio.h> // 预处理指令 int main() { for(int i=300;i<=500;i++) { if((i%3 == 0 || i%7==0) && i%2==0) { printf("%d,", i); // 打印输出 } } return 0; }
/* C++ 300——500之间能被3和7整除的偶数 */ #include<iostream> //头文件 using namespace std; //命名空间 int main() { for(int i=300; i<=500; i++){ if((i%3 == 0 || i%7 ==0) && i%2 == 0){ cout << i << ';'; } } return 0; }
2. 16进制转10进制
// C语言 16进制转10进制 #include <stdio.h> #include <string.h> #include <math.h> int main() { char number16[100]; int len=0, i, sum=0, pows=0, values; // 1. 输入十六进制数 scanf("%s", number16); // 2. 计算输入字符的长度 len = strlen(number16); // 3. 将字符转化为数字,并累加 for(i=0;i<len;i++) { if(number16[i] >= '0' && number16[i] <= '9') { values = number16[i]-'0'; } else if(number16[i] >= 'a' && number16[i] <= 'f') { values = number16[i]-'a'+10; } else if(number16[i] >= 'A' && number16[i] <= 'F') { values = number16[i]-'A'+10; } pows = len - 1-i; sum+=values*pow(16,pows); } // 4. 输出10进制数 printf("%d", sum); return 0; }
// C++ 16进制转10进制 #include <iostream> #include <cstring> #include <cmath> using namespace std; int main() { char number16[50]; int sum = 0, lengthI =0, values=0; int pows; // 1. 输入十六进制数 cin >> number16; // 2. 计算输入字符的长度 int length = strlen(number16); // 3. 将字符转化为数字,并累加 for(int i=0; i<length;i++) { if(number16[i] >= '0' && number16[i] <= '9') { values=number16[i] - '0'; } else if (number16[i] >= 'a' && number16[i] <= 'f') { values=number16[i] - 'a' +10; cout << (number16[i] - 'a' +10) << endl; } else if (number16[i] >= 'A' && number16[i] <= 'F') { values=number16[i] - 'A' +10; } pows = (length -1-i); sum+= values *pow(16, pows); } // 4. 输出10进制数 cout << sum << endl; return 0; }
3. 字符串对比
// C语言 #include <stdio.h> #include <string.h> int main() { char string1[50], string2[50]; int compare, result; // 1. 输入字符串 scanf("%s,%s", string1, string2); // 2. 对比字符串 compare = strcmp(string1, string2); result = compare>0?1:compare == 0?0:-1; printf("%d", result); return 0; }
// C++ #include <iostream> #include <cstring> using namespace std; int main() { char string1[50], string2[50]; int result, compare; // 1. 输入字符串 cin >> string1 >> string2; // 2. 对比字符串 compare = strcmp(string1, string2); result = compare> 0? 1: compare==0?0:-1; cout << result << endl; return 0; }