什么语句会被正式编译
❶ C语言习题:根据以下代码,问哪个语句能被编译
答案 B
A p->b= ' '; //不能直接访问结构体内部的联合体成员
B p->e[3]=10; //可以直接给数据成员赋值,这个是数组成员
C p->d->c=20; //错误同A
D p.d.a= '*'; //p是指针,最起码要用 -> 指针操作符吧
❷ if(false){内部类} 内部类会被编译吗什么时候
除非是条件编译语句,否则就要编译。
❸ 哪些属于编译型语言
属于编译型语言的是: C
属于解释型语言的是: php asp jsp
java具有编译与解释两种特性:既可以将其源代码当作脚本执行,也可以进行编译成.class代码(字节码)载入运行。
区别在于:
编译型语言,通常都会对源代码进行编译,生成可以执行的二进制代码,执行的是编译后的结果。
解释型语言,通常不用对源代码进行编译,一般是通过解释器载入脚本后运行。由于每个语句都是执行的时候才进行解释翻译,这样解释性语言每次执行就要翻译一次,效率相对要低。
至于难度,个人感觉 java 相对要更复杂些。
❹ C++中if、#if与#ifdef、#ifndef彼此的区别
1、意义不同
#开头的都是预编译指令,就是在正式编译之前,编译器做一些预处理的工作
,所以说#if与#ifdef、#ifndef都是,而if是判断语句,不是预编译指令。
2、用法
if是条件语句,在运行的过程中根据条件的值选择执行不同的语句。
#if是条件编译语句,在编译阶段执行,如果后面跟的条件成立,就编译对应的语句。
#ifdef是条件编译语句,在编译阶段执行,后面跟一个宏的名称,如果这个宏已经定义了,就编译对应的语句。
#ifndef是条件编译语句,在编译阶段执行,后面跟一个宏的名称,如果这个宏没有定义,就编译对应的语句。
(4)什么语句会被正式编译扩展阅读:
C++中if、#if与#ifdef、#ifndef的具体使用方法
一、#ifdef 和 #ifndef 指令 (C/C++)
只要能够使用 #if,就可以使用 #ifdef 和 #ifndef 指令,在定义 identifier 时,#ifdef identifier 语句与 #if 1 等效,当 identifier 未定义或没有使用 #undef 指令进行定义时,该语句与 #if 0 等效。
这些指令只检查使用 #define 定义的标识符是否存在,而不检查在 C 或 C++ 源代码中声明的标识符。
提供这些指令只是为了实现与该语言的早期版本的兼容性。 优先选择将 defined( identifier ) 常量表达式与 #if 指令一起使用。
#ifndef 指令检查 #ifdef 所检查的条件的相反值。 如果尚未定义标识符(或已使用 #undef 移除其定义),则条件为 true(非零)。 否则,条件为 false (0)。
二、#if :
源文件中的每个#if指令必须与表示结束的 #endif指令匹配,任意数量的 #elif指令可以出现在 #if 和 #endif指令之间。
但最多允许一个 #else 指令,且 #else指令(如果有)必须是#endif之前的最后一个指令。
❺ 求汇编语言中的指令语句、伪指令语句和宏指令语句的定义!!!
我们编写的各种指令,都是写给“编译软件”看的,
要由“编译软件”翻译成计算机可以识别的机器语言,即机器码。
通俗地讲:
就好像召开新闻发布会,主持人用中文讲话,由一个翻译,现场翻译成英文,讲给外国记者听。
主持人说的中文,大部分都是要翻译成英文的;少数几句,是说给翻译听的,告诉他如何翻译。
我们写的指令,由“编译软件”翻译成机器码的,称为指令语句;
有一些是写给“编译软件”看的,不翻译成机器码,这样的就是“伪指令”。
一条条计算机的指令,一般来说,功能都是极为简单,我们可以把几条、几十条指令,编写成一个“宏指令”,来完成一个比较复杂的任务。
在这样“一批指令”的前面,要用“伪指令”来命名这个“宏指令”;
在后面,要用一条“伪指令”说明结尾。
以后,这个“宏指令”,就可以当成 正式指令 来使用了。
❻ C语言中宏定义、文件包含、条件编译都不是C语言的语句吗
这些都是预处理指令,会在编译前由预处理器统一处理,正式编译的时候,编译器看不到这些内容,编译器也不知道要怎样处理它们。
C语言的语句是以分号结尾的,这些一般不以分号结尾,不能算语句。
❼ 请教C语言中if语句和预编译#if语句的区别以及#if 0的意思
这个是为了编码的方便,有时候编码的时候某段代码需要,就加上个#if 1,如果突然不想要了,就把1改成0。起到了一个注释的作用而已,就是这样~
❽ 我们所写的每条C语句经过编译最终将转换成二进制的机器指令 这句话为什么对
不是每条语句都会被编译为指令的
最简单的例子,空语句就不会被编译