dim c语言,编程基础-C程序的组成
1、C工程的组成
c程序是由一个或者多个.c文件和.h文件组成的。
其中 .c文件是c源代码文件,是程序具体实现的部分。.h文件时C的头文件,用来声明.c文件中函数的。也可以申明自定义的数据。如下图,我定义了一个宏:#define kAD_MAX_DIM 5。这样包括这样头文件的c程序里面kAD_MAX_DIM的值都是等于5的。图二是我定义的函数:
void conv2d3(kad_node_t_i* input,kad_node_t* w, kad_node_t* output,int kernel_DSP,int taskid);
在这个文件中我申明了函数名:conv2d3。函数的返回数据的类型,我这里返回的是void,表示没有数据返回,可以返回的数据类型可以是:int char float double等,你也可以是自定义数据如我图一定义了数据"dfloat",
其申明格式为:dfloat 函数名(参数数据类型 参数名;……);
图一
图二
2 .c源代码文件组成
(1)预处理命令。以“#”开头
a: #include
文件包含命令 如 #include(这是C语言中常用的头文件,标准输入输出头文件),又如#include ”conv.h”;这也是文件包含命令。#include<.h>这个是检索头文件是去系统标准的头文件路径所在的文件目录下找(如:/include , /usr/include,,),而#include“.h文件名”是在先在工程当前路径下搜索,然后再到标准路径下去找,比如,我这个包含#include ”conv.h”的.c文件所在的目录下,有一个conv.h文件,这系统就会将该文件里面的内容加载到.c文件里面去。如果没有一个conv.h文件,则会去系统标准的头文件路径所在的文件目录下找,找到了就会加载,没找到,编译器就会报错。
b: 宏定义
#define PI 3.14 //不带参数的宏
#define MAX(a,b) a > b ? a : b //带参数的宏
宏仅作"替换"作用
比如定义了这样的宏,#define MAX(a,b) a > b ? a : b ,你在程序中使用MAX(3+5,6+8)时,编译器就会帮你把它替换为:m= 3+5 > 6+8? 3+5 :6 +8;这是替你简便代码的方案,也是对你写代码的方便,比如程序中很多用到了这个宏:#define PI 3.14,这样你只需要在定义宏的那里修改就会,而不会去程序使用的每个地方去修改。
#define DEBUG //仅定义一个符号DEBUG
c:条件编译
#if DEBUG
#endif
#if defined(DEBUG)
#else
#endif
这个大家可以尝试尝试,这里不多解释,因为看代码就很明显了。
3:全局声明
"声明" :C语言中声明就是把一个名字(C标识符)与某个C语言对象相关联(对象:可以是变量,函数,或类型)。
变量声明 如int a;这样我就定义了一个整形数据,名字叫a
函数声明 如 int add(int a,int b);这样我就定义了一个函数,名字叫 add,他的返回值是int 型,即整形数据,他有两个参数需要传入,准确说两个整形参数传入。
类型声明 定义一种新的数据类型。上面图有,dfloat。
全局什么和局部申明,开始这样理解吧。c程序中有{}这个大括号,如下图,这样的申明,申明的作用空间为申明到函数后半部分,即“}”之前,如果申明没在“{ }”之间,这可以理解为本文件的全局变量。可以网上检索下全局变量和局部变量。
4:函数,function,功能。
C语言的函数就是一个功能模块,是指令序列的集合。
一个程序(可以由多个文件组成)可以有多个函数,
但有且仅有一个main函数, main由执行这个程序的操作系统
来调用,那么main函数执行完了,你的程序就执行完了。
函数首部(函数的名字,函数的返回类型,输入参数)
函数体: 函数功能的具体实现
声明部分(局部声明:变量声明,函数声明,类型声明)
语句部分("语句":C语言指令)
例子:
5:C语句(C指令)
(1)控制语句:完成一定的控制功能
如:if/else、for/while/do while、continue、break、switch、goto、return
(2) 函数调用语句
如:sum_x(3,4);
(3)表达式语句
由一个表达式加一个分号构成一个表达式语句:a = 5;
(4) 空语句: 只有一个分号的语句
如:;
(5)复合语句:用一对{}括起来的语句
6:.h文件的组成
C语言头文件是一个接口文件,该文件的内容一般相应的C文件要导出的接口部分的内容(函数的声明;类型的声明;全局变量的声明)
如:
7:.C程序设计结构
(1)顺序结构
(2)选择结构(分支结构)
(3)循环结构
举报/反馈
dim c语言,编程基础-C程序的组成相关推荐
- 数据库笔记09:Transact-SQL语言编程基础
/********************************* 第九单元 Transact-SQL语言编程基础 ***********************************/ /* ...
- c语言从键盘输入千米数,第二章 C语言编程基础.ppt
第二章 C语言编程基础 习题2 P51-7.8.13.14.16 2.4.8break 语句和continue语句 [例2.19] 输出100 - 200 之间不能被3整除的数. P44 2.4.9循 ...
- c语言职专试题及答案,中等职业学校计算机应用专业c语言编程基础科试卷及答案.doc...
中等职业学校计算机应用专业c语言编程基础科试卷及答案.doc 中等职业学校计算机应用专业C语言编程基础科试卷及答案一.填空(共35分)1.Unix系统诞生于 年,是由 实验室的K和用汇编语言开发成功的 ...
- C语言对p1口取反,单片机c语言编程基础(5页)-原创力文档
单片机的外部结构: 1. DIP40双列直插: 2. P0,P1,P2,P3四个8位准双向I/O引脚:(作为I/O输入时,要先输出高电平) 3. 电源VCC(PIN40)和地线GND(PIN20): ...
- Linux——Linux C语言编程基础知识
源程序的编译 在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器. 通常在gcc后跟一些选项和文件名来使用gcc编译器.gcc 命令的基本用法如下:: gcc [option ...
- 嵌入式C语言编程课件,嵌入式系统C语言编程基础PPT课件
<嵌入式系统C语言编程基础PPT课件>由会员分享,可在线阅读,更多相关<嵌入式系统C语言编程基础PPT课件(81页珍藏版)>请在人人文库网上搜索. 1.嵌入式系统C语言编程基础 ...
- 51单片机c语言程序控制,51单片机C语言编程基础及实例.pdf
基础知识: 51 单片机编程基础 第一节:单数码管按键显示 第二节:双数码管可调秒表 第三节:十字路口交通灯 第四节:数码管驱动 第五节:键盘驱动 第六节:低频频率计 第七节:电子表 第八节:串行口应 ...
- 【R语言编程基础】【课后习题答案】【全】
文章目录 第1章 R语言概述 1.选择题 2.操作题 第2章 数据对象与数据读写 1.选择题 2.操作题 第3章 数据集基本处理 1.选择题 2.操作题 第4章 函数与控制流 1.选择题 2.操作题 ...
- c语言编程基础第四版电子教案,《C语言编程基础》电子教案.doc
<C语言编程基础>电子教案 课题(内容)1.1 C语言简史及特点课时1教学任务分析教学目标知识技能通过本节课的教学,使学生了解并熟悉编程语言C的发展历史.特点及其种类和适用范围.过程与方法 ...
- c语言编程基础 教案,C语言编程基础电子教案.doc
C语言编程基础电子教案 课题(内容)1.1 C语言简史及特点课时1教学任务分析教学目标知识技能通过本节课的教学,使学生了解并熟悉编程语言C的发展历史.特点及其种类和适用范围.过程与方法通过C语言的发展 ...
最新文章
- 用好 Git 和 SVN,轻松驾驭版本管理
- vs2012无法启动已配置的开发Web服务器
- CF#1288A Deadline (函数求最值问题)
- shell sort result to self
- 一款基于jQuery的图片分组切换焦点图插件
- linux atoi,atoi()的替代办法
- NETBIOS/NETBEUI 协议 SAMBA
- 如何下载spring sts
- lwip-2.1.3在STM32F103ZE+ENC28J60有线网卡上无操作系统移植(使用STM32 HAL库)
- 天力卓越消息服务器是什么意思,开票版药易通出现RPC服务器不可用是什么问 – 手机爱问...
- VUE面试题-2022
- Oracle 11g重要特性
- python opcua使用教程
- 维视智造斩获2022年度光能杯最具影响力“智造”企业奖
- springboot整合Hystrix 熔断器
- C语言输入三个数字判断大小
- STG游戏中瞄具的基本原理
- android 手电筒服务,Android上实现手电筒功能
- Android 高仿猎豹cm桌面,所有应用,快捷字母栏
- COMTRADE格式录波数据分析以及函数实现(一)
热门文章
- 广西搬迁贫困人口近70万 “土瑶”深度贫困地区脱贫显成效
- js使用微信分享功能
- 2020网赚模式不再亮眼,中小开发者如何在红海竞争中活下去?
- 将m个相同的球全部放到n个相同的盒子里面有几种放法,盒子不能为空
- android卡在开机画面,请教:用迅为4412开发板开机时卡在Android静止画面
- 干货 :送你一份使用k近邻算法实现回归的实用指南(附代码、链接)
- 树莓派 Raspberry Pi Pico windows7 串口驱动
- Pytorch—模型微调(fine-tune)
- OCCT v11.0.16 x64 电脑硬件检测烤鸡软件中文
- Unity制作卡牌游戏