77范文网 - 专业文章范例文档资料分享平台

电信考试计算机专业:C语言知识复习(39页)

来源:网络收集 时间:2020-04-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

计算机专业笔试知识点

第一部分:C语言知识 ⊙知识点简述 一、常量 1、数字常量

1)普通数字:1,35,2.7

2)指数形式:2.45e等价于2.45*10 注意e大小写皆可,e前面的数字不能省,就算是1也不能省,后面的数字一定要是整数

3)长整型,单精度浮点型:3235L,32.5F 分别表示3235是长整型数据,32.5是单精度浮点型左,若不写上L,F则表示3235是整型,32.5是双精度浮点型,L,F大小写皆可 2、字符常量

1)普通字符常量:用单引号把一个字符括起来,如’A’,’@’

2)转义字符常量:一对单引号括起来并以“\\”开头的字符序列,如’\\n’(回车)、’\\123’(8进制123对应的字符), ’\\x23’(16进制23对应的字符) 3、字符串常量

用一对双引号把一个字符序列括起来,如“ABCef”, 系统存放字符串常量,每个字符分配一个字节,各字符所占字节紧邻,并且字符串末尾会给再开一个字节里面放一个’\\0’做为结束标志。 4、符号常量

定义格式 #define 符号常量名 符号常量值,如#define N 20则定义了符号常量N,其值为20,注意符号常量名和符号常量值之间是用空格隔开,而不是-2

-2

写上=号,#define和符号常量名之间也有空格的。

二、标识符 1、命名规则

以数字,字母,下划线这三类字符组成,但只能以字母或下划线开头,而不能也数字开头,另外不能将关键字做为标识符,如:char,static。 2、变量名,函数名,符号常量名全都是标识符 三、变量

1、变量的定义格式

类型名 变量名;

如 int a;定义了一个整型常量a。变量名是由人类随便定义的,符合命名规则的前提下,爱写啥就写啥。所以什么flag,cc,y1或者函数名fun,find等全部是自定的用来做为名字而已,没有更特别的意义。 2、类型名

int 整型,long 长整型: 用于存放整数,只是数值范围不同

float 单精度浮点型 double 双精度浮点型:用于存放实数,数值范围,精度不同 char字符型:用于存放字符 3、变量赋值,初始化

int a=3;定义的同时初始化 a=6*9;定义后在程序中进行赋值 4、变量的值

只有在赋值操作时才会被改变,即将其放在等号左边时才会改变它的值,或自增自减操作:a=5,a++,a--,像a+3并未改变a的值,只是使用了a的值而已. 5、自增自减运算

变量++,++变量,变量--,--变量 使变量的值自增1或自减1 等价于 变量=变量+1 变量=变量-1 ++,--放于变量前后效果的区别:

当自增自减运算做为表达式的一部分时,++,--放在变量前面是先自增自减再使用变量的值,放在变量后面则是先使用变量的值,再自增自减。 如x=3; printf(“%d”,++x);则相当于执行了++x; printf(“%d”,x);这样的操作所以打印出4

再如x=3; printf(“%d”,x++);则相当于执行了printf(“%d”,x); x++;这样的操作,则打印出3,当然最后x的值还是4。 四、表达式

1、运算符和运算对象

一个运算符都有若干个运算对象,如 + 必然要跟两个运算对象才能进行加法运算:3+5。C语言里称需要跟n个运算对象的运算符为n元运算符。 一元运算符有:!,(类型名)

二元运算符有:+,-,*,/,%(求余), =,+=,-=,*=,/=,%=,< , > , <=, >=, = =(等于), !=(不等于),&&(且) , ||(或) 多元运算符有: , 2、运算符的优先级和结合性

优先级:同一个运算对象左右两边若同时有两个运算符,则这两个运算符优先级高的先进行运算。

结合性:若同一个运算对象左右两边的两个运算符优先级相同,则根据结合性判断先进行哪个运算,自左自右结合性的先算左边的运算符,自右自左的先算右边的运算符。

各运算符的优先级和结合性见P365附录C 3、强制类型转换

格式: (类型名) 表达式 。将后跟的表达式的值的数据类型转换为与圆括号内的类型名一致的类型。注意类型名一定要用() 括起来。 4、算术表达式

算术运算符:+,-,*,/,%(求余)

由算术运算符加上运算对象构成算术表达式,如3+3*6-9/2 值:跟我们小学时学的一样,就是表达式的计算结果

整数除以整数结果取整数部分,故1/3得到的值是0 5%3 结果为2,想想小学除法,求余得到的是余数不是商。 5、赋值表达式

赋值运算符:=,+=,-=,*=,/=,%=

赋值表达式:变量=表达式,如x=3+6,x+=6-9,x+=x*=3+4 注意等号左边只能是变量 复合赋值运算符的运算:以/=为例:x/=表达式 等价于 x=x/(表达式) 值:=号左边的变量最终的值 6、关系表达式

关系运算符:< , > , <=, >=, = =(等于), !=(不等于) 由关系运算符加上运算对象构成关系表达式,如3>=4, 2==a 值:满足相应运算符所指定的关系的值为1,否则为0 7、逻辑表达式

逻辑运算符:&&(且) , ||(或) , !(非)

由逻辑运算符加上运算对象构成逻辑表达式,如3&&4, x||!y 值:满足相应运算符所指定的关系的值为1,否则为0

进行 ||或 运算时,若||左边的表达式值为1,则不再对右边的表达式进行运算。 进行 &&且 运算时,若&&左边的表达式值为0,则不再对右边的表达式进行运算。 8、逗号表达式

逗号运算符: ,

用逗号将各种表达式连续起来构成逗号表达式,如3+4,a=9,8*a 值:组成逗号表达式的各个表达式中的最后一个的值,如上例为8*a 五、输入输出函数

1、scanf(“格式控制串”,变量地址表列);

如scanf(“%d%c%d”,&a,&ch,&b); scanf(“O”,&x);

注意:

1)格式控制串可控制截取用户输入的前几个字符给变量,但不能控制输入几位小数给变量,如不能写成scanf(“%4.2f”,&x);

2)第二个参数给的是地址,即要么是&+变量名或数组元素名的形式,要么就是一个数组名或指针变量名,如int *p,a; p=&a; scanf(“%d”,p); 3)考试时注意看题目给你写好的scanf的格式

若其格式控制串内各格式符用“,”隔开如scanf(“%d,%c,%d”,&a,&ch,&b);那输入时也要用逗号隔开,如此例输入时应:3,+,5 若是这种格式scanf(“%d %d”,&a,&b);则输入时应:3 5;

若是这种格式scanf(“%d%c%d”,&a,&ch,&b);则输入时应3+5,若写成3 + 5则a=3,ch=‘ ’(空格),b=任意值 (自己上机运行看看结果)

2、printf(“格式控制串”,输出项表列);

如float x=7.5; printf(“%8.2f”,x);此处的意思是将x打印出来,且占8列,保留两位小数。自己上机运行看看效果。 3、常用格式符汇总:

1)%d:输入输出整型数据,%ld:输入输出长整型数据 2)%c:输入输出字符型数据

3)%f:输出单(双)精度浮点型数据,输入单精度型数据。 %lf:输入双精度型数据

4)%s:输入输出一个字符串,用printf输出字符串时,输出项书写时可为字符串常量,或字符数组名。如printf(“%s”,”hello”);或char str[10]=”hello”; printf(“%s”,str);

5)%u:输入输出无符号整型,%o:输入输出八进制数, 6)%x:输入输出十六进制数 4)getchar();

函数调用后返回用户输入的一个字符,故需再定义一个变量来存放这个字符,即使用时应 char c; c=getchar();意思就是接收用户输入的一个字符,并将其赋值给变量c。

5)putchar(字符常量或字符变量名);

如char c=’A’; putchar(c);或putchar(‘A’);都会向屏幕输出字符A。 六、C语言的语句

1、表达式语句:由表达式末尾加上分号构成。 2、函数调用语句:由函数调用表达式加上分号构成。 3、空语句: ;

4、选择结构语句:if语句 switch语句

5、循环语句:for语句 while语句 do while语句

6、复合语句:用花括号{}将以上任意语句括起来构成一条复合语句。 七、C程序的基本结构

void main()

{ 声明部分:用来定义变量和声明自定义函数的原型,需以“;”结尾,如int x; 执行语句部分:第六点里介绍的各种语句,如x=3;printf(“%d”,x); }

main函数外可写自定义函数。如 int max() {

return 0;

}

八、选择结构语句

1、if(表达式) 语句1 else 语句2

如果if语句的圆括号内的表达式值为非0,则执行语句1,值为0则执行语句2。

1)表达式可为任意表达式,if语句执行的实质是判断表达式的值是否为0来决定执行语句1还是语句2。另外请在此处表达严重关切,不管是高手还是菜鸟经常会把判断两个数相等的符号“==”写成了一个等号“=”成为了赋值运算,这样的写法不会引发编译错误,但结果会与原意大大不同,所以考试前请再三

提醒自己。

2)语句1和语句2都只能是一个语句,若要跟多条语句,切记用一对{}括起来,构成复合语句;也不要随便在圆括号后加“;” ,因“ ;”构成一条空语句,这会使后面跟的语句1不再属于if语句的组成部分。

3)if语句的三种结构

单边: if(表达式) 语句

双边:if(表达式) 语句1 else 语句2 多层(重点掌握):

if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 ?

else 语句n

2、条件运算符 表达式1? 表达式2 : 表达式3

若表达式1的值非0,则取表达式2的值做为整个表达式的值,否则取表达式3的值为整个表达式的值。如 3>4? 1:2 该表达式的值为2 3、switch语句

switch(表达式) {

case 表达式1:语句 case 表达式2:语句 ?

case 表达式n:语句 default: 语句 }

语句执行过程:先计算表达式的值,然后判断该值与表达式1到表达式n中的哪个相等,若与表达式i的值相等,则执行表达式i后的所有语句,当遇到break;语句时结束整个switch语句的执行。表达式1到表达式n的值都不相等的情况下执行default后跟的语句。每个case后可跟多条语句。 九、循环结构 1、for循环语句

for(表达式1;表达式2;表达式3) 循环体语句 语句执行过程:

1)计算表达式1

2)判断表达式2的值是否为0,若为0,语句执行结束,若不为0,进入步骤3

3)执行循环体语句(需注意的是循环体语句只能有一个语句,若要包含多个语句要用一对{}括起来,构成一条复合语句,此处也不要随便加上 “ ; ”,因一个“;”可构成一条空语句,这会使得后面真正的循环体语句不属于for循环语句的部分)。进入步骤4

4)计算表达式3,然后重新进入步骤2

2、while循环语句 do while循环语句

1)while(表达式) 循环体语句 执行过程:

(1)判断表达式的值是否为非0,若是进入步骤2,否则结束语句执行。 (2)执行循环体语句,重新回到步骤1。 2)do 循环体语句 while(表达式); 执行过程:

(1)执行循环体语句,进入步骤2

(2)判断表达式的值是否为非0,若是重新回到步骤1,否则结束语句执行。

这里要注意的地方跟for语句一样,即循环体语句只能有一个语句,若要包含多个语句要用一对{}括起来,构成一条复合语句,此处也不要随便加上 “ ; ”,

因一个“;”可构成一条空语句,这会使得后面真正的循环体语句不属于while循环语句的部分,另外do while循环的while(表达式)后是要加“;”的。 3、break语句:放在循环体内实现的功能是结束其所在的那层循环的执行。 十、数组

1、定义格式:数据类型 数组名[整型常量];如 int a[10]; 定义了一个整型数组,数组名为a,这个数组含有10个元素。

2、引用数组元素: 格式:数组名[下标] 切记下标值从0开始。下标可为常量,表达式,变量等,如int i=3; a[0]=5;a[3*2]=9; a[i]=7; 3、初始化:数据类型 数组名[整型常量]={数据表列};将数据表列的各个值依次赋值给数组的各个元素。如int a[5]={0,1,2,3,4};则数组a各元素a[0]到a[4]的值分别为0,1,2,3,4

4、遍历数组元素

数组定义后,我们不能对数组进行整体的操作,如int a[10];不能用a=3这样的操作将数组的各元素都赋值为3;而只能一个一个元素的进行赋值,如a[0]=3;a[1]=3;a[2]=3?a[9]=3; 当然此时我们就可以借助于一个for循环来控制下标的变化从而对数组的各个元素进行赋值

5、for(i=0;i<10;i++) a[i]=3;

当然这只是用for循环遍历数组各元素的最简单的例子,一般考试考的是找出数组元素的某种特性的极值,比如最大值,最小值,或对数组各元素进行排序,这时我们就可以使用for循环来遍历数组的各元素,然后在当前循环中得到一个元素再对其进行处理。如i=2时访问到的元素是a[2],你就可以问问它,你是不是最小值啊。

6、整型数组

int a[10]; 整型数组里的各个元素存放的是整数。a[3]=3; 7、字符型数组

char str[20];字符型数组里的各个元素存放的是字符。 str[3]=’A’; 十一、字符串函数

1、gets(字符数组名或字符指针变量);

如char str[10],* str2; str2=str;则gets(str);或gets(str2);都是接收用户输入的字符串如“ABC”存入到字符数组str中 2、puts(字符数组名或字符指针变量或字符串常量); 如char str[10]=”china”;

char *str2;str=str2; 则puts(str); 或puts(str2); 或 puts(“china”);都会在屏幕上打印出 china

3、strlen(字符数组名或字符指针变量);字符串测长函数 char str[20]=”hello world!”;

int len;len=strlen(str);得出的结果是len的值为12 4、strcat(字符串1的地址,字符串2的地址); 将字符串2的内容连接到字符串1的尾部。 char str1[20]=”ABC”,str2[20]=”xyz”; strcat(str1,str2);

则程序运行的结果是str1内存放的字符串变为ABCxyz,当然str2存放的字符串还是xyz。 5、strcmp(字符串1的地址,字符串2的地址);

比较串1和串2哪个比较大。比较大小的依据是,两个字符串从左往右相应位置上第一个不相等的字符ASCII码值之差。 char str1[20]=”ABCE”,str2[20]=”ABDE”; int i;

i=strcmp (str1,str2);

第一个不相等的字符为str1的‘C’和str2的‘D’,而二者相差-1,故-1做为strcmp函数执行的结果返回到被调用的位置,该位置位于赋值表达式内,故将其值赋值给i,即此时i的值就是-1.

6、strcpy(字符串1的地址,字符串2的地址); 将字符串2的内容复制到字符串1内。 char str1[20]=”ABC”,str2[20]=”xyz”;

strcpy(str1,str2);此时str1的内容为”xyz”,当然str2的内容没变 strcpy(str1,”uvw”);此时str1的内容又变成了“uvw“。 十二、函数

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库电信考试计算机专业:C语言知识复习(39页)在线全文阅读。

电信考试计算机专业:C语言知识复习(39页).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1005975.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: