福建专升本C语言复习指导.doc_第1页
福建专升本C语言复习指导.doc_第2页
福建专升本C语言复习指导.doc_第3页
福建专升本C语言复习指导.doc_第4页
福建专升本C语言复习指导.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 C语言概述(1)C程序是由函数构成的。 这使得程序容易实现模块化。 (2) C语言本身没有输入输出语句。输入和输出的操作是由库函数scanf和printf等函数来完成的。(3)C语言不能嵌套定义函数,但可以嵌套调用函数,也可以递归调用。第三章1 C的数据类型基本类型整型 int字符型 char数据类型构造类型枚举类型 enum数组类型结构类型 struct联合类型 union单精度实型 双精度实型 double指针类型实型(浮点型)2变量命名的规定:语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。 52+10+1=6309年选1考题不能用关键字作为标识符关键字归纳(32个)考题07年1常量类型:const (1个)数据类型名:int ,float,double,char,void (5个)数据类型的修饰符:unsigned,signed,short,long (4个)用户定义的数据类型:struct,union,enum,typedef (4个)变量的存储类型名:auto,static,register,extern (4个)控制结构语句标识:if-else,switch-case-default-break,while-do-for-continue,goto,retrun(12个)求类型大小运算符:sizeof (1个)其余:volatile (1个) 3运算符、优先级、结合性1)最高级别(1)小括号()(2)下标运算符()(3)分量运算符(-)2)单目(1)!,+,-,-,注意+,-的位置(2)强制类型转换运算符( (类型) ):转化后变量本身类型没有变化,如08选2 (3)指针运算符 (*和),注意:符号(4)求字节数运算符()struct ,union的大小3)双目(1)算术运算符 (+ - * / %),/为求商运算,若两个数都为整型,则值取整型,否则取浮点型,%运算数只能为整形。考题07年11,09年5(2)关系运算符 (!) 例a00) ?5(+b0)?6:7; c=5,a=2,b=1;4)i=*p+; 赋值语句注意点:1) 左操作数必须是变量,不能是常量或表达式。i=i-j=8;,在变量定义中不能赋值:int a=b=c=2;考题:08年选4,07年10,07年20,06年12) 变量的初始化与赋值语句的区别。 int a,b,c;a=b=c=1;是正确的 int a=b=c=1;是错误的3) 逗号运算特点,从左往右,表达式的值为最后一项得到的值,如考题08选6,07年13,06年10int a,b,c;a=b=c=0;c=+a,b+; a=1,b=1,c=05)复合赋值语句,运算从右往左,如a+=a-=a*a,考题08选8,07年2,06年4,06年116)条件表达式执行顺序:先判断条件表达式1,如果成立,则执行表达式2,否则执行表达式3:(1)条件运算符优先级高于赋值运算符 ,低于关系运算符和算术运算符。 (2)条件运算符的结合方向为“自右至左”。 int a=1,b=2,c=3 例d=-a?b+:+c; a=0,b=2,c=4,d=4 06年8,17,09年47)常量识别:判断是整型或长整型,还是浮点型数据等,考题08年选1,长整形一般情况下要加L.8)数制的识别转化,(08进制,0x-16进制),考题08年选3如果是转义字符:276,x7f,如果是输出语句printf(“%d,%o,%x”);第四章4.1 赋值表达式,赋值语句4.2 数据输入输出4.3 字符数据的输入输出4.4 格式输入与输出注意点:1、 赋值语句是由赋值表达式加上一个分号构成。有些场合:i+;也算赋值语句。2、 字符数据的输入输出 :putchar(c),getchar()注意接收换行符。例:输入a 程序: C1=getchar();c2=getchar();则c1接收字符a,c2接收换行符。考题08年30。3、 字符串输入输出:printf(“%s”,str); scanf(“%s”,str);gets(str);puts(str);gets(str),puts(str)参数只能为一个变量。06年64、 printf(格式控制,输出表列)%d:以带符号的十进制形式输出整数%u:以无符号十进制形式输出整数%s:输出字符串,可以指定从数组的某个位置开始输出字符,如: char a=a,b,c,d,e,f,printf(“%s”,a+2); 但a+;是错误的, char *p=a;p+呢?考题08年22,09年27,30#includevoid main()unsigned int a=65535;int b=-2;printf(“a=%d,%o,%x,%un”,a,a,a,a);printf(“b=%d,%o,%x,%un”,b,b,b,b);运行结果:a=-1,177777,ffff,65535 (注意8或16进制前面无须补0)b=-2,177776,fffe,65534如int a=32800,printf(“%d,%u”,a,a); 32768: 1000000000000000B 考题08年20,06年296、scanf函数时应注意的问题 :(1) scanf函数中的“格式控制”后面应当是变量地址或指针,而不应是变量名。 char a,b;scanf(“%c”,&a); scanf(“%s,b);考题08年13(2) 如果在“格式控制”字符串中除了格式说明以外还有其他字符, 则在输入数据时在对应位置应输入与这些字符相同的字符。 int a,b; scanf(“%d,%d”,&a,&b) 考题07年21(3) 在用“”格式输入字符时,空格字符和“转义字符”都作为 有效字符输入 。 scanf(“%c%c”,&a,&b); 若输入为ab;则a接收字符a,b接收空格符。(4) 在输入数据时,遇以下情况认为该数据结束。 遇空格,或按“回车”或“跳格”(Tab)键; 按指定的宽度结束,如“”,只取列; 遇非法输入。考题06年6。第五章5.1 关系运算符和关系表达式5.2 逻辑运算符和逻辑表达式5.3 if语句5.4 switch语句 C语言中真用1表示,假用0表示。int a=3,b=2; ab=0? if 语句说明:(1) if语句中在if后面都有表达式,不能为语句。(2) if语句中,在每个else前面有一个分号,整个语句结束处有一个分号。else总是与它上面的,最近的,统一复合语句中的,未配对的if语句配对.考题08年选10,07年17.switch 语句:1) break:只退出当前层的switch循环for()switch() case : break;。考题08年选122) default位置问题 不管在哪里,只要未找到匹配项,则就从default处开始往下执行,直到遇到break。 Switch( n ) case 1: case 2:defaut: case 3:09年63)switch( )括号内是变量,case 后面跟的是常量表达式,但不可以是带小数点的常量。第6章6.1 用while语句实现循环6.2 用do-while语句实现循环6.3 用for 语句实现循环 6.4 循环的嵌套6.5 break语句和continue语句区别 09年12注意点:1)while(!0) 条件为真?假int b =0; while(b-0); 退出时b的值?2)do-while循环后面不要忘记分号;3) for语句执行顺序先执行第一个语句,然后判断第二个语句,如果成立则执行循环体语句,然后执行第三个语句。int i; for(i=0;i+3;i+);退出时i的值?注意:第二个语句要执行完。4)break与continue区别,break在外层为for循环,内层为switch语句中的应用。经常出现在大题,考题08年32。5) 循环结束条件,结束时,变量的值。6)循环中变量的步长。考题08年25,07年4第七章7.1 一维数组的定义和引用7.2 二维数组的定义和引用7.3 字符数组注意点:数组定义中其他常见的错误:float a0;/* 数组大小为0没有意义 */ int k, ak; /* 不能用变量说明数组大小*/ 09年9 数组引用:数组名下标下标可以是整型常量或整型表达式,变量。二维数组定义和初始化注意:09年131) 不能省却第二维2) 第一维大小可通过第二维推算int a3=1,2,3,4,5,6,7,8考题08年163) 可只对部分元素赋值int a3=0; 考题08年18,07年14设数组a的首地址为2000。表 示 形 式含义地 址a 二维数组名,指向一维数组a0,即0行首地址2000a0,*(a+0),*a0行0列元素地址2000a+1,&a11行首地址2008a1,*(a+1)1行0列元素a10的地址2008a1+2,*(a+1)+2,&a121行2列元素a12 的地址2012*(a1+2),*(*(a+1)+2),a121行2列元素a12的值元素值为131)字符数组和字符串的区别 定义方面、长度区别,还有strlen()函数求值。2)定义和赋值错误例子:char b10;b=”hello!”;考题07年83)字符数组的输入输出可以有两种方法: char a;a.逐个字符输入输出。用格式符“%c”输入或输出一个字符。scanf(“%c”,&ai);b.将整个字符串一次性输入或输出。用“%s”格式符,意思是对字符串的输入输出。 scanf(“%s”,a);字符串处理函数 1) scanf(%s,str);2) printf(%s,str);3) puts (str):4) gets(str);注意:用puts和gets函数只能输入或输出一个字符串,不能写成puts(str1,str2)或 gets(str1,str2) 09年10其他字符串操作函数:strcat(字符数组1,字符数组2)strcpy(字符数组1,字符串2) 复制时连同字符串后面的0一起复制到字符数组1中strlen函数 strlen是测试字符串长度的函数。函数的值为字符串中的实际长度(不包括0在内)。strcmp(str1,str2)考题08年17第8章 8.1函数参数和函数的值 8.2 函数的调用 8.3函数的递归调用 8.4数组作为函数参数 8.5 局部变量和全局变量 8.6变量的存储类别 注意点:1) 对子函数的调用在什么情况下会改变主函数中变量的值?(传值还是传址) a.一般变量作为实参和形参,或为数组元素,传数值,形参值的改变不会影响到实参。b.实参和形参为数组名,若为二维数组,则要注意形参写法。传地址,理解为实参与形参共用一个内存段,所以改变形参的值就会改变实参值。c.实参和形参,其中一个为数组名,另一个为指向数组元素的指针。指针就指向了该数组。通过对指针指向的内存空间值的修改就直接改变了数组的相应元素值。d.实参和形参都是指针考题08年21,09年15,182)变量存储类型:auto,register,static,extern作用域和变量存在时间。 函数内部变量 复合语句内部变量 static申明的函数内部变量 extern申明的函数外部变量 共用的全局变量指该变量在内存中只开辟唯一的空间,所以任何能访问到该变量的函数对该变量值的修改都将影响到其它函数。例:1、#include void num()extern int x,y;int a=15,b=10;x=a-b;y=a+b;int x,y;main()int a=7,b=5;x=a+b;y=a-b;num();printf(“%d,%dn”,x,y);2、main() int a=2,i;for(i=0;iID,p-name,(*p).ID,(*p).name用指针访问时要注意运算符的优先级:-ID,-ID,(+p)-ID,(p+)-ID*p-ID 什么意思?共用体:考核占用的空间大小枚举类型变量不能把数字直接赋值给它。考题08年28,07年26,07年34,06年19,28,30,09年21第13章考核点:1)文本文件和二进制文件占用空间大小2)文件的使用方式:b-二进制文件+-读写w-新建一个文件d-追加,即把指针移到文件末尾考题08年29,06年73)几个重要的文件操作函数了解功能,参数,返回值。分类 函数名 功能 打开文件 fopen() 打开文件 关闭文件 fclose() 关闭文件文件定位 fseek() 改变文件位置指针的位置 rewind() 使文件位置指针重新至于文件开头 ftell() 返回文件位置指针的当前值文件状态 feof() 若到文件末尾,函数值为真 ferror

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论