C语言基础课程 第二课 HelloWorld不为菜鸟所知的秘密
来源:互联网 发布:js parsefloat保留0 编辑:程序博客网 时间:2024/05/01 05:32
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
愉快的开端hello world
include头文件包含
对于C语言,所有的库函数都需要include相关的头文件
main函数
所有C语言的程序必须有一个main函数,也只能有一个main函数,这是c语言程序的入口
注释
/* */块注释
// 行注释
{}括号,程序题和代码块
C语言所有的执行代码,必须再{}内部,
声明
C语言自定义名字的要求
可以使用大小写字母,下划线,数字,但第一个字母必须是字母或者下划线
字母区分大小写
printf函数
printf函数的功能并不仅仅是向屏幕输出,而是向标准输出设备输出
return语句
main遇到return就结束了,所以rerurn下面的语句就没有执行的机会了,return的返回值是与main函数定义的时候返回值一致的,如:void main (),那么return也应该没有返回值,int main(),renturn就应该返回一个整数
System系统调用
System返回值在windows和unix下的不同,
WEXITSTATUS:linux下得到main函数的返回值
Windows下不需要调用WEXITSTATUS
POSIX
在windows下程序,很多函数是不符合posix标准的,对于不符合posix标准的函数,移植很难。
C语言编译过程,gcc参数简介
C语言编译过程
-E预编译
-S汇编
-c编译
链接
操作系统结构
用户模式
普通程序都是运行才用户模式下
内核模式
操作系统内核,驱动程序都是运行在内核模式下的
64位,32位系统区别
CPU内部结构与寄存器
RISC与CISC CPU构架
RISC:精简指令集
CISC:复杂指令集
SPARC,x86与ARM
汇编语言
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);
VS反汇编
VS源代码加入断点,执行到断点程序停止之后,选择调试菜单-》窗口-》汇编就可以看到汇编指令
IDE工具
QT常用快捷键
Ctrl + r:编译执行
Ctrl + b,编译,不执行
Ctrl + i;格式化代码
Ctrl + /;块注释代码
Eclipse常用快捷键
Ctrl + shift + f;自动格式化代码
Ctrl + /;批量注释
VS常用快捷键
Ctrl + D,格式化代码
F9:加入断点
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不为菜鸟所知的秘密
- 数组那些不为菜鸟所知的秘密(一)
- 数组那些不为菜鸟所知的秘密(two)
- 数组那些不为菜鸟所知的秘密(零)
- 结构体那些不为菜鸟所知的秘密--位域
- 不为以前所知的LNK2019问题
- 爱因斯坦不为人所知的十大秘密
- 【C 语言菜鸟之旅】Helloworld 1.1
- 【转帖】揭露不为人所知的招聘网站的秘密, 业内人士告诉你:为何你的简历石沉大海?!
- 黑马IOS基础课程的学习笔记 C语言基础
- C语言关键字的秘密
- c语言函数的秘密
- 第一、二课C语言基础课程学习心得
- C语言基础课程 第三课 ADB(Android Debug Bridge)的使用
- 【C语言基础】C语言第二章
- 理学院C语言基础班课程一
- C语言及程序设计基础 课程主页
- Windows下几个不为你所知的选择、复制和粘贴快捷键(insert、home、end)
- mvn打jar包
- Problem 2147 A-B Game
- [LeetCode OJ]Reverse Integer
- AES分组对称加密模式:ECB/CBC/CFB/OFB缺CTR
- 组件通信与广播消息.note
- C语言基础课程 第二课 HelloWorld不为菜鸟所知的秘密
- css input框中的指针怎么 让他在左边啊?
- 条码扫描枪的光电器件(一)
- c++学习笔记之复制控制与stl算法
- 牛逼神器第三弹--nth_element函数
- hadoop运行examples遇到的问题
- SQL Server查询备份还原历史记录
- 四川的湖库钓珠珠使用感觉比较有效的窝料如下
- Android之TextView组件相关属性详解