计算机二级C 想过必看
来源:互联网 发布:什么是程序员考试 编辑:程序博客网 时间:2024/05/01 07:41
计算机二级C 想过必看
2012年9月10日
20:42
1、在C语言中
基本上是:!>算术>关系>逻辑>条件>赋值>逗号
(1)、算术里“*、/”高于“+、-”;
(2)、关系里"<、<=、>、>="优先级相同都大于“==、!=”;
(3)、逻辑中!级别最高,&&次之,||逻辑或最低;
(4)、正号和负号高于算术运算符
(5)、“[]”高于“*”号 ;
(6)、指针中“*”和“&”级别相同;
(7)、“*”与“++”又相同,“—>”最高;
(8)、“.”高于“*”号;
(9)、“<<”高于“^”;
(10)、单目运算高于双目运算;
(11)、“()、[]、->、.”级别同,“!、~、++、--、+正、-负、*、&、(类型名)、sizeof级别同,前四者高于后者;
2、pow是乘方、fabs是取绝对值、sqrt是开根号,只要涉及到这三个头文件中就要加<math.h>;
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、short[int]数值范围是-32768~32767
例如:shortint a=32769 (×) 改:long int a=32769 改的时候范围不能改变;
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 <stdio.h>
main()
{ double x;
printf("Enter x:\n");
scanf("%lf",&x);
printf("(1)x=%lf\n",x);
x=x*100;
x=x+0.5;
x=(int)x;
x=x/100;
Printf("(2)x=%lf\n",x);
}
19、逻辑值有两个(0和1);
20、循环中 switch() ()不能省;
if(a>b) 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'-'0'≡57-48≡9
数值与字符参与运算,结果是字符;4+'0'≡4+48≡52≡'4'
26、字符变量用关键字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<CR> 则变量a中存放字符T,b中存放字符H,c中为回车符
E<CR>
注意:当交叉输入数值数据和字符数据时:
若是%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,从键盘正确输入数据的形式是:
30、函数若没有返回值,则必须把函数定义为void类型,函数应该先定义再使用;
31、函数调用的步骤:
1>、无论书上题目多长,一律从主函数main开始看;
2>、遇到某函数时,找相应的函数名;
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++移动了指针;
41、常量不能直接赋给指针 *a=10;是错误的;
42、一个数组占有一串连续的存储单元,在C中,一个数组是不能整体引用;
数组赋值之间用逗号隔开,当少于元素个数时,自动补0.
43、二维数组第一个“[]"可省,第二个不可以省;
44、若有定义:int *p[3],a[3][2],I,j;
在这里,一对“[]”高于“*”,因此p先于[]结合,构成p[3],说明p是一个数组名,系统将为它开辟3个连续的存储单元,在它前面的*号则说明了p是指针类型,它的每个元素都是基类型为int的指针;
45、在C中,无论是指针数组还是行指针,都是按行存放;
46、若有以下定义:int a[3][2],(*p)[2];
在说明符(*p)[2]中,由于一对圆括号的存在,所以*先于P结合,说明p是一个指针变量,然后再与说明符[2]结合,说明指针变量p的基类型是一个包含有两个int元素的数组。
47、'\0'是一个转义字符,称为'空值',它的ASCII代码值为0;'\0'作为标志占用存储空间,但不计入串的实际长度;
字符串“abc”的存储为:
a
b
c
\0
占4个空间 sizeof为4 但实际长度strlen为3;
48、在scanf中使用说明符%s,可以实现字符串的整体输入;
当%s格式符输入字符时,空格、回车都将作为分隔符不被读入;
A˽BCDEFG<CR> 将存入的是A,而不是A˽BCDEFG<CR>;
49、字符串常用的函数:
<1>、字符串赋值 strcpy strcpy (s1,s2)
将s2所指的字符串的内容赋值到s1所指空间中,返回s1的值,即串首地址
<2>、连接函数 strcat strcat (s1,s2)
将s2所指的字符串的内容连接到s1所指字符串后面,并自动覆盖s1串末尾的\0,返回s!的地址值;
<3>、求字符串长度 strlen strlen(s) 这一长度不包括串尾的结束标志\0;
<4>、字符串比较函数 strcmp strcmp (s1,s2);
若s1>s2 函数值大于0
若s1<s2 函数值小于0
若s1=s2 函数值等于0
比较方法:依次对s1和s2中对应位置上的字符两两比较,刚出现第一对不相同的字符时,即由这两个字符决定串的大小;
50、(1)、用户定义类型typedef:对已有的类型另外说明一个新的类型;
(2)、结构图(struct):把具有相互关系的数据组成一个有机的整体;
(3)、共用体(union):又称联合体,使几种不同类型的变量共用一段存储空间;
- 计算机二级C 想过必看
- 我想过国家计算机二级C语言
- 计算机应届生必看
- 用什么过计算机二级
- 计算机二级C语言考过了,接下去该学习什么?
- C语言必看!
- C语言考试 计算机二级
- 计算机二级C语言题目
- 计算机二级C考试大纲
- 计算机二级C语言-考试内容
- 计算机二级c语言学习计划
- 计算机二级c随笔一
- 计算机二级C选择题精华
- 解释(学计算机的必看)
- 解释(学计算机的必看)
- 解释(学计算机的必看)
- 计算机各种语言经典书籍必看
- 计算机各种语言经典书籍必看
- C++静态成员函数小结(转)
- webveiw总结(二)
- 零指针和结构体偏移量
- 算法导论 习题 15.4.4
- vs2008+vss2005实现代码管理
- 计算机二级C 想过必看
- 重刷 rom 前的清理准备,RUU 重置问题。
- UNIX文件系统概述
- Hibernate xml配置方法之OneToMany(单向关联关系)
- MFC设置开机启动
- 已经 ship s-off 和 root 的机器,刷非官方 rom 教程。
- java发送邮件,关于NoClassDefFoundError: com/sun/mail/util/LineInputStrea错误的解决
- Chapter 15.关联容器map
- 警告: 在此处初始化后被初始化 [-Wreorder]