文档库 最新最全的文档下载
当前位置:文档库 › C语言讲义

C语言讲义

C语言讲义
C语言讲义

序言C语言概述和运行环境

1概述:

语言:

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

二级C语言属于全国计算机等级考试一年举行两次。每年上半年3月倒数第一个星期六上午进行;每年下半年九月份的9月倒数第二个星期六上午进行。

考试内容为10分计算机公共基础题(数据结构、程序设计、软件工程、数据库),90分的C语言课程题;考试题型分为:40个选择题(40分),1道程序填空题(18分),1道程序改错题(18分),1道子程序实现题(24分),总分100分,考试时间120分钟,考试成绩总分60以上且上机题36分以上考试合格。

2运行环境:Microsoft Visual C++ 6.0

3环境安装:

图1选择“setup.exe”双击开始安装

图 2 选择接受协议继续安装

图 3 无需安装msdn 4软件应用

图 4 首先新建一个工程

图 5 然后在“工程”中新建文件

5常用的快捷键:

编译:ctrl+F7 运行:ctrl+F5 创建可执行文件:F7 插入/删除断点:F9

编辑 “源文件”.c ;编译生成:中间文件.obj ;连接生成:目标文件.exe ;执行内存映像文件。

第一章程序设计基本概念

1.1 程序和程序设计

1.1.1 C程序

软件:程序+数据+文档

程序:连续执行的一条条指令的集合称为“程序”。(若干有序指令的集合称为程序。)指令:完成特定意义的语句。

语句:表达式和分号。(任何语句都是以分号为结尾)

表达式:若干标识符和功能函数。

标识符:各种自定义变量和系统保留字;

功能函数:系统函数和自定义的子程序函数。

对于计算机来说,它不能识别由高级语言编写的程序,它只能接受和处理由0和1代码构成的二进制指令或数据。由于这种形式的指令是面向机器的,因此也被称为“机器语言”。所以所有由高级语言编写的程序都要经过编译,编译成二进制代码。这种具有翻译功能的软件称为编译程序。(C++)

语言有很多种,我们现在要谈论的就是C语言。为什么计算机会能进行各种各样的操作,就是由不同的指令来实现的。而不是只有C语言才可以实现这样的功能。还有其它很多语言。但是我们一般说C语言是其它语言的母语。会了C语言其它语言在学习的过程的过程就会感到轻松一些。

C语言源程序文件名的后缀.c,经过编译后,生成文件的后缀是.obj,经过连接后,生成可执行文件的后缀是.exe。

1.1.2 程序设计(选择题)

1.确定数据结构(数据存放与数据之间的关系,)

2.确定算法(可以理解成将原材料进行加工的加工厂,解决问题的方法和思路)

3.编码(写代码,去实现功能)

4.在计算机上调试程序(有错误进行调试)

5.整理并写出文档资料(阑述程序所实现的功能,使用时应注意什么)

1.2 算法

定义:是指为了解决某个特定的问题而采取的确定

..的步骤。

..且有限

1.有穷性(有限的时间内能执行完)

2.确定性(每次得到的结果是一样的)

3.可行性(能用)

4.有零个或多个输入

5.有一个或多个输出

1.3 结构化程序设计和模块化结构

结构化程序由三种基本结构组成: 1.

2. 选择结构

3. 循环结构(所有循环都是趋于结束的)

例:计算机能直接执行的程序是()

A.源程序

B.目标程序

C.汇编程序

D.可执行程序

例:以下叙述正确的是()

A.程序设计的任务就是编写程序代码并上机调试

B.程序设计的任务就是确定所用数据结构

C.程序设计的任务就是确定所用算法

D.以上三种说法都不完整

第二章 C程序设计初步知识

2.1 简单C语言程序的构成和格式

#include

main()

{

double a,b,area;

a=1.2; /*将矩形的两条边长分赋给a和b*/

b=3.6;

area=a*b;/*计算矩形的面积并存储到变量area中*/

printf("a=%f,b=%f,area=%f\n",a,b,area);

}

#include :每当写一个程序时,第一条语句永远是这个语句,因为一个程序可以没有输入但必须要有输出,而这个语句就是控制输入输出的。所以任何一个程序都必须由这个语句开始。

main():是一个程序的主函数。一个程序是由多个函数组成,而任何一个程序都要有一个主函数,有且只有一个。任何程序都是由主函数开始执行的。

{}:它们两个必须要成对出现,它们中的语句是主函数体。包括定义部分和执行部分。它们中的语句,每一条必须由“;”结束。“;”是C语句的一个组成部分而不是结束标识。

/**/:注释符一事实上要成对出现,不允许嵌套。两个符号间的语句不被执行。

例1:

#include

main()

{

int a;

a=5; /*给a变量赋值5

a=a+3; 赋值后再加3*/

printf("%d\n",a);

}

看似等于8,其实为5

例:以下叙述中正确的是()

A.C程序的基本组成单位是语句

B.C程序中的每一行只能写一条语句

C.简单C语句必须以分号结束

D.C语句必须在一行内写完

例:以下叙述中正确的是()

A. C程序中的注释只能出现在程序的开始位置和语句的后面

B. C程序书写格式严格,要求一行内只能写一个语句

C. C程序书写格式自由,一个语句可以写在多行上

D. 用C语言编写的程序只能放在一个程序文件中

改错:

#include stdio.h

main(); / *main function * /

float r,s; /*/* r is radius *//*s is area of circular*/

r=5.0;

s=3.14159*r*r;

printf("%f\n",s)

2.2标识符、常量和变量

2.2.1标识符

定义:由字母、数字和下划线组成,并且第一个字符必须为字母或下划线的。这样的组成是标识符。

下列合法的是:

else what#$123 34a a34 a_b a-b if

注意:

1.在C中大写字母与与小写字母被认为两个不同的字符。

2.对于标识符的长度,标识符的前若干个字符有效,超过的字符将不被识别。

C语言标识符分为以下三类:

关键字:在C中已经定义好了的,不能用作它用的。如if double int等。(附录1)预定义标识符:如printf scanf

用户(自定义)标识符:用户根据自己的需求来定义的。

例:以下选项中,能用作用户标识符的是()

A.void

B.8_8

C._0_

D.unsigned

例:以下选项中合法的标识符是()

A.1-1

B.1-1

C._11

D.1—

例:以下选项中不合法的标识符是()

A、print

B、FOR

C、&a

D、_00

2.2.2常量

定义:是指在程序的执行的过程中,其值不会被改变的量。

分类:

整型常量:没有小数的常量。如:3 9 1324

实型常量:有小数点的常量。如:3.9 3.0 3.

字符常量:由单个字符组成的量。如’a’’b’‘3’ 1.符号字符串常量:至少由一个字符组成的量。如”a”“abc”“beijing”区别 2.空间符号常量:符号常量的值到底是多少,这是由定义符号常量时来决定的。如:P 10 例:以下选项中,能用作数据常量的是()

A.o115

B.0118

C. 1.5e1.5

D.115L

例:以下选项中不能作为C语言合法常量的是()

A.‘cd’

B.0.1e+6

C.“\a”

D.‘\011’

例:以下选项中不属于字符常量的是()

A.‘c’

B.“c”

C.“\xcc0”

D.‘\072’

2.2.3整型常量和实型常量

一、整型常量:

整型常量的几种表示方法:

十进制:0-9

八进制:以0开头的数字,由0-7组成。如0234

十六进:以0x开头,由0-9和A-F组成。

例:下列合法的八进制数是()

A.0

B.028

C.-077(以0开头的,不能表示负数)

D.01.0

例:下列不合法的十六进制数是()

A.oxff

B.0xabc

C.0x11

D.0x19

注:十进制、八进制、十六进制是可以相互转换的。

例:2710=338=1B16

27=033=0x1B

二、实型常量

实型常量的几种表示方法:

小数形式:12.3

指数形式:1.23e2

注意:

1.字母e或E之前必须要有数字

2.字母e或E之后的数字必须是整数

3.字母e或E与数字之间不能有空格

例:下列实型常量合法的是()

2.607E-10.8103E 2 -77.77 456E-20.1e+6 1.23E1.2

2.2.4变量

一、定义:在程序的运行过程中其值可以被改变的量,就叫变量。

二、原则:变量必须先定义后使用。变量定义的过程就是给变量开辟存储单元的过程。

三、分类:

1.整型变量

用关键字int来定义。

例:

#include

main()

{

int a;

a=7;

printf("%d",a);

}

Int 普通整型:

short int 短整型:在内存中占2字节,范围-32768--32767

long int 长整型:在内存中占有4个字节,如123L

unsigned 无符号如有-2000U这是错误的。

变量的定义:int a,b;这是定义了两个整型变量a和b。

2.实型变量

用关键字double和float来定义

float单精度:在内在中占了4个字节

double双精度:在内存中占8个字节

在VC6.0中,所有的float类型数据在运算中自动转换成double类型数据。

例:

#include

main()

{

double a=7.7,b=8;

printf("%f,%f",a,b);

}

2.3算术表达式

一、算术运算符

+、-、*、/、%:双目运算符(就是操作对象有两个)

注意:除%以外,其它的运算符的运算对象可以是整型也可以是实型,%的操作对象只能是整型。(可以用于判断是不是偶数等)

如:10%3=1 错误:10.7%3 10%4.5

+、-:可以做为单目运算符

说明:

(1)如果双目运算符两边运算数的类型一致,则所得结果的类型与运算数的类型一致。

如1.0/2.0=0.5 1/2=0

(2)如果双目运算符两边运算数的类型不一致,则系统会自动进行类型转换,使两边的类型一致后,再进行运算。(附录5)

如1.0/2=0.5

(3)所有的单精度数据,在运算过程中都以双精度进行运算。

二、优先级

()+ - * / % + -

单目双目

同级同级同级

高低

例:5+1/2=5

三、算术表达式

用算术运算符和一对圆括号将运算数连接起来的表达式。

(1)算术表达式中,运算对象可以是常量、变量和函数等,如:2+sqrt(c)*b

(2)在算术表达式中,若包含不同优先级的运算符,则按运算符的优先级由高到低的顺序进行,若表达式中运算符的级别相同,则按结合方向进行。单目运算符+和-的结合方向是从右向左,其余运算符的结合方向是从左到右。

2.4强制类型转换表达式

格式:(类型名)(表达式)

例:(int)(3.234)=3

(double)10%3=?

总结:类型名的括号不能省,若表达式为一个运算数时,表达式的括号可以省。

例14:表达式:(int)((double)9/2)-(9)%2的值是()

A.0

B.3

C.4

D.5

例14:设变量已正确定义并赋值,以下正确的表达式是()

A.x=y*5=x+z

B.int(15.8%5)

C.x=y+z,++y

D.x=25%5.0

2.5赋值表达式

一、赋值运算符和赋值表达式

赋值运算符:=

格式:变量名=表达式

注意:

1.不可以颠倒(左边必须是变量名,右边必须是C语言中合法的表达式)

2.功能就是先求出右边表达式值,然后把此值赋值给赋值号左边的变量。确切的

说是把数据存入以该变量为标识的存储单元中去。如a=4,a=7

3.结合性的优先级仅高于逗号表达式。顺序是自右向左的。如a=2+7/3

4.=是一个赋值号,不是一个等号a==b(a等于b);a=b(a赋值为b)

5.x=y。变量的值也是可以传递和赋值的。它是将变量y的值赋值到x中去,同

样a=a+1也成立(或写成a+=1)

6.赋值运算符的左侧只能是变量,不能是常量或表达式,如a+b=c是错误的

7.赋值号的右边也可以是一个赋值表达式。如a=b=7+1

补充:表达式与语句的区别:表达式后面加一个分号就是语句。

二、复合赋值表达式

在赋值运算符之前加上其他运算符可以构成复合赋值运算符。复合运算符有+=、-=、*=、/=、%=,它的优先级别与赋值运算符相同。

如:a+=3相当于a=a+3,同理-=、*=、/=、%=。

如:a+=a-=a+a,其中a的初值为9,则结果a=-18

例15:若有定义语句:int x=10;,则表达式x-=x+x(相当于:x=x-(x+x))的值是()A.-20

B.0

C.-10

D.10

例14:设有定义:int x=2;,以下表达式值不为6的是()

A.x*=x+1 →x=x*(x+1)

B.x++,2*x →[x=x+1, ] 2(x+1)

C.x*=(1+x)→x=x*(1+x)

D.2*x,x+=2→x+=2→x=x+2

例17:若变量均已正确定义并赋值,以下合法的C语言赋值语句是()

A.x=(y= =5);y等于5?(y赋值为5,也就是y就是5,y=5)

B.x+n=1;

C.x=n%2.5;

D.x=5=4+1;

2.6自加和自减运算符

1.自加运算符“++”和自减运算符“--”的运算结果是使运算对象的值增1或减1。如i++相当于i=i+1,i+=1;,i--相当于i=i-1,i-=1。

2.运算符“++”和自减运算符“--”是单目运算符,运算对象可以是整型变量也可以是实型变量,不能是常量或表达式,如3++,(i+j)--

3.自加或自减运算符构成表达式时,既可以前缀形式出现,也可以以后缀形式出现。如i++,i--,++i,--i。对变量具有相同的效果,但对表达式来说有着不同的值。

如:

#include

main()

{

int i=4;

printf("%d",++i);相当于:i=i+1,i

printf("%d",i);

}

结果:55

#include

main()

{

int i=4;

printf("%d",i++);相当于:i,i=i+1;

printf("%d",i);

}

结果:45

总结:当++在前,先变量自身加1,然后计算整个表达式的值。总结为:先自增后使用当++在后,先计算整个表达式的值,然后变量自身加1。总结为:先使用后自增--与++同理。

如:int i=3,a;

a=i++;→(a=i;i=i+1;) 则a=3;i=4; 先使用,然后再自增

a=++i;→(i=i+1;a=i;) 则a=4;i=4; 先自增,然后再使用

2.7逗号表达式

一、用逗号将表达式连接起来的式子称为逗号表达式

二、格式:表达式1,表达式2,……表达式n

说明:

1.逗号表达式的结合性为从左到右进行运算,逗号表达的值是最后一个表达式的值

2.在所有运算符中,逗号运算符的优先级最低

例:

int i=5;

int a,b,c;

a=(i+8,7,i+7); 则a=12,i=5

b=(i++,++i); 则b=7,i=7

b=(i++;i++); 则b=6,i=7;

c=(i+7,i++); 则c=5,i=6

c=i+7,i++; 则c=12,i=6

总结:虽然逗号表达式的值为最后一个表达式的值,但不是说前面的不计算直接看后面表达式的值。\

/* /* /* afab */

课后习题

第三章顺序结构

3.1赋值语句

在赋值表达式的尾部加上一个“;”号,就构成了赋值语句。例如:

a=b+c;

i++;

--i;

a=b=c;

a=b,b=c;

赋值语句是一种可执行语句,一般出现在的可执行函数部分,不要把变量定义时的赋初值和赋值语句混为一谈。Int a=10; //int a; a=10;

3.2数据输出

1.printf函数的一般调用形式

格式:printf(格式控制,输出项1,输出项2,……)

在printf函数的最后面写上“;”就是输出语句。

如:printf(“a=%d,b=%d,c=%d”,a,b); 占位符

其中printf是函数名,用“”括起来的为格式控制;a,b为输出项

1)在格式控制中,用%前导的内容一般为输出格式控制可以理解为占位符;其他的一

般为原样输出;在格式控制部分,除了使用%前导的部分被后面的输出项替换外,其他内容原样输出。

2)输出项的个数一定要大于等于格式控制占位符的个数(最好相等)。输出项与对应

占位符的控制格式应该保持一致。个数尽量一致,类型必须一致

1.格式控制

(1)格式说明符

作用:就是使数据按格式说明符的要求进行输出

组成:由%号和紧跟在其后的格式描述符组成。

输出项类型为int→%d(对于长整型应该加l,即%ld,对于短整型可以用%hd)输出项类型为float或double→%f或%e

输出项类型为char→%c

输出项类型为char[]/string →%s

如表3.1P-24

例:

#include

main()

{

int i=67;

printf("%d\n",i);

printf("%c\n",i);//整型数与字符之间可以互换。字符型数据在内存中以整型的ASCII码进行存储。C→67

}

0→48

A→65

a→97

null→0

例:

#include

main()

{

double i=12.34;

printf("%f\n",i);

printf("%e\n",i); //科学计数法:1.025*105

} 1.025e001

(2)提供原样输出的文字或字符

在“”中除了格式说明符之外的内容要全部原样输出。

如:printf(“a=%d,b=%d”,a,b);

2.输出项(输出参数列表)

各个输出项之间要用逗号隔开。

输出项可以是任意合法的常量,变量或表达式。

例:

#include

main()

{

int a=1234;

double i=12.34;

printf("a=%d,i=%f,i*10=%e\n",a,i,i*10);

}

二、printf函数中常用的格式说明

在格式说明符中,每一个格式说明符都必须以%号开头,由相应的格式字符结束。但在他们之间可以加入“宽度说明”,左对齐符号“-”,前导零符号“0”等。

%c:输出一个字符

%d:输出一个十进制的数据

%o:以八进制格式输出

%x或%X:以十六进制输出

%u:无符号十进制输出

%f:以带小数点的数字输出

%e:以指数形式输出

%s:输出一个字符串

%%:输出一个%号

%4d:输出数据长度是4个长度,当原来的长度大于4个时会自动突破。小于4个时会从左填充空格。

%x.yf:x代表数制的宽度(包括小数点)。y代表小数点后面的小数位数。

输出宽度的控制:如果规定的宽度大于实际宽度,不足部分使用空格填充,如果是正数则前补空格,如果是负数则后补空格;如果规定的宽度小于实际宽度,整数部分原样输出,小数部分则使用四舍五入进行处理。

注意:

1.printf提供输出格式自由,是否在两个数之间留逗号、空格、回车完全取决于格式控制。如printf(“%d %d %d\n”,a,b,c);或printf(“%d,%d,%d\n”,a,b,c);这样数之间不会连在一起。即“”里面的格式制字符除了格式说明符(%引导)和转义字符(\引导)以外,其它字符原样输出。

2.格式说明符要与输出项一一对应。

如:int a=4,b=10;char c='7';printf("%d,%s\n",a,b);

如:int a=4,b=10;char c='7';printf("%d,%c\n",a,c,b);

3.输出语句中还可以有任意合法的字符,包括普通文本与转义字符,普通文本原样输出,转义字符\n(回车),\r(换行但不回车),\t(制表位),\a(响铃)。

4.尽量不要在输出语句中改变输出变量的值。

如:int i=3;printf(“%-d,%d\n”,i,++i);结果:4,4

如:int i=3;printf(“%d,%d\n” ,++i,i);结果:4,3

因为printf函数是从右向左进行处理的。

5.输出的数据中如果存在变量,一定要定义过的。

6.输出数据的域宽可以改变。

如:printf(“%*d” ,m,n);则按照m指定的域宽输出n的值,m不输出。printf(“%md”,n); 7.若要输出%,则可以在格式控制中用%%表示。

例13:阅读以下程序

#include

main()

{

int case;

float printF;

printf("请输入2个数")

scanf("%d%f",&case,&printF);

printf("%d%f\n",case,printF);

}

该程序编译时产生错误,其出错原因是()

A、定义语句出错,case是关键字,不能用作用户定义标识符

B、定义语句出错,printF不能用作用户定义标识符

C、定义语句无错,scanf不能作为输入函数使用

D、定义语句无错,printF不能输出case的值。

例16:以以下程序

#include

main()

{

int a=1,b=0;

printf("%d,",b=a+b) // 1,

printf("%d\n",a=2*b);//1,2

}

程序运行后的输出结果是()

A、0,0

B、1,0

C、3,2

D、1,2

例:程序段:int x=12;

double y=3.141593;

printf(“%d%8.6f”,x,y);的输出结果是()//12

A、123.141593

B、12

3.141593

C、12,3.141593

D、12 3.141593

如:

#include

main()

{

double a=123.456;

printf("%6.2f,",a);

}

运行结果:123.46

同样的程序,做出以下修改后的结果分别是:

printf("%3.3f,",a); 结果:123.456

printf("%7.8f,",a); 结果:123.45600000

总结:若给出的宽度小于实际长度,则自动突破,若给出的宽度大于实际长度,则右对齐。

若小数位数大于实际小数位数,则自动在小数位右侧补0。

3.3数据输入

scanf(“”,);

如:

#include

main()

{

int i;

printf("请输入一个数:");

scanf("%d",&i);//相当于为变量i赋值,值来源于屏幕上按格式扫描到的内容。

printf("刚才输入的是:%d\n",i);

}

一、scanf函数的一般调用格式

格式:scanf(格式控制,输入项1,输入项2,……)

在scanf函数后加上“;”,则构成输入语句。

如:想通过键盘输入3个数分别给a,b,c。并且他们分别为整型,浮点型,双精度型。

则输入语句为:scanf(“%d%f%lf”,&a,&b,&c);

其中:scanf是函数名,双引号括起来的字符串部分为格式控制部分,其后的&a,&b,&c 为输入项。

如:

#include

main()

{

int a;

float b;

double c;

printf("请输入三个数:");

scanf("%d%f%lf",&a,&b,&c);

printf("刚才输入的是:%d,%f,%f\n",a,b,c);

}

输入:作为数值型的输入,可以使用回车作为分隔符。

1

2.3

4.6

结果:

二、scanf函数中常用的格式说明符

每个格式说明符必须用%开头,以一个“格式字符”作为结束。

格式字符及其功能如下:

%c:输入一个字符

%d:输入带符号十进制整型数

%i:输入整型数,整型数可以是带先导0的八进制数,也可以是带先导0x(或0X)的十六进制数。

%o:以八进制格式输入整型数,可以带先导0,也可以不带。

%x:以十六进制格式输入整型数,可以带先导0x(或0X),也可以不带

%u:以无符号十进制输入整型数

%f(lf):以带小数点的数学形式或指数形式输入浮点数(单精度用f,双精度用lf)%e(le):同上

%s:输入一个字符串,直到遇到“\0”。

%x.yf:x代表数制的宽度(包括小数点)。y代表小数点后面的小数位数。

说明:

1.格式说明符与输出语句一样。

2.在格式串中,必须含有与输入项一一对应的格式转换说明符。即类型和个数都要对应。如:上例中输入a,b,c为2.3.4,则结果:

3.在VC6.0的环境下,要输入double型数据的格式说明符一定要用%lf,否则数据不能正确的输入,如:上例输入语句改成:scanf("%d%f%f",&a,&b,&c);。

若要输入:

1

2.23

1.123456

则结果:

4.由于输入是一字符流,所以当输入的数据少于输入项时,程序会等待用户输入,直到满足要求。当输入的数据多于输入项时,多余的数据会自动作废。

如:上例输入1.2.3.4后直接接收1 .2 .3后面舍弃了。

三、通过scanf函数从键盘输入数据

1.输入数值数据

在输入整数或实数时,输入的数据之间必须用空格、回车符、制表位等间隔符隔开,间

C语言讲义自己归纳笔记

ACM协会C语言讲义 知识点1:C语言的数据类型 所谓数据类型是按被定义变量的性质,表示形式,占据存储空间的多少,构造特点来划分的。在C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类。 知识点2:常量 对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。在程序执行过程中,其值不能被改变的量称为常量。 整型常量:12,0,-3 实型常量:0.25,12.345,-3.4 字符常量:’a’,’b’ 知识点3:符号常量 符号常量:用标示符代表一个常量。在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。 符号常量在使用之前必须先定义,其一般形式为: #define 标识符常量 习惯上,符号常量名用大写,变量名用小写,以示区别 例 #define PRICE 30 #include void main() { int num,total; num=10;

total=num*PRICE; printf("total=%d\n",total); } 程序中,用#define命令行定义PRICE代表常量30,此后凡在本程序中出现的PRICE都代表30,可以和常量一样进行运算,程序运行结果为 total=300 用标识符代表一个常量,称为符号常量。 符号常量与变量不同,它的值在其作用域内不能改变,也不能再被赋值。 符号常量的好处是: 含义清楚; 能做到“一改全改”。 知识点4:标识符 在C语言中用来对变量、符号常量、函数、数组、类型等数据对象命名的有效字符序列统称为标识符。简单的说,标识符就是一个名字。 C语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。 知识点5:字符串常量 字符换常量是一对双撇号括起来的字符序列。 “Hello world” C规定:在每一个字符串常量的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。C规定以字符’\0’作为字符串结束标志。 知识点6:强制类型转换 (double)a (将a转换成double类型) (int)(x+y) (将x+y的值转换成整形) (float)(5%3) (将5%3的值转换成float型) 其一般形式为 (类型名)(表达式) 知识点7:自增、自减运算符 ++i,--I (在使用i之前,先使用i的值加(减)1) i++,i-- (在使用i之后,使用i的值加(减)1) 例 i=3; printf("%d",++i); 输出“4”,若改为 printf("%d",i++); 则输出“3”。 知识点8:复合的赋值运算符 a+=3 等价于a=a+3

《C语言程序设计》案例讲义_完整版

C语言程序设计 模块一认识C语言 能力标准: 1.了解C语言的作用; 2.熟悉C程序结构; 3.掌握TC集成调试环境的使用。 知识点: 1.C语言是人和计算机交流的一种工具; 2.C语言程序的执行过程。 1.C语言的发展 计算机语言是计算机和人交流的工具,必须遵守一定的规则,具有一定的书写格式。C语言就是一种计算机语言,诞生于1972年,是由美国电话电报公司(AT&T)贝尔实验室的Dennis.M.Ritchie 设计。C语言诞生至今已30多年,其发展经历了ALGOL(1960年)—CPL(1963年)—B(1970年)—C(1972年)的演变过程。 2.人机交流 人和计算机交流可以采用对话形式的一问一答方式,也可采用任务方式,即把需要交流的内容集中在一起,一次性完成。前者的专业述语叫解释方式,后者叫编译方式。用C语言进行人和计算机交流采用的是编译方式。具体过程如下: ?编程首先人将和计算机交流的内容按要求,用C语言写成任务,如要计算机计算5!,则需要写出以下任务: #include main() { float m,k,j; k=5; m=1; for(j=1;j<=k;j++) m=m*j; printf(“%f !=%f\n”,k,m); } 上述用C语言表示的任务,称为程序。所谓程序指由一系指令组成,完成某个具体功能的指令集合。 ?编译计算机本身是一堆零件,它只知道高低电平,对应到二进制就是“0”和“1”这两个符号,当然它是不认识我们用上述符号写成的程序,因此我们需要将上述程序进行转换,转换成由“0”和“1”的组合来表示的二进制程序,也就是机器语言程序。我们把这样的转换称之为编译。 ?连接为了方便程序的编写,专业人员已经将许多常用的功能写成了固定的程序,并已进行编译,我们在编写实际应用程序时可以直接使用现成的功能程序,这些功能程序要和用户编写的程序连接起来,形成最终计算机能够执行的机器语言程序。 ?执行经过上述三步之后生成的机器语言程序,在Turbo C系统中称为目标程序,把目标程序

--C语言讲义

经典,学习C语言的天堂C语言算法:栈 void fun (char *s, char *t) { int i, d; /***********SPACE***********/ d = 【?】; /***********SPACE***********/ for (i = 0; i

C语言讲义

序言C语言概述和运行环境 1概述: 语言: C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。 二级C语言属于全国计算机等级考试一年举行两次。每年上半年3月倒数第一个星期六上午进行;每年下半年九月份的9月倒数第二个星期六上午进行。 考试内容为10分计算机公共基础题(数据结构、程序设计、软件工程、数据库),90分的C语言课程题;考试题型分为:40个选择题(40分),1道程序填空题(18分),1道程序改错题(18分),1道子程序实现题(24分),总分100分,考试时间120分钟,考试成绩总分60以上且上机题36分以上考试合格。 2运行环境:Microsoft Visual C++ 6.0 3环境安装: 图1选择“setup.exe”双击开始安装

图 2 选择接受协议继续安装

图 3 无需安装msdn 4软件应用 图 4 首先新建一个工程

图 5 然后在“工程”中新建文件 5常用的快捷键:

编译:ctrl+F7 运行:ctrl+F5 创建可执行文件:F7 插入/删除断点:F9 编辑 “源文件”.c ;编译生成:中间文件.obj ;连接生成:目标文件.exe ;执行内存映像文件。

第一章程序设计基本概念 1.1 程序和程序设计 1.1.1 C程序 软件:程序+数据+文档 程序:连续执行的一条条指令的集合称为“程序”。(若干有序指令的集合称为程序。)指令:完成特定意义的语句。 语句:表达式和分号。(任何语句都是以分号为结尾) 表达式:若干标识符和功能函数。 标识符:各种自定义变量和系统保留字; 功能函数:系统函数和自定义的子程序函数。 对于计算机来说,它不能识别由高级语言编写的程序,它只能接受和处理由0和1代码构成的二进制指令或数据。由于这种形式的指令是面向机器的,因此也被称为“机器语言”。所以所有由高级语言编写的程序都要经过编译,编译成二进制代码。这种具有翻译功能的软件称为编译程序。(C++) 语言有很多种,我们现在要谈论的就是C语言。为什么计算机会能进行各种各样的操作,就是由不同的指令来实现的。而不是只有C语言才可以实现这样的功能。还有其它很多语言。但是我们一般说C语言是其它语言的母语。会了C语言其它语言在学习的过程的过程就会感到轻松一些。 C语言源程序文件名的后缀.c,经过编译后,生成文件的后缀是.obj,经过连接后,生成可执行文件的后缀是.exe。 1.1.2 程序设计(选择题) 1.确定数据结构(数据存放与数据之间的关系,) 2.确定算法(可以理解成将原材料进行加工的加工厂,解决问题的方法和思路) 3.编码(写代码,去实现功能) 4.在计算机上调试程序(有错误进行调试) 5.整理并写出文档资料(阑述程序所实现的功能,使用时应注意什么) 1.2 算法 定义:是指为了解决某个特定的问题而采取的确定 ..的步骤。 ..且有限 1.有穷性(有限的时间内能执行完) 2.确定性(每次得到的结果是一样的) 3.可行性(能用) 4.有零个或多个输入 5.有一个或多个输出

C语言讲义C基础

C++语言基础 说明:本部分资料是C++语言基础部分,由于《C++程序设计》课本中未讲解语言基础,在此我们补充完整,希望同学们认真学习。 本资料中使用编译环境为VC 第1章C++语言概述 1.1 简单的C++程序介绍 例 #include main() { cout<<"这是我的第一个程序\n"; } 本程序的作执行结果: 每个C/C++语言程序都有一个main()函数其固定格式为: //编写程序的准备工作 main ( ) { 要编写的程序,实现不同的功能; } 编程人员要做的就是在划线部分填写适当的代码。 上例中: #include 表示包含文件。 说明:#include <文件名> 或#include ”文件名”表示要将文件名对应的文件中的代码包含到我们的程序中。文件名所对应的文件一般是C/C++语言已经编辑好的库文件,可以帮助我们完成相应的工作,而代码不需要我们自己编写。库文件是系统中自带的现有文件,其中实现了不同功能,我们要记住每个库文件的功能,以方便我们决定什么时候包含什么文件,实现什么功能。要包含的文件也可是自己编写的文件。 main ( ) { 要编写的程序,实现不同的功能;} 此部分称为main函数,是固定格式,我们要做的是在划线部分填写代码,实现不同功能。而要完成这一部分的编写,学要了解C/C++语言的数据类型,运算符,常用函数,控制语句等等。 上例中cout<<"这是我的第一个程序\n"; 表示要在屏幕上输出“这是我的第一个程序”这句话(输出的文字是多个字符要用双引号引起来,单个字符用单引号),并在输出完成后换行(\n 表示要换行,该符号使用时应写在引号内) 例求两数之和 #include //包含文件iostream.h,包含该文件后可使用cout输出数据。 main ( ) { int a,b,sum; /*这是定义变量*/ a=123; b=456; /* 以下3行为语句*/ sum=a+b; cout<<"sum is "<< sum<

相关文档
相关文档 最新文档