C语言基本语法

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第0章C语言基本语法

一共80学时,分两部分:C、数据结构。其中C大概32学时,数据结构48学时。

0.1C编译环境

C语言一般可使用两种编程环境:

1、Turbo C2.0版本,重要的三个热键:

1)编译:F9

2)运行:Ctrl+F5

3)观察结果:Alt+F5

Alt+F7光标指向前一个错误处

Alt+F8光标指向下一个错误处

Alt+F9不进行日期和时间检查的编译,生成.obj文件

Ctrl+F2终止调试操作

Ctrl+F9编译、连接并运行程序

Alt+C打开Compile菜单

Alt+D打开Debug菜单

2、Visual C++6.0版本:只适合在Windows操作系统下,是微软开发出来的,在这个环境下进行C、C++、Visual C++进行编程非常方便。

在VC++6.0看来,每个程序都应该以“Project”(工程、项目)的形式来进行。而每个Project又应该包含在一个WorkSpace(工作区)之中。当然,一个Workspace中可以有多个Project。因此,我们每创建一个程序,都应该首先创建一个工程,这个工程就是一个整体,经过编译连接等操作,这个工程最终就能够变成一个在Windows下可执行的程序。

在VC6.0中的Project有以下几种常用类型:

1)Win32Console Application:Win32控制台应用程序,适合所有的C程序,由它创建出来的应用程序一般没有独立的窗口。这种程序的入口函数为main函数。

2)Win32Application:Win32应用程序,适合C/C++程序,这个与上面的区别在于,可以创建出有独立窗口的应用程序,特别地,它可以使用Win API函数库。入口函数不是main函数,而是tmain或WinMain等。

3)MFC AppWizard(.exe):适合使用Visual C++语言进行编程,可以方便地创建出普通的Windows窗口,能够方便地进行窗口编程。在这种程序中,连main 或WinMain函数都找不到。

0.2熟悉Visual C++6.0编程环境

每一个程序都以“工程(Project)”的形式出现,在VC中,又将一个或多

个工程包装成一个“工作区(WorkSpace)”,所以,我们在每个程序编程时都需要创建一个工程,再在这个工程中创建文件(.cpp、.h文件等)。

编译微型条

0.3顺序程序设计

0.3.1数据类型

1、基本类型(整型、浮点型、字符型),枚举类型、复合类型(数组、指针、结构体、共用体)。

2、整型:int、short int、long int,都是使用补码的形式来表示。

如要将-123表示成16位(2B)的补码

1)先将123化为原码二进制形式:0000000001111011

2)最高位取1,其它位按位取反:1111111110000100,得到的是反码。

3)末尾加1:1111111110000101

显然,16位所能表示的数据,最大的那个是:0111111111111111=215-1,最小的那个数:1000000000000000=-215,而1111111111111111=-1

int short int long int char

Turbo C2B,-215~215-12B,-215~215-14B,-231~231-11B,-128~127 Visual C++4B,-231~231-12B,-215~215-14B,-231~231-1ASCII:1B

Unicode:2B unsigne d:无符号,也就是没有负数,全部是正数。如unsigned int

所以,如果对于int来说,1111111111111111=-1,而对于unsigned int来说,1111111111111111=216-1

另外还有一个关键字:signed,代表有符号,如signed int实际上就是int。

long int可以简写为long,而short int可简写为short

3、浮点数:float、double,

float称为单精度浮点数,由4B表示,它只有6个有效数字。能表示的数据范围:0及1.2X10-38~3.4X1038

double称为双精度浮点数,由8B表示,它有15个有效数字。能表示:0及2.3X10-308~3.4X10308

long double长双精度浮点数,一般不太使用,它一般可以有有16B。

注意一个细节:不准确,可能有些数明明是有限小数,但在计算机中无法表

示,将表示成无限的近似的数,如0.1,所以,我们有两点要注意的:1)不要用浮点数来控制循环次数。

float f;

for(f=0;f<1;f+=0.1)

{……}

2)不要直接比较两个浮点数是否相等。如:

double a=0.1,b=0.11

if(a==b)

真正要做的比较应该为:

if(fabs(a-b)<=1e-7)

4、字符:char,包括:(可参照ASCII码表进行)

1)字母:大写、小写

2)数字:0~9

3)专门符号:29个,!@#$

4)空格符:空格、水平制表符

5)不能显示出来的字符:null,可以以'\八进制代码'表示出来,如回车换行符'\007',还可以以'\代号'表示,如'\n'

\n:回车换行

\f:换页

\b:退一格

\r:回车,不换行,就是回到这一行的最前面开始

\0:空字符,

\\:反斜杠本身

字符必须包含在一对单引号中,如:'a','\035','\n'等

5、字符串:包含在一对双引号中的任意个(1个或多个)字符,但是一个字符串中至少有一个字符\0,如:

"China"、

char str[]="\123abc\n\\",

可以使用strlen(str)来求字符串str中有多少个字符,此处得到6.

可以使用sizeof(str)来求字符串str占了多少个字节的空间,此处得到7.

注意:

1)双引号本身应该在英文状态下

2)字符串中可以有中文,一个中文点两个字节

0.3.2运算符

+-*/%

除:规定如果参加运算的两个数都是整数的话,则结果也是整数;而如果只有有任意一个数据为float或double,则结果为double,如:

double c;

int a=-10,b=4;

//方法一:强制转换某个数为double或float

c=(double)a/b;//c=2.5

c=a/(double)b;

相关文档
最新文档