C学习笔记-第一个C语言程序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cj5785/article/details/88983076

第一个C语言程序

#include<stdio.h> //1

int main() //2
{
    printf("This is a C language"); //3
    return 0; //4
}

以上是一个最简单的C语言程序,但却包含了C的很多重要语法。

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

C语言的编译

编译流程图:
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函数做的。

猜你喜欢

转载自blog.csdn.net/cj5785/article/details/88983076