C-基本概念

作者:网络    软件教程库   2020-05-12

一.程序结构

1.c 程序结构:任何一个c程序都是由一个或小个程序代码块组成,每个小程序都有自己的功能,一般称这些小程序为函数。所以,也可以说c程序是由函数组成的。

二.函数的概念:

1.函数名:一个程序由无数个函数组成,每一个函数都有自己的命名,也就是名字。

2.调用函数:根据函数名对函数进行调用,通过调用函数执行相应的功能,每个函数都有自己的功能。

三.程序的入口:每个程序有一个main()函数,它是整个程序的入口,不论整个程序有多少个函数,都是从main()开始执行。

四.编写函数

1.编写main函数,大括号中为函数体。

int main()
{
  return 0;
}

2.编写多个函数,并且进行调用

 1 int test()
 2 {
 3 printf("hello\n");
 4 return 0;
 5 }
 6 int main()
 7 {
 8  test();
 9 return0;
10 
11 }

3.使用printf()函数打印内容到屏幕上

1 #include stdio.h
2 int main()
3 {
4    printf("hello,world");
5   return 0;
6 
7 }

五.编译

1.在终端操作

(1)在终端输入cc -c 文件名.c

(2)编译成功,会生成.o目标文件

2.编译器的错误和警报功能

(1)如果是代码的语法有问题,编译器会直接报错,并且会指出错误的具体个数和相应的行号。

(2)程序只要有一个错误,那么就不能编译成功,也不会生产.o目标文件。

(3)警告信息只是编译器的一些建议,不会影响程序的编译通过

六.链接

1.链接的作用:将.o目标文件与c语言函数库组合在一起,生成可执行文件。

2.在终端输入:cc 文件名.o 链接成功会自动生成 a.out可执行文件。

七.运行(两种运行方式)

1.双击a.out文件运行

2.在终端输入:./a.out 运行文件

八.其它的指令:

修改可执行文件名:在终端输入 cc 原文件名.o -o 文件名

编译和链接一起执行: cc 文件名.c

九.编码过程中常见错误

不写分号,或者写了中文分号

字符串少了双引号,或者用了单引号,

文件拓展名不是.c活着.c

用绝对路径编译文件,注意目标文件生成的位置

十.常见文件的拓展名

(1).c文件是c语言源文件,在编写c语言程序的时候生成的

(2).o文件是目标文件,在c语言程序编译成功生成

(3).out文件是可执行文件,在链接成功的时候生成

十一.终端命令总结:

编译:cc -c 文件名.c

链接:cc 文件名.o

编译,链接:cc 文件名.c

运行可执行文件:./a.out

十二.开发过程中会遇到的错误?如何解决?

语法错误,可以通过编译器的报错信息解决

逻辑错误,需要耐心调试程序

c-基本概念

原文地址:http://www.cnblogs.com/rosered/p/4471402.html

软件教程库 原文地址:https://www.itjcku.com/9999/1091366.html

阅读全部内容


Tags:基本概念

返回首页



推荐内容

应该具备的能力

1. 学习能力(learning ability)   有些东西不懂很正常,从不懂到懂,从懂到精通,自己想想,原来不会的 ...

Apache-rhel5.8环境下编译安装

apache安装过程 step 1:安装包gcc或gcc-c++# yum install gcc#yum insta ...

OpenWrt学习目标

最近在研究openwrt,总感觉这一看一点那也了解一点,没有目的,也没有重心。 这里,给自己拟定一个目标,就朝着这个目标 ...

HelloKiki(hdu3579+不互质的中国剩余定理)

hello kiki time limit:1000msmemory limit:32768kb64bit io ...

android环境下摄像头数据采集及显示

以前项目涉及些摄像头预览及数据处理操作,当时的需求是除了做摄像头预览外,还要显示文字、个性图像等,当初在查找资料实 ...

uva10003CuttingSticks简单区间dp

// uva 10003 cutting sticks 区间dp // 经典的区间dp // dp(i,j)表示切割小木 ...

Go的语言特性总结

写在前面: 近来关于对golang的讨论有很多,七牛的几个大牛们也断定go语言在未来将会快速发展,并且很可能会取代ja ...

golang控制channel的出入口

golang控制channel的出入口 我们常常使用channel来在多个goroutine之间做数据通讯,但是cha ...

UVA10479TheHendrieSequence规律

题目大意:一个序列,刚开始由0变到了1,接着往后一个个变化下去 变化的规则是,如果当前数是k,就在这个序列的最后面加上 ...

在不是Activity类中调用Toast和Dialog

有时候我们需要在非activity类中处理一些逻辑,显示toast对话框或者是弹出一个dialog,但是在非activi ...

查询Oraclesql语句中绑定变量值的方法

alter session set nls_date_format = #39;yyyy-mm-dd,hh24:mi:s ...

Hdoj1588GaussFibonacci【矩阵快速幂】

gauss fibonacci time limit: 1000/1000 ms (java/others) m ...

Hdoj5195DZYLovesTopologicalSorting【拓扑】+【线段树】

dzy loves topological sorting time limit: 4000/2000 ms (jav ...

【转自mos文章】使用单条sql来查询出awr中的syatemstatistics

使用单条sql来查询出awr中的syatem statistics 参考自: how to monitor system ...

I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之u-boot移植

前段时间就开始学习i.mx6q了,但是最近工作实在是忙,间断了一些时间了。为了提高移植效率,还是考虑移植freescal ...

eclipse应用技巧

最近发现eclipse作为ide还是有很多值得探索的使用技巧的,转载一下他人整理好的资源以做分享。 快捷键的使用,加速 ...

Mysql创建数据库的排序规则中文选择哪种编码

mysql中文编码 mysql创建数据库的排序规则 中文 选择哪种编码原文地址:http://blog. ...

线性表简述

一、简单实现增,删,改、查 package datatructs; /** * 表接口 */ public int ...

android测试本地服务调试流程

我今天调试的整个过程 1,安卓发现连不上本地的tomcat 2,使用浏览器直接尝试,发现可以连上 3,怀疑是安卓app和 ...

设计模式1

静态工厂模式,工厂方法模式,抽象工厂模式 工厂方法改进了添加新产品时,静态工厂不满足的开-闭原则;而抽象工厂满足了当产品 ...

c语言文件操作总结

#includelt;stdio.hgt; /********************************** ...

(c#)如果添加的字段中已经有了身份证号码,则年龄和性别和出生年月可得

//把界面文本框里面的身份证号进行提取,以二代身份证为例 model.ecardid = txt_cardno. ...

Scrum时间估算

在新公司里,不懂软件工程的产品经理经常逼迫研发人员作出很不靠谱的时间估算。常见场景有下面这些: 需求未细化的情况下要求给 ...

C++11中uniforminitialization和initializer_list

c++11中出现了uniform initialization的概念: int a1 = {1};//ok int a ...

关于Scrum

最近某些产品经理发出下两周的工作计划的时候,喜欢带上sprint这个字眼,看上去貌似是要走敏捷开发这一套,只可惜,我觉得 ...

输入输出简单解释

;汇编指令,表示程序将被汇编成能在intel386系列及以上的计算机上运行.386;model flat 表明程序使用保 ...

2015第18周五问题即机会

问题即机会,当一切问题都不存在的时候,请问你的机会在哪里? 你能达到怎样的境界,取决于你怎样认识这个世界。对于问题,有人 ...

solr配置方案

http://www.sjsjw.com/kf_cloud/article/44_5945_1823.asp cento ...

什么是二维码?

二维码,业界当然是人人听说,人人用过。 这个话题,我倒是百感交集,我一直认为,我有一种二维码情节。 一方面, 我自认 ...

1475:方格取数

1475: 方格取数 time limit:5 secmemory limit:64 mbsubmit:578solv ...


本网站部分内容来自互联网,版权归原作者所有,文章内容仅代表原作者个人观点。如有侵权请联系我们删除 电子邮件 itjcku@foxmail.com