Chinaunix首页 | 论坛 | 博客
  • 博客访问: 536638
  • 博文数量: 156
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1183
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-22 11:42
文章分类

全部博文(156)

文章存档

2015年(67)

2014年(89)

分类: C/C++

2015-04-29 16:26:56


1、  为什么选择C语言?

进行程序设计,必须用一种计算机语言作为工具,否则只是纸上谈兵。可供选择的语言很多,各种特点和应用领域。C语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,既适于编写系统软件,又能方便地用来编写应用软件。

2、怎样学习C程序设计

   1)要着眼于培养能力

   2)要把重点放在解题的思路上,通过大量的例题学习怎样设计一个算法,构造一个程序。

   3)掌握基本要求,注意打好基础

   4)要十分重视实践环节

   5)要举一反三

   6)要提倡和培养创新精神

3C语言特点

   1)语言简洁、紧凑,使用方便、灵活

   2)运算符丰富

   3)数据类型丰富

   4)具有结构化的控制语句

   5)语法限制不太严格,程序设计自由度大

   6C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作

   7)用C语言编写的程序可移植性好

   8)生成目标代码质量高,程序执行效率高

4C语言程序设计包括顺序程序设计、选择程序结构设计、循环结构程序设计

5、在计算机高级语言中,数据有两种表现形式:常量和变量

  1)常量:在程序运行过程中,其值不能被改变的量

       常量包括:整型常量(123-4)、实型常量(12.5612e5)、字符常量(普通字符(‘a’、 #’)、转义字符)

                                                                                转义字符及其作用

转义字符

含义

ASCII码(16/10进制)

\o

空字符(NULL)

00H/0

\n

换行符(LF)

0AH/10

\r

回车符(CR)

0DH/13

\t

水平制表符(HT)

09H/9

\v

垂直制表(VT)

0B/11

\a

响铃(BEL)

07/7

\b

退格符(BS)

08H/8

\f

换页符(FF)

0CH/12

\’

单引号

27H/39

\”

双引号

22H/34

\\

反斜杠

5CH/92

\?

问号字符

3F/63

\ddd

任意字符

三位八进制

\xhh

任意字符

二位十六进制

   

2)变量:变量代表一个有名字的、具有特定属性的一个存储单元。它用来存放数据,也就是用来存放变量的值,在程序运行期间,变量的值是可以改变的

     注:变量必须先定义,后使用

6、数据类型

       

7、最常用的运算符


        


8C语句的作用和分类

   C语句分为以下5

(1)       控制语句

a、  if()…else…   (条件语句)

b、  for()…      (循环语句)

c、  while()…    (循环语句)

d、  do…while()  (循环语句)

e、  continue    (结束本次循环语句)

f、   break       (终止执行switch或循环语句)

g、  switch      (多分支选择语句)

h、  return      (从函数返回语句)

i、    goto        (转向语句,在结构化程序中基本不用goto语句)

(2)       函数调用语句

    函数调用语句由一个函数调用加一个分号构成

(3)       表达式语句

    表达式语句由一个表达式加一个分号构成,最典型的是,由赋值表达式构成一个赋值语句

(4)       空语句

    可以用来作为流程的转向点(流程从程序其他地方转到此语句处),也可以用来作为循环语句中的循环体(循环体是空语句,表示循环体什么也不做)

(5)       复合语句

可以用{}把一些语句和声明括起来成为复合语句(又称语句块)

9、数据的输入输出

  1)所谓输入输出是以计算机主机为主体而言的

  2C语言本身不提供输入输出语句

10、用printf函数输出数据

  1printf函数的一般格式

          printf(格式控制,输出表列)

                     例如:printf(“%d, %c\n, x, y);

       说明:(1)格式控制:是用双撇号括起来的一个字符串,称“转换控制字符串”, 简称“格式字符串”它包括两个信息:

  格式声明。格式声明是由“%”和格式字符组成。它的作用是将输出的数据转换为指定的格式然后输出。格式声明总是由“%”字符开始的

  普通字符。需要在输出时原样输出的字符。

            2)输出表列:是程序需要输出的一些数据,可以是常量、变量或表达式

(2)       格式字符

字符

作用

%d

十进制有符号整数

%u

十进制无符号整数

%f

浮点数

%s

字符串

%c

单个字符

%p

指针的值

%e%E

指数形式的浮点数

%x, %X

无符号以十六进制表示的整数

%o

无符号以八进制表示的整数

%g%G

自动选择合适的表示法

 

3printf的附加格式说明字符

字符

说明

l

用于长整型数或双精度实型,可加在格式符d、o、x、u和f前面

m(代表一个正整数)

数据最小输出显示宽度

n(代表一个正整数)

对实数,表示输出n位小数;对字符串,表示截取的字符个数。

-

输出的数字或字符在域内向左靠,即位数不足时右补空格。

11、一些特殊规定字符

字符

作用

\n

换行

\f

清屏并换页

\r

回车

\t

Tab

\xhh

表示一个ASCII码用16进表示

其中hh1216进制数

12、用scanf函数输入输出数据

(1)   scanf函数的一般形式

scanf(格式控制, 地址表列)     

例如:scanf(“a = %f, b = %f, c = %f, &a, &b, &c;

(2)   scanf函数中的格式声明

(3)   使用scanf函数时应注意的问题

  scanf函数中的“格式控制“后面应当是变量地址,而不是变量名

  如果在“格式控制字符串“中除了格式声明以外还有其他字符,则在输入数据时在对应的位置上应输入与这些字符相同的字符

  在用“%c“格式声明输入字符时,空格字符和”转义字符“中的字符都作为有效字符输入

  在输入数值数据时,如果输入空格、回车、Tab键或遇非法字符(不属于数值的字符),认为该数据结束。

13、字符数据的输入输出

   1)用putchar函数输出一个字符

        putchar函数的一般形式 putcharc

   2)用getchar函数输入一个字符

        getchar函数的一般形式 getchar()

14、数据结构程序设计

   1)选择结构和条件判断

   2)用if语句实现选择结构

        if语句的一般形式

          if(表达式)语句1

             [else 语句2]

if语句可以写成不同的形式,最常用的有三种:

    1if(表达式) 语句1

    2if(表达式)

                       语句1

    else

                       语句2

    3if(表达式1     语句(在else部分又嵌套了多层的if语句)

       else if(表达式2 语句2

       else if(表达式2 语句3

         .                 .

         .                 .

         .                 .

       else if(表达式m 语句m

       else               语句m+1

3)关系运算符和关系表达式

C语言提供6种关系运算符

  <      (小于)

  <=      (小于或等于)

      ③ >       (大于)

>=     (大于或等于)

  ==      (等于)

  !=     (不等于)

     

          C语言运算符优先级

优先级

运算符

名称或含义

使用形式

结合方向

说明

1

[]

数组下标

数组名[常量表达式]

左到右

()

圆括号

(表达式)/函数名(形参表)

.

成员选择(对象)

对象.成员名

->

成员选择(指针)

对象指针->成员名

2

-

负号运算符

-表达式

右到左

单目运算符

(类型)

强制类型转换

(数据类型)表达式

++

自增运算符

++变量名/变量名++

单目运算符

--

自减运算符

--变量名/变量名--

单目运算符

*

取值运算符

*指针变量

单目运算符

&

取地址运算符

&变量名

单目运算符

!

逻辑非运算符

!表达式

单目运算符

~

按位取反运算符

~表达式

单目运算符

sizeof

长度运算符

sizeof(表达式)

3

/

表达式/表达式

左到右

双目运算符

*

表达式*表达式

双目运算符

%

余数(取模)

整型表达式/整型表达式

双目运算符

4

+

表达式+表达式

左到右

双目运算符

-

表达式-表达式

双目运算符

5

<<

左移

变量<<表达式

左到右

双目运算符

>>

右移

变量>>表达式

双目运算符

6

>

大于

表达式>表达式

左到右

双目运算符

>=

大于等于

表达式>=表达式

双目运算符

<

小于

表达式<表达式

双目运算符

<=

小于等于

表达式<=表达式

双目运算符

7

==

等于

表达式==表达式

左到右

双目运算符

!=

不等于

表达式!= 表达式

双目运算符

8

&

按位与

表达式&表达式

左到右

双目运算符

9

^

按位异或

表达式^表达式

左到右

双目运算符

10

|

按位或

表达式|表达式

左到右

双目运算符

11

&&

逻辑与

表达式&&表达式

左到右

双目运算符

12

||

逻辑或

表达式||表达式

左到右

双目运算符

13

?:

条件运算符

表达式1? 表达式2: 表达式3

右到左

三目运算符

14

=

赋值运算符

变量=表达式

右到左

/=

除后赋值

变量/=表达式

*=

乘后赋值

变量*=表达式

%=

取模后赋值

变量%=表达式

+=

加后赋值

变量+=表达式

-=

减后赋值

变量-=表达式

<<=

左移后赋值

变量<<=表达式

>>=

右移后赋值

变量>>=表达式

&=

按位与后赋值

变量&=表达式

^=

按位异或后赋值

变量^=表达式

|=

按位或后赋值

变量|=表达式

15

,

逗号运算符

表达式,表达式,…

左到右

从左向右顺序运算

15、选择结构的嵌套

if()

   if()   语句1

   else     语句2

else

  if()    语句3

  else      语句4

16、用switch语句实现多分支选择结构

switch(表达式)

{

        case   常量1:语句1

    case   常量2:语句2

     .       .      .

     .       .      .

     .       .      .

    case   常量n:语句n

        default     语句n+1

}

17、用while语句实现循环

while语句可简单地记为:只要当循环条件表达式为真(即给定的条件成立),就执行循环体语句

注意:while循环的特点是:先判断条件表达式,后执行循环体语句

18、用do…while语句实现循环

除了while语句以外,C语言还提供了do…while语句来实现循环结构

do…while语句的一般形式

do

    语句

while(表达式);

19、用for语句实现循环

for语句的一般形式为

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

  语句

3个表达式的主要作用

表达式1设置初始条件,只执行一次。可以为零个、一个或多个变量设置初值

表达式2是循环条件表达式,用来判定是否继续循环。在每次执行循环体前先执行此表达式,决定是否继续执行循环。

表达式3作为循环的调整,例如使循环变量增值,它是在执行完循环体后才执行。

这样for语句就可以理解为

for(循环变量赋初值; 循环条件; 循环变量增值)

  语句

说明

(1)   for语句的一般形式

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

  可以写成为while循环的形式:

表达式1

while 表达式2

{

    语句

    表达式3

}

二者无条件等价

   2)“表达式1”可以省略,即不设置初值,但“表达式1”后的分号不能省略

20、用break语句提前终止循环

21、用continue语句提前结束本次循环

    有时并不希望终止整个循环的操作,而只希望提前结束本次循环,而接着执行下次循环。这时可以用continue语句

 

    

阅读(4331) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~