1    愉快的开端hello world    4

1.1    include头文件包含    4

1.2    main函数    4

1.3    注释    4

1.4    {}括号,程序题和代码块    4

1.5    声明    4

1.6    C语言自定义名字的要求    4

1.7    printf函数    4

1.8    return语句    5

1.9    System系统调用    5

1.9.1    System返回值在windows和unix下的不同,    5

1.9.2    POSIX    5

1.10    C语言编译过程,gcc参数简介    5

1.10.1    C语言编译过程    5

1.10.2    -E预编译    5

1.10.3    -S汇编    6

1.10.4    -c编译    6

1.10.5    链接    6

1.11    操作系统结构    6

1.11.1    用户模式    6

1.11.2    内核模式    6

1.12    64位,32位系统区别    7

1.12.1    CPU内部结构与寄存器    7

1.12.2    RISC与CISC CPU构架    7

1.12.3    SPARC,x86与ARM    7

1.13    汇编语言    7

1.13.1    I386汇编简介    7

1.13.2    VS反汇编    8

1.14    IDE工具    8

1.14.1    QT常用快捷键    8

1.14.2    Eclipse常用快捷键    8

1.14.3    VS常用快捷键    8

1.14.4    VS断点,调试    9

  1. 愉快的开端hello world

    1. include头文件包含

对于C语言,所有的库函数都需要include相关的头文件

  1. main函数

所有C语言的程序必须有一个main函数,也只能有一个main函数,这是c语言程序的入口

  1. 注释

/* */块注释

// 行注释

  1. {}括号,程序题和代码块

C语言所有的执行代码,必须再{}内部,

  1. 声明

  1. C语言自定义名字的要求

可以使用大小写字母,下划线,数字,但第一个字母必须是字母或者下划线

字母区分大小写

  1. printf函数

printf函数的功能并不仅仅是向屏幕输出,而是向标准输出设备输出

  1. return语句

main遇到return就结束了,所以rerurn下面的语句就没有执行的机会了,return的返回值是与main函数定义的时候返回值一致的,如:void main (),那么return也应该没有返回值,int main(),renturn就应该返回一个整数

  1. System系统调用

    1. System返回值在windows和unix下的不同,

WEXITSTATUS:linux下得到main函数的返回值

Windows下不需要调用WEXITSTATUS

  1. POSIX

在windows下程序,很多函数是不符合posix标准的,对于不符合posix标准的函数,移植很难。

  1. C语言编译过程,gcc参数简介

    1. C语言编译过程

  1. -E预编译

  1. -S汇编

  1. -c编译

  1. 链接

  1. 操作系统结构

    1. 用户模式

普通程序都是运行才用户模式下

  1. 内核模式

操作系统内核,驱动程序都是运行在内核模式下的

  1. 64位,32位系统区别

    1. CPU内部结构与寄存器

  1. RISC与CISC CPU构架

RISC:精简指令集

CISC:复杂指令集

  1. SPARC,x86与ARM

  1. 汇编语言

    1. I386汇编简介

int a;//定义一个变量a

int b;//定义一个变量b

int c;//定义一个变量c

a = 1;//a赋值1

b = 2;//b赋值2

c = a + b;//c赋值a + b

__asm

{

mov a, 1

mov b, 2

mov eax, a

add eax, b

mov c, eax

}

printf("c = %d\n", c);

  1. VS反汇编

VS源代码加入断点,执行到断点程序停止之后,选择调试菜单-》窗口-》汇编就可以看到汇编指令

  1. IDE工具

    1. QT常用快捷键

Ctrl + r:编译执行

Ctrl + b,编译,不执行

Ctrl + i;格式化代码

Ctrl + /;块注释代码

  1. Eclipse常用快捷键

Ctrl + shift + f;自动格式化代码

Ctrl + /;批量注释

  1. VS常用快捷键

Ctrl + D,格式化代码

F9:加入断点

  1. VS断点,调试

Helloworld代码如下:

#include <stdio.h>
#include <stdlib.h>

//int printf (__const char *__restrict __format, ...);//声明一个函数,名字叫printf

int age; //定义一个变量,执行语句只能放到{}中间

//int  main()//这个函数有可能有参数,也有可能没有参数,到底有没有,我也不知道
//int main(),main(void)//对于C++来讲,()和(void)道理是一样的
//void main()这种写法在C++下是不可以的
int main01() //这个函数一定没有参数,
{
 age = 10;
 /*
  我是个小白,
  希望能学会C语言,找个好工作
  娶个好老婆
  生一堆娃
  */
// 这是新的注释方法
// printf("AAAAAAA\n");
// 又一个行
 printf("!!!Hello World!!!\n");
 printf("hello");/* 这是打印的语句 */
 ;
 {
  ; //printf("hello");
 }

}

int main02()
{
 //system("gedit a.txt");
 system("ls");
 return 0;
}

int main()
{
 printf("hello wlord\n");
 return 250;
}



C语言基础课程 第二课 HelloWorld不为菜鸟所知的秘密的更多相关文章

  1. C语言基础课程 第一课 Linux环境配置小实战httpserver

     网段我需要改成如下 10.重启网络服务 并且查看ip 11. 打开windows的浏览器数人Linux的IP地址出现REDHAT的欢迎界面 11.进入目录 12.编写一个简单的html脚本 13 ...

  2. C语言基础课程 第三课 ADB(Android Debug Bridge)的使用

     由于前面已经发布过Linux的博客了 基础班将Linux基础命令就不单独发表博客了,本节课主要就是利用adb连接手机进行一个Linux基本命令的复习.而且熟悉手机的底层运作,不用界面操作照样也能 ...

  3. C语言基础课程 第四课 它山之石可以攻玉---C语言数据类型和表达式

     1         C语言中的数据类型 1.1      常量 常量就是在程序中不可变化的量 1.1.1         #define #define MAX 10 Define;//定义了一 ...

  4. 01-JAVA语言基础——课程作业1—编写一个程序,此程序从命令行接收多个数字,求和之后输出结果。

    1.题目:编写一个程序,此程序从命令行接收多个数字,求和之后输出结果. 2.程序设计思想: 通过运行配置输入数字后,其保存类型为String类型,因此需要采用Integer.valueOf(arg)将 ...

  5. 【C语言探索之旅】 第二课:工欲善其事,必先利其器

    内容简介 1.课程大纲 2.第一部分第二课:工欲善其事,必先利其器 3.第一部分第三课预告:你的第一个程序 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C ...

  6. 【C语言探索之旅】 第三部分第二课:SDL开发游戏之创建窗口和画布

    内容简介 1.第三部分第二课: SDL开发游戏之创建窗口和画布 2.第三部分第三课预告: SDL开发游戏之显示图像 第三部分第二课:SDL开发游戏之创建窗口和画布 在上一课中,我们对SDL这个开源库做 ...

  7. 【C语言探索之旅】 第二部分第二课:进击的指针,C语言的王牌!

    内容简介 1.课程大纲 2.第二部分第二课: 进击的指针,C语言的王牌 3.第二部分第三课预告: 数组 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言 ...

  8. 【Web探索之旅】第二部分第二课:服务器语言

    内容简介 1.第二部分第二课:服务器语言 2.第二部分第三课预告:框架和内容管理系统 第二部分第二课:服务器语言 介绍了Web的客户端,我们来谈谈Web的服务器端. 既然客户端有客户端的编程语言(HT ...

  9. 第二十四节:Java语言基础-讲解数组的综合应用

    数组的综合应用 // 打印数组 public static void printArray(int[] arr) { for(int x=0;x<arr.length;x++) { if(x!= ...

随机推荐

  1. Xcode常见报错及解决办法

    报错一: 在iOS7的真机运行时,弹出错误:App installation failed. There was an internal API error. 如图 解决办法: 在Xcode -> ...

  2. Android群英传》读书笔记 (4) 第八章 Activity和Activity调用栈分析 + 第九章 系统信息与安全机制 + 第十章 性能优化

    第八章 Activity和Activity调用栈分析 1.Activity生命周期理解生命周期就是两张图:第一张图是回字型的生命周期图第二张图是金字塔型的生命周期图 注意点(1)从stopped状态重 ...

  3. 关于struts2中action请求会执行两次的问题

    关于struts2中action请求会执行两次的问题     在struts2中发现,调用action中的方法,方法会被执行两次,后来发现调用的方法是get开头的,把它改为其他名称开头的后,就不会执行 ...

  4. WPF DataGrid某列使用多绑定后该列排序失效,列上加入 SortMemberPath 设置即可.

    WPF DataGrid某列使用多绑定后该列排序失效 2011-07-14 10:59hdongq | 浏览 1031 次  悬赏:20 在wpf的datagrid中某一列使用了多绑定,但是该列排序失 ...

  5. 在Iframe框架下如何跳转到登录界面

    在Iframe框架下跳转到登录界面总会跳到子界面中,类似于下图 试用Respon.Redirect()不行, 用Js函数,但我跳转代码都是写在cs文件中的,用Respose.write(),js函数根 ...

  6. 【原】ios tableViewCell 自适应高度

    原文:http://www.cnblogs.com/A--G/p/4819051.html 前言:之前在做一个类似微博的小需求时候,用table view实现了微博文字和图片等等的基本展示,由于文字和 ...

  7. 华硕_ZX50JX4200 安装ssd固态盘

    本人亲身的一次经历,帮朋友的华硕手提装一个内存和ssd固态 内存5分钟搞定,但是ssd固态盘就经过了一番的折腾 首先要拧掉所有后盖的螺丝,把光驱拆下来,注意撬开键盘板的时候有排线,不能弄断了.然后一定 ...

  8. 在O(1)时间删除链表结点

    //给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点. 1 struct ListNode //结点结构 { int m_nValue; ListNode* m_pNext; ...

  9. 【POJ3580】【splay版】SuperMemo

    Description Your friend, Jackson is invited to a TV show called SuperMemo in which the participant i ...

  10. 关于css float 属性以及position:absolute 的区别。

    1.float 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它本身是何种元素.div一个典型的块 ...