C学习笔记-第一个C语言程序
第一个C语言程序
#include<stdio.h> //1
int main() //2
{
printf("This is a C language"); //3
return 0; //4
}
以上是一个最简单的C语言程序,但却包含了C的很多重要语法。
//在C语言中作为注释,表示注释一行,从//以后的一行内容被注释。/**/表示多行注释,注释多行,注:多行注释之间严禁相互嵌套,容易出问题。
{}代表一个代码单元,称之为一个代码块。
C语言明确规定:所有的变量和函数必须先声明,然后才能使用
C语言名称的定义:字母数字下划线,数字不能开头,字母严格区分大小写。include表示头文件包含,在编译的的时候做的是一个简单的替换工作,其书写格式为#include<文件>或者#include"文件",这取决于文件所在的位置,如果为系统文件,使用前者,如果在当前文件夹下使用后者。int为C语言关键字,表示一个整形,此为为函数的返回值为int类型,main为C语言程序入口,所有的C源程序都是从main函数开始执行的,一个C源程序有且只有一个main函数。printf为标准输出函数,在stdio.h中声明,故需要用include引入。此处为输出一个字符串。return为一个返回语句,在函数内部时,执行到return代表函数执行终止,如果是main函数遇到return表示程序退出。之前的int与这里的return相对应,return 0;表示返回0,若返回值类型为void,则直接使用return;结束即可。
C语言的编译
编译流程图:

gcc编译的相关选项:
- -o代表指定输出文件名
- -E代表预编译
- -S代表汇编
- -c代表编译
gcc流程演示:
- 预编译:
gcc -o hello.i -E hello.c - 汇编:
gcc -o hello.s -S hello.i - 编译:
gcc -o hello.o -c hello.s - 链接:
gcc -o hello hello.o - 一步完成:
gcc -o hello hello.c
注:在linux下,文件的扩展名没有实际意义。
- ldd可以查看连接的库,e.g.
ldd hello
C语言的系统调用
利用VS的MFC和QT都可以进行图形化界面开发。
调用系统程序
system("calc");WinExec("calc",SW_NORMAL);
**注:**以上两个方式都是调用系统程序,其效果相当于在命令行窗口输入参数。不同之处在于,system在Windows平台下会出现黑窗口,linux下不会。WinExec在Windows下不会出现黑窗口。之前做过一个关于adb命令的图形化界面程序,主要就是基于WinExec函数做的。
C学习笔记-第一个C语言程序的更多相关文章
- ASP.NET MVC Web API 学习笔记---第一个Web API程序
http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...
- C语言学习-01第一个C语言程序
一 C语言的历史 C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言. 尽管C语言提供 ...
- 【转载】ASP.NET MVC Web API 学习笔记---第一个Web API程序
1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过 ...
- ASP.NET MVC Web API 学习笔记---第一个Web API程序【转】
http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html 1. Web API简单说明 近来很多大型的平台都公开了Web API. ...
- ASP.NET MVC Web API 学习笔记---第一个Web API程序---近来很多大型的平台都公开了Web API
1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过 ...
- Hibernate学习笔记--第一个Hibernate框架程序
一般使用集成开发环境是,把所需的类库添加到项目属性的库路径中,开发工具在部署时会自动复制所需要的类包到WEB-INF\lib目录下 MyEclipse中: 创建项目,右击项目->myeclips ...
- 李洪强iOS开发之【零基础学习iOS开发】【02-C语言】02-第一个C语言程序
前言 前面已经唠叨了这么多理论知识,从这讲开始,就要通过接触代码来学习C语言的语法.学习任何一门语言,首先要掌握的肯定是语法.学习C语言语法的目的:就是能够利用C语言编写程序,然后运行程序跟硬件(计算 ...
- 第一个C语言程序
从第一个C语言程序了解C语言 了解关键字 了解函数 注释 C语言的执行流程 标识符 C语言的学习重难点 从第一个C语言程序了解C语言 上图是一个在控制台上显示“Hello, World!”的C语言源代 ...
- 20180821 Python学习笔记:如何获取当前程序路径
20180821 Python学习笔记:如何获取当前程序路径 启动的脚本的路径为:D:\WORK\gitbase\ShenzhenHouseInfoCrawler\main.py 当前脚本的路径为:D ...
随机推荐
- 状压dp做题笔记
CodeChef Factorial to Square (分块决策) Description 给定一个n,要求在[1,n]中删除一些数,并使剩下的数的乘积是一个完全平方数,同时要求乘积最大,求删除方 ...
- 01-vue和api整合流程、CORS
1.后端代码 1.项目结构 2.项目代码 主url from django.contrib import admin from django.urls import path, include url ...
- docker学习---docker基础知识
目录 docker的基础 1.安装docker 2.使用镜像 3.镜像迁移|导入和导出 4.docker Hub介绍 5.搭建私有镜像仓库 5.1.docker开源的镜像分发工具--docker Re ...
- BZOJ 1257 [CQOI2007]余数之和 数学
都不知道说什么好...咕咕到现在.. 求:$\sum_{i=1}^n \space k\space mod \space i$ 即求:$n*k-\sum_{i=1}^n\space \lfloor \ ...
- java+大文件上传下载
文件上传下载,与传统的方式不同,这里能够上传和下载10G以上的文件.而且支持断点续传. 通常情况下,我们在网站上面下载的时候都是单个文件下载,但是在实际的业务场景中,我们经常会遇到客户需要批量下载的场 ...
- C语言中的指针加减偏移量
C语言指针偏移技巧(也是一个要注意的坑) - 陈杰柱的博客 - CSDN博客 https://blog.csdn.net/cjzjolly/article/details/82116772 C语言中 ...
- jQuery属性操作之html属性操作
jQuery的属性操作, 是对html文档中的属性进行读取.设置和移除操作.比如,attr(). removeAttr(). 1. attr() attr()可以设置属性值或者返回被选元素的属性值 1 ...
- P2089 烤鸡
题目背景 猪猪hanke得到了一只鸡 题目描述 猪猪Hanke特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke吃鸡很特别,为什么特别呢?因为他有10种配料(芥末.孜然等),每种配料可以放1—3克, ...
- maven上传jar包(oracle jdbc驱动)
由于Oracle授权问题,Maven3不提供Oracle JDBC driver,为了在Maven项目中应用Oracle JDBC driver,必须手动添加到本地仓库.一.首先要得到Oracle J ...
- Flume-事务与传输流程
一.Flume 事务 流程图 Put 事务流程 doPut:将批数据先写入临时缓冲区 putList doCommit:检查 channel 内存队列是否足够合并 doRollback:channel ...