计算机二级考试C语言知识点总结
整体上必需清楚的:文章源自微观生活(93wg.com)微观生活-https://93wg.com/2705.html
1)程序结构是三种: 顺序结构 , 循环结构, 选择结构文章源自微观生活(93wg.com)微观生活-https://93wg.com/2705.html
2)读程序都要从main入口, 然后从最上面顺序往下读。文章源自微观生活(93wg.com)微观生活-https://93wg.com/2705.html
3)计算机的数据在电脑中保留是以二进制的情势,数据寄存的位置就是他的地址.文章源自微观生活(93wg.com)微观生活-https://93wg.com/2705.html
4)bit是位 是指为0 或者1。 byte 是指字节, 一个字节 = 八个位. 1B=8b文章源自微观生活(93wg.com)微观生活-https://93wg.com/2705.html
5)一定要记住 二进制 与 十进制互化。 1010 45文章源自微观生活(93wg.com)微观生活-https://93wg.com/2705.html
概念常考到的:文章源自微观生活(93wg.com)微观生活-https://93wg.com/2705.html
1、编译预处理不是C语言的一部份,再也不运行时间。C语言编译的程序称为源程序,它以ASCII数值寄存在文本文件中。文章源自微观生活(93wg.com)微观生活-https://93wg.com/2705.html
2、每一个C语言程序中main函数是有且只有一个。文章源自微观生活(93wg.com)微观生活-https://93wg.com/2705.html
3、在函数中不可以再定义函数,函数可以互相调用。文章源自微观生活(93wg.com)微观生活-https://93wg.com/2705.html
4、函数是一定要有输出的,他可以没有输入。
5、break可用于循环结构以及switch语句。
6、逗号运算符的级别最低。
第一次课知识点
1)合法的用户标识符考核:
合法的请求是由字母,数字,下划线组成。有其它元素就错了。 8aa a2@
并且第一个必需为字母或则是下划线。第一个为数字就错了。
关键字不可以作为用户标识符号。main define scanf printf 都是关键字。迷惑你之处If是可以做为用户标识符。由于If中的第一个字母大写了,所以不是关键字。Main
2)实型数据的合法情势:
2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e后必为整数。. 0.5e0.5 e6
3)字符数据的合法情势:: sizeof
&39; 是字符占一个字节,&34;是字符串占两个字节。&34;
&39; 的ASCII数值表示为48,&39; 的ASCII数值是97,&39;的ASCII数值是65。
4)a 整型通常为四个字节, 字符型是一个字节,双精度通常为8个字节:
5)转义字符的考核:
在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必需存在。
在程序中 int b= 067, 是一个八进制的情势。
\\a 响铃 007
\\b 退格 008
\\f 换页 012
\\n 换行 010
\\r 回车 013
\\t 水平制表 009
\\v 垂直制表 011
\\\\ 092
\\? 问号字符 063
\\&34; 双引号字符 034
\\0 空字符 000
\\0ddd 任意字符 三位八进制
\\0xhh 任意字符 二位十六进制
6)算术运算符号的优先级别:
同级别的有的是从左到右,有的是从右到左。
7)强制类型转换:float a=1.5 float b=2.6
一定是 (int)a 不是 int(a),注意类型上一定有括号的。
注意(int)(a+b)以及(int)a+b 的区分。 前是把a+b转型,后是把a转型再加b。
8)表达式的考核:
是表达式就一定有数值。变量定义的三要素:数据类型,变量名,赋初值
赋值表达式:表达式数值是最左侧的数值,a=b=5;该表达式为5,常量不可以赋值。5=5
自加、自减表达式:假定a=5; a=++a(是为6); a=5; b=a++(b为5,a=6);
考试口诀:++在前先加后用,++在后先用后加。 C=a+++b
逗号表达式:优先级别最低 ;表达式的数值逗号最右侧的那个表达式的数值。
a=5 b=3 c=6 d=2 , b=(c=a+3,d=c+5,d+c)的表达式的数值就是4。
9)位运算的考核:
会有一到二题考试题目。
总的处理办法:几近所有的位运算的题目都要按这个流程来处理(先把十进制变为二进制再变为十进制)。
步骤1: int a = 6, b; 00000001
b = a>>2; 这类题目的计算是先要把a的十进制6化成二进制,再做位运算。0110 011000
步骤2: 一定要记住,
步骤3: 在没有舍去数据的时候,<<左移一名表示乘以2;>>右移一名表示除了以2。
10)018的数值是非法的,八进制是没有8的,逢8进1。 0xt9
11)%符号两边请求是整数。不是整数就错了。 7%2 6/4.0
12) &&与 || 或 结果只有两种 真(1) 假(0)
a=3,b=4,c=1 a=a+b&&c=a-b a=b-a-c&&c=a+b a=a+b||c=a-b
第二章知识点
1)printf函数的格式考核:
%d对应整型;%c对应字符;%f对应单精度等等。宽度的,左对齐等修饰。
%ld对应 long int;%lf 对应double。
2)scanf函数的格式考察:
注意该函数的第二个部份是&a 这样的地址,不是a;
Scanf; 跳过输入的第三个数据。
3)putchar ,getchar 函数的考核:
char a = getchar 是没有参数的,从键盘得到你输入的一个字符给变量a。
putchar把字符y输出到屏幕中。
4)怎么实现两个变量x ,y中数值的互换(请求背下来)
不可以把 x=y ,y=x; 要用中间变量 t=x;x=y;y=t。
5)怎么实现保存三位小数,第四位四舍五入的程序,(请求背下来)x=1.2345 x=2.356
x=/1000.0 x=/100.0
这个有推行的意义,注意 x = (int)x 这样是把小数部份去掉。
第三章
尤其要注意:c语言中是用非0表示逻辑真的,用0表示逻辑假的。
1)关系表达式 7==8: 算术表达式 a=b+c 逻辑表达式 赋值表达式 a=7
表达式的数值只能为1(表示为真),或0(表示假) a=7>8;
当关系的表达是为真的时候得到1。如 9>8这个是真的,所以表达式的数值就是1;
2)逻辑表达式:
只能为1(表示为真),或0(表示假)
a) 共有&& 并且 || 或者 ! 非 三种逻辑运算符号。a=3 !a
b) !>&&>|| 优先的级别。
c) 注意短路现象。考试比较喜欢考到。
d) 要表示 x 是比0大,比10小的办法。0<x<10是不可以的(一定记住),是先计算0<x 得到的结果为1或则0;再用0,或1与10比较得到的老是真(为1)。所以一定要用 &&表示比0大比10小。
3)前提表达式:
表达式1 ?表达式2 :表达式3 a=3 ,b=4,c=5 a?b:c
注意是当非0时候是表达式2的数值,当为0是就是表达式2的数值。
考试口诀:真前假后。
4)if 语句
else 是与最接近的if且没有else的相组合的。
5)switch语句:
a)一定要注意 有break 以及没有break的差别,没有break时候,只要有一个case匹配了,剩下的都要执行,有break则是直接跳出了swich语句。
b)switch只可以以及break一块儿用,不可以以及continue用。
第四章
1)三种循环结构:
a)for() ; while; do- while三种。
b)for循环之中必需是两个分号,千万不要忘怀。
c)写程序的时候一定要注意,循环一定要有收场的前提,否则成为了死循环。
d) do-while循环的最后一个while;的分号一定不能够丢。(当心上机改错)
2) break 以及 continue的差别
记忆办法:
break:是打破的意思,(破了整个循环)所以看见break就退出真个一层循环。
continue:是继续的意思,(继续循环运算),然而要收场本次循环,就是循环体内剩下的语句再也不执行,跳到循环开始,然后判断循环前提,进行新一轮的循环。
3)嵌套循环
就是有循环里面还有循环,这类比较繁杂,要一层一层一步一步耐心的计算,一般记住两层是处理二维数组的。
4) while((c=getchar)!=&39;) 以及 while(c=getchar !=&39;)的差别
先看a = 3 != 2 以及 (a=3)!=2 的区分:
(!=号的级别高于=号 所以第一个先计算 3!=2) 第一个a的数值是得到的1;第二个a的数值是3。
考试注意点: 括号在这里的重要性。
第五章
函数:是拥有一定功能的一个程序块;
1) 函数的参数,返回数值(示用意):
main
{
int a = 5,b=6,c;
c = add;
printf;
}
调用函数
a,b是实参
整个函数得到一个数值就是
Add函数的返回数值。
int add
{
int z;
z=x+y;
return z;
}
被调用函数
x,y是情势参数
函数返回数值是整型
z就是这个add函数计算后得到的结果,就是函数返回给主程序的返回数值。
程序是在从上往下顺序执行,当碰到了函数add后,把a,b的数值穿给调用函数,程序暂时中止等待返回数值。当得到了返回数值后,再顺序的往下执行
2)一定要注意参数之间的传递
实参以及形参之间 传数值,以及传地址的差别。(考试的重点)
传数值的话,形参的变化不会扭转实参的变化。
传地址的话,形参的变化就会有可能扭转实参的变化。
3)函数声明的考核:
一定要有:函数名,函数的返回类型,函数的参数类型。
不一定要有:形参的名称。
第六章
指针变量的本色是用来放地址,而一般的变量是放数值的。
int *p 中 *p以及p的差别:
*p可以当成变量来用;*的作用是取后面地址p里面的数值
p是当作地址来使用。
*p++ 以及 (*p)++的之间的差别:改错题目中很重要
*p++是 地址会变化。
(*p)++ 是数值会要变化。
三名主义:(考试的重点)
数组名:表示第一个元素的地址。数组名不可以自加,他是地址常量名。(考了不少次)
函数名:表示该函数的入口地址。
字符串常量名:表示第一个字符的地址。
第七章
1一维数组的重要概念:
对a[10]这个数组的讨论。
1、a表示数组名,是第一个元素的地址,也就是元素a[10]的地址。
2、a是地址常量,所以只要呈现a++,或者是a=a+2赋值的都是过错的。
3、a是一维数组名,所以它是列指针,也就是说a+1是跳一列。
对a[3][3]的讨论。
1、a表示数组名,是第一个元素的地址,也就是元素a[10]的地址。
2、a是地址常量,所以只要呈现a++,或者是a=a+2赋值的都是过错的。
3、a是二维数组名,所以它是行指针,也就是说a+1是跳一行。
4、a[0]、a[1]、a[2]也都是地址常量,不可以对它进行赋值操作,同时它们都是列指针,a[0]+1,a[1]+1,a[2]+1都是跳一列。
5、注意a以及a[0] 、a[1]、a[2]是不同的,它们的基类型是不同的。前者是一行元素,后三者是一列元素。
二维数组做题目的技能:
以上就是微观生活(93wg.com)关于“二级C语言知识点大清点”的详细内容,希望对大家有所帮助!
评论