c语言程序设计基础知识

金凤0分享

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。下面是小编整理了c语言程序设计基础知识,来欣赏和学习吧,希望能对大家有所帮助。

C语言程序设计知识

C语言程序的构成和格式

#include

Main()

{

double a,b,area;

a=1.2,b=3.6; /*将矩形的两条边长分别赋给a和b 变量*/

area=a*b;

printf(“a=%f,b=%f,area=%f\n”,a,b,area);/*输出矩形的两条边长和面积*/

}

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

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

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

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

例年真题:

#include

main()

{

Int a;

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

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

Printf(“%d”,a);

}

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

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

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

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

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

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

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

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

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

第二课:C语言的基础知识

标识符,常量和变量

标识符:

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

下列合法的是:

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

a=3 A=4

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

分类:

关键字:在C中已经定义好了的,不能用作它用的。如if double int 等等。

预定义标识符:如printf scanf

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

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

A)void

B)8_8

C)_0_

D)unsigned

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

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

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

A)print B)FOR C)&a D)_00

常量:

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

分类:

整型常量:没有小数的常量

如:3 9 1234等等都是。

实型常量:有小数点的常量

如:3.9 3.0 3.

字符常量:由单个字符组成的量

如:’a’ ‘b’ ‘3’

字符串常量:至少由一个字符组成的量

如:“a” “abc” “ beijing”

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

?2*pi

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

A)o115 B) 0118 C)1.5e1.5 D) 115L

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

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

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

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

整型常量与实型常量

整型常量的几个表示方法

十进制数:

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

下列合法的八进制数是

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

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

A,oxff B,0xabc C,0x11 D,0x19

实型常量 123.4

小数形式:123.4

指数形式:1.234e2

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

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

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

A,2.607E-1 0.8103E 2 -77.77 456E-2 0.1e+6 1.23E1.2

变量:

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

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

3.分类:

整型变量:用关键字int来表示.

short int 短整型

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

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

变量的定义:int a 这是定义了一个整型变量a.

实型变量:用关键字 double 或float来表示。

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

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

算术表达式

一、基本的算术运算符

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

注意:

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

如10%3=1 10.7%3 10%4.5 x%3=0

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

说明:

1.如果双目运算符两边运算数的类型一致,则所得结果的类型与运算数的类型一致。如 1.0/2.0=0.5 1/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)0

B)3

C)4

D)5

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

A)x=y*5=x+z

B)int(15.8%5)

C)x=y+z+5,++y

D)x=25%5.0

赋值表达式

格式:变量名=表达式

注: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;

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

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

复合赋值表达式

例:

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

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

a+=a-=18

a+=(a=a-18)

a+=(a=-9)

a+=a

-18

(15)若有定义语句:int x=10;,则表达式x-=x+x的值为( B )

A)-20

B)-10

C)0

D)10

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

A) x*=x+1 x=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=I

D)x=5=4+1;

++和——的讲解

++:自身加1

--:自身减1

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

单目

3++

++I I++

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

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

int i=3;

int a;

a=i++; a=3

a=++I;a=4

C语言基础知识

1、C程序

C语言程序结构有三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switch)

2、main函数

每个C语言程序中main 函数是有且只有一个。读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。

3、存储形式

计算机的数据在电脑中是以二进制的形式保存。最低的存储单元是bit(位),位是由为 0 或者1构成。 byte 是指字节, 一个字节 = 八个位。数据存放的位置就是它的地址。

4、注释

是对程序的`说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。

5、书写格式

每条语句的后面必须有一个分号,分号是语句的一部分。一行内可写多条语句,一个语句可写在多行上。

6、标识符

合法的用户标识符考查:

合法的要求是由字母,数字,下划线组成。有其它元素就错了。

并且第一个必须为字母或则是下划线。第一个为数字就错了。

C语言标识符分如下3类

(1)关键字。它们在程序中有固定的含义,不能另作他用。如int、for、switch等。

(2)预定义标识符。预先定义并具有特定含义的标识符。如define、include等。

(3)用户标识符。用户根据需要定义的标识符,符合命名规则且不与关键字相同。

关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If 是可以做为用户标识符。因为If 中的第一个字母大写了,所以不是关键字。

7、实型数据

实型数据的合法形式:小数形式和指数形式。掌握判定指数形式合法性。

2.333e-1 就是合法的,且数据是2.333×10-1。

考试口诀:e 前e 后必有数,e 后必为整数。

8、字符

字符数据的合法形式::

1 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。

0 的ASCII 数值表示为48,a 的ASCII 数值是97,A的ASCII 数值是65。

字符型和整数是近亲:

char a = 65 ;

printf(“%c”, a); 得到的输出结果:a

printf(“%d”, a); 得到的输出结果:65

一般考试表示单个字符错误的形式:65 "1"

字符是可以进行算术运算的,记住: 0-0=48

大写字母和小写字母转换的方法: A+32=a 相互之间一般是相差32。

9、整型数据

整型一般是两个字节, 字符型是一个字节,双精度一般是4 个字节:

考试时候一般会说,在16 位编译系统,或者是32 位系统。碰到这种情况,不要去管,

一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4 个字节就可以了。

10、转义字符

转义字符的考查:

在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x 必须存在。

在程序中 int a = 06d, 是一个八进制的形式。

在转义字符中, ’x6d’ 才是合法的,0 不能写,并且x 是小写。

‘141’ 是合法的, 0 是不能写的。

‘108’是非法的,因为不可以出现8。

11、算术运算

算术运算符一共有+、—、*、/、%这五个。%符号两边要求是整数。不是整数就错了。

三种取整丢小数的情况:不是四舍五入是舍掉小数部分。

1、int a =1.6;

2、(int)a;

3、1/2; 3/2;

12、强制类型转换

将一个运算对象转换成指定类型,格式为(类型名)表达式

一定是 (int)a 不是 int(a),注意类型上一定有括号的。

注意(int)(a+b) 和(int)a+b 的区别。前是把a+b 转型,后是把a 转型再加b。

13、赋值

是表达式就一定有数值。

赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。

复合赋值运算符:注意:a*=m+2 是 a=a*(m+2)

自加、自减表达式:假设a=5,++a(表达式的值为6), a++(表达式的值为5);

j=a++;等价于j=a;a=a+1; 而j=++a;等价于a=a+1;j=a;。

考试口诀:++在前先加后用,++在后先用后加。

14、逗号运算

逗号表达式:优先级别最低; 表达式的数值逗号最右边的那个表达式的数值。

(2,3,4)的表达式的数值就是4。

15、数制转换

一定要记住二进制 如何转换成十进制。

八进制是没有8 的,逢8 进1,018 的数值是非法的。

C语言基础知识总结

算法结构:

一、顺序结构、选择结构、循环结构;二、循环结构又分为while型、until型、for循环结构;程序流程图;

结构化程序设计方法:

(1)自顶向下;(2)逐步细化;(3)模块化设计;(4)结构化编码。

数据类型:

常量:常量包括字面常量、直接常量和符号常量;

变量:C语言规定标志符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或者下划线;必须压迫先定义后使用;每一个变量被定义以确定类型后,在编译时就能为其分配相应的存储单元;

整数类型:整数常量有十进制、八进制和十六进制;“%d”

整形变量:数据在内存中存放形式是以二进制形式存放;有int型、short int型和long int型,无符号整型变量的范围是-32768—32767,有符号型为0~65535.通常把long定义为32位,把short定义为16位,int可以是32位也可以为16位,这都主要取决于机器字长。

实型常量的表示方法:(1)十进制,0.0;(2)指数形式,123e3

实型变量:实数型数据在内存中的存放形式,一般在内存中占4个字节,分成整数部分和小数部分存放。实型变量分为float型、double型long double型。实型数据会存在舍入误差。

实型常量的类型:C编译系统将实型常量作为双精度来处理。

字符型数组:(一)字符常量:转义字符(\n——换行,\t——tab,\r——回车,\f——换页,\b——退格,\ddd——1到3位8进制的数代表的字符)

(二)字符变量:字符数据存储形式实际是以ASCII码存储。“%c”

字符串常量:双撇号括起来的一系列字符序列。

C的运算符有以下几种:

1、算术运算符(+ - * / %)结合方向自左向右

2、关系运算符(> < =="">= <= !="">

3、逻辑运算符(! && ||)

4、位运算符(<>> ~ | ^ &)

5、赋值运算符(=及符号扩展赋值运算符)

6、条件运算符(? : )

7、逗号运算符( , )

8、指针运算符(* &)

9、求字节运算符(sizeof)

10、强制类型转换运算符((类型))

11、分量运算符( . ->)

12、下标运算符([])

13、其他

控制语句:

完成一定的控制功能。

1、if()~else~

2、for()~

3、while()~

4、do~while()

5、continue

6、break

7、switch

8、goto

9、return

字符数据的输入输出:

1、putchar()输入字符变量

2、getchar()只能接受一个字符

格式输入输出:

1、printf(%d—整型,%c—字符型,%ld,%md,%o,%u,%s,%-m.nf,%e,%g)

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

数组

一维数组的定义:类型说明符 数组名【常量表达式】;先定义后引用;一维数组初始化时可以只对一部分元素初始化,在对全部数组元素初始化的时候可以部规定长度;但是若被定义的数组长度与提供的初始值不一样时,则数组长度不能省略。

二维数组的定义:类型说明符 数组名【常量表达式】【常量表达式】C语言中存放二维数组是先存放第一行的元素,紧接着是第二行,其实也是以一维的方式存放。如果初始化时能指定所有元素的初始值,第一维大小可以省略,但是第二维不能省略。

字符数组:定义和初始化跟数组差不多,只是需要加单引号。字符和字符串结束标志,C语言规定,以'\0’代表。

字符串处理函数:

1、puts()将一个字符串输出到终端

2、gets()从终端输入一个字符串到字符数组,并且得到一个函数值。

3、strcat()链接两个字符数组中的字符串。

4、strcpy()字符串复制函数。

5、strcmp()比较字符串作用。

6、strlen()测试字符串长度的函数不包括“\0”

7、strlwr()将字符串中的大写字母转换为小写字母。

8、strupr()将字符串中的小写字母转换为大写字母。

函数

(1)一个源程序由多个函数组成。

(2)C程序的执行从main()函数开始;

(3)所有函数都是平行的;

(4)函数分类;可以分为标准和自定义,还可以分为有参函数和无参函数。

函数定义的一般形式:

(1)类型标志符 函数名()

{

声明部分

语句

}

(2)类型标志符 函数名(形式参数列表)

{

声明部分

语句

}

关于形参和实参的说明:

(1) 在定义函数中指定的形参,在未出现函数调用时,他们并不占用内存中的存储单元,只有发生调用时,才会分配内存。

(2) 实参可以是常量、变量或者表达式;有时传递的时地址;

(3) 在被定义中,形参必须指定类型;

(4) 实参与形参的类型应相同或赋值兼容;

(5) C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只有实参传递给形参,而不能由形参传递给实参。

函数的返回值:

希望通过函数调用使主调函数得到一个确定的值。

(1)函数的返回值是通过函数中的return语句获取的。

(2)函数值的类型;

(3)如果函数值的类型和return语句中表达式的值不一样,则以函数类型为准。

(4)如果调用函数中没有return语句,并不带回一个确定的用户需要的值,函数不是不带回值,而只是不带回有用的值,带回一个不确定的值。

(5)如不需要带回任何值,用void。

函数的调用:

调用方式1、函数语句;2、函数表达式;3、函数参数。

被调用的函数的声明:

一个函数调用另一个函数所具备的条件:

1、首先被调用的函数必须是已经存在的函数;

2、如果使用库函数,一般应该在本文件开头用#include命令将调用有关库函数时在所需要用到的信息“包含”到本文件中。.h文件是头文件所用的后缀。

3、如果使用用户自己定义的函数,而且该函数与使用它的函数在同一个文件中,一般还应该在主调函数中对被调用的函数做声明。

4、如果被调用的函数定义出现在主调函数之前可以不必声明。

5、如果已在所有函数定义之前,在函数的外部已做了函数声明,则在各个主调函数中不必多所调用的函数在做声明。

局部变量和全局变量:

(一)局部变量在一个函数内部定义的变量是内部变量,它只是在本函数范围内的有效,主函数也不能使用其它函数中定义的变量;不同函数中可以使用相同的名字的变量,他们代表不同的对象,互不干扰;形式参数也是局部变量;在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效,这种复合句也可以称为“分程序”或“程序块”;

(二)全局变量,在函数之外定义的变量称为外部变量,全局变量可以增加函数间数据联系的渠道,一般不再必要时不要使用,他在程序的全部执行过程中占用存储单元,是函数的通用性,使用全局变量会使程序的清晰性降低。还要注意若果同一源文件中,外部变量和局部变量同名,则在局部变量作用范围内,外部变量被“屏蔽”,不起任何作用。

变量的存储类别:

(变量值存储时间)动态存储方式,在程序运行期间进行分动态的分配存储空间的方式,静态存储方式是指在程序运行期间分配固定的存储空间的方式;存储空间分为程序区、静态存储区和动态存储区;全局变量全部放在静态存储区中,程序开始时分配空间,完毕时释放;动态存储区中存放以下数据:

1、函数形式参数;

2、自动变量;

3、函数调用时的现场保护和返回地址;在C语言中每个变量和函数都有两个属性,是数据类型和数据存储类型,存储类别是数据在内存中存储的方式。

存储方式分为静态和动态存储类,具体包含有四种:自动的(auto),静态的(static),寄存器的(register),外部的(extern),如果不加以声明,就自认为是auto型就会自动分配存储空间属于动态存储方式。

Static声明局部变量是在函数调用结束后不消失而保留原值,即占用存储单元不释放,在下一次调用该函数时,该变量已有值,就是上次函数调用结束时的值。其中需要说明的是在定义局部变量不赋初值的话,则静态局部变量编译时自动赋值为0或者空字符,虽然静态局部变量在函数调用结束后仍然存在,但是其他函数不能引用它的。静态局部变量主要用在当初始化后,变量只是被引用而不改变其值。

Register变量是C语言中允许将局部变量的值放在CPU中的寄存器中需要时直接从寄存器中取出来参加运算,不必再到内存中提取,但是计算机系统中寄存器数量有限,不能任意定义任意多的存储器,局部静态变量不能定义为寄存器变量。

Extern声明外部变量,用以扩展外部变量的作用域。在一个文件中,如果定义之前的函数想引用该外部变量,则应该在引用之前用关键字extern对该变量做外部变量声明。在多文件中,也可以采用extern声明的办法进行外部变量声明。有时希望某些局部变量只限于被本文件引用,而不能被其他文件引用,这时就可以采用在定义外部变量时外加一个static,这在程序模块化设计中加强了通用性。

Static来声明一个变量的作用有二个,一个是在声明对局部变量时。则为该变量分配的空间在整个程序执行期间始终存在;一个是在对全局变量声明中,该变量的作用域仅限于本文件模块操作。

注意:这些方法同样适用于函数的声明


c语言程序设计基础知识相关文章:

电脑编程入门自学知识

最新2021山西专科学校排名表大全

2021高考专业介绍与选择指导

2021海南专科学校排名大全最新

公务员计算机专业知识

2021年个人简历范文参考【5篇】

程序员实习总结心得示例

程序员实习总结收获范文

高考学霸励志故事与逆袭经验分享

2021程序员自我介绍面试范文三分钟

    5056