您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 2012年3月国家计算机二级C语言考试复习重点难点知识点总汇
第一章C语言基础知识二.教学重点,难点分析1.C语言概述知识点所占分值考核几率专家点评C语言概述0-1分20%简单识记C语言程序的构成0-1分30%简单识记标识符1-2分60%简单,属重点识记知识点常量1-2分80%简单,属重点识记知识点变量2-3分100%难度适中,重点理解重点掌握注意:从几年的试题分析看C语言的概述和程序的构成合起来考试已经是一个惯例了。2.运算符与表达式知识点所占分值考核几率专家点评C运算符简介0-1分10%简单识记运算符的结合和优先级0-1分60%简单识记强制类型转换运算符0-1分30%简单识记逗号运算符和逗号表达式0-1分40%简单,属重点识记知识点基本的算术运算符1-2分100%简单,属重点识记知识点算术表达式和运算符的1-2分100%难度适中,重点理解重点掌握优先级与结合、自增自减运算符2-3分100%难度适中,重点理解重点掌握赋值运算符和赋值表达式2-4分100%简单,重点掌握重点理解复合的赋值运算符1-2分80%偏难,不是重点赋值运算中的类型转换0-1分75%偏难,不是重点位运算符和位运算0-1分80%偏难,属重点识记知识点三.教学讲点1.C语言的基本构成和格式#include“stdio.h”main(){inta,b,sum;/*定义变量*/a=10;/*把整数10赋值给变量a*/b=20;/*把整数20赋值给变量b*/sum=a+b;/*把两数之和赋值给变量sum*/printf(“a=%d,b=%d,sum=%d\n”,a,b,sum);/*输出计算结果*/}(1).C程序由函数组成,一个程序必须且只能有一个主函数(main()),C程序总是从主函数开始执行,在主函数中结束。(2).定义函数时函数名后必须有一对小括号,函数体必须放在一对花括号内,在函数体中,函数体有两个部分:定义部分和执行部分。定义语句必须出现在执行语句之前,我们先定义了a,b,sum,然后才给它们赋值。(3).C语言中每条语句都以分号“;”结束,分号时C语句的一部分。即使是程序的最后一个语句也不例外。分号是语句结束的标志。(4).一行可以写多条语句,一条语句也可以分在多行上写,但是,不能将一个整体分开。例如:int是错误的,而int正确。(5).C语言的注释必须放在“/*”和“*/”之间,“/”和“*”之间不允许有空格。“/*”和“*/”之间不允许再插入“/*”或“*/”。注释可以出现在程序中的任意位置。注释部分不被执行。(6).C语言程序书写格式自由,语句可以从任一列开始书写,一行内可以写多个语句。但是过于“自由”的程序书写格式往往使人们很难读懂程序,初学者应该从一开始就养成好的习惯,是程序便于阅读。2.标识符(1)标识符只能由字母、数字和下划线组成。(2)标识符的第一个字符必须是字母或下划线。(3)标识符的大小写字母是有区别的,如abc和ABC是两个完全不同的标识符。(3)标识符的分类:关键字:关键字是具有特定的含义的、专门用来说明C语言特定成分的一类标识符。详细的查阅附录二。预定义标识符:在C语言中它也有特定的含义。预定义标识符可以用位“用户表标识符”使用,只是这将使这些标识符失去了原来的意义。用户标识符:由用户根据需要定义的标识符被成为用户标识符。用户标示符用来给变量、函数、数组或者指针等命名。3.C语言的数据类型3.1数据可以分为常量和变量。常量是指在程序执行中不变的量,常量分为:整型常数、实型常数、字符常量、字符串常量。整型数据:进制间的转换3.11.二、八、十六进制转为十进制规则:“按权相加”3.12.十进制转为二、八、十六进制规则:整数部分:基数除取余,逆序排列小数部分:基数乘取整,顺序排列3.13.二进制转为八、十六进制规则:三(四)合一,按序相拼(整数部分,从右向左取,小数部分从左向右取,位数不足补零)。3.14.八、十六进制转为二进制规则:一分三(四),按序相拼3.2整型数据在内存中的存放形式1字节=8位,1Byte=8bit字长:指CPU能同时处理的二进制位数。由CPU的型号而定。如:16位微机的字长就是16位或2字节。1GB=1024MB,1MB=1024KB,1KB=1024BB:表示字节,字节是表示存储容量的最小单位。位(bit):是计算机中信息表示的最小单位。3.21.正整数在内存中用“原码”形式存放。(直接转换为二进制即可)。如:50000000000000101二字节能存放的最大数是:327670111111111111111对带符号数,最高位是符号位,用0表示正,用1表示负。3.22.负整数在内存中用“补码”形式存放。取补码的步骤:(1)忽略负号,求出原码。(2)将原码按位取反(0、1互换)。(3)在第二步的基础上加1。如:取-5的补码。(1)0000000000000101(2)1111111111111010(3)1111111111111011将补码转换成相应的整数的步骤:(1)将补码按位取反加1。(2)将步骤1得到的二进制数转换成十进制数,然后加上负号即可。例如:1000000000000000按位取反加10111111111111111+11000000000000000转换成十进制:1×215=32768加负号:-32768几个特殊的带符号整数:1000000000000000-327680111111111111111327671111111111111111-13.23.无符号整数:只有正整数,没有负整数,最高位不表示符号位,每一位均参与转换。二进制带符号整数无符号整数1111111111111111-1655351000000000000000-3276832768例2-12:若有:inta=-1;unsignedb=65535;则printf(“%d,%u,%d,%u”,a,a,b,b);输出结果是:-1,65535,-1,65535数据益出问题:例2-13:若有inta=32767;则a=a+1的结果是:-32768例2-14:若有unsignedb=65536;则b的值是:0分析:32767:01111111111111111+1100000000000000将100000000000000按照带符号数转为十进制为-3276865535:1111111111111111+11111111111111111+11000000000000000065536unsignedb=655536;而b属于无符号整型,在内存中只占两字节,所以只能包括16位。标准C没有具体要求规定各类型数据所占内存的字节数,现以这次考试标准viusalc++6.0为例,说明各类型变量所占的位数。类型所占位数所占字节数类型所占位数所占字节数short162unsignedint324int324unsignedlong324long324float324unsignedshort162double6483.3实型数据(浮点数)3.31.实型常量(1)小数形式:由数字和小数点组成,必须有小数点,小数点的某一侧可以没有数字。如:.23,123.876,123.(2)指数形式:用“e”或“E”后接一个整数,表示以10为底的幂数。注意:“e”或“E”之前之后必须有数字,且之后的数字必须是整数。他们和前后的数字之间不能有空格。例如:例2-15:下列合法的常量是()。A.-32169B.0128C.0XDEFGD.13E0.5例2-16:下列合法的实型常量是()。(A)0Xff(B)124E(C)1.23E5.0(D)3.E2(E)1.25E+2(F).23e+023.32.实型变量单精度型float占4字节双精度型double占8字节长双精度longdouble占16字节(较少用)4.表达式与运算符4.1算术运算符及其表达式:+-*/%%:(求余运算)注意:(1)%两边必须是整型数据。12.0%3表达式是错误的。(2)求余(%)的方法是:忽略符号,求出余数,再将所得余数的符号定为与被除数相同。例如:17%3结果是:217%-3结果是:2,-17%3结果是:-2,-17%-3结果是:-24.2强制类型转换强制类型表达式:(类型名)表达式注意:类型名(表达式)这种形式是C++的强制类型表达方式。5.赋值运算符及其表达式5.1.赋值运算符=格式:变量名=表达式功能:将表达式的值赋给左边的变量。注:(1)赋值运算符左边只能是一个变量,不能是常量,也不能是表达式。a+b=34=3是非法的表达式a=6a+(b=3)都是合法的表达式a=b=20a=(b=10)/(c=2)都是合法的表达式(2)实型数据赋给整型变量时,小数部分被舍去,整型数据赋给实型变量时,系统自动将整型数据转换为实型数据。例如:floata;intb;表达式a=10%3的值是1.0表达式b=a=10%3的值是15.2.复合赋值运算符及其表达式:+=-=*=/=%=&=|=^===例如:a+=3相当于a=a+3,a/=b+4相当a/=(b+4)或a=a/(b+4)例:若a=12,则执行表达式a+=a-=a+a后a的值是多少?分析:a+=a-=(a+a)/*a的值是12*/a+=a-=24/*a的值是12*/a+=a=a-24/*a的值是12*/a+=a=-12/*a的值是12*/a+=-12/*a的值是-12*/a=a+(-12)/*a的值是-12*/a=-24/*a的值是-24*/5.3.自增、自减运算符及其表达式++--注意:(1)只能用于变量,不能用于常量和表达式。如:6++(a+b)--都是错误的。(2)当它们用于变量名前时,表达式的值为变量的值加一或减一。当位于变量名后时,表达式的值为变量原来的值。不论位于变量名前还是变量名后,只要进行了自增、自减运算,变量的值都会在原来的基础上加1或减1。如:a=3则a++表达式的值是3运算之后变量的值是4a=3则++a表达式的值是4之后变量的值是4a=3则a--表达式的值是3之后变量的值是2a=3则--a表达式的值是2之后变量的值是2(3)口诀:j=i++;这个表达式是先引用后增值。即:先把i的初始值给变量j,然后i再自加1。j=++i;这歌表达式是先增值后引用。即:i先自加1,然后再将我们自加后的值赋值给变量j。但是记住它们是一起执行的,就是说:例如j=i++先引用后增值实际上是一起执行的,它们之间不存在先后关系,我们只是位了好记才用到了上面的方法。老师在上课的时候先不要说,但是你们必须知道。j=i--,j=--i和上面j=i++,j=++i的方法是一样。5.4逗号运算符及其表达式1.格式:表达式1,表达式2,…,表达式n注意:1.逗号表达式的值是整个逗号表达式中最后一个表达式的值。2.求值顺序是从左到右依次求解。例如:a=(3,b=1)的值是1运算结束后a的值是1,b的值是1。四.相关试题1.2008年4月相关试题(11)以下叙述中正确的是A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中(12)以下选项中不合法的标识符是A)printB)FORC)&aD)_00(13)以下选项中不属于字符常量的是A)'C'B)CC)'\xCC0'D)'\072'(14)设变量已正确定义并赋值,以下正确的表达式是A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0填空(7)设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为【7】。2.2007年9月相关试题(11)C语言源程序名的后缀是A).exeB).CC).objD).cp(12)可在C程序中用作用户标识符的一组标识符是A)andB)DateC)HiD)case_2007y-m-dDr.TomBig1(13)以下选项中,合法的一组C语言数值常量是A)028B)12.C).177D)0x8A.5e-30Xa234e1.510,000-0xf4
本文标题:2012年3月国家计算机二级C语言考试复习重点难点知识点总汇
链接地址:https://www.777doc.com/doc-3031338 .html