二计算机二级C 想过必看.doc_第1页
二计算机二级C 想过必看.doc_第2页
二计算机二级C 想过必看.doc_第3页
二计算机二级C 想过必看.doc_第4页
二计算机二级C 想过必看.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

二计算机二级C 想过必看2012年9月10日20:421、在C语言中基本上是:!算术关系逻辑条件赋值逗号(1)、算术里“*、/”高于“+、-”;(2)、关系里、=优先级相同都大于“=、!=”;(3)、逻辑中!级别最高,&次之,|逻辑或最低;(4)、正号和负号高于算术运算符(5)、“”高于“*”号 ;(6)、指针中“*”和“&”级别相同;(7)、“*”与“+”又相同,“”最高;(8)、“.”高于“*”号;(9)、“、.”级别同,“!、+、-、+正、-负、*、&、(类型名)、sizeof级别同,前四者高于后者;2、pow是乘方、fabs是取绝对值、sqrt是开根号,只要涉及到这三个头文件中就要加;3、必须记住的几个Ascii值: a 97 A 65 空格 32 b 98 B 66 0 48 z 122 Z 90 9 57规律:同一个字母相差32; Ascii中:小写大写数字符号;4、a+ 整个式子a+不变,但是a更新加1 先使用a的值,用后再加1 +a 整个式子+a增1,而且a更新加1 先将a加1后再使用5、scanf 会将空格作为分隔符 %c、putchar、gets 时:空格、Tab和回车符都将被作为分隔符被读入; %s 输入时:空格、Tab和回车符都将被作为分隔符不被读入;注意:getchar只能输入一个字符;6、main是主函数名,C语言中规定必须main作为主函数名; 每一个可执行的C程序中,都必须有一个且只能有一个主函数; 一个C程序中可以包含任意多个不同名的函数,但只能有一个主函数; 空语句,语法上认为一条语句;7、只有十进制数可以是负数,八进制和十六进制只能是整数;8、末尾带u或U的表示无符号常量,而无符号常量不能表示成小于0的负数;-200u 是不对的;9、shortint数值范围是-3276832767 例如:short int a=32769 () 改:long int a=32769 改的时候范围不能改变;10、 1.2e2 e的前面必须有数字 e的后面必须为整数 且字母e前后及数字之间不得插入空格 即:前有数字后为整,中间不可插空格;11、2.0=2.0 不能比较, 因为小数类型的有double和float 类型不确定; 2=2 可以完全正确12、求余运算两边只能为整形,求除运算可整形也可实型; 1.0/2.0=0.5 1/2=0 类型一致,不一致自动转换13、赋值运算左侧只能是变量,不能是常量或表达式 a=b=7 a=b+2=7 14、自加或自减本身就是一种赋值运算,可整形可实型,但不能是常量或表达式;负号与自加运算符优先级相同,自由至左计算; -i+ 相当于-(i+)15、printf可以没有输出项;16、scanf从终端键盘上读入数据 格式:scanf(%d%d,&a,&b);判断:scanf(%6.3f,&a); 因为输入不可以指定小数位; scanf可以指定正整数输入所占的宽度,但不能对实数指定小数位宽度;17、在VC6.0下,输入short型整数,格式控制要求用%hd;要输入double型数据格式控制必须用%lf(或le),否则数据不能正确输入; int k, float m, double n; scanf(%d%f%le,&k,&m,&n);18、输入一个double型数,使该数保留小数点后两位,对第三位小树进行四舍五入,然后输出此数 #include main() double x; printf(Enter x:n); scanf(%lf,&x); printf(1)x=%lfn,x); x=x*100; x=x+0.5; x=(int)x; x=x/100; Printf(2)x=%lfn,x);19、逻辑值有两个(0和1);20、循环中 switch() ()不能省; if(ab) a=b; 分号不能省;21、如何破解嵌套: 先执行一次外循环; 再执行一次内循环; 直到内循环为假,再去执行外循环,都为假使退出;22、break是跳出switch语句,也可用break在循环中终止本层循环体,从而提前结束本层循环; continue是跳过本次循环中余下尚未执行的语句,即:结束本层循环注意: break是语句和循环体都不做,包括下面也不做, continue并没有使整个循环终止,仅是跳过本次的;在for中,遇到continue后,跳过循环体中余下语句,去做“表达式3”,求值之后再与表达式2决定循环是否再次执行;23、字符常量只能包含一个字符,因此abc是非法的。 字符常量在内存中占一个字节,所有字符常量都作为整型量来处理。 ddd三位八进制 代表一个ASCII字符, 101 为A; xhh三位十六进制代表一个ASCII字符, x6d为m;24、字符串是由双引号括起来的一串字符, “ ”表示等价,相当于数学中的“=” 25、字符与字符参与运算,结果是数值; 9-057-489 数值与字符参与运算,结果是字符;4+04+4852426、字符变量用关键字char定义,定义同时可赋值 char ch1=x; %d输出ASCII码值 char ch=A ; printf(%d%c,ch,ch); %c输出它的字符;27、char a,b,c; scanf(%c%c%c,&a,&b,&c); 注意:当使用%c一个紧接一个时,在输入字符时,字符经不应有间隔符,这时空格、回车符、Tab都将作为字符读入;如:输入 TH 则变量a中存放字符T,b中存放字符H,c中为回车符 E 注意:当交叉输入数值数据和字符数据时: 若是%c%d中间必须输入间隔符,其他不用输; 若是%d%c中间不许有间隔 28、putchar 用于输出字符, putchar(ch);独立语句, putchar(Y); 终端显示Y; getchar 用于输入字符,ch=getchar(); getchar 后的一对圆括号内没有参数,但这一对圆括号不能省, getchar ()函数从终端读入一个字符作为函数值。以上是把读入的一个字符赋给变量ch,在输入时空格、回车符、都将作为字符读入;29、要求给c1、c2分别输入字符A和B,给a1,a2分别输入7.29和101.298,从键盘正确输入数据的形式是: char c1,c2;float a1,a2; scanf(%f%f,&a1,&a2); scanf(%c%c,&c1,&c2); 有分号,分开写,就在后面写个回车 输入格式: 7.29101.298 “”表示空格, AB “”表示回车符;30、函数若没有返回值,则必须把函数定义为void类型,函数应该先定义再使用;31、函数调用的步骤: 1、无论书上题目多长,一律从主函数main开始看; 2、遇到某函数时,找相应的函数名; 3、程序中遇到return,把值返回到函数;无论多少return语句,它只可能执行一次32、 “*”是指针变量 int a=5,*p,*k; “ *”是指向指针的指针变量 p=&a;k=&p;指针里放的是变量地址,而*里放的是指针的地址33、求地址运算符&只能用于变量和数组元素,不能用于表达式、常量或register的变量; 表达式q=&(k+1)是错误的, &必须放在运算对象左边,且运算对象类型必须与指针变量的基类型相同;34、当q=&k时,scanf(%d,&k);和scanf(%d,q);是等价的; P=NULL 等价于P=0;或P=0; 指针P并不是指向地址为0的存储单元,而是具有一个确切的值“空”;35、当指针变量中存放了一个确切的地址值时,可用“间接访问运算符*”通过指针来引用该地址的存储单元; int *p,i=10,j; p=&i; 赋值语句是:j=*p; 是指p所指存储单元(i)的内容即10,赋予变量j;*p代表p所指的变量i;以上语句等价于j=i; *求内容 * 要么指针 要么地址值36、j=*(&i) *和&优先级同且有又至左,所以括号可省略为j=*&i;37、j=*p+1 指针变量p所指存储单元中内容的值加1后再赋给变量j;38、*p=100; *p=*p+1; 取指针变量p所指的存储单元的值加1,再放入p所指的存储单元中。显然,当*p出现在赋值号左边时,代表的是指针所指的存储单元;当*p出现在赋值号右边时,代表的是指针所指的存储单元的内容。 即:以“=”赋值号为界 *p = *p+1左为指针 右为指针所指存储单元的内容 *p = *p+1 等价于 *p+=1 或 +*p或 (*p)+ 39、“+”和“*”级别同,自由至左,所以+ *p相当于+ (*p) (*p)+ p先取存储单元的 值,然后增1作为表达式的值; *p+ 先计算*p作为表达式的值,然后使指针变量p本身增1,*p+移动了指针;40、p、q是两个指针变量 若是*p、*q比较,则是比较其内容; 若是p、q比较,则是比较其下标(地址编号);41、常量不能直接赋给指针 *a=10;是错误的;42、一个数组占有一串连续的存储单元,在C中,一个数组是不能整体引用;数组赋值之间用逗号隔开,当少于元素个数时,自动补0.43、二维数组第一个“可省,第二个不可以省;44、若有定义:int *p3,a32,I,j; 在这里,一对“”高于“*”,因此p先于结合,构成p3,说明p是一个数组名,系统将为它开辟3个连续的存储单元,在它前面的*号则说明了p是指针类型,它的每个元素都是基类型为int的指针;45、在C中,无论是指针数组还是行指针,都是按行存放;46、若有以下定义:int a32,(*p)2; 在说明符(*p)2中,由于一对圆括号的存在,所以*先于P结合,说明p是一个指针变量,然后再与说明符2结合,说明指针变量p的基类型是一个包含有两个int元素的数组。47、0是一个转义字符,称为空值,它的ASCII代码值为0;0作为标志占用存储空间,但不计入串的实际长度;字符串“abc”的存储为:abc0 占4个空间 sizeof为4 但实际长度strlen为3;48、在scanf中使用说明符%s,可以实现字符串的整体输入; 当%s格式符输入字符时,空格、回车都将作为分隔符不被读入; ABCDEFG 将存入的是A,而不是ABCDEFG;49、字符串常用的函数:、字符串赋值 strcpy strcpy (s1,s2) 将s2所指的字符串的内容赋值到s1所指空间中,返回s1的值,即串首地址、连接函数 strcat strcat (s1,s2) 将s2所指的字符串的内容连接到s1所指字符串后面,并自动覆盖s1串末尾的0,返回s!的地址值;、求字符串长度 strlen strlen(s) 这一长度不包括串尾的结束标志0;、字符串比较函数 strcmp strcmp

温馨提示

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

最新文档

评论

0/150

提交评论