好文档 - 专业文书写作范文服务资料分享网站

全国计算机等级考试二级c语言复习整理笔记

天下 分享 时间: 加入收藏 我要投稿 点赞

笔记:

1变量的作用域:形参为局部变量,函数调用完毕就失去意义,所以在同一个C程序中,,不同函数所使用的形参可以名字相同。

C语言调用函数时,实参能把值传给形参,形参的值不能传递给实参(模一35) 注意:函数传递只有return语句和指针才会改变原程序的值。 例题:程序输出的结果是7 9

#include

Int t(int x,int y,int cp,int dp) {cp=x*x+y*y;dp=x*x-y*y;}, Main()

{nit a=1,b=8,c=7,d=9; t(a,b,c,d);

printf(“%d%d\\n”,c,d); }

局部变量无固定内存分配,系统临时分配,调用完结束分配,不确定的情况下,最好用全局变量

Auto变量实际是函数内部变量

外部变量:函数体外定义,是全局变量,有效范围:从定义起到程序结束。外部变量可以在函数间传递

2下面非法字符变量是: ‘\\t’ 代表横向跳若干格

‘\\0139’ \\0后代表八进制数,9超出范围 ‘,’ ‘\\n’

‘\\xAB 代表十六进制AB的ASCII码 ‘\\v’表示竖向跳格;

‘\\x2a表示的是两位十六进制数字符a对应的ASCII码值 ‘a’代表

题:strlen(”\\t\\”\\023\\xABC\\n”); Strlen计算字节长度,结果为6

3双精度double用%le表示如:scanf(“%le”,&a);

双精度占用8个字节,float占用4格字节,int占用2个字节; 如 struct st{char a[15];int b;double c;}; Printf(“%d”,sizeof(struct st)); 则占用总共15+8+2=25个字节

例题:定义float a[15],*p=a,且数组的首地址为300H,则p+13所指向数组元素的地址为 300H+13*4H=352H(模一30题)自己意见为52D化成十六进制为34H答案为334H 4 for(表达式1;表达式2;表达式3)

表达式1-----表达式2(判断)-----循环体------表达式3------继续判断表达式2 如题:int i,j=5;

for(i=0;i<3;j=i++) {printf(“%d,%d ”,i,j);} 则输入结果为1,5 2,2

5 int a=10;

a+=a-=a*=a;

则输出结果为:从右往左计算,先a-a*a=10-10*10=-90;在a+(-90)=-180

6 n u - 都只能用在两个关系同元,不同元只能做*(笛卡尔积运算)

7 线性表:顺序存储结构 链式存储结构

链表存储结构和逻辑结构未必相同,因为靠指针实现对数据的指定的,所以不能随即存储 循环链表:在链表计算中,能使空表和非空表的运算统一的结构 8结构化设计理论:结构话程序设计的核心和基础

包括:结构化分析方法,结构化设计方法,结构化编程方法。

结构化分析方法是面向数据流进行需求分析的方法,采用自顶下下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统模型

结构化程序设计原则主要概括为:自顶下下、逐步求精、限制使用goto语句

需求分析常用的主要工具:数据流图DFD、数据字典DD、判定树和判定表 详细设计常用工具:问题分析图PAD、程序流程图PFD、盒式图N-S 需求分析为软件定义时期的最后一个阶段:

需求获取——需求分析——编写需求规格说明书——需求评审

软件测试主要目的是尽可能多发现软件中的错误,尤其是发现至今尚未发现的错误

数据库(DB)的设计阶段主要包括需求分析、概念设计、逻辑设计(将E-R图转换成关系模式)、物理设计

9 数据库管理系统(DBMS):数据库系统中实现各种数据管理功能的核心软件 功能:数据组织

数据维护

数据控制 数据保护 数据服务

数据库系统(DBS)主要特点;数据集成性

数据高共享性和低冗余性 数据独立性

数据统一管理和控制

数据库系统是有数据库、数据库管理软件、数据库管理系统、数据库管理员、硬件平台和软件平台组成

扇出:一个模直接调用其他模的模块个数 扇入;调用给定模的模块个数

加工:对应一个模块数量

Ftell(fp)为fp指针指向文件当前读写位置

数据流程图有:变换型 流程型

赋值表达式中等号左边只能是变量·代表某个存储单元的表达式 注释:功能性 序言性

#include<文件名> :预处理程序在标准目录下查找指定文件

#include”文件名” :首先引用被包含文件的源文件所在目录下查找,如找不到,再到标准目

录下查找

在程序设计阶段应该采取自顶向下和逐步求精的方法,吧一个模块的功能逐步分解,细化为

一系列具体的步骤,继而用某种程序设计语言写成程序。

在面向对象的程序设计方法中,类的实例称为对象

某二叉树度为2的节点为18个,则该二叉树有叶子节点19个 K=%%d 输出为%d

Int m=n=2;错 n没有定义

Int k=k+1;错 定义的时候右边不能有K Char c=32;对 Int _abd;对

Int do=1L;错do是关键字

Int 2_abc; 错 标识符符错,不能字母开头 例题:下面不能正确赋值的是: Char *p,ch;P=&ch;scanf(“%c”,&p); Char *p;p=(char *p)malloc(1);scanf(“%c”,p); Char*p;*p=gechar();此处错误,指针应有确定地址,如下面一个 Char*p,ch;p=&ch;*p=getchar();

%c%d%c%d 中间要用(空格或者回车或者制表符号)间隔符隔开,最后按下Enter才会接受键盘输入的数据

数组下标数据类型允许为整形常量,整形表达式

数组的复制:

例题:若已包含头文件且已定义char s1[18],s2={“ABCDE”}和int i若将“ABCDE”赋给s1,错误的是 Strcpy(s1,s2); strcpy(s1,“ABCDE”);

s1=“ABCDE”;此处s1为首地址,为常值,不可赋值 for(i=1;i<6;i++) s1[i]=s2[i]; 给字符串赋初值:

Char str1[]={‘s’,’a’.’b’};错误,后面没有‘\\0’ 没有结束标识符,系统无法辨认字符串 Char str1[]={‘s’,’a’.’b’,‘\\0’}; 正确

Char str1[]={“sab”}; 其中{}常可省略,如下: Char str1[]=”sab”;

也可逐个赋值: Str1[0]=’s’;……str1[3]=’\\0’;

字符串的比较不能用==进行比较,应使用strcmp(s1,s2)来比较,当相等时,返回值为0; S1与s2相等执行if(!strcmp(s1,s2)) puts(“they are equal”);

已定义且p=&st访问结构体成员:st.i *p.i错 (*P).i p->I 算法四个特征:可行性 完整性 有穷性 拥有足够的情报 算法的时间复杂度是:算法执行过程中所需的基本运算次数,不是执行算法程序所需的时间 对线性表进行二分法排序,要求线性表 按顺序方式存储的,并按按键码值的大小排好序 线性表的顺序存储是一片连续的空间来存储数据元素特点是逻辑上相邻的元素物理存储也位置也相邻,数据之间的逻辑关系被自动隐藏在物理位置的相邻元素之间,因此,不需要另外开辟空间来保存元素之间的关系。 线性表可以随机访问

!——算术运算符——关系运算符——&&——||——赋值运算符 高到低() + - * / % + - 括号内为单目,下划线内为双目

先单目,后双目,先计算,后判断,最后特殊运算 !(逻辑非)

结构体特点:定义时系统不会为该结构分配内存空间,说明结构变量时才分配内存空间,结

构体变量在程序执行期间一直驻留在内存中

结构体中的成员命可以和程序中的变量名相同 结构体可以镶嵌定义

r读已有 w写可新建 a写其后

rb wb ab 二进制文件 r+ w+ a+ 读写 rb+二进制 wb+ ab+位置函数设置读写位置

程序“清晰第一,效率第二”考虑程序清晰的同时,一定要保持程序的清晰,可读;对符号的命名,除满足语法要求外,还有代表一定的含义

使用白盒测试时,确定测试数据应该根据程序内部逻辑和指定的覆盖标准

Sizeof是空间的长度strlen是字符串的长度,以’\\0’结束的 例题:char a[7]=”a0\\0a0\\0”; sizeof(a) 的结果是7

strlen(a) 的结果是2

int y=5,x=14;

y=((x=3*y,x-1).x-1 易错: 1 C=4; a=c++; a=c++;

a的值是多少? 答案5 2

数非空根节点为1,树为空时根节点为0 3

Num[1].Name[2]是指第二行第三个 4

#define M 2 #define N M+2 则N*2 注意括号 5

If(!c)表示c为零时为是,c非零时不成立 6

Main()

{int p[]={11,12,13,14,15,16,17,18},i=0,j=0;

While(i++<7)第一次为零,成立,但到下一条语句i就变为1了 If(p[i]%2)j+=p[i];从1开始执行到7,即第二个数到第八个数 Printf(“%d\\n”,j); 输出结果为45

7设有定义:int k=1,m=2;float f=7;则下列表达式错误的是: K=k>=k 先判断右边k>=k为真,左边k被赋值1 -k++ k先加加,在加负号

k%int(f) 错正确形式为k%(int)f

k>=f>=m先判断k>=f为假赋值0,再判断0>=m为假,赋值0 注意各种运算判断的优先顺序

(类型名)(表达式) 表达式可一个,也可多个

(int) (3.231) 右边括号可去掉

(double)10%3先将10转换成双精度在进行求余运算 (double)(10%3)先求余,后转换

方框内括号不可丢,下划线内括号单个可丢,多个不可丢

8注意%d和%c的区别 ,以下程序输出结果为68,,如果将%d改为%c则输出为D char str[]=”ABCD”,*p=str; Printf(“%d\\n”,*(p+3));

2005.9.17题

(17)下列叙述中错误的是( )。 A)在C 语言中,对二进制文件的访问速度比文本文件快(计算机用二级制对文件进行操作,所以对二进制文件不用转换而访问速度比较快)

B)在C 语言中,随机文件以二进制代码形式存储数据 C)语句FILE fp;定义了一个名为fp 的文件指针 D)C 语言中的文本文件以ASCⅡ码形式存储数据

问题:

全国计算机等级考试二级c语言复习整理笔记

笔记:1变量的作用域:形参为局部变量,函数调用完毕就失去意义,所以在同一个C程序中,,不同函数所使用的形参可以名字相同。C语言调用函数时,实参能把值传给形参,形参的值不能传递给实参(模一35)注意:函数传递只有return语句和指针才会改变原程序的值。例题:程序输出的结果是79#include
推荐度:
点击下载文档文档为doc格式
8ybgg41tbz9epjx24qwd4i6jo0x1tb0126d
领取福利

微信扫码领取福利

微信扫码分享