当前位置: 首页 > news >正文

工业信息部网站备案南宁网络推广平台

工业信息部网站备案,南宁网络推广平台,dw个人网站模板,网站做附近地图导航作业#xff08;练习#xff09; 练习#xff1a;要求在堆区连续申请5个int的大小空间用于存储5名学生的成绩#xff0c;分别完成空间的申请、成绩的录入、升序排序、成绩输出函数以及空间释放函数#xff0c;并在主程序中完成测试 要求使用new和delete完成 #include 练习 练习要求在堆区连续申请5个int的大小空间用于存储5名学生的成绩分别完成空间的申请、成绩的录入、升序排序、成绩输出函数以及空间释放函数并在主程序中完成测试 要求使用new和delete完成 #include iostreamusing namespace std;//要求在堆区连续申请5个int的大小空间用于存储5名学生的成绩分别完成空间的申请、 //成绩的录入、升序排序、成绩输出函数以及空间释放函数并在主程序中完成测试 double *shengqin() //空间申请函数 {double *ptr new double[5]{-1,-1,-1,-1,-1};return ptr; }void release(double *ptr) //释放空间 {delete []ptr;ptr NULL; }void enter(double *ptr) //成绩录入功能 {int i0;while(i!5){cout输入成绩第i位endl;double a;cina;ptr[i] a;i;} }void asort(double *ptr) //升序排序 {for(int i0;i(5-1);i){int mi,b;bool c 0;bptr[i];for(int j0;j5;j){if(ptr[j]b){mj;c 1;}}//交换if(c1){int temp1;temp1 ptr[i];ptr[i] ptr[m];ptr[m] temp1;}}cout交换完成:\t\tendl; }void myprintf(double *ptr) {cout成绩如下endl;for(int i0;i5;i){coutptr[i]endl;} }int main() {double *ptr shengqin(); //空间申请enter(ptr); //成绩录入myprintf(ptr);asort(ptr); //升序排序myprintf(ptr); //输出release(ptr); //释放空间ptr NULL;return 0; }笔记 一、C的引入 1.1 C的介绍 开发者本贾尼---斯特劳斯特鲁普         Simula语言被称为世界上第一个引入类体系面向对象的语言         Algol研究的是关于算法结构         贝尔实验室改进C语言 1983年贝尔实验室Bell Labs的Bjarne Stroustrup发明了C。 C在C语言的基础上进行了扩充和完善是一种面向对象程序设计OOP语言。 Stroustrup说“这个名字象征着源自于C语言变化的自然演进”。还处于发展完善阶段时被称为“new C”之后被称为“C with Class”。 C被视为C语言的上层结构1983年Rick Mascitti建议使用C这个名字就是源于C语言中的“”操作符变量自增。         而且在共同的命名约定中使用“”以表示增强的程序。         支持面向对象编程、泛型编程和过程化编程。         编程领域广泛常用于系统开发引擎开发等应用领域是最受广大程序员喜爱的编程语言之一。         历史“C with Class”阶段C语言基础上的特征主要有类及派生类、共有和私有成员、构造函数和析构函数、友元、内联函数、赋值运算符的重载等等。         1985年1.0版新增加虚函数的概念、函数和运算符的重载、引用、常量等等。         1989年2.0版新增加类的保护成员、多重继承、对象的初始化与赋值的递归机制、抽象类、静态成员函数、const成员函数等等。 1.2 C属于半面向过程半面向对象编程语言 面向过程程序设计Procedural Programming和面向对象程序设计Object-Oriented Programming, OOP是两种常见的编程范式它们各有特点和适用场景。 1 面向过程 面向过程程序设计是一种编程范式它侧重于编写一系列计算步骤或过程的代码每个过程都可以完成特定的任务。在这种范式中程序被视为一系列函数的集合数据在函数之间传递。         主要特点包括         结构化程序被分解为可重用的函数或过程。         功能划分每个函数负责一个具体的任务。         顺序执行程序按照代码的顺序执行操作。         局部变量和全局变量数据通过参数传递给函数函数内部通常使用局部变量也可以使用全局变量。 面向过程编程的典型语言包括C语言。 2 面向对象 面向对象程序设计是基于“对象”的概念其中对象是数据和操作数据的方法的集合。这种范式强调将现实世界的实体作为对象进行模拟每个对象都可以接收消息、处理数据和发送消息到其他对象。         主要特点包括         封装隐藏对象的内部状态和实现细节只暴露有限的操作接口。         继承允许新的对象类继承现有对象类的属性和方法。         多态性允许不同类的对象对同一消息做出响应。         对象实例程序定义为对象的集合每个对象都可以具体实例化。 面向对象编程的典型语言包括Java、C和Python。 3 比较 维护性面向对象程序设计通常更易于维护和扩展因为它强调封装和模块化。         复用性面向对象程序设计通过继承和多态提高代码复用性。         开发效率面向对象程序设计在处理复杂系统时可以更快地开发因为它提供了更多高级抽象。 1.3 C是对C的扩充 1 C是对C语言的扩充C语言的所有语法及函数C都能继续使用并且在该基础上进行了扩充         2 C语言的编译器是gcc而C的编译器是g,并且g编译器比gcc编译器更加严格         3 C程序的后缀一般为 .cpp .cxx .cc .C .hpp         4 C中的头文件一般不以.h结尾C中的头文件名就是类名         5 C语言的头文件在C中依然可以使用但是C对C语言的头文件进行了二次封装         #include ----- #include         #include ----- #include #includestdio.h //在g编译器中如果没有加头文件会直接报错int main(int argc, const char *argv[]) {printf(hello a\n);int num 520; //定义一个普通整形变量void * vptr num;char * cptr (char *)vptr; //将万能指针转换为char*的指针,g编译器要求必须强转return 0; } 二、第一个C程序 2.1 在qt_creator中创建一个C项目 2.2 第一个C程序框架解析 #include iostream         //#:表示这是一条预处理指令 /         /include:表示这是一条文件包含指令         //:表示直接使用的是系统库中的文件         //i:input ooutput stream 引入的是输入输出流的头文件         //iostream:是由istream和ostream共同产生的一个用于进行io操作的类                 using namespace std;         //这是一条命名空间的声明语句         //using:是使用命名空间的关键字         //namespace是命名空间的关键字         //std:标准命名空间系统提供的所有的名字都会放入到该命名空间中         int main()         //提供的是无参的主程序也就是不需要外部传参                 { cout Hello World! endl 520 1314\t3.14;                 couthello world;                 coutendl;         //使用iostream中的类对象cout输出数据hello world 类似于 printf         // :插入运算符是一个运算符不是左移运算是C重载的运算符跟cout搭配用于输出类似于 printf后的括号         //Hello World! :原样输出的内容         //第二个尖括号表示再次输出内容         //endl: end line :换行类似于C语言的 \n         //cout:会自动识别要输出的数据类型并输出                 return 0; } 三、C中的输入输出 3.1 输出操作 1 在C中向终端输出数据使用的是ostream提供的一个类对象结构体变量 cout搭配插入运算符)一起用作输出 2 cout输出数据时不需要使用格式控制符会自动识别要输出的数据的数据类型 3 cout输出数据时可以级联输出数据级联输出时需要使用多个插入运算符 #include iostreamusing namespace std;int main() {cout Hello World! endl; //输出一个字符串int numb 24101;char Class[20] 班级;double score 88.8;cout numb endl; //输出一个整数cout Class endl; //输出一个字符数组cout score endl; //输出一个实数return 0; } 练习使用cout输出斐波那契数列前20项 1 1 2 3 5 8 13 。。。 #include iostreamusing namespace std;int main() {int a[20]; //用于存储20项数据for(int i0;i20;i) //循环给数组的每个元素赋值{if(i2) //前两项数据全为1{a[i] 1;}else{a[i] a[i-2] a[i-1]; //从第三项开始每一项等于前两项的和}}cout斐波那契数列前20项分别是;for(int i0; i20; i){couta[i]\t;}coutendl; } 3.2 cout的格式化输出了解 #include iostream #includeiomanip         //有关格式化输出函数的头文件 using namespace std; int main()         { int num 1010;         cout num num endl; //默认输出的是十进制数据 1010 /********************使用关键字设置进制数的输出**************************/         cout oct num num endl; //输出的就是八进制数据 1762         cout num num endl; //后面输出的数据都是八进制数         cout hex num num endl; //输出的是十六进制数据 3f2         cout num num endl; //后面输出的数据都是十六进制数         cout dec num num endl; //后面输出的数据都是十进制数 /************************使用函数完成进制数的输出***********************/         cout*******************************************************\n;         cout setbase(8) num num endl; //输出八进制数据 1762         cout num num endl; //后面输出的数据都是八进制数         cout setbase(16) num num endl; //输出十六进制数据 3f2         cout setbase(10) num num endl; //输出十进制数据 1010         cout setbase(7) num num endl; //设置其他进制默认是十进制 cout*******************************************************\n; /************************printf(%-10d, 520);***********************/         cout num setw(10) right num endl; //至少提供10个位置用于数据输出,右对齐         cout num setw(10) left num endl; 至少提供10个位置用于数据输出,左对齐         cout*******************************************************\n; /***************************输出小数**********************************/         double PI 31.4159265358;         coutPI PIendl; //默认保留6位有效数字如果超过则使用科学计数法         cout setprecision(10) PI PIendl; //保留10个有效数字         cout fixed setprecision(2) PI PIendl; //保留两位小数 setprecision和fixed表示保留小数点后n位         return 0; } 3.3 输入操作 cin 1 C中的输入使用的是istream提供的一个类对象 cin 并结合提取运算符 ()一起使用用作数据的输入 2 cin进行输入时也无需使用格式控制符系统直接自动识别数据类型并输入 3 输入数据时吗一般也不使用endl #include iostreamusing namespace std;int main() {int num 0; //整形数据cout请输入num的值;cin num; //输入整形数据cout num numendl; //cout********************************\n;char key 0; //字符数据cout请输入key的值;cin key; //输入字符数据cout key keyendl; //cout********************************\n;char name[20] ; //字符串数据cout请输入name的值;cin name; //输入字符串数据cout name nameendl; //cout Hello World! endl;return 0; } 练习提示并输入一个字符如果是大写转变成小写如果是小写转变成大写如果是其他字符都转变成 * 输出转变后的数据 要求使用cin和cout完成 #include iostreamusing namespace std;int main() {char n; //定义变量存储数据cout请输入一个字符;cinn; //输入一个字符数据if (nAnZ) //判断大写字母{nn32; //将大写转变成小写//cout n32 endl; //输出的是整数}else if(na nz){nn-32; //小写转大写}else{n *;}coutn nendl; //输出结果return 0; } 四、命名空间 4.1 命名空间的引入 1 命名空间是防止在多人协同开发过程中命名污染问题 2 相当于给标识符起个“姓氏” 3 程序中常用的标识符变量名、数组名、指针名、结构体名、函数名、枚举名、共用体名 4 命名空间可以分为系统提供的名字空间 std 和自定义的命名空间 4.2 使用系统提供的命名空间 1 连名带性一起使用但是需要在名字前面加上命名空间名和作用域限定符:: 2 将命名空间中的某个名字做提前声明后期使用该名字时可以直接用不需要加命名空间名和作用域限定符 3 将整个命名空间进行前置声明后面使用该命名空间中的任意一个名字都无需加命名空间名和作用域限定符了 #include iostream //该头文件中提供了std命名空间的定义但是当使用名字时需要进行声明int main() {//命名空间使用 方式1连名带性一起使用std::cout hello a std::endl;//命名空间使用方式2将命名空间中某个名字进行前置声明using std::cout; //表示将命名空间std中的cout声明一下cout 你好 std::endl; //此时cout可以使用因为前置声明了但是endl不能使用因为没有声明//命名空间的使用方式3将整个命名空间全部进行声明using namespace std; //将std整个命名空间全部声明cout愿世界和平endl;return 0; } 4.3 自定义命名空间 1 定义格式 namespace 命名空间名 { 类型名 名称 。。。 } //不需要使用分号结尾 2 命名空间中如果有函数则一般使用的是命名空间中声明命名空间外定义 3 同一个作用域下可以定义多个同名的命名空间但是要求命名空间中的名字不能相同后期系统会自动将多个命名空间合并成一个命名空间 #include iostream #includeiomanip using namespace std;//自定义命名空间 namespace zpp {int num; //定义整形变量int *ptr; //定义指针变量//在命名空间中定义一个函数void show(); //命名空间内声明}//定义同名的命名空间 namespace zpp {int key 1234; //可以定义命名空间时给成员初始化//int num; //不能定义同名的名字}//命名空间外定义 void zpp::show() //注意需要在名字前面加上命名空间名和作用域限定符表示定义的是哪个命名空间中的函数 {coutnum num *ptr *ptrendl;coutkey key; }/********************************主程序*************************/ int main() {zpp::num 1314; //命名空间使用方式1using zpp::ptr; //命名空间使用方式2将命名空间中的某个名字声明ptr zpp::num; //前置声明了的名字可以直接使用没有声明的需要加上命名空间名和作用域限定符using namespace zpp; //命名空间释放方式3show(); //使用命名空间中的函数return 0; } 4.4 命名空间中的名字冲突问题 1 不同的命名空间中的名字冲突时如果两个吗命名空间全部进行整体声明了那么需要在使用冲突的名字前加命名空间名和作用域限定符用于区分。 2 命名空间中的名字与全局变量匿名空间名字冲突也要使用命名空间名和作用域限定符进行区分匿名空间中的名字使用方式为 ::名字 3 命名空间中的名字和局部变量的名字冲突优先使用局部变量如果非要使用命名空间中的名字需要加上命名空间名和作用域限定符 #include iostream #includestring.husing namespace std;//自定义张三的命名空间 namespace zhangs {int num 520;char name[20] ; }//自定义李四的命名空间 namespace lisi {int num 1314;double score 99.5; }//将两个命名空间都进行声明 using namespace zhangs; using namespace lisi;float score 33.33; //定义全局变量 全局变量中的名字会默认放入的匿名空间中int main() {//命名空间中的名字和匿名空间中的名字冲突lisi::score 100; //使用的是李四命名空间中的名字::score 66.66; //此时使用的是全局变量匿名空间中的名字strcpy(name, 张三); //使用的是张三命名空间中的名字//不同命名空间中的名字冲突zhangs::num 666; //冲突 需要加上命名空间名和作用域限定符lisi::num 999; //使用的是李四命名空间中的名字//当局部变量和命名空间中的名字冲突时,优先使用局部变量int name 1111;coutname nameendl; //使用的是局部变量coutname zhangs::nameendl; //使用的是命名空间中的名字return 0; } 五、C对C语言字符串的扩充 5.1 C中支持的字符串 1 C语言中没有字符串类型所有有关字符串的操作都是基于字符数组完成的 ---- C风格的字符串 \0是C风格字符串的结束标识 2 C支持两种风格的字符串         1、C风格的字符串 可以使用字符数组处理也可以使用 const char *的指针表示         2、C中支持string类型 3 C中支持字符串类型 string 如果使用该类型的函数一般引入头文件 #include 4 注意处理C语言风格的字符串的函数所在的头文件为 #include 或 #include 5.2 C风格字符串的定义及初始化 1 单个变量的定义及初始化 #include iostreamusing namespace std;int main() {//1、定义一个字符串变量 :如果不初始化则该字符串是一个空串string s1; // 无参构造函数couts1 s1 endl; // 是一个空串//2、定义一个字符串变量并初始化string s2 hello a; //拷贝构造函数couts2 s2endl; //hello a//3、定义一个字符串并初始化string s3 {hello world};couts3 s3endl; //hello world//4、定义一个字符串并初始化string s4(你 好); //有参构造函数couts4 s4endl; //你 好//5、定义一个字符串并初始化string s5(5, A); //有参构造函数couts5 s5endl; //AAAAA//6、对字符串变量的赋值s1 逆天了; //拷贝赋值函数 //C风格 的字符串的赋值不需要使用strcpy完成可以直接使用赋值运算符couts1 s1endl; //逆天了return 0; } 2 多个变量的初始化及赋值 #include iostreamusing namespace std;int main() {string s1 hello a; //定义一个字符串变量并初始化//定义一个字符串变量并使用另一个字符串给其进行初始化string s2 s1;couts2 s2endl; //hello a//定义一个字符串变量使用另一个字符串给其进行初始化string s3(s2);couts3 s3endl; //hello a//定义一个字符串变量使用另一个字符串变量给其进行初始化string s4 {s1};cout s4 s4endl; //hello a//定义一个字符串使用另一个字符串给其进行赋值string s5;s5 s1; //不需要使用strcpy直接使用赋值运算符完成两个字符串变量的赋值couts5 s5endl; //hello a//定义一个字符串使用两个字符串连接后的结果进行初始化string s6 s1s2; //s1s2表示将s2连接到s1后面 取代了strcat的功能couts6 s6endl; //hello ahello a//定义一个字符串使用一个字符串变量与一个字符串常量拼接后的结果初始化string s7 s1 世界;couts7 s7endl; //hello a 世界// 定义一个字符数使用一个字符串常量和一个字符串变量拼接后的结果初始化string s8 滴滴滴 s1;couts8 s8endl; //滴滴滴 hello a//string s9 hello world; //两个字符串常量是不能进行加法运算return 0; } 5.3 C风格字符串和C风格字符串的相互转换 1 C风格字符串可以无条件直接转换为C风格的字符串 2 C风格的字符串转换为C风格的字符串需要调用成员函数 c_str() 或者 data()函数 #include iostream #includecstring //#includestring.husing namespace std;int main() {char str[20] hello a; //C语言风格的字符串string s1 str; //c风格的字符串可以直接转换为C风格的字符串coutstr strendl; //hello acouts1 s1endl; //hello as1 24101班; //C风格字符串的赋值//将C风格的字符串转变成C语言风格的字符串需要调用成员函数 data() 或者 c_str()strcpy(str, s1.c_str());//str s1; //不可以不能将C风格字符串直接转换为C风格字符串strcpy(str, s1.data());//s1是C风格的字符串 可以通过s1.c_str()或者s1.data() 找到s1对应的C风格字符串coutstr strendl; //24101班couts1 s1endl; //24101班return 0; } 5.4 C风格的字符串的比较 1 C风格的字符串的比较不能使用关系运算符只能使用strcmp来完成 2 C风格的字符串可以直接使用关系运算符完成字符串的比较 #include iostream #includecstringusing namespace std;int main() {string s1 hello;string s2 world;//C风格的字符串的比较可以直接使用关系运算符来完成 不需要使用strcmpif(s1s2){couts1大endl;}else if(s1 s2){couts2大endl;}else{cout一样大endl;}strcmp(s1.data(), s2.data()); //如果非要使用strcmp需要转换成c风格的字符串进行比较return 0; } 5.5 string类型常用的成员函数 1 size()或者length():求该字符串的实际长度 2 访问字符串的成员         1、使用成员函数 at() 完成会进行下标越界检查         2、使用中括号运算符完成不进行下标越界检查 3 判空empty(),如果字符串为空则返回真否则返回假 4 清空clear() 将当前字符串清空 5 尾插push_back() 在字符串尾部插入一个字符         尾删pop_back() 删除字符串尾部的那个字符 #include iostreamusing namespace std;int main() {string s1 I love China;//求该字符串的实际长度coutsizeof(s1) sizeof (s1)endl; //求变量的空间大小 32coutsize of s1 s1.size()endl; //求字符串实际长度 12coutsize of s1 s1.length()endl; //求字符串实际长度 12//更改字符串中的某个字符s1[2] L; //使用下标运算符是不进行下标越界检查的couts1 s1endl; //I Love Chinas1.at(2) B; //使用成员函数获取字符串中某个字符 是对字符串进行下标越界检查couts1 s1endl; //I Bove China//判断当前字符串是否为空if(s1.empty()){couts1字符串为空endl;}else{couts1字符串非空endl;}//清空当前字符串s1.clear();//判断当前字符串是否为空if(s1.empty()){couts1字符串为空endl;}else{couts1字符串非空endl;}couts1 s1endl; //空串//对字符串进行尾插s1.push_back(A);s1.push_back(B);s1.push_back(C);couts1 s1endl; //ABC//对字符串进行尾删s1.pop_back();couts1 s1endl; //ABreturn 0; } 5.6 C风格字符串的输入 1 不带空格的输入可以直接使用cin完成 2 带空格的输入 使用全局函数 getline()来完成 #include iostreamusing namespace std;int main() {string s1; //定义一个字符串变量/*cout请输入一个字符串;cin s1; //输入不带空格的字符串couts1 s1endl;*/cout请输入一个字符串;getline(cin, s1); //既可以输入有空格的字符串也可以输入没有空格的字符串couts1 s1endl;return 0; } 练习提示并输入一个字符串统计该字符串中字母字符个数、数字字符个数、空格字符个数以及其他字符的个数并输出 要求使用C风格字符串完成 #include iostreamusing namespace std;int main() {string s1; //用于存储字符串的变量while(1){cout请输入字符串;getline(cin,s1); //因为可能存在空格所以只能使用getline函数int snum0;int znum0;int onum0;int knum0;for(unsigned int i0; is1.size(); i) //遍历整个字符串{if(s1[i]as1[i]z) //判断是否为小写字母{znum;}else if(s1[i]As1[i]Z) //判断是否为大写字母{znum;}else if(s1[i]0s1[i]9) //判断是否为数字字符{snum;}else if(s1[i] ) //判断是否为空格{knum;}else{onum; //判断是否为其他字符}}cout字母字符数znumendl;cout数字字符数snumendl;cout空格数knumendl;cout其他字符数onumendl;}cout Hello World! endl;return 0; } 六、bool类型 1 C语言是不支持bool类型的但是C支持bool类型         2 bool类型属于C的基本数据类型         3 bool类型的数据的值只有两个true非0数字、false0         4 由于bool类型的出现给C的关键字多个三个bool、true、false         5 bool类型的数据有两种表示方式默认使用的是数字表示真假所有非0数字都表示真0表示假                 如果想要使用单词true、false表示真假则需要使用关键字boolalpha来设置                 如果还想继续使用数字表示真假则需要使用关键字noboolalpha来设置         6 bool类型所占内存大小本质上只需要 1bit 但是由于内存分配的基本单位是字节所有bool类型占1字节内存 #include iostreamusing namespace std;int main() {//bool类型的 数据默认使用数字表示真假bool b1 10; //定义一个bool类型的变量并初始化coutb1 b1endl; // 1bool b2 -10;coutb2 b2endl; // 1bool b3 0;coutb3 b3endl; // 0//使用单词表示真假cout*************************************\n;coutboolalphab1 b1endl; // truecoutb2 b2endl; // truecoutb3 b3endl; // false//继续使用数字表示cout*************************************\n;coutnoboolalphab1 b1endl; // 1coutb2 b2endl; // 1coutb3 b3endl; // 0cout*************************************\n;bool b4 true;coutb4 b4endl; //1bool b5 false;coutb5 b5endl; //0cout*************************************\n;coutsizeof(bool) sizeof (bool)endl; //1return 0; } 七、C对堆区空间使用的扩充 7.1 引入 new/delete 1 C语言中对堆区空间的使用由函数malloc\free来完成 2 C中也可以用上面的两个函数完成对堆区空间的使用但是C提供了专门的两个关键字用于对堆区空间的使用 new / delete 7.2 new和delete的使用 1 C中的堆区空间的使用分为单个空间的申请和释放以及连续空间的申请和释放 2 单个空间的申请和释放 申请格式数据类型 *指针名 new 数据类型 释放格式delete 指针名 #include iostreamusing namespace std;int main() {//在堆区空间申请一个int类型的空间大小int *p1 new int; //如果没有初始化默认是随机值cout*p1 *p1endl; //随机值*p1 520; //使用堆区空间cout*p1 *p1endl; //520//在堆区申请一个double类型的空间并初始化double *dptr new double(99.99);cout*dptr *dptrendl; //99.99//在堆区申请空间并初始化char *cptr new char{G};cout*cptr *cptrendl;// 释放堆区空间delete p1;p1 NULL; //防止野指针delete dptr;dptr NULL;delete cptr;cptr NULL;return 0; } 3 连续内存的申请和释放 申请格式数据类型 *指针名 new 数据类型[申请的个数] 释放格式delete []指针名 #include iostreamusing namespace std;int main() {//在堆区连续申请5个int类型的空间int *iptr new int[5]; //iptr[0]、。。。、iptr[4]for(int i0; i5; i){coutiptr[i] ;}coutendl;//在堆区申请连续的存储空间并初始化double *dptr new double[3]{3.14,5.67,99.99};for(int i0; i3; i){coutdptr[i] ;}coutendl;//释放堆区空间delete []iptr;iptr NULL;delete []dptr;dptr NULL;return 0; } 思维导图
http://www.hkea.cn/news/14587472/

相关文章:

  • 网站关键词数量多少好佳木斯建网站的
  • 网站建设基础教学设计html搜索框代码
  • 免费广告推广网站网站如何做快捷支付接口
  • 网站模板 餐饮艺梵科技 网站建设
  • 濮阳公司建站一级域名和二级域名
  • 做网站都需要什么金融门户网站模版
  • 自建网站优缺点小升初最好的补课机构排行榜
  • 花都个性设计商城网站建设房地产行业网站
  • 云南做公司网站多少钱南山网站建设哪家效益快
  • 南阳建网站企业做网站一般注册商标哪个类
  • 网站建设和app哪个好免费网站建设是什么
  • 卖网站链接上海市建设市场服务平台官网
  • 定制网站与模板建站维护婚恋注册
  • 杭州高端网站开发可以看网站的手机浏览器
  • 外贸网站 建设甘肃做网站价格
  • wordpress登陆后跳转首页如何优化啊里网站排名
  • 网站中捕获鼠标位置国内建筑设计公司前十名
  • 用美图秀秀做网站图片精美网页设计欣赏
  • 龙华住房与建设局网站网页源代码看答案
  • 备案网站忘记密码哪些网站做外贸效果好
  • 两个人能用的一个公司做网站吗来年做哪些网站致富
  • php旅游网站模板下载优化关键词推广
  • 乐云seo模板网站建设旅游网站制作百度云
  • 购物网站开发的基本介绍wordpress wow.js
  • 网站建设多少钱实惠湘潭磐石网络建设网站公司管备案么
  • 网站建设推广销售话术网站怎么添加音乐
  • 网站自动生成系统wordpress主题电影
  • wordpress如何生成网站地图2023年8月新冠又来了
  • 可以做问卷挣钱的网站登录自己网站的后台 wordpress
  • 做旅游的网站的要素营销型企业网站怎么制作