- 博客(23)
- 收藏
- 关注
原创 C语言数组之数组定义与使用
#include <stdio.h>/* 数组:从语义上说就是数据的组合元素:数组内存的数据下标:数组内的元素所对应在数组的位置 下标从0开始越界:超出数组下标的位置进行访问*/int main(int argc,char const *argv[]){ //定义数组,数组内的元素的类型,数组名[数组的大小] //int arr[10]; //定义并进行初始化,初始化数组内的所有元素的值为0 //int arr[10]={0}; //并不会让所有的元素都变为1,只会让
2020-07-18 19:22:20 917
原创 C语言预处理之多文件编译
建立一个multi_files文件夹,然后在该文件下新建main.c文件夹,新建header,source,output文件夹。它的目录结构如下所示:在header文件夹下面新建两个.h文件,分别是max.h test.htest.h#ifndef _TEST_H_#define _TEST_H_//不管这个头文件被包含了多少次,只进行一次编译解析#pragma once#include <stdio.h>void test_print_message();#end
2020-07-18 17:43:40 279
原创 C语言头文件定义
以下是test_header.h头文件中的//在头文件当中可以定义一些接口(函数原型)和类型 全局变量等//为了避免编译时间和效率过低 不要将实现部分放在头文件当中#ifndef _TEST_HEADER_H_#define _TEST_HEADER_H_void display_message();typedef unsigned int uint;#define NAME "名字"int k=100;#endif再新建一个text.c文件,然后导入test_header.h头文件
2020-07-18 13:06:20 1483
原创 C语言条件处理命令与其他处理命令
#include<stdio.h>#define TEST//#开头 以if开头 必须以endif结尾#ifdef TESTvoid print_message(){printf("这里是定义的\n");}#elsevoid print_message{printf("这里是未定义的\n");}#endifint main(int argc,char const *argv[]){print_message();return 0;}结果:gcc -E
2020-07-18 11:05:03 129
原创 C语言中的预处理指令之宏定义
#include<stdio.h>/* 程序的预处理过程就是将预处理指令(可以简单理解为#开头的正确的指令)转换为实际代码当中的内容(此时会将注释代码去掉) */ //这也是一个预处理指令 define的意思是宏定义 //用 标识替换 被标识的内容 //#define 新的标识 旧的标识 (注意这里加不加分号,需要根据具体的情况判断) #define PI 3.14 #define NAME "张三" #define TITLE "美丽杭州"
2020-07-17 18:38:18 198
原创 条件语句.循环语句
关系运算符注意点应避免对实数作相等或者不等的判断#include<stdio.h>int main(){float f=3.3;if(f==3.3){printf("yes\n");}else{printf("no\n");}}//输出结果为no,因为我们的小数都是无限接近于这个小数,不是真正的相等switch(表达式){case常量表达式1: 语句1;case常量表达式2: 语句2;case常量表达式3: 语句3;default:语句n;}例
2020-07-17 18:16:17 113
原创 C语言基础-算术和赋值运算符,类型转换
两整数相除,结果为整数,有一个为实数,则为实数。#include<stdio.h>int main(){double t=7/5;double t1=7/5.0;printf("%.2f\n",t);printf("%.2f\n",t1);}若整数,双目运算符的两边一个是有符号另一个是无符号数。同类型则结果为无符号数。注:unsigned char或unsigned short都会先转为int例子:’#include<stdio,h>int main()
2020-07-17 16:23:05 226
原创 C语言基础-库函数
1.数学函数使用时,应在源文件中包含头文件math.h并在用gcc编译时,结尾加上-lm(1)平方根函数sqrtdouble sqrt(double x)(2)绝对值函数fabsdouble fabs(double x)(3)指数函数powdouble pow(double x,double y)在编译数学函数的时候会加上 -lm也就是写为 gcc 1.c lm例子:#include <stdio.h>#include<math.h>int main()
2020-07-17 15:35:35 305
原创 C语言基础_输入输出函数
%lu表示unsigned long65-A97-a#include<stdio.h>int main(){char ch1='A',ch2='B';putchar(ch1);putchar(ch2);putchar('\n');putchar('A');putchar('B');putchar(65);}
2020-07-16 22:54:22 595
原创 Linux基本命令
任务卡-每日一练今天开始学习第二章的内容2-1Linux基础命令在home下创建一个以自己名字首字母开始的文件夹2.进入此文件夹3.在该文件夹下直接创建 AAA/BBB 文件夹4.继续在创建CCC DDD文件夹5.进入CCC文件夹 在此文件夹中创建3个文件 1.txt 2.txt 3.txt6.用vim编辑器修改1.txt 内容为hello world 修改2.txt 内容为nihao 修改3.txt内容为1111117.将三个文件拷贝到 AAA/BBB文件夹下8.回到AAA文件夹下,创
2020-07-15 22:07:38 563
原创 C语言循环
1.在屏幕上输出如下图形 键盘输入n,比如输入3如下** ** * *2。一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?3.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和4.求1+2!+3!+…+10!的和5.求100 ~ 200 之间所有的素数6.输出星号组成的菱形*7.我们把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都
2020-07-15 18:58:15 258
原创 C语言编程
1.计算n的阶乘2.求1-100之间的奇数之和、偶数之和3.输入3个整数,然后从小到大排序4.输入数字,输出星期几5.把100-200之间不能被3整除的输出6.输入某年某月某日,判断这一天是这一年的第几天1.#include<iostream>using namespace std;int count(int n){ int i=1,j=1; if(n==0) return 1; else{ for(i;i<=n;i++)
2020-07-14 23:12:12 214
原创 析构函数
#include#include<stdlib.h>using namespace std;class Person{char *data;public:Person(){data = (char *)malloc(1024);cout<<“构造函数”<<endl;}//1.析够函数以~起头,后跟类名。2.析够函数不能带参数。//3.析够函数不能重载。4.析够函数不能显式调用//5.如果没有定义显式析够函数,系统会自动生成一个析够函数~Per
2020-07-14 19:26:13 115
原创 默认构造函数和拷贝构造函数
#includeusing namespace std;class Person{int age;public://默认构造函数的第一种形式,不带任何参数//Person();//默认构造函数的第二种形式,在参数列表对每一个参数进行赋值时,进行初始化也是构造函数Person(int a=18):age(a){ //age=a; cout<<"构造函数"<<endl;}//拷贝构造函数Person(const Person &p):age(
2020-07-14 18:46:20 283
原创 C++构造函数
#includeusing namespace std;class Person{const int age;char sex;int money;public://如果没有显式定义构造函数,编译器会合成一个默认构造函数//构造函数的名称和类名相同,而且没有返回值//如果显示定义了一个非默认构造函数,系统不会再合成默认构造函数Person(int a,char s ,double m):age(66){cout<<“构造函数”<<endl;}//重载构造
2020-07-14 18:11:20 90
原创 成员函数和this指针及inline声明
#includeusing namespace std;class Person{public:int age;//如果是类外部进行定义的成员函数,需要显示声明inlineinline void displayAge();void displayMoney();Person &getCurrentObject();//对于频繁调用的函数,而内部逻辑较简单的可以使用inline标记,内部定义的成员函数已经隐式定义了inline了inline void showcurrentcla
2020-07-14 15:20:29 151
原创 成员变量及封装的概念
#includeusing namespace std;//class定义的类默认的封装是private//private指成员变量只能是私有的,只能在本类内进行访问//protected代表在外部成员变量是私有的,对于类的派生类该成员变量是公有的class Person{//public:后跟成员变量的定义public:int age;protected:int money;};//struct定义的类默认的封装是public,代表成员变量是公有的,可以在类外部使用struct
2020-07-14 13:47:05 458
原创 类的定义和对象的生成
#includeusing namespace std;//类相当于一个母版,可以把他当成一个信息的归总class Person{};struct Man{};int main(int argc,char const *argv[]){//1,隐式生成对象的方式Person p1;//2,显式生成对象Person p2=Person();//3,显式生成对象,会使用new关键字来对对象进行生成//上面的形式1,2都是存放在栈区.3存放在堆区,返回的是对象的内存地址,所以需要用到
2020-07-14 13:29:36 203
原创 C++引用
#includeusing namespace std;void change_value(int &a ){a=100;}void assign_value(int (&arr)[10]){arr[5]=777;}int &return_refer(int &a){//int a =333;return a;}int main(int argc,char const *argv[]){//仅定义,未初始化int a=999;int b=10;
2020-07-14 12:59:11 111 1
原创 C++函数重载学习
#include using namespace std;void print_hello(){cout<<“hello world!”<<endl;}//函数可以拥有同样的函数名,参数列表不同,参数的个数不同或者参数的类型不同//如果两个函数有同样的函数名和参数列表,但是返回值不同,不是函数重载//重复是指两个函数的本质是相同的,编译器调用时会出现二异性问题void bigger(int a,int b){//if(a>b)//{// cout&
2020-07-14 11:55:08 101
原创 C++在Ubutun中编译运行
在Ubutun下安装g++编译器命令:sudo apt-get install build-essentialsudo apt-get install g++安装完成后通过命令g++ -v查看是否安装成功
2020-07-14 11:24:54 75
原创 Samba实现文件共享
1 安装 view plain copysudo apt-get install samba2 创建共享目录$ sudo mkdir -p /home/share一般来说,该目录的权限为755,将其改为777之后,Owner之外的其他用户才有权限写入。$ sudo chmod 777 /home/share -R3 备份原配置文件$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak在其最后添加: view plain copy[shar
2020-07-13 23:40:02 244
原创 linux常见问题1
Linux系统应用在哪些领域Linux系统会应用到很多领域,它对于每日的一些任务来讲是非常合适的。例如它可以应用到网页浏览、电子邮件、图像管理、金融管理和更多的领域。VM虚拟机网络模式有NAT、主机、桥接,有什么区别分别解释一下。首先桥接模式表示的是用于桥接模式下的虚拟机,主机模式是指用于仅主机模式下的虚拟交换机,NAT模式是指用于NAT模式下的虚拟交换机。桥接模式是指将记住网卡与虚拟机的网卡利用虚拟网桥进行通信。在桥接作用下,类似与把物理主句虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机.
2020-07-13 23:35:07 175
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人