C++ c++与C语言的区别第三讲

//区别⑦:三目运算符(C++版本)
#include<iostream>
using namespace std;

//三目运算符 C语言返回变量的值 C++语言是返回变量本身

void main(){
    int a = 10;
    int b = 20;
    a < b ? a : b = 30;
    //C++中的三目运算符可直接返回变量本身,因此可以出现在程序的任何地方
    //注意:
    //三目运算符可能返回的值中如果有一个是常量值,则不能作为左值使用
    //(a < b ? 1 : b) = 30;
    system("pause");
}
//区别⑦:三目运算符(C语言版本)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

void main(){
    int a = 10;
    int b = 20;
    //a < b ? a : b = 30;  报错  error C2106: “=”: 左操作数必须为左值
    //详解: 在C语言中,a < b ? a : b这里返回的a是a的值,而不是a这个变量
    //常量是不可以做左值的
    //左值在c++中很重要,元素当左值的条件是这个元素必须存在内存空间(在寄存器中的值就没有内存空间)

    //在C语言中实现三目运算符返回变量
    *(a < b ? &a : &b) = 30;
    system("pause");
}
时间: 2024-11-08 08:30:11

C++ c++与C语言的区别第三讲的相关文章

解释性语言和编译性语言的区别

解释性语言和编译性语言的区别 计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序. 翻译的方式有两种,一个是编译,一个是解释.两种方式只是翻译的时间不同. 编译性语言 编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高. 解释性语言 解释则不同

Java与C语言的区别

Java与c都属于计算机的高级编程语言,都是为了方便人去编写出来东西控制计算机; 不同的是,Java是一种面向对象的语言,c是一门面向过程的语言,打个比方来说,你要给你朋友寄快递,Java的做法是找家快递公司,把快递交给快递公司,告诉快递公司需要送到你朋友所在地中你朋友手里,然后快递公司接到快递之后,会帮我们把快递送到目的地的你朋友的手中,这样我们就完成了我们的操作,这里面的快递公司就相当于一个对象;而对于面向过程的编程语言来说,由于没有对象的概念,所以他需要自己想办法走到你朋友所在的地方,找到

Java与c语言的区别!

Java与c语言的区别!Java与c都属于计算机的高级编程语言,都是为了方便人去编写出来东西控制计算机的.不同的是,Java是一种面向对象的语言,c是一门面向过程的语言.打个比方来说,你要给你朋友寄快递,Java的做法是找家快递公司,把快递交给快递公司,告诉快递公司需要送到你朋友所在地中你朋友手里,然后快递公司接到快递之后,会帮我们把快递送到目的地的你朋友的手中,这样我们就完成了我们的操作,这里面的快递公司就相当于一个对象;而对于面向过程的编程语言来说,由于没有对象的概念,所以他需要自己想办法走

C++ c++与C语言的区别第一讲

//区别①:实用性增强 #include<iostream> using namespace std; //C语言中的变量都必须在作用域开始的位置定义!! //C++中更强调语言的“实用性”,所有的变量都可以在需要使用时再定义. void main(){ int a = 1; printf("ddddd"); int kk;//这样定义KK,C语言会在在VC6.0中会报错,在vs2013不会:但是c++却支持这种定义 system("pause"); }

C++ c++与C语言的区别第二讲

//区别④:struct类型的加强(C++版本) #include<iostream> using namespace std; //C++中的struct是一个新类型的定义声明 //c++中结构体的默认访问权限public,和类不同 struct Teacher{ //char name[20]="小米";//报错 error C2536: “Teacher::Teacher::name”: 无法指定数组的显式初始值设定项 //错误原因:上面这种初始化,同时完成了内存空间

编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言的区别

一.编译型和解释型 我们先看看编译型,其实它和汇编语言是一样的:也是有一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码.这个过程说得专业一点,就称为编译(Compile),而负责编译的程序自然就称为编译器(Compiler).如果我们写的程序代码都包含在一个源文件中,那么通常编译之后就会直接生成一个可执行文件,我们就可以直接运行了.但对于一个比较复杂的项目,为了方便管理,我们通常把代码分散在各个源文件中,作为不同的模块来组织.这时编译各个文件时就会生成目标文件(Object  

用什么语言进行网页开发最好.php与asp语言的区别

1.平台有区别:asp 在windows,php在所有系统. 2.价格有区别:php免费. 3.安全性:php较高. 但这种通用性的语言丝毫不局限于在网页方面,PHP也能被用在命令行shell中,它可作为操作系统的一个扩展,由此执行相应的PHP文件. 在数据库方面的应用也是PHP的一个强项,MySQL.SQL.Microsoft Access.Oracle及InterBase只不过是采用了PHP语言的一部分数据库. 尽管ASP也不只限于在IIS(Internet Information Serv

C++ c++与C语言的区别(空结构体)

//区别⑨:空结构体声明(C++版本) #include<iostream> using namespace std; struct A{}; class B{}; void main(){ printf("C++中空结构体内存大小是%d\n", sizeof(A));//打印 1 printf("C++中空类内存大小是%d\n", sizeof(B)); //打印1 //在C++中,空结构体,空类都在内存中占一个字节大小的内存空间 system(&qu

OC 语言特点以及与其他语言的区别

OC 作为一门面向对象的语言,兼容c语言的语法,又有区别于其他面向对象语言的地方: 特点: 1.使用自动释放池,通过引用计数处理对象的内存管理. 2.拥有id这种通用对象类型. 3.分类,功能强大,不用通过继承,直接给库类提供函数或者修改库类中的函数,建议不要轻易使用,还是通过继承扩展更保险. 4.协议,这个同java的接口,也是单继承,多协议的编程语言,而C++ 是多继承的编程语言.