1. c语言结构型和结构体的区别是什么
(1)C语言敏码结构体不允许有函数存在,而C++结构体可以;
(2)C语言结构体不允许卖凯被继承,而C++结构体可以继中拿唤承类或结构体;
(3)C语言结构体的成员只有public一种访问权限,C++中有public、protect、private三种。
2. c语言中可以用public和protect吗
public和protect不是C语言的关键字,你可以用他们做标识符使用。public、protect一般用在面向对象语言中,表示类的访问权限。C语言不是面向对象的。
3. c语言中的继承用什么关键字
在C语言中,不存在继承的概念。
继承是面向对象语言的概念,而C语言是面向过程的语言。
C++是在C语言基础上发展出的面向对象语言,其中的类可以继承。
在C++的继承中,区分继承类型,有三种关键字可以使用:
1 公有继承,使用关键字public;
2 私有继承,使用关键字private;
3 保护继承,使用关键字protect。
4. c语和java语法大致一样吗
明确的说是不一样的。 C#最引人的地方是它与Java的区别而不是其相似性。下面主要来介绍C#区别 于Java的不同的运行特点及Java完全没有的特点。
中间语言
当MSIL被编译成最终的机器码时,微软公司在如何选择上是非常灵活的。微 软公司很谨慎的对外宣称说MSIL不是解释型的,而是被编译成机器码。因为开发 人员都有这样一个观念:Java程序天生就比C程序运行慢,所以这暗示着基于MSIL 的程序优于解释型的Java字节码。当然,既然C#和其它MSIL 产品编译器还未发布 ,那么这一点就还未证明,但是Java无处不在的即时编译器使得C#和Java在效能 上是一样的。象“C#是编译型的,Java是解释型的”这样话只是销售中的技巧。 Java的字节码和MSIL码都是的类似汇编的中间语言,在运行时执行这些中间码。
与COM的整合
对于基于Windows的C#开发人员来说,最大茄森的收获是对COM的无损整合,COM是 微软Win32的组件技术。实际上,任何一种.Net体系结构上的语言最终都可能去写 COM的客告消户端和服务器端程序。用C#编写的类也会作为COM组件的子类;结果类 (resulting class)也能作为COM组件使用,并作为COM组件的子类。
微软公司的目标是使越来越多的语言都能访问组件,并使这些组件能整合到. Net体系结构中。已有几个厂商开始着手开发支持.Net功能的编程语言,如COBOL 和Haskell。开发人员能选择不同的语言解决不同问题,更重要的是,开发人员不 必为采用.Net体系结构而必须学习新语言,可以选择一种他们熟悉的语言。
总结
本文的第一、二部分对C#做了一肤浅的总体介绍,主要是其产生动机及与 Java的相似性。第三部分则涵概了C#的语言特点。用范例说明了C#与Java两者在 相似性外,它们又是非常不同的,有许多细微的语义和设计区别,适合不同的技 术和市场环境,又谈到了微软公司对C#进行标准化方面的尝试,及其对Java的影 响。
c#与java的区别
1.属性:
java中定义和访问均要用get和set方法,可以不成对出现。
c#中是真正的属性,定义时get和set必须同时出现,房问时用.号即可。不用 get,set
2.对象索引
就是对象数组
public Story this [int index] {
3.C#中,不用任何范围修饰符时,默认的是protect,因而不能在类外被访问.
4.因为JAVA规定,在一个文件中只能有一个public类,而且袜纳知这个类的名称必须与文 件名一模一样,这是一个区别
5.在C#中,它是以Main方法来定位入口的.如果一个程序中没有一个名为Main的方 法,就会出"找不到入口的错误".不要把Main写成main哟
6.C#预定义的简单数据类型比Java多。例如,C#有unit,即无符号整数
7.忘掉Java中的static final修饰符。在C#中,常量可以用const关键词声明
C#的设计者还增加了readonly关键词,readonly域只能通过初始化器或类的构造函 数设置
8.公用类的入口点:c#是可以对Main进行重载(java中是main),允许有int返回值 和空参数的Main
9.在Java中,switch语句只能处理整数。但C#中的switch语句不同,它还能够处 理字符变量。请考虑下面用switch语句处理字符串变量的C#代码
10.C#没有>>>移位操作符
11.goto关键词:
Java不用goto关键词。在C#中,goto允许你转到指定的标签。不过,C#以特别谨 慎的态度对待goto,比如它不允许goto转入到语句块的内部。在Java中,你可以 用带标签的语句加上break或continue取代C#中的goto。
引用此贴的链接: http://www.lunwendz.com/sask/6493159.html
5. 如何用C语言对文件进行加密和解密急求......................
文件分为文本文件和二进制文件。加密方法也略有不同。
1、文本文件
加密的主要是文本的内容,最简单的方法就是修改文档的内容,比如1.txt中的文件内容:
abcd
只要给每一个字符+1,就可以实现加密。文件内容即会变为
bcde
2、二进制文件加密
二进制文件加密也就是对应用程序加密,需要理解可执行文件格式,比如Windows平台的Exe文件它是PE结构,Linux上的可执行文件是ELF结构,要对这样的程序进行加密,实际上是开发一种叫做“壳”的程序,这种程序的开发,需要将扎实的底层基础,同时也需要对软件加密解密有细致的理解,比如流行的vmprotect、z壳以及早些年的upx壳、aspack等等。
3、无论哪种加密都牵涉到文件操作的问题,使用C语言进行文件操作时,极少使用C标准库中的I/O函数,大多数使用操作系统提供的内存文件映射相关的API函数,有兴趣,可以搜索相关的资料。
6. c++名词解释求解 谢谢!
举例的方式说比较容易理解
类,就是一类东西,比如,人类,动物类,都算一类,
对象就是类的一个个体,比如,你是一个人,是人这个类的一个对象,但
你不能说你是人类。
类的一个个体就是一个对象。
多态,如果你接触过C语言的话,你会知道函数有参数,参数的不同类型对应多态。
比如,人写字,这是一个函数(方法),写字是用笔写,写在纸上。这里笔和纸都是数据类型、
你用钢笔、铅笔、毛笔都可以写,这些各种笔是笔这个数据类型的一个变量。表示为:
voidwrite(铅笔)//类比为voidwirte(1);整型
voidwrite(钢笔)//类比为voidwirte(2);整型
voidwrite(毛笔)//类比为voidwirte(3;整型
或者可以用各种纸来写,表示首晌为:
voidwrite(白纸)//类比为voidwirte('a');字符型
voidwrite(黄纸)//类比为voidwirte('b');字符型
voidwrite(手纸)//类比为voidwirte('c');字符型
甚至两个组合用:
voidwrite(铅笔,白纸)//类比为voidwirte(1,'a');整型和字符型
voidwrite(钢笔,黄纸)//类比为voidwirte(2,'b');整型和字符型
voidwrite(铅笔,手纸)//类比为voidwirte(3,'c');整型和字符型
这样类似的就有了三种函数,这就是多态
voidwrite(inti);
voidwrite(charc);
voidwrite(inti,charc);
你可以理解多态是同意函数的不同形态
继承就是父子关系,比如人类,男人类,女人类。都是人类,其实男人类和女人类都是人类的一种。也就是说,男人类和女人类继承了人类。继承了人类的年龄、名字等属性、吃饭、走路等方法。这就是继承
继承就是拥有从属关系的两个类之间的关系
封装你先从作用的角度去理解,比如人走路,先迈左脚,后迈右脚,对于你来说,你只要知道先迈左脚派芹氏后迈右脚就可以了。你不需要知道大脑是如何控制神经元执行这个动作的,这个控制过程被封装到了你的身体里。在C++中表现为public、protect、private等控制字符,更详细的你需要额外学习,一时半会说不清楚、
封装就是像黑盒子,只需要了解盒尘散子外面的功能怎么用就可以了
纯手打,觉得还可以请采纳
不过你这不会是考试题吧。。。。。
7. C语言中,变量的按作用域角度分类的几种情况
声明不同的数据类型,你对编译说明烂姿了这个数据的大小和运算方式,这样编译程序就可以分配内存的大小和位置。衫卖比如你声明一个 int 类型的变量,编译程序就知道分配两个字节,这个空间可以被用来做加、减等数学运算。 存储类型是对编译器说明分配空间的位置。比如一个 int 数据,被声明为auto时,在数据区分配内存,被声明为static时,在程序区分配内存,被声明为寄存器时,在寄存器分配内存(但要不是操系统,不要用这个类型),外部类型是你用其它文件的外部声明是要用。 作用域从编程的角度来讲的,并不像上两个从编译器的角度讲。也就是一个变量可以被不同的作用域使用,或说是否透明。其实外部类型也可以这么理解,但是由于外部饥塌绝类型的声明用到extern关键字,所以常在学习过程中与自动类,寄存器类,外部类和静态类一起学。作用域在C中是由位置决定的,在C++中类的封装中是由public,protect,private关键字决定,在类内也是由位置决定的。
8. C语言中Cannot open include file: 'R.h': No such file or directory怎么解决 以及PROTECT()有什么作用
你引用了R.h库函数,而你电脑没有这个库函数,你可以删掉试一下
9. c语言链表结构体问题
简化一下代码就看得清楚了.
if(pre==NULL) //第一个节点
{
......
}
else
{
pre->next=p->next;
printf("\n\n文件%s已删除成功!!!\大氏亮n",n);
free(p);
}
注意这里 它是在确定pre不为NULL的情况下使用的.
if(pre==NULL)
为空就XXXX
else
不为空就删除节点.
要问pre的初始化,就要看到这里:
if((strcmp(p->listname,n)==0)&&(p->type==0))
{
....
}
else if((strcmp(p->listname,n)==0)&&(p->type==1))
{
...
}
else
{
pre=p;
p=p->next;
}
这是排除核握掉一些情况之后才对pre赋值的,这滚宽种后置赋值的写法不符合人的阅读习惯.