C语言程序设计笔记知识点及例题.docx

上传人:b****4 文档编号:3909007 上传时间:2022-11-26 格式:DOCX 页数:90 大小:62.09KB
下载 相关 举报
C语言程序设计笔记知识点及例题.docx_第1页
第1页 / 共90页
C语言程序设计笔记知识点及例题.docx_第2页
第2页 / 共90页
C语言程序设计笔记知识点及例题.docx_第3页
第3页 / 共90页
C语言程序设计笔记知识点及例题.docx_第4页
第4页 / 共90页
C语言程序设计笔记知识点及例题.docx_第5页
第5页 / 共90页
点击查看更多>>
下载资源
资源描述

C语言程序设计笔记知识点及例题.docx

《C语言程序设计笔记知识点及例题.docx》由会员分享,可在线阅读,更多相关《C语言程序设计笔记知识点及例题.docx(90页珍藏版)》请在冰豆网上搜索。

C语言程序设计笔记知识点及例题.docx

C语言程序设计笔记知识点及例题

第一章程序设计基本概念

1.1程序和程序设计

程序:

连续执行的一条条指令的集合称为“程序”。

1.1.2程序设计

1.确定数据结2.确定算法3.编码4.在计算机上调试程序5.整理并写出文档资料

1.2算法

定义:

是指为了解决某个特定的问题而采取的确定且有限的步骤。

1有穷性2确定性3可行性4有零个或多个输入5有一个或多个输出

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

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

1顺序结构2选择结构3循环结构

12)计算机能直接执行的程序是(B)。

A)源程序B)目标程序C)汇编程序D)可执行程序

13)以下叙述中正确的是(D)

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

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

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

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

第二章:

C程序设计的初步知识

(11)以下叙述中正确的是(C)。

A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句

二级C语言程序设计试卷)

C)简单C语句必须以分号结束D)C语句必须在一行内写完

(11)以下叙述中正确的是(C)

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

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

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

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

第二课:

C语言的基础知识

2.2标识符,常量和变量

2.2.1标识符:

定义:

由字母,数字和下划线组成,并且第一个字符必须为字母或下划线的。

这样的组成就是标识符。

注意:

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

分类:

关键字:

在C中已经定义好了的,不能用作它用的。

如ifdoubleint等等。

预定义标识符:

如printfscanf

用户标识符:

用户根据自己的需求来定义的。

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

A)voidB)8_8C)_0_D)unsigned

(11)以下选项中合法的标识符是(C)

A)1-1B)1—1C)-11D)1—

(12)以下选项中不合法的标识符是(C)

A)printB)FORC)&aD)_00

2.2.2常量:

定义:

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

分类:

整型常量:

没有小数的常量

如:

391234等等都是。

实型常量:

有小数点的常量

如:

3.93.03.

字符常量:

由单个字符组成的量

如:

’a’‘b’‘3’

字符串常量:

至少由一个字符组成的量

如:

“a”“abc”“beijing”

符号常量:

符号常量的值到底是多少,这是由在来定义符号常量时来决定的

(13)以下选项中,能用作数据常量的是(D)

A)o115B)0118C)1.5e1.5D)115L

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

A)'cd'B)0.1e+6C)"\a"D)'\011'

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

A)'C'B)"C"C)'\xCC0'D)'\072'

 

2.3整型常量与实型常量

整型常量的几个表示方法

十进制数:

八进制数:

以0开头的数字,由0-7组成。

下列合法的八进制数是

A,0B,028C,-077D,01.0

十六进制数:

以0X开头,由0-9和A-F组成。

A,oxffB,0xabcC,0x11D,0x19

实型常量123.4

小数形式:

123.4

指数形式:

1.234e2

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

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

3.字母e’和数字之间不能有空格。

A,2.607E-10.8103E2-77.77456E-20.1e+61.23E1.2

2.2.4变量:

1.定义:

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

2.原则:

变量必须先定义后使用。

变量定义的过程就是给变量开辟存储单元的过程。

3.分类:

整型变量:

用关键字int来表示.

shortint短整型

longint长整型在内存中占4个字节如123L

unsigned无符号如有-200U这就是错的。

变量的定义:

inta这是定义了一个整型变量a.

实型变量:

用关键字double或float来表示。

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

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

2.2.5算术表达式

一、基本的算术运算符

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

注意:

除%外,其它的运算符的运算对象可以是整型也可以是实型。

%的操作对象只能是整型。

如10%3=110.7%310%4.5x%3=0

+-也可以做为单目运算。

-5.4+4.9

说明:

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

如1.0/2.0=0.51/2=0

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

1.0/2=0.5

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

二、优先级

()+-*/%+-

由高——————低

如(5+1)/2=

2.5.3强制类型转换表达式

格式:

(类型名)(表达式)

例:

(int)3.234=3

(double)10%3=?

(14)表达式:

4-(9)%2的值是(B)

A)0B)3C)4D)5

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

A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0

2.6赋值表达式

格式:

变量名=表达式

注:

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

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

确切的说是把数据存入以该变量为标识的存储单元中去。

a=4,a=7

3.结合性的优先级仅高于逗号表达式。

顺序是自右向左的。

如a=2+7/3

4."="是一个赋值号,不是一个等号。

5.x=y。

变量的值也是可以传递和赋值的。

它的意思就是将变量Y中的值赋值到X中去。

同样N=N+1也成立

6.赋值运算符的左侧只能是变量,不能是常量或表达式a+b=c这就是违法的

7。

赋值号的右边也可以是一个赋值表达式。

如a=b=7+1;

补充;表达式与语句的区别,

表达式后面加一个分号就是语句。

2.6.2复合赋值表达式

例:

a+=3------a=a+3同理可得a*=3/=-=

a+=a-=a+aa的初值是9

a+=a-=18

a+=(a=a-18)

a+=(a=-9)

a+=a

-18

(15)若有定义语句:

intx=10;,则表达式x-=x+x的值为(B)

A)-20B)-10C)0D)10

(14)设有定义:

intx=2;,以下表达式中,值不为6的是(D)

A)x*=x+1x=x*(x+1)B)x++,2*x

C)x*=(1+x)D)2*x,x+=2

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

A)x=y==5;B)x=n%2.5;C)x+n=ID)x=5=4+1;

2.7++和——的讲解

++:

自身加1

--:

自身减1

i=3i++_______I=i+1i=4

单目

3++

++II++

当++在前,先自身加1,然后再干别人让干的事情。

当++在后,先别人让干的事情然后再干自身加1。

inti=3;

inta;

a=i++;a=3

a=++I;a=4

第三课:

输入和输出语句

3.2输出语句的讲解

一、printf函数的一般调用形式

格式:

printf(格式控制,输出项1,输出项2,.......);

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

1,给输出项白提供输出格式说明

格式说明符:

作用:

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

组成:

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

int--------%d

float或double---%f或e%

char--------%c

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

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

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

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

printf中常用的格式说明

在格式说明符中,每一个格式说明符都必须以%号开头由相应的类型标识字母结束。

但在他们之间可以有其它的一个内容:

%c:

输出一个字符

%d:

输出一个十进制的数据

%o:

以八进制格式输出。

%X:

以十六进制输出

%U:

无符号十进制输出

%f:

以带小数点的数字输出

%e:

以指数形式输出

%s:

输出一个字符串。

%%:

输出一个%号

%4d:

输出的数据长度是4个长度,当原来的长度大于4个时会自动突破。

小于4个时会填充空格。

%x.yf:

x代表数制的宽度(包括小数点)。

Y代表小数点后面的小数位数。

注意事项:

1.输出比较自由一些,输出有的各个数之到底是什么,取决于格式说明符之间的内容。

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

3.输出语句中还可以有\n\r\t\a

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

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

输入语句

格式:

scanf(格式控制,输入项1,输入项2,...);

例如:

想通过键盘输入3个数分别给变量a,b,c。

并且他们分别为整型,浮点型,双精度型。

输入语句为scanf("%d%f%lf",&k,&a,&y);

说明:

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

2.在格式串中,必须含有与输入项一一对应的格式转换说明符。

3.在VC6.0的环境下,要收输入的DOUBLE型数据的格式说明符一定要用%lf,否则数据不能正确的输入

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

当输入的数据多于输入项时,多余的数据会自动作废。

复合语句:

多个语句被{}括起来,当成一条语句来执行。

空语句:

最后的表示只有一个;

程序举例:

1。

编写一个程序,从键盘上输入两个数字,让后让他们互换一下。

#include

main()

{

inta,b;

printf("请输入两个数字:

");

scanf("%2d%3d",&a,&b);

printf("qian:

%d%d",a,b);

intc;

c=a,a=b,b=c;

printf("后:

%d%d",a,b);

}

2。

编写程序,对一个double型数据进行四舍五入运算。

要求保留两位有效小树。

123.4567

123'4567*100=12345.67

12345.67+0.5=12346.17

(int)(12346.17)=12346

12346/100=123.46

第四课:

C语言的程序结构

4-1节、关系运算与逻辑运算

一、简介

关系表达式与逻辑表达式的运算结果都会得到一个逻辑值。

就是“真”、“假”

在C语言中0表示“假”,非0(无论是负数还是正数都是真,更多时候用1来代替)表示“真”。

二、几个简单的关系运算符

<<=>>===!

=

注意:

1,由两个字符组成的运算符,中间不能有空格

2,它们都是双目运算符,具有自左至右的结合性。

3,上面的6个运算符中,前4个的优先级要比后2个的优先级要高。

先计算,后判断,最后进行赋值运算。

三、几个简单的逻辑运算符

&&与一假则假

||或一真则真

非非假则真,非真则假

4-2、4-3节、if语句

一、定义:

只有两种结果。

要么执行这条语句,要么执行那条语句。

if(条件表达式)

上述条件成立执行的句子

else

上述条件不成立执行的句子

如:

if(成绩>60)

显示及格

else

显示不及格

二、分类

1.不含有else的语句

2.含有else语句

if(条件)

语句1;

else

语句2;

语句3;

注:

1.没有分号

2.控制的是与if或者else紧临的“一条”语句。

4-4节、结合一个例题来给大家分析if的嵌套

输入一个学生的成绩,评定他的等级。

每十分一个等级

if()

elseif()

elseif()

else

if(a>=90)printf("a");

elseif(a>=80)printf("b");

elseif(a>=70)printf("c");

elseif(a>=60)printf("d");

elseprintf("e");

4-6节、条件表达式

是C语言中唯一的一个三目运算。

格式:

表达式1?

表达式2:

表达式3

当1成立(非零时)时,表达式的值就是2的值,否则就是3的值。

如:

1.1<2?

4:

5

2.printf("%d",x<0?

(-1)*++x:

x++);(假定X的值为-3)

3.++X>3?

(x<3?

a:

b):

b

4-7节、switch语句

(一)

switch(表达式)

{

case常量表达式1:

语句1

case常量表达式2:

语句2

case常量表达式3:

语句3

case常量表达式4:

语句4

case常量表达式5:

语句5

case常量表达式N:

语句N

}

4-8节、switch语句

(二)

switch(A/10)

{

case10:

printf("A");

case9:

printf("A");

case8;printf("b");

case7;printf("c");

case6;printf("d");

default:

printf("e");

}

第五课:

循环结构

5-1、5-2节、while语句

一、格式:

while(表达式)

循环体

注:

1:

2:

3:

一条

while(a<3)1

{a+=s;2

s=a;3}

 

1.......100

inti=1,sum=0;

while(i<101)

sum=sum+i++;

printf("%d",sum);

丛1开始加到哪个数时他们的和将超过1000?

inti=1,sum=0;

while(sum<1000)

{sum+=i;999+42=1041

i++;}4243

printf("%d",--i);

 

5-3节、do-while语句

dowhile()

格式:

do

循环体

while(表达式)

1235813

do

{

a3=a1+a2;

a1=a2;

a2=a3;

}while(a3<=1000);

1:

1

2:

;

5-4节、for语句

(1)

for语句和for语句构成的循环结构

一、格式:

for(表达式1;表达式2;表达式3)

循环体

相当于while语句的

表达式1;

while(表达式2)

循环体;

表达式3;

 

k=0

for(;k<=10;)

{printf("*");

k++;

intk=0;

while(k<10)

{

printf("*");

k++;

}

注:

1:

表达式可以省略,但分号不可以。

2:

表达式可以是任意有效的C语言表达式

课后习题部分,笔记不再提供,请大家看教程。

第六课、字符型数据

6-1节、字符型常量

格式:

’a’‘A’‘’

要求:

1,单引号中的大写字母和小写字母代表不同的字符常量。

2.单引号中的空格也是一个字符常量,但不能是两个连续的单引号

3.字符常量只能用单引号括起来,不能用双引号。

转义字符

\n代表回车

\’代表一个单引号‘

\\代表一个\

\”代表一个双引号

注意:

1.转义字符常量,如’\141’只代表一个字符

2.反斜线后的8进制数可以不用0开头。

如1中所讲的141就是一个8进制数。

0141

3.反斜线后的16进制数只可以用x开头,不可以用X开头。

字符串常量

格式:

由双引号括起来的一串字符。

同时也要知道“A”和’A’是不一样的。

“A”‘A’

ACSII码

A65a97

‘a’-‘A’=32

6.2节、字符变量

格式:

chara=’s’

6.3字符的输入和输出

Printf和scanf函数输出和输入字符

对于字符型数据的格式说明符是%c

Charc=’a’;

Printf(“%c”,c);

Chara,b,c,d;

Scanf(“%c%c%c”,&a,&b,&c);

 

6-3节、程序举例

写出26个大写字母和他们的ASCII代码要求每行输出两组数据。

#include

Main()

{

Charch;intI;

For(i=0;i<26:

i++)

{

Ch=i+65;

If(i%2==0)

Printf(“\n”);

Printf(“c=%c,ASCII=%d”,ch,ch);

}

}

在上面的程序中有对于字符的输入与输出,在C语言中也有另外的输入输出字符的语句。

输入:

变量名=getchar()

输出:

putchar(变量名)

 

第七章函数

7-1节、库函数

1.调用C语言标准库函数时要求的include命令行

Include命令行必须以#开头,系统提供的头文件以.h作为文件的后缀,文件名用一对双引号或一对尖括号(需要注意include命令行不是C语句,因此不能在最后加分号)

2.标准库函数的调用

函数名(参数表)

如:

putchar(ch)

(1)出现在表达式中的------ch=getchar()

(2)做为单独的语句完成某种操作。

-----printf(“********”);

7.2函数的定义和返回值

由于C语言中的定义的函数不能完成用户所有的要求,所以用户可以为自己定义函数实现相应的功能。

7.2.1函数定义的语法

1:

格式:

函数返回值的类型名函数名(类型名形式参数1,类型名形式参数2……)

{

说明部分

语句部分

}

2:

函数名和形式参数都是用户命名的标识符。

在同一个程序中,函数名必须唯一,形式参数名只要在同一函数中唯一即可,可以与其他函数中的变量同名。

3:

C语言规定,不能在函数的内部定义函数。

4:

若在函数的首部省略了函数返回值的类型名,则说明该函数的返回值是int类型

5:

除了返回值类型为int类型的函数外,函数必须先定义后调用。

6:

当没有函数返回值,则必须把函数定义成void类型。

例:

编写求两个双精度数之和的函数。

 doubleadd(doublea,doubleb)

{

doubles;

s=a+b;

returns;

}

7-2节、函数的返回值

函数的值通过return语句返回,

return表达式;

此表达式的值必须与函数首部所说明的类型一致,若类型不一致,则以函数值的类型为准。

需要注意的是,无论函数体中有多少个return语句,只能执行一次。

函数体内可以没有return语句,这时也必须定义函数为 viod类型。

7-3节、函数的调用

7.3.1函数的两种调用方式

格式为:

函数名(实在参数表)

当实参的个数多于一个时,各实参用逗号隔开。

实参的个数必须与调用函数中形参的个数相周,类型一一对应匹配。

如没有形参,则形式为函数名()注意后面的小括号不能丢。

如题:

#include

doubleadd(double,double);

main()

{

doublem,n,z;

scanf(“%lf%lf”,m,n);

z=add(m,n);

printf(“%lf”,z);\

}

 doubleadd(doublea,doubleb)

{

doubles;

s=a+b;

returns;

}

 

7.3.2函数调用时的语法要求

1.调用函数时,函数名必须与所调用的函数名字完全一致。

2.实参的个数必须与形参的个数一致。

3.C语言中规定,函数必须先定义后使用。

4.C语言中,函数可以直接或间接的自己调用自己。

称为递归调用

fac(n)=fac(n-1)*n

7-4节、函数的说明

在C语言中凡是未在调用前定义的函数,C编译程序都默认函数的返回值为int型。

对于返回值是其它类型的,若把函数的定义放在调用之后,应该在调用之前对函数进行说明。

说明的格式:

类型名函数名(参数类型1,参数类型2.。

也可以用以下格式

类型名函数名(参数类型1参数名1,参数类型2参数名2,……)

函数说明的位置:

一般为了让程序早点识别出程序中的定义好了的函数,一般将其放在程序的开始部分

7-5节、调用函数和被调用函数之间的数据传递

一:

三种格式进行传递

1.实在参数和形式参数之间进行数据传递

2.通过return语句把函数值返回调用函数

3.能过全局变量,但这不是一种好的方式,通常不提倡使用。

通过一个程序来看一下数据到底是怎样传递的。

#include

viodtry(int,int,int);

main()

{

intx=2,y=3,z=0;

printf(“

(1)x=%dy=%dz=%d\n”,x,y,z);

try(x,y,z);

printf(“(4)x=%dy=%dz=%d\n”,x,y,z);

}

voidtry(intx,inty,intz)

{

printf(“

(2)x=%dy=%dz=%d\n”,x,y,z);

z=x+y;

x=x*x;

y=y*y;

printf(“(3)x=%dy=%dz=%d\n”,x,y,z”);

}

屏幕上的结果是:

(1)x=2y=3z=0

(2)x=2y=3z=0

(3)x=4y=9z=5

(4)x=2y=3z=0

再来一个程序

#include

viodswap(int,int);

main()

{

intx=10,y=20;

printf(“

(1)x=%dy=%d\n”,x,y);

swap(x,y);

printf(“(4)x=%dy=%d\n”,x,y);

}

voidswap(int

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1