❶ C语言总是从什么函数开始执行
一个c语言程序的执行,从main函数中的指令开始执行。
一个程序,无论复杂或简单,总体上都是一个“函数”;这个函数就称为“main()
函数”,也就是“主函数”。比如有个“做菜”程序,那么“
做菜
”这个过程就是“主函数”。在主函数中,根据情况,你可能还需要调用“买菜,切菜,炒菜”等子函数。
main函数在程序中大多数是必须存在的,但是依然有例外情况,比如windows编程中可以编写一个动态链接库(dll)模块,这是其他windows程序可以使用的代码。由于dll模块不是独立的程序,因此不需要main函数。再比如,用于专业环境的程序-----如机器人中的控制芯片--可能不需要main函数。
❷ 在一个C语言程序的执行是从( )。 A) 本程序的main函数开始,到main函数结束。 B)
从main函数开始到main函数结束。
答案选A。
C语言常考考点:
1、一个C语言源程序可以由一个或多个源文件组成。
2、每个源文件可由一个或多个函数组成。
3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。
4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。
5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。(结构体、联合体、枚举型的声明的“}”后要加“ ;”。)
6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
(2)程序编译从主函数开始执行扩展阅读:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。[1]目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
❸ 单片机里的程序是从main函数开始执行的吗请高手进。
那得看你的程序是怎么写的,可以配置让单片机先执行别的程序再执行main
如果你没有任何控制的话,执行完全部的程序,会从main()开始,如果要控制的话,也很简单
分为两类:
一类是不执行下面的指令,返回main()第一句指令,那直接使用return;就可以了
另一类是不范围main()第一句指令,而从中间某一句开始执行,有两种方法
1.对于循环层数较少的循环,可以使用break;
2.对于循环层数较多,不建议每层都使用break那就利用标签也可以做到,你只要在程序需要的位置设个标签,在程序最后返回标签,就可以了
例如:
main()
{
k=1;
start:
P0=0x00;
//后面程序省略
//程序最后书写如下这里可以加个你需要的条件,满足条件后,跳转从main{}的第一句开始再次执行
goto
start;
}
我经常这样做,实践证明,真的很好用,你可以试试
❹ 一个c语言程序的执行总是从该函数的main开始,在main函数最后结束
main()函数称之为主函数,一个C程序总是从main()函数开始执行的,但是不一定在main函数最后结束。
在 main() 之后的最后一条语句结束后,程序还要运行一些代码,以正常返回操作系统。main函数执行完后还执行其他语句,
有时候需要有一种与程序退出方式无关的方法来进行程序退出时的必要处理,方法就是用atexit()函数来注册程序正常终止时要被调用的函数,atexit()函数的参数是一个函数指针,函数指针指向一个没有参数也没有返回值的函数,它的原型是:
int atexit(void (*)(void));
(4)程序编译从主函数开始执行扩展阅读
main函数的使用
示例:
#include <stdlib.h>
#include <stdio.h>
void fn1(void);
void fn2(void);
int main(void)
{
atexit(fn1);
atexit(fn2);
printf("main exit ... ");
return 0;
}
void fn1()
{
printf("calling fn1()... ");
}
void fn2()
{
printf("calling fn2()... ");
}
❺ C程序必须从main()函数开始执行
这是在面试中被问到的一个问题,回答了是。这问题第一感觉答案就是否定的,一时也没想出来理由只能回答了是。当时太紧张了,其实回想一下汇编语言就该想到程序的入口地址是可以指定的,c语言编译器默认以main作为入口地址。
网上查阅后,发现了 __attribute__ 这个关键字,它可以设置函数属性,变量属性,类型属性。
1、前言
最近看到一份代码,看到一个函数前面用__attribute__((destructor))修饰,当时感觉有点怪怪的,搜了整个程序,也没发现哪个地方调用这个函数。于是从字面意思猜想,该函数会在程序结束后自动调用,与C++中的析构函数类似。第一次接触GNU下的attribute,总结一下。
2、__attribute__介绍
__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。__attribute__前后都有两个下划线,并且后面会紧跟一对原括号,括号里面是相应的__attribute__参数
__attribute__语法格式为:__attribute__ ( ( attribute-list ) )
若函数被设定为constructor属性,则该函数会在main()函数执行之前被自动的执行。类似的,若函数被设定为destructor属性,则该函数会在main()函数执行之后或者exit()被调用后被自动的执行。例如下面的程序:
看下面的例子:
// gcc 编译器#include<stdio.h>__attribute__((constructor)) void before_main(){ printf("%s ",__FUNCTION__);}__attribute__((destructor)) void after_main(){ printf("%s ",__FUNCTION__);}int main(){ printf("%s ",__FUNCTION__); return 0;}
输出结果为:before_main
main
after_main
可以看到上面的程序并不是从main函数开始执行的。constructor 设置在main前面执行,destructor 设置在main之后执行。
❻ C 语言从主函数开始执行到主函数结束是什么意思谁给我具体解释下
通俗点说就是函数的执行时逐行扫描读取语句的,机器在执行你的程序时候会先找到你的main函数(主函数)
然后从主函数开始一行行读你的语句,碰到你写的子函数时,机器对主函数的扫描暂停,转到你的子函数具体代码处再次一行行读并执行你的子函数语句,等子函数读完了就回到你原来暂停的主函数那里,继续读剩下的主函数,直到主函数的最后一个字符读完,程序结束。
❼ C语言中总是从main函数开始执行,那执行好main函数后,是按照从上到下的顺序执行吗
进入程序后,就开始找main函数,可能是int main也可能是void main等。
然后可能遇到判断、循环、分支结构,然后按各自的语法分别执行,还可能遇到被调函数,到了那里就再去执行被调函数,执行完被调函数就再回来。
直到main函数全部执行完毕,直到最后一行结束,然后程序退出,运行界面出现perss any key to continue。
顺序就是从上到下。遇到一些结构遵循结构的语法进行,但是整体顺序就是由上到下。
❽ c语言中任何程序的运行总是从主函数开始,在什么函数中结束
从main函数开始,main结束后整个程序结束。其他函数都是直接或间接被main调用。
❾ C语言 C语言程序为什么总是从主函数开始执行
各种程序语言都得有一个入口,不然程序怎知道从哪开始运行呢。
C语言规定要从主函数(main)入口开始运行,编译器也会把main作为程序的入口进行编译。