C语言基础课程 第二课 HelloWorld不为菜鸟所知的秘密
1.9.1 System返回值在windows和unix下的不同, 5
愉快的开端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不为菜鸟所知的秘密的更多相关文章
- C语言基础课程 第一课 Linux环境配置小实战httpserver
网段我需要改成如下 10.重启网络服务 并且查看ip 11. 打开windows的浏览器数人Linux的IP地址出现REDHAT的欢迎界面 11.进入目录 12.编写一个简单的html脚本 13 ...
- C语言基础课程 第三课 ADB(Android Debug Bridge)的使用
由于前面已经发布过Linux的博客了 基础班将Linux基础命令就不单独发表博客了,本节课主要就是利用adb连接手机进行一个Linux基本命令的复习.而且熟悉手机的底层运作,不用界面操作照样也能 ...
- C语言基础课程 第四课 它山之石可以攻玉---C语言数据类型和表达式
1 C语言中的数据类型 1.1 常量 常量就是在程序中不可变化的量 1.1.1 #define #define MAX 10 Define;//定义了一 ...
- 01-JAVA语言基础——课程作业1—编写一个程序,此程序从命令行接收多个数字,求和之后输出结果。
1.题目:编写一个程序,此程序从命令行接收多个数字,求和之后输出结果. 2.程序设计思想: 通过运行配置输入数字后,其保存类型为String类型,因此需要采用Integer.valueOf(arg)将 ...
- 【C语言探索之旅】 第二课:工欲善其事,必先利其器
内容简介 1.课程大纲 2.第一部分第二课:工欲善其事,必先利其器 3.第一部分第三课预告:你的第一个程序 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C ...
- 【C语言探索之旅】 第三部分第二课:SDL开发游戏之创建窗口和画布
内容简介 1.第三部分第二课: SDL开发游戏之创建窗口和画布 2.第三部分第三课预告: SDL开发游戏之显示图像 第三部分第二课:SDL开发游戏之创建窗口和画布 在上一课中,我们对SDL这个开源库做 ...
- 【C语言探索之旅】 第二部分第二课:进击的指针,C语言的王牌!
内容简介 1.课程大纲 2.第二部分第二课: 进击的指针,C语言的王牌 3.第二部分第三课预告: 数组 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言 ...
- 【Web探索之旅】第二部分第二课:服务器语言
内容简介 1.第二部分第二课:服务器语言 2.第二部分第三课预告:框架和内容管理系统 第二部分第二课:服务器语言 介绍了Web的客户端,我们来谈谈Web的服务器端. 既然客户端有客户端的编程语言(HT ...
- 第二十四节:Java语言基础-讲解数组的综合应用
数组的综合应用 // 打印数组 public static void printArray(int[] arr) { for(int x=0;x<arr.length;x++) { if(x!= ...
随机推荐
- iOS viewController 和 view 的创建消失生命周期总结
控制器创建的生命周期 1. 如果从stroryBoard 中产生一个controller,那么会先调用initWithCoder:, awakeFromNib, loadView,viewDidLoa ...
- js多行字符串
最基本的做法是: js 代码 var str = "111\n222\n333"; 但是这样不好排版.JavaScript 本身支持“\”的断句方式,于是可以这样写: js 代码 ...
- 如何使用node中的buffer
介绍:Buffer类是一个全局类,是一个比较罕见不需要require( ‘buffer’ )就可以使用的类,Buffer类似与数组也有length, 它里面的元素为16进制的两位数,即 0-255的数 ...
- 关于c++中的引用
引用是个别名. 1.引用是否占用空间 引用是否占用空间,此处是指广义上的占用内存空间,即为该对象新开辟一块内存.这个需要分不同的情况. 首先看一下常引用(const 引用). 这里关于常引用在c++ ...
- Datum Form Goole Android
1. <TurboChargeYourUI-How to make your AndroidUI fast and efficient> 2. <The World of List ...
- iOS英文 汉化,如调用相册,相机改“cancel”,“photos”为“取消”,“相机”
调用系统相册.相机发现是英文的系统相簿界面后标题显示“photos”,但是手机语言已经设置显示中文,纠结半天,最终在info.plist设置解决问题. 只需要改三个地方: 1.plist文件中: 2. ...
- 刚接触js不久,自己写的banner幻灯片效果。
对于我这种菜鸟来讲,刚接触项目.叫我用插件,其实我说插件太臃肿不想用,倒不如说我是看不懂那些插件...- -(更愿意自己写点看得懂的代码,顺便也是个学习的过程) 所以自己花了些时间,自己来写了个dem ...
- 面试后 follow up letter 分享
分享一下最近面试外企的follow up letter. Dear Mr. Xu, Thank you again for the time you and Mr. Guo spent wit ...
- 自定义Excel导出简易组件
1.组件原理 excel的数据存储是以xml格式存储的,所以导出Excel文件可以通过生成XML来实现.当然XML必须符合一定的格式要求. 2.组件实现 (1)新建类库文件“MyExcel” (2)添 ...
- java中的异常结构
1.基类为Throwable. 2.Error和Exception分别继承Throwable. 3.Error类异常描述了Java运行系统中的内部错误以及资源耗尽的情形.应用程序不应该抛出这种类型的对 ...