printf()函数是格式输出函数,请求printf()打印变量的指令取决与变量的类型.例如,在打印整数是使用%d符号,在打印字符是用%c 符号.这些符号被称为转换说明.因为它们指定了如何不数据转换成可显示的形式.下列列出的是ANSI C标准peintf()提供的各种转换说明. 转换说明及作为结果的打印输出%a 浮点数、十六进制数字和p-记数法(C99)%A 浮点数、十六进制数字和p-记法(C99)%c 一个字符 %d 有符号十进制整数 %e 浮点数、e-记数法%E 浮点数、E-记数法%f 浮点数、十进...
我始终认为,对一个初学者来说,IT界的技术风潮是不可追 赶。我时常看见自己的DDMM们把课本扔了,去卖些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到非常痛心。而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面可以不用指针等等则让我觉得好笑。C#就象当年的ASP 一样,“忽如一夜春风来,千树万树梨花开”,结果许多学校的信息学院成了“Web 学院”。96,97级的不少大学生都去做Web 了。当然我没有任何歧视某一行业的意识。我只是觉得如果他们把追赶这些时髦技术的时间多花一点在基础的课程上应该是可以走得更远的。 几个误区 初学者对C#风潮的追赶其实也只是学习过程中经...
静态成员函数可以直接访问该类的静态数据和函数成员。而访问非静态成员必须通过参数传递方式得到对象名,然后通过对象名来访问。#include<iostream>using namespace std;class point{public:  point(int xx=0,int yy=0){X=xx;Y=yy;} //构造函数  point(point&p);                      //拷贝函数  ~point(){count...
虚函数的声明语法:virtual 函数类型 函数名(形参表){函数体}虚函数的定义只能出现在类的定义中的函数原型中声明中,而不能在成员函数实现的时候由成员函数的调用或者通过指针、引用来访问虚函数for example:#include<iostream>using namespace std;class B0{public:   virtual void display(){cout<<"B0::display()"<<endl;}};class B1: public B0{public:  void display(){cout<<"B1::display...
1.派生类的定义方式:派生类类名(参数):没有用默认构造函数的基类和内嵌对象2.对派生类构造函数的访问顺序:  i>调用基类的构造函数(其访问顺序按其继承的顺序);  ii>调用内嵌成员的构造函数(其访问顺序按其定义的顺序);  iii>调用派生类的构造函数;3.析构函数的顺序与构造函数的顺序刚好相反
类型兼容性规则是指在需要基类对象的任何地方,都可以使用公有派生的对象来替代。其中所指的替代包括一下几种:1>派生类的对象可以赋值给基类对象;2>派生类的对象可以初始化基类的引用;3>派生类的对象的地址可以赋给指向基类的指针;注意:在替代之后,派生类对象可以作为基类的对象使用,但只能使用从基类继承的成员class B{...};class D:public B{...};main(){B b1,*p1; D d1; b1=d1;   //第一类; B&b=d1;  //第二类 P1=&d1;  //第三类...
虚基类是只有一个拷贝;作用分辨符(::)的访问方式:基类::成员(参数)/成员同名隐藏规则:没有虚函数的情况下,派生类中新增的与基类中的函数同名的函数,即使参数个数不同,则基类中的同名函数被覆盖;如果派生类中的多个基类拥有同名成员函数,派生类也新增了同名函数,则基类都被隐藏(这种情况,对派生类的访问用对象名。成员名,对基类的用作用分辨符)。<一>#include<iostream>using namespace std;class B0{public:  int nV;  void fun(){cout<<"B0"<<endl;} };class B1...
1.负数的反码求法:(1)先求其绝对值的2进制;                  (2)然后从后面开始,遇到第一个”1“不变,后面的都取反;2.在输出函数printf中输出引号时要注意:\"3.^,~,=>>,<<=,&,|
1.Strassign(&T,chars),Strlength(S),Concat(&T.S1,S2),Replace(&S,T,V) Strcompare(S,T)(比较的式ASCALMA的大小),Index(S,T,pos)(如没有pos,默认为1) Strstring(&Sub,S,pos,length)(1=<pos<=Strlength(S)且0=<length<=Strength(S)-pos+1)2.采用的数据描述为:定长顺序存储  #define MAXSIZE 255  typedef ungs...
(一)采用的数据描述为:栈采用顺序结构  #define STACKSIZE 100   typedef struct{int *base;  int *top;  int stacksize;  }Sqstack;  1.初始化    Sqstack init(Sqstack S)  {S.base=(int)malloc(sizeof(int));...
 (一)采用的数据描述为:循环队列采用顺序结构#define MAXQSIZE 100/*循环队列的最大长度*/ 最多能放99个 typedef struct{int base[MAXQSIZE]; /*存放元素的数组空间*/  int front; /*“头指针”*/  int rear; /*“尾指针”*/  }Sqqueue;  1、入队   Squeue enqueue(...
1.一维数组与指针(1)int *p;int a[10];     p=a;(或者p=&a[0];) (2)a[i]<=>*(a+i) (3)通过指针变量输出a数组的10个元素    #include<stdio.h>    void main()    {int *p,i;     int a[10];     p=a;     for(i=0;i<10;i++)  &#...
1.指针变量就是一个变量用来存放另一个变量的地址2.一个变量的地址就是一个变量的指针(可以说指针就是地址)3.变量的指针:就是变量的地址4.指向变量的指针:(*i_pointor)就是指针变量i_pointor所指向的变量5.指针的定义:基类 * 指针变量名6.指针变量的初始化:  int *p=&a;<=>int *p; p=&a;7.*,&,++,--是同一级运算符,且结合方式是从右到左的8.*p就是指针变量所指向的变量的值  &a就是变量a的地址9.指针变量作为函数的参数(地址的传递,是双向的)10.一个指针只能指向同一个类型的变量
1.数组元素作为函数的实参2.数组名作为函数的参数(等价于用指针变量) (1)选择法就是一个很好的例子 (2)用数组名作为函数参数时,不是把数组元素的值传给形参,而是把实参数组的的首元素的地址传给性参数值,这两个数组  共同占用一个内存单元。 (3)(这其实就是地址的传递) (4)f(int arr[],int n)____形参(等价于f(int *arr,int a))      f(array,10)—————实参 (5)实参数组名代表一个固定的值(指针常量)    ...
思路:先找到数组的首元素,然后拿首元素与其他元素进行比较,如果首元素大则不变,否则把小的付给首元素,这样a[0]就确定了;接着进行a[1],...,a[n],执行和a[0]的操作,要进行n-1趟的比较,每一趟的比较是从a[i+1]开始的所有元素的比较#include<stdio.h>                   /*从小到大的对十个数进行排序*/void main(){void sort(int array[],int n); int i; int a[10]; ...