c语言中每条可执行
㈠ c语言中每条可执行和非执行语句最终都将被转化成二进制的机器指令 这句话对么
不对,首先非执行语句根本不会被编译,可执行语句像常数定义这种直接放到DATA段里面也不是机器指令
㈡ 是否C语言的每条可执行语句最终都将被转成2进制的机器指令为什么
不是,预处理会去掉一部分代码。比如
#ifdef A
code block 1
#else
code block 2
#endif
如果A定义过,则code block 2不会生成机器指令。
㈢ 一下叙述中正确的是A) c语言的源程序不必通过编译就可以直接运行B)c语言中的每条可执行的语句最终都将
A是错误的。C语言是通过编译计算机才能执行,因为计算机执行的是二进制码,而C语言却是人类能够读懂的语言,要通过编译程序(或者是汇编编写的或者是用C语言编写的)编译之后把指令送到CPU的指令存储器然后根据CPU的时钟信号一条以条的来执行指令所指示的“微指令”。
B选项没有描述清楚。
㈣ C语言中的每条可执行语句和非可执行语句最终都是将是背转换成二进制的机器指令为什么是错的
诸如括号、注释等非可执行语句并不会转化为机器指令,所以是错的。解决方法如下:
1、首先,编写For循环第一句。
㈤ c源程序中每条可执行语句和注释部分最终都将被转换成二进制机器指令吗求解释,帮帮忙吧!
不正确。
每条可执行语句都会被转为二进制指令。
而注释部分不会被转换。
这个是常规的说法。
实际上,在编译器优化下,一些不会被执行的语句一样不会被转为二进制机器指令的。
比如
if(0) printf("xxxx");
这句一般都不会被转。
㈥ C语言中的每条执行语句都需要用分号结束吗
在 C 程序中,分号是语句结束符。每个语句必须以分号结束。它表明一个逻辑实体的结束。
C语言中分号被用作为语句结束的标志,如果在C程序中不小心多写了一个分号,那么该分号也许会被视作一个空语句;或者编译器会因为这个多余的分号而产生一条警告信息,根据警告信息的提示往往会很容易找到多余的分号。
如:
If (x>b);
b=x;
多余的分号会被解释为空语句,实际产生的效果是:
If(x>b){}
b=x;
也就是说当x>b时,执行空语句,在任何情况下会执行b=x。
如果在C程序中漏写了一个分号,就表示当前语句并没有结束,同样会差错。如:
If(n<3)
return
log.date=x[0];
log.time=x[1];
log.code=x[2];
因为return 后漏写了一个分号,表示该语句还没有结束,实际效果相当于:
If(n<3)
return log.date=x[0];
log.time=x[1];
log.code=x[2];
(6)c语言中每条可执行扩展阅读
1、C 语言中的语句块中是可以包含语句块的,语句块中的语句块被当。作一个简单的语句来处理。
2、若要写一个包含几个表达式语句和空语句的语句块,就可以用下面的形式:这是一个语句块的例子,其中包含四个已经了解的语句,依次为赋值表达式语句、空语句、除法运算表达式语句和按位取反表达式语句。