当前位置:文档之家› 2C语言程序设计-学习笔记

2C语言程序设计-学习笔记

2C语言程序设计-学习笔记
2C语言程序设计-学习笔记

C语言程序设计——谭浩强版

学习笔记

目录

第一章C语言概述..................................................................................................................... - 1 -

1.1 C程序结构特点16.................................................................................................... - 1 -

1.2 C程序上机步骤17....................................................................................................... - 1 -第二章程序的灵魂——算法23................................................................................................ - 2 -

2.1 算法24 ......................................................................................................................... - 2 -

2.2 算法的三种基本结构................................................................................................... - 2 -

2.3 结构化程序设计方法42.............................................................................................. - 2 -第三章数据类型运算符与表达式48...................................................................................... - 2 -

3.1 C语言的基本元素48................................................................................................... - 2 -

3.2 C的数据类型48........................................................................................................... - 3 -

3.3 常量与变量48 ............................................................................................................. - 3 -

3.4 基本类型 ...................................................................................................................... - 3 -

3.5 变量63 ......................................................................................................................... - 4 -

3.6 不同类型数据间的混合运算....................................................................................... - 5 -

3.7 函数的调用过程(补充)........................................................................................... - 5 -第四章最简单的C程序设计——顺序程序设计77 ............................................................... - 6 -

4.1 字符数据的输入输出................................................................................................... - 6 -第五章选择结构的程序设计97................................................................................................ - 6 -第六章循环结构程序设计......................................................................................................... - 6 -

6.1 语句标号 ...................................................................................................................... - 6 -

6.2 break语句和continue语句.......................................................................................... - 6 -第七章数组132.......................................................................................................................... - 7 -

7.1 构造类型 ...................................................................................................................... - 7 -

7.2 数组133 ....................................................................................................................... - 7 -

7.3 二维数组 ...................................................................................................................... - 7 -

7.4 字符串——字符数组................................................................................................... - 7 -

7.5 字符串处理函数#include .......................................................................... - 8 -第八章函数153.......................................................................................................................... - 8 -

8.1 c程序的结构154.......................................................................................................... - 8 -

8.2 函数调用参数传递....................................................................................................... - 9 -

8.3 函数变量的作用范围................................................................................................... - 9 -

8.4 变量的存储类别 .......................................................................................................... - 9 -第九章预处理命令197............................................................................................................ - 10 -

9.1 预编译命令作用 ........................................................................................................ - 10 -第十章指针211........................................................................................................................ - 11 -

10.1 变量的访问方式 ...................................................................................................... - 11 -

10.2 指针变量 .................................................................................................................. - 11 -第十一章结构体270................................................................................................................ - 12 -

11.1 结构体270................................................................................................................ - 12 -

11.2 声明结构体类型变量的方法271............................................................................ - 12 -

11.3 结构体变量引用273................................................................................................ - 13 -

11.4 结构体变量初始化................................................................................................... - 13 -

11.5 结构体数组275........................................................................................................ - 13 -

11.6 结构体类型指针....................................................................................................... - 13 -

11.7 链表283 ................................................................................................................... - 14 -

11.8 共用体297............................................................................................................... - 15 -

11.9 枚举类型301............................................................................................................ - 15 -

11.10 用typedef定义的类型304.................................................................................... - 16 -第十二章位运算308................................................................................................................ - 16 -

12.1 位段315 .................................................................................................................. - 16 -第十三章文件319.................................................................................................................... - 17 -

13.1 文件319 ................................................................................................................... - 17 -

13.2 文件的分类319 ....................................................................................................... - 17 -

13.3 C语言对文件的处理方法319 ................................................................................. - 17 -

13.4 文件结构体类型321................................................................................................ - 17 -

13.5 文件结构体数组和指针321.................................................................................... - 18 -

13.6 文件的操作321 ....................................................................................................... - 18 -

13.7 文件的定位333 ....................................................................................................... - 20 -

13.8 出错检测335 ........................................................................................................... - 20 -

13.9 小结336 ................................................................................................................... - 21 -第十四章C++对C的扩充338 .............................................................................................. - 22 -

14.1 C++的特点338 ......................................................................................................... - 22 -

14.2 C++的输入输出339 ................................................................................................ - 22 -

14.3 C++的输出cout ........................................................................................................ - 22 -

14.4 C++的输入cin 341 .................................................................................................. - 23 -

14.5 函数的重载342 ....................................................................................................... - 24 -

14.6 带缺省参数的函数344............................................................................................ - 24 -

14.7 变量的引用类型345................................................................................................ - 25 -

14.8 内置函数348 .......................................................................................................... - 26 -

14.9 作用域运算符349.................................................................................................... - 27 -

14.10 动态分配运算符new349....................................................................................... - 27 -

14.11 撤销内存运算符delete250 ................................................................................... - 27 -第十五章C++的面向对象基础352 ........................................................................................ - 28 -

第一章C语言概述

1.1 C程序结构特点16

1、C程序的基本构件——函数。

2、一个函数由函数首部和函数体两部分构成。

?函数首部一般包括函数类型、函数名、函数参数等。

?函数体一般包括声明部分和执行部分。其中:在声明部分中定义所用到的变量;执行部分则由若干个语句组成。

3、C程序只有一个main函数,且总是从main函数开始执行。

4、C语言语句必须以“;”结束。

5、用/* */作为注释。

6、C编译器一般自顶向下顺序编译C源程序,如果被调函数定义在主调函数之后位置时,要在主调函数前,给出被调函数的原型说明。以便编译器在编译被调函数的调用语句时,对调用语句进行参数检查。

如果不进行原型说明,则无法通过编译检查。

原型说明:类型说明函数名(参数类型,参数类型,……)

7、头文件——头文件包含了C语言的标准函数库的原型说明。

C语言通过使用#include <>预处理命令,将库函数的原型说明插入到源文件中。

1.2 C程序上机步骤17

1、编辑源文件 .c;

2、编译成目标文件.obj;

3、连接——将目标程序和库函数及其

他目标程序连接起来,生产可执行文件,

文件扩展名为.exe;

4、执行。

第二章程序的灵魂——算法23

2.1 算法24

1、算法——指为求解某一问题而采用的具体方法和步骤。

2、两类算法——数值运算算法和非数值运算算法

3、算法的特性——有穷性、确定性、有效性等

4、算法描述——文字描述法(如伪代码描述算法)、图形描述法(如流程图和NS流程图描述算法)。

2.2 算法的三种基本结构

顺序、选择、循环

2.3 结构化程序设计方法42

1、自顶向下——首先对问题进行分析,确定算法思路。

2、逐步细化——根据算法思路,制定原始算法流程,并不断细化流程。

3、模块设计——分解算法流程,将功能相对独立的部分划分为一个模块。

4、结构化编码——利用高级语言正确实现3种基本结构。

第三章数据类型运算符与表达式48

3.1 C语言的基本元素48

1、符号集——C语言使用的基本符号。

2、标识符——用来标记常量、变量、函数及文件名字的字符序列。

3、关键字——C程序规定的,具有特定含义、专门用作语言特定成分的一类标识符。ANSI推荐的C语言关键字是32个。关键字全部应该小写。

3.2 C的数据类型48

数据是操作的对象,数据类型是指数据的内在表现形式。如(数据代码、存储、运算)。

1、基本类型:整型、字符型、实型。

2、构造类型:在基本类型的基础上,按照某种构成规则构造而成的类型。数组、结构体、共用体、枚举型。

3、指针类型:用于存储地址的一类数据类型。

4、空类型:

编译器根据变量的数据类型,给变量分配存储单元。

3.3 常量与变量48

1、符号常量——符号常量在其作用域内不能改变,也不能被赋值。

2、变量——变量由变量名和变量值标识。

?变量名实际上是一个符号地址,编译连接程序时给每个变量名分配一个内存地址,当程序访问变量值时,实际上是通过变量名找到相应的

内存地址,从其存储单元中读取数据。

3.4 基本类型

1、整形数据在内存中的存放,是以补码形式存放的。

2、实型数据:单精度双精度。

?在内存中以指数形势存放。

?若数据超过有效位,则超过C语言规定有效位的数据将被舍去,故产生误差。

3、字符型数据:用一个字节存储单元存储。即将字符的ASCII码存储到内存单元中。

?用单引号括起来的一个字符。

?转义字符——特殊字符常量或者控制字符常量,它们都以“\”开头。

?Char、unsigned char区别:char用7位数表示,最大表示编码为127的字符;unsigned char用8位数表示,最大表示编码为255的字符。

?字符数据与整型数据可以相互赋值。

?字符数据可以以字符数据输出,也可以以整型数据形式输出。

4、字符串常量:C语言中,必须是用字符数组来保存字符串常量。在内存中顺序存储。

?用一对双引号括起来的字符序列。

?每个字符串常量结尾以一个字符\0作为结束标记。(一般由系统自动加上)。

3.5 变量63

1、自动变量——在函数体内或复合语句中定义的非静态变量称为自动变量。

?C语言编译时,不对自动变量赋初值。

?当程序执行到自动变量的作用域时,程序才为自动变量分配空间。当定义自动变量的函数或复合语句执行结束后,程序释放自动变量的存

储空间。

?自动变量保存在程序的动态存储空间。

2、静态局部变量——在函数体内或复合语句中用static定义的变量称为静态局部变量。

?C语言编译时,对静态局部变量赋初值。

?静态局部变量存储在程序的静态存储空间。

?静态局部变量在程序的整个运行期间均占用程序的静态存储空间,直到程序退出后才释放存储空间。

3、寄存器变量——用register声明的变量。

4、外部变量(全局变量)——在函数的外部定义的变量。它的作用域是从定义处开始,到本程序文件的末尾结束,在此作用域内,全局变量可以为程序的各个函数引用。

?C语言编译时,对全局变量赋初值。

?全局变量存储在程序的静态存储空间。

?全局变量在程序的整个运行期间均占用程序的静态存储空间,直到程序退出后才释放存储空间。

注意:

(1)当引用本源文件后面定义的全局变量或引用在其他源文件中定义的全局变量是,应在引用位置前,利用extern 声明该全局变量,以告诉编译器编译时,引用的是一个外部变量,在编译器连接时,将引用的外部变量的作用域扩展到本文件extern 声明处。

(2)用static 声明的全局变量,不能被其他文件引用。

注意:

(1)变量声明分为定义性声明和引用性声明。

(2)一般把建立存储空间的声明称为变量定义,把不需要建立存储空间的声明成为变量声明。

3.6 不同类型数据间的混合运算

?不同类型数据进行混合运算时,不同类型的数据要先转换成同一类型,按照类型级别由低到高(char,short—int——unsigned—long—double;

float—double)的顺序进行转换。

?强制类型转换——(类型名)表达式。强制类型转换也就是将存储数据的内存单元强制转换为另一种数据类型的单元大小。即强制将存放

数据的内存单元改变。

?赋值时进行类型转换:将数据复制给变量时,将会将数据强制转换为要赋值变量的类型。一般短类型转换为长类型时,进行符号扩展;长

类型转换为短类型时,仅赋值低位,难以保证数据的正确性。

3.7 函数的调用过程(补充)

?C函数其实就是一个程序模块。

?C函数在编译时,单独编译成一个指令模块,在函数模块开始处定义保护现场指令,将用到的CPU寄存器压入堆栈。在返回时定义了恢复

现场指令,将堆栈数据恢复到CPU寄存器。

?在调用函数时,一般利用堆栈传递输入参数;利用EAX传递输出参数,注意在函数调用完成后,要维持堆栈平衡,且函数返回输出参数

在EAX中,在使用输出参数前,不要改变EAX的值。

第四章最简单的C程序设计——顺序程序设计77

4.1 字符数据的输入输出

1、C语言没有输入输出语句,IO操作通过调用系统函数实现。

2、在程序的开头,要有:#include “stdio.h”或#include ,预定义语句,用来引用头文件,在编译时将头文件中的函数原型声明添加到源文件中。

默认输出设备——显示屏,默认输入设备——键盘。

第五章选择结构的程序设计97

第六章循环结构程序设计

6.1 语句标号

语句标号——用于定义程序中的某个位置,用标识符表示,不能只用数字。

6.2 break语句和continue语句

1、break语句结束循环语句和switch语句。

2、continue 结束本次循环,即忽略循环体中剩余的语句。

第七章数组132

7.1 构造类型

构造类型——是由基本类型按照一定规则构造而成的。(如数组、结构体、共同体、枚举型)

构造类型的每个分量(元素),是一个变量,它可以是一个简单类型或者构造类型。

构造类型的分量占用相邻的存储空间。

7.2 数组133

1、数组——是有序数据的集合,数据元素类型相同,顺序存储,占用相邻的存储空间。

2、数组——数组必须先定义后引用。静态数组变量定义时编译器自动初始化数据元素为0,动态数组变量在程序执行时分配存储空间,在未被赋值初始化之前其值随机。

3、C语言只能逐个引用数组元素,不能一次引用整个数组。

4、数组引用是“数组名+下标”引用,数组下标均为整数。如a[2]。

7.3 二维数组

1、数组元素为数组。

2、在内存中,C语言的二维数组中数组元素的存放顺序是按行存放的。

3、二维数组引用是“数组名+下标+下标”。如a[1][2]。

7.4 字符串——字符数组

1、一般用\0来标识字符串结尾。\0占用一个字符变量空间。

2、用字符串赋值字符数组时,C编译器在字符串后自动加\0赋给字符数字。

3、字符数组可以一次引用整个字符串数组。如整个字符串(数组)的输入输出,用%s格式,且在输入字符数组时,用数组名代表数组的首地址,对于二

维数组,仅仅写行下标不写列下标,也可以代表给行数组的首地址。

在用%s输入输出字符串数组时,遇到\0结束。

7.5 字符串处理函数#include

1、gets(字符数组名)

从键盘输入一个字符串(以回车结束),并返回字符数组的起始地址。

如get(str)。

2、puts(字符数组名/字符串)

将数组中的字符串(\0结尾的字符序列)输出到终端上,输完换行。

如puts(str),puts(“ok”)。

3、strcpy(目的字符数组1名,源字符串/字符数组2名)

拷贝时,将“\0”一起拷贝过去。

4、strcat(字符数组1名,字符串/字符数组2名)

将字符串/字符数组2连接到字符数组1中。

连接时,编译器去掉字符数组1的“\0”。

5、strcmp(字符串/字符数组1名,字符串/字符数组2名)

比较字符串/字符数组1名和字符串/字符数组2名的大小。

字符串/字符数组1>字符串/字符数组2,返回正数

字符串/字符数组1=字符串/字符数组2,返回0

字符串/字符数组1<字符串/字符数组2,返回负数。

第八章函数153

8.1 c程序的结构154

1、一个C程序可以分为若干个函数。

2、每个程序只能有一个主函数,C程序的执行从main函数开始,从main 函数结束。

3、函数间可以互相调用,但主函数不能被调用。

4、从用户角度看,函数可分为标准函数(库函数)和自定义函数。其中,编译器仅编译自定义函数,在连接时才将标准库函数的目标代码连接到程序。

5、一个C源程序由一个或多个文件构成,一个源程序文件是一个编译单位。

8.2 函数调用参数传递

1、值传递——如数值形参。此时,将实参值复制压栈,被调函数对复制到栈中的数值进行操作,不改变原来实参值。

2、地址传递——如数组形参(指针形参),此时,将实参数组的首地址压栈,被调函数引用实参数组的首地址,找到实参数组,对实参数组进行操作,改变实参数组值。即形参数组和实参数组共享同一单元。

8.3 函数变量的作用范围

1、局部变量——在定义局部变量的范围内有效。当局部变量重名时,有效范围小的优先。

?在函数内部定义局部变量

?函数的形式参数

?在某个复合语句中定义的变量。

2、全局变量——在函数之外定义的变量。有效范围是从定义变量的位置开始到源文件结束。

8.4 变量的存储类别

变量的存储类别,即生存期。内存中供用户使用的存储空间包括:程序区、静态存储区、动态存储区。

1、静态存储区——在编译时分配空间,在程序运行完后才释放存储空间。存储静态局部变量和全局变量。

?局部静态变量在编译时赋初值,在执行时可改变该值,但该存储空间一直保存到程序结束。

?定义局部静态变量,如果没有赋初值,编译时会自动赋默认初值。

?局部静态变量只能在定义它的函数中使用。

?全局变量都是静态的。

?利用extern 外部变量方式表示变量的定义在别的文件中,提示编译器遇到此变量时,在其他模块中寻找其定义。而函数则是利用函数原型

来声明。

?用static 关键字说明一个不能在其他源文件中引用的全局变量。即静态全局变量在声明它的整个文件都是可见的,但是在文件之外是不可

见的。

2、动态存储区——仅在在执行时分配空间,用完后释放存储空间。存放自动变量和形式参数。

?寄存器变量——用register关键字说明。寄存器变量对寄存器的占用是动态的。

第九章预处理命令197

9.1 预编译命令作用

预编译命令主要完成宏定义、文件包含、条件编译三种功能。

1、宏定义——指用一个指定的标识符(名字)来代表一个字符串。在预编译时,将宏名替代成字符串的过程称为宏展开。如:

?# define PI 3.1415926 定义宏,

# undef PI 终止宏定义的作用域。

?#define V(a,b,c) a*b*c 定义带参数的宏。当宏展开时,将引用宏名语句中的实参字符串代替宏定义的形参字符串。

int v =V(2,3,4) 则宏展开后为:int v= 2*3*4;

2、文件包含——指一个源文件可以将另一个源文件的全部内容包含进来。如:

?#include “文件名”或

#include <文件名>

?编译预处理时,将包含文件的全部内容复制到源文件中。在编译时作为一个源程序来编译。

3、条件编译——在预编译处理时,确定编译时要编译的部分。如:

?# ifdef 标识符

程序段1

# else

程序段2

# endif

?# if 表达式

程序段1

# else

程序段2

# endif

第十章指针211

10.1 变量的访问方式

1、直接访问——如:int a = 10;

2、间接访问——定义一个指针变量p,存放变量a的首地址,通过p访问变量a。则称指针变量p指向变量a。

如:int a=10;int *p1; p=&a;b=*p1; 或*p1=100;等价于a=100;

10.2 指针变量

1、指针变量的类型——是指该变量指向的内存数据的数据类型。

2、必须用引用变量的地址给指针变量赋值。

3、可以给指针变量赋值空值null,防止指针变量存储随机值导致系统错误。

4、数组名代表数据的首地址。数组指针或数组名+1,指向下一个数组元素的存储地址。

声明格式:数据类型*p ;

赋值格式:p=a;或p=&a[0];

引用格式:*p=常量;等价于p[0]=常量;等价于a[0]=常量;等价于*a=常量;

*(p+1)=常量;等价于p[1]=常量;等价于a[1]=常量;

等价于*(a+1)=常量;

5、数组名和指针变量虽然都可以代表数组的首地址,但是指针变量值可以改变,而数组名的值不可以改变。

6、函数的指针专门用来存放函数的入口地址,当把函数的地址赋值给它时,它就指向该函数的入口地址。

声明格式:数据类型(*指针变量名)()如:int (*P)();

赋值格式:p=max;注max为定义的函数名;函数名代表该函数的入口地址。

引用格式:c=(*p)(a,b);等价——c=max(a,b);

7、只能将变量已分配的地址赋值给指针变量,不能直接将整数赋值给指针变量。

8、指针变量可以有null值,防止指针误作用。

第十一章结构体270

11.1 结构体270

1、作用——将不同类型的数据组合成一个有机的整体。

2、结构体的定义——结构体是一种数据结构,按照某种规则定义,将若干个不同数据类型(也可相同)的数据项的组合成的一个有机整体。

3、声明结构体类型的形式:struct 结构体类型名字{成员列表};

?成员列表形式:类型符成员名如:int num;

11.2 声明结构体类型变量的方法271

1、先定义结构体类型:struct 结构体类型名字{成员列表};再定义结构

体变量:struct结构体类型名字结构体变量名。

2、可在定义结构体类型时,定义结构体类型变量。struct 结构体类型名字{成员列表}结构体类型变量1,结构体类型变量2,……;

11.3 结构体变量引用273

1、不能将一个结构体变量作为一个整体进行输入输出,只能对结构体变量成员分别赋值。

2、结构体变量成员引用方式:结构体变量名.成员名

3、如果结构体变量成员是另一个结构体变量,则要用若干个成员运算符,一级一级找到最低一级的成员。

11.4 结构体变量初始化

1、在声明变量时整体赋值。

2、复制相同结构的变量赋值。

3、除以上两种情况下可以对结构体类型变量整体赋值,其余情况下只能对变量成员分别赋值。

11.5 结构体数组275

1、结构体数组在内存中连续存放。

2、声明方式:与定义结构体变量方法相同。见11.2,只是在变量名后+[n]。也可在定义结构体数组时直接初始化结构体数组,此时可采用+[]的形式。

3、初始化方式:同定义结构体变量方法。

11.6 结构体类型指针

结构体类型指针——是指指向结构体变量所占据的内存的起始位置的指针。

声明形式:struct 结构体类型名*指针名。如:struct student *p;

赋值形式:指针名=&结构体变量。如:p=&studengt1;

引用形式:(*P).成员名或p->成员名。*p表示指针p指向的结构体变量。

注意:

1、定义的结构体类型,和声明结构体变量时不分配空间。

2、结构体可以嵌套定义。

3、结构体成员名可以与变量名相同。

11.7 链表283

1、单项链表结构:链表有一个头指针和表尾null指针。每个结点包含实际数据和下一个结点的地址。

2、可以用结构体类型指针,将多个结构体变量链接起来形成结构体链表。如:

11.8 共用体297

1、共用体指将几种不同类型的变量存储在同一段内存单元中。

2、共用体变量的存储单元大小等于最长成员变量所占内存的长度

3、共用体变量中起作用的是最后一次存放成员。

4、共用体类型声明方式:union 公用体类型名称{成员变量列表};

5、共用体变量声明方式:(1)union 公用体类型名称{成员列表}共用体变量;(2)先声明共用体类型,然后声明共用体变量,union 公用体类型名称共用体变量。

11.9 枚举类型301

1、枚举类型——指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内的一个。

2、声明枚举类型:enum 枚举类型名称{枚举常量列表};

3、声明枚举变量:enum 枚举类型名称枚举类型变量;

11.10 用typedef定义的类型304

1、typedef 的作用——可以用typedef声明新的类型名来代替已有的类型名。

2、声明方式:typedef 类型名称新的类型名称。

第十二章位运算308

12.1 位段315

1、位段——是一种特殊的数据结构,它允许定义一个由位组成段,并可为它赋以一个名字。位段一般作为结构体的成员。

2、声明方法:

?位段结构类型声明方法:struct 结构体类型名称{位段成员列表};

?位段结构成员(即位段变量)声明方法:unsigned int 位段变量:n;

如:

?struct packed_struct{

unsigned int f1 :1;

unsigned int f2 :1;

unsigned int f3 :1;

unsigned int type :4;

unsigned int index :9;

};

3、位段结构类型变量声明方法:同结构体。

4、同一位段必须存储在同一个存储单元中,不能跨两个单元。

第十三章文件319

13.1 文件319

1、文件——指存储在外部介质上的数据集合(数据文件),操作系统以文件为单位对数据进行管理。

13.2 文件的分类319

1、从用户的观点看:

?特殊文件——指标准输入输出文件或标准设备文件。

?普通文件——指磁盘文件。

2、从操作系统的角度看:每一个与主机相关联的输入输出设备都可看作一个文件。

(1)根据文件的组织形式分为:顺序存取文件和随机存取文件。

(2)根据文件的存储形式分为:ASCII文件和二进制文件。

13.3 C语言对文件的处理方法319

C语言中对文件的存取是以字符(字节)为单位的,一个输入输出流就是一个字节流或二进制流。

文件的存储方式分为缓冲文件系统和非缓冲文件系统。区别是缓冲文件系统是系统自动开辟缓冲区,非缓冲文件系统是由程序为每个文件设定缓冲区。

ANSI C标准只采用缓冲文件系统来处理文件。

13.4 文件结构体类型321

缓冲文件系统中,每个被使用的文件都在内存中开辟一个FILE结构体类型的区,用来存放文件的有关信息(文件名字、文件状态、当前位置、缓冲区等有关信息),

FILE结构体类型原型:

?typedef struct{

short level; /*缓冲区“满”或“空”的程度*/

unsigned flags; /*文件状态标志*/

char fd; /*文件描述符*/

unsigned char hold; /*如无缓冲区不读取字符*/

short bsize; /*缓冲区的大小*/

unsigned char *buffer; / *数据缓冲区的位置*/

unsigned char *curp; /*指针,当前的指向*/

unsigned istemp; /*临时文件,指示器*/

short token;/*用于有效性检查*/}FILE;

13.5 文件结构体数组和指针321

FILE *fp——声明了一个指向FILE类型结构体的指针变量。

FILE f[5]——声明了一个文件结构体数组f,它有5个元素,存放5个文件的信息。

FILE 变量——声明了一个文件结构体变量。

13.6 文件的操作321

C语言要求,在文件读写之前要“打开”文件,在使用结束后要“关闭”文件。

1、打开文件:

?FILE *fp;

?fp=fopen(“文件名”,“使用文件方式”);指针变量指向被打开的文件。

例如:fp = fopen(“a1”,“r”)。

2、关闭文件:

fclose(文件指针);返回值:关闭成功返回值为0;否则返回EOF(-1) 。

使文件指针变量不指向该文件,也就是文件指针变量与文件“脱钩”,此后不能再通过该指针对原来与其相联系的文件进行读写操作。

高级语言程序设计(VB)随堂练习答案DOC

高级语言程序设计(VB)随堂练习答案 第1章概述·1.1程序设计语言 当前页有1题,你已做1题,已提交1题,其中答对1题。 1. https://www.doczj.com/doc/da16551023.html,是一种( )程序设计语言。 A. 面向事件 B. 面向属性 C. 面向对象 D. 面向过程 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 第1章概述·1.2程序设计 当前页有2题,你已做2题,已提交2题,其中答对2题。 1.把源程序代码翻译为目标程序代码可以使用的翻译方式为( )。 A. 嵌入方式 B. 运行方式 C. 连接方式 D. 解释方式或编译方式 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 2.编译程序时出现的错误称为( ) 错误。 A. 语法或编译 B. 运行 C. 逻辑 D. 计算 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 第1章概述·1.3建立简单控制台应用程序 当前页有3题,你已做3题,已提交3题,其中答对3题。 1.存储数据不属于数据处理功能。

答题:对. 错. (已提交) 参考答案:× 问题解析: 2.控制台应用程序至少有一个Main过程。 答题:对. 错. (已提交) 参考答案:√ 问题解析: 3.上机时,程序编译和连接成功后,系统自动生成以.exe为扩展名的可执行文件。 答题:对. 错. (已提交) 参考答案:√ 问题解析: 第2章基本数据类型与表达式·2.1基本字符集和词汇集 当前页有3题,你已做3题,已提交3题,其中答对3题。 1.下面选项中()是算术运算符。 A. % B. & C. Mod D. And 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 2.下面不合法的标识符是()。 A. Go_To B. Integer C. 姓名 D. Int1 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 3.在程序设计语言系统中具有固定语法含义的符号串称为标识符。 答题:对. 错. (已提交) 参考答案:× 问题解析: 第2章基本数据类型与表达式·2.2 基本数据类型

全国高等教育自学考试高级语言程序设计

全国高等教育自学考试高级语言程序设计 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

2001年10月全国高等教育自学考试高级语言程序设计(一) 试卷 第一部分选择题 一、单项选择题 (本大题共20小题,每小题1分,共20分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。 1. C语言程序编译时,程序中的注释部分【】 A. 参加编译,并会出现在目标程序中 B. 参加编译,但不会出现在目标程序中 C. 不参加编译,但会出现在目标程序中 D. 不参加编译,也不会出现在目标程序中 2. 下列表达式的值为0的是【】 A. 3﹪5 B. 3/ C. 3/5 D. 3<5 3. 正确的C语言用户自定义标识符是【】 A. print B. float C. when?

D. random﹪2 4. 设int a = 3;则表达式a<1&& - - a>1的运算结果和a的值分别是【】 A. 0和2 B. 0和3 C. 1和2 D. 1和3 5. 下列叙述中,正确的是【】 A. 引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致 B. 宏名必须用大写字母表示 C. 宏替换不占用运行时间,只占编译时间 D. 在程序的一行上可以出现多个有效的宏定义 6. 下列保留字中用于构成循环结构的是【】 A. if B. while C. switch D. default 7. 与语句if(a>b)if(c>d)x = 1;else x = 2;等价的是【】 A. if(a>b){if(c>d) x = 1;else x = 2;} B. if(a>b){if(c>d) x = 1;} else x = 2;

《高级语言程序设计》期末考试试卷

武汉大学计算机学院 2006-2007学年度第2学期2006级 《高级语言程序设计》期末考试试卷A卷 姓名:学号:专业: 说明:开卷考试,答案请全部写在答题纸上,写在试卷上无效。 一.单项选择题:(选择最合适的答案填空,每小题2分,共16分) ()1、在执行以下程序时,从键盘上输入9,则该程序输出结果是__________。 #include int main( ) { int n; scanf("%d",&n); if(n++<10) printf("%d\n",n); else printf("%d\n",n--); return 0; } A、8 B、9 C、10 D、11 ()2、表达式0156637&~0777的结果是____________。 A、0156000 B、156000 C、0637 D、637 ()3、假设有如下定义:int m=1,n=1; 则执行表达式(m=’5’<’3’)&&(n=’7’>’9’)后,m和n的值分别是_____________________。 A、1和1 B、1和0 C、0和1 D、0和0 ()4、表达式-11%3+7/2的结果是____________。 A、5.5 B、5 C、1.5 D、1 ()5、设有如下宏定义: #define BOOK(x) 8-x 则执行赋值语句v=BOOK(2)*BOOK(4); /*v为int型变量*/ 后,变量v的值为。 A、-12 B、0 C、24 D、44 ()6、设有如下定义: int a[6][4]; int (*p)[4]; p=a; 则与表达式*p+3等价的选项是_________。 A、a[0][3] B、&a[0][3] C、a[3][0] D、&a[3][0] ()7、假设有以下定义: static char *a=”h\te\nY\0W\0o\b”;

《高级语言程序设计》复习题及答案

一、选择题 1.以下叙述正确的是( ): A)在C程序中,main函数必须位于程序的最前面 B) C程序的每行只能写一条语句 C) C语言使用库函数实现输入输出操作 D)注释中的拼写错误会影响编译结果 2、以下说法中正确的是() A) C语言程序总是从第一个的函数开始执行 B) C语言程序总是从main()函数开始执行 C)在C语言程序中,要调用的函数必须在main()函数中定义 D)C语言程序中的main()函数必须放在程序的开始部分 3、下列选项种说法正确的是( ) A)函数由声明部分和执行部分两部分组成 B)语言中main函数一定在程序的开始部分 C)C语言程序总是从第一个定义的函数开始执行 D)C程序的每行中只能写一条语句 4、设有说明:int a;float b; char c; double d; 则表达式1.3*a+2*b*c+d*(int) 2.6 值的类型为( )。 A)doubleB) char C) floatD) int 5、C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 6、以下不正确的C语言标识符是( )。 A) ABC B) abc C)a_bc D) void 7、下列运算符中优先级最高的是( ) A)< B)+ C)&& D)!= 8、以下选项中属于C语言中合法关键字的是( ) A)Float B)abc C)int D)CASE 9、若x、i、j和k都是int型变量,计算下面表达式后,x的值为( ) x=(i=4,j=16,k=32) A)4 B)16 C)32 D)52 10、在C语言中,要求数据必须是整型的运算符是( ) A)/ B)+ + C)!=D) % 11、若整型变量x的值为8,则下列表达式中值为1的表达式是 A)x+=x-=x B) x%=x-1 C) x%=x%=3 D) x/=x+x 12、若w=1,x=2,y=3,z=4,则条件表达式“w > x? w : y< z ? y : z”的值是( ) A)4 B)3 C)2 D)1 13、有以下程序,程序运行后的输出结果是。 main() {inti=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); }

《高级语言程序设计》答案

1. 输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。#include int main() { int i,j,t; int max(int,int); int min(int,int); scanf("%d%d",&i,&j); if(i int main() { int max4(int,int,int,int); //对max4的函数声明 int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); //输入4个数 printf("max=%d\n",max4(a,b,c,d));//调用4个数中的最大者 return 0; } int max4(int a,int b,int c,int d) //定义max4函数 { int max2(int,int); //对max2的函数声明 return max2(max2(max2(a,b),c),d); //调用max2把作为函数值带回main函数} int max2(int a,int b) { return(a>b?a:b); //返回条件表达式的值,即a和b中的大者 } 3. 用递归调用的方法求5!。 #include int main() { int fac(int); int n; scanf("%d",&n);

华南理工大学高级语言程序设计作业

华南理工大学高级语言程序设 计作业(总3页) -CAL-FENGHAI.-(YICAI)-Company One1 -CAL-本页仅作为文档封面,使用请直接删除

《高级语言程序设计(https://www.doczj.com/doc/da16551023.html,)》作业 2014.3 教学中心:专业层次: 学号:姓名: 一.判断题(如正确打√,否则,打×。) 1.存储数据不属于数据处理功能。N 2. Write_1 和学校$ 是正确的变量名。Y 3.若一个整型变量说明了之后没有给它赋值,则它的值为0。Y 4.判别ch是否为小写字母,若是,输出“yes”;否则,输出“No”的块结构条件语句为:Y If Asc(ch)>=97 And Asc(ch)<=122 Then WriteLine (“Yes”) Else WriteLine(“No”) End If 5.。输入结构变量的值就是输入该变量的各个元素的值Y 6.函数过程定义中必须有一个赋值语句把表达式的值赋给函数过程名。N 7. 事件是由https://www.doczj.com/doc/da16551023.html,系统预先设置好或者在程序中由编程者自己设计的,它能够被对象识别的动作。Y 8. 从文件取出一组数据以流的方式存放到程序的变量或数组中称为向流写入数据。N 9. 文件流类FileStream用于打开和关闭文件,并提供对文件按字节的读/写操作。Y 10. 在VB中不可以把类型说明符放在变量名的末尾来说明变量的类型。N 二.单项选择题 1.下列变量名中错误的是( “年龄” )。 2.设X为整型变量,不能正确表达1< X < 5的逻辑表达式是(1< X <5 )。 3.设有数组说明语句:Dim c( 10) AS Integer,则下面表示数组c的元素选项中 (c(11) )是错误的。 4.在过程的形式参数前面加上关键字( ByVal ),则该参数说明为引用参数。 D. 5. 设已定义函数过程f,它有三个实型传值参数;设a,b和c为实型变量,则调用该函数的正确形式为( f a+b, b+c, c+a )。 6.若使命令按钮不可见,可以设置Visible属性的值为( False )。 7.要使单选按钮RadioButton处于选中或未选中状态,需由( Checked )属性来决定。 8.要删除列表框中的某一个项目,需要使用(ReMove )方法。 9.要设置计时器的时间间隔可以通过( InterVal )属性来实现。 10.下面( StreamWriter )类用来把数据写入文本文件中。 三.简答题 1. 在控制台应用程序中,如何输入输出一维数组的元素 1. 答:输入一维数组元素的值可以使用赋值语句,也可以使用Console类的输入方法Read和ReadLine从键盘输入数据。输出一维数组元素的值可以使用Console类的Write方法和WriteLine方法。 2.若有数组定义语句:Dim c%() = { 76, 80, 75},则数组c有多少个元素这些元素是什么它们的初值是多少 3.答:数组c共有3个元素c(0)、c(1)和c(2),它们的初值分别为1、2和3,即c(0)=76,c(1)=80和c(2)=75。 3. 文件操作可以分为哪些步骤

高级语言程序设计期末考试试卷及答案(-E卷)

高级语言程序设计期末考试试卷及答案( E卷)2005-2006学年上学期考试科目: 考试类型:(闭卷)考试时间:120分钟 考试须知: 1.答案必须写在“答题卡”上,写在试卷上不得分。 2.必须在答题卡上正确填写班级、学号、姓名等内容。 一、选择题(共20小题,每小题1分) 1. 下列C常量中不合法的是( ) A.'\500' B.0500 C.'500' D."500" 2. C语言中,若对函数类型未加显示说明,则函数的隐含类型为()类型 A.void B.int C.空D.char 3. C语言程序的三种基本结构是() A. 嵌套结构、递归结构、顺序结构 B.递归结构、循环结构、转移结构 C. 顺序结构、选择结构、循环结构 D.循环结构、转移结构、顺序结构 4. 一个可执行C程序的开始执行点是() A.名为main()的函数B.包含文件的第一函数 C.程序中的第一个语句D.程序中的第一个函数 5. 下面程序段的执行结果是() int a=5, b=4, c=3; if(a>b>c) printf("a>b>c"); else printf("no"); A.a>b>c B.no C.编译错误D.运行错误

6. 合法的数组定义是( ) A .int a[] = “string ” B .int a[5] = {0,1,2,3,4,5} C .char a[] = {0,1,2,3,4,5} D .char s = “string ” 7. 在C 语言中,提供的合法关键字是( ) A .printf B .cher C .case D .Else 8. 在C 语言中,合法的字符常量是( ) A .’\081’ B .’\0’ C .’ab ’ D .”a ” 9. putchar 函数可以向终端输出一个( )。 A)字符串 B)实型变量值 C)整型变量表达式 D)字符或字符型变量 10. 在C 语言中,一个char 变量占( )字节。 A .1 B .2 C .4 D .8 11. 调用scanf(“%d,%d ”,&a,&b);时,正确的键盘输入是( ) A .12,23 B . a=12,b=23 C .12:23 D . 12 23 12. 若有int s[4] = {1,2,3,4};,则s[s[0]+ s[3]-s[2]] 的值是( ) A . 1 B . 2 C . 3 D . 4 13. 在C 语言中,一般1个float 类型变量占4个字节,则设float x[2][4];假设数组 x 开始于内存1000单元,则x[1][2]的存储始于( ) A.1004 B.1012 C.1020 D.1024 14. 下面对C 语言运算符的优先级叙述正确的是( )。 A . !(非) > 关系运算符 >算术运算符 > &&(与) > ||(或) > 赋值运算符 B . !(非) > 算术运算符 > 关系运算符 > &&(与) > ||(或) > 赋值运算符 C . 算术运算符 > 关系运算符 > !(非) > &&(与) > ||(或) > 赋值运算符 D . 算术运算符 >!(非) >关系运算符 > &&(与) > ||(或) > 赋值运算符 15. 若有代数式bc y x 32,则正确的C 语言表达式是( ) A . x^2*y/3*b*c B .x*x/b/c*y/3 C . x*x*y/3*b*c D .x^2*y/3/b/c

自考高级语言程序设计复习题

2013年海南省衔接课程考试 高级语言程序设计复习题 一、单项选择题(在每小题列出的四个选项中只有一个是符合题目要求的,请将其代码填在题后的括号内。错选或未选均无分。) 1、在以下给出的表达式中,与while E中的E不等价的表达式是()。 A)(!E=0) B)(E>0||E<0) C)(E==0) D)(E!=0) 2、若x和y是代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是()。 A)abs(x-y)<10 B)x-y>-10&&x-y<10 C) @(x-y)<-10||!(y-x)>10 D)(x-y)*(x-y)<100 3、以下能够正确判断char型变量c是否为大写字母的表达式是()。 A) (‘A’<=c)AND (‘Z’>=c) B)(‘A’<=c)& (‘Z’>=c) C)(‘A’<=c) && (‘Z’>=c) D)以上答案都不对 4、下列叙述正确的是()。 A) break语句只能用于switch语句 B)在switch语句中必须使用default C) break语句必须与switch语句中的case配对 D)在switch语句中,不一定使用break语句 5、以下选项中,不能看作一条语句的是()。 A){ ;} B)a=0,b=0,c=0; C) if(a>0); D)if(b==0) m=1;n=2; 6、以下程序段中与语句k=a>b?(b>c?1:0):0)功能等价的是()。 A) if(a>b&&(b>c)) k=1; B) if(((a>b)||(b>c)) k=1; else k=0; else k=0; C)if(a<=b) k=0; D)if(a>b) k=1; else if(b<=c) k=1; else if(b>c) k=1; else k=0; 7、若有以下程序: main() { int y=10; while(y--); printf(“y=%d\n”,y); }

2020年10月全国高级语言程序设计(一)自考试题及答案解析.docx

??????????????????????精品自学考料推荐?????????????????? 全国 2018 年 10 月高等教育自学考试 高级语言程序设计(一)试题 课程代码: 00342 一、单项选择题(本大题共20 小题,每小题 1 分,共 20 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括 号内。错选、多选或未选均无分。 1.下列不正确的转义字符是() . A. ′ ′ B. ′ ″ C. ′ \086′ D. ′ \0′ 2.下列运算符中,优先级最高的是() A. [] B.++ C.% D.&& 是 C 语言保留字的是 () 3.下列标识符中,不. A. char B. while C. min D. default 4.下列数据中,不.是 C 语言常量的是 () A. ′ \n′ B. ″ a″ C. e-2 D. 012 5.若定义了 int a; char b; float c ;,则表达式a*b-c 的类型是 () A. float B. int C. char D. double 6.若定义了 int a, x,y;,则下列语句中不.正确的是 () A. x=3 ,y=5 ; B. ++x ; C. x=y+=x*30 ; D. a=y+x=30 ; 7.调用函数时,若实参是一个数组名,则向函数对应的形参传送的是() A. 数组的长度 B.数组的首地址 C. 数组第一个元素的值 D. 整个数组元素的值 8.在 C 语言中,函数返回值的类型是由() A. 定义的函数类型决定 B.return 语句中表达式的类型决定 C.调用该函数的主调函数类型决定 D. 调用该函数时系统状态决定 9.若定义了 int b [][ 3]={ 1,2, 3,4, 5, 6, 7};,则 b 数组第一维的长度是 () A. 2 B. 3 C. 4 D.无确定值 1

程序和程序设计语言(教学设计)

第3节程序和程序设计语言 一、教学目标 知识目标:1、掌握计算机程序的概念 2、掌握计算机程序的概念、计算机语言分类及其特征。 技能目标:通过阅读程序,学生主动探寻算法与程序的关系 情感态度与价值观:编程语言没有好坏之分,应选择适合自己的语言深入学习 二、教学重点和难点 重点:1、计算机语言的概念。 2、高级语言的特征 难点:程序的编译与解释 三、教学过程 以九歌机器人七秒成诗引入新课 (一)程序和程序设计 计算机能做很多的事情,包括各种控制活动,它们都是在程序的控制和指挥下进行的,可以这么说:离开了程序,计算机什么也干不了。 1、程序及其特征 (1)程序(Program):是一组操作的指令或语句的序列,是计算机执行算法的操作步骤。 (2)程序的特征: ●解决问题的每一个算法步骤对应着程序中的一个或多个语句实现一个或多个操作, 每一个操作都有执行对象。 ●在程序中被施行操作的对象称为数据。 ●除了有特殊的程序转向控制语句外,程序都是从第一条语句开始顺序执行。 2、程序的基本结构 (1)顺序结构 (2)选择结构 (3)循环结构 3、程序设计:从分析问题、建立模型、设计算法、编写修改程序,一直到程序正确运行的整个过程。

(二)程序设计语言 程序设计语言:是指人们编制程序所使用的计算机语言。 程序设计语言的分类: 机器语言 汇编语言 高级语言 1、机器语言 机器语言(machine language):把直接用二进制代码表示的计算机指令系统称为机器语言。 机器语言特点: ①用机器语言编写的程序可以被计算机直接执行,速度快,占用内存少。 ②编写程序相当繁琐。 ③程序不具有通用性。 2、汇编语言 汇编语言(assembly language):用符号和数字来代替二进制代码的计算机语言称为汇编语言。 汇编语言特点: ①不能被计算机直接执行。 ②编写程序比机器语言方便得多。 ③程序不具有通用性。 3、高级语言 高级语言(high-level language):由一系列按一定语法规则的语句组成(与计算机内部结构无关、通用、用其编写的程序需要“翻译”后才可执行)。 高级语言特点: ①不能被计算机直接执行。 ②易读、易改,编写程序方便。 ③程序通用性好。 补充:Basic语言的发展历程 BASIC(Beginner’s All-purpose Symbolic Instruction Code的缩写,即初学者通用符号指令代码)语言简单易学,适合初学者。

暨南大学 2008高级语言程序设计试卷及答案

暨 南 大 学 考 试 试 卷 一、单项选择题(共20小题,每小题2分,共40分) 1、以下叙述中正确的是___________(C ) A 、C 语言程序总是从第一个的函数开始执行 B 、在 C 语言程序中,要调用的函数必须在main ()函数中定义 C 、C 语言程序总是从main ()函数开始执行 D 、C 语言程序中的main ()函数必须放在程序的开始部分 2、以下值不等于3的表达式是_____________(D ) A 、'D'-'A' B 、'6'-'3' C 、'\011' D 、3+'\0' 3. 能正确表达字母c 为大写字母的C 语言表达式是__________(D ) A )c>=’A’ and c<=’Z’ B )c>=’A’ || c<=’Z’ C )c>=’A’ or c<=’Z’ D )c>=’A’ && c<=’Z’ 4. 设变量a 是整型,f 是实型,i 是双精度型,则表达式10+'a'+i*f 值的数据类型为_____(C ) A )int B )float C )double D )不确定 5. 有函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));,此语句的实参数为________(A )

A、3 B、4 C、5 D、有语法错误 6. 设有语句int a=5,b; b=a>3&&0, a++; 执行后变量b的值为__________(C) A)5 B)6 C)0 D)1 7. 判断两个字符串s1和s2是否相等,应该使用____________(D) A)if (s1= =s2) B)if (s1=s2) C)if (strcpy(s1, s2)) D)if (strcmp(s1,s2)= =0) 8. 下面程序的执行结果是____________(B) main() { int n=1; n++; printf("%d%d%d",n,n++,――n);} A、2 2 1 B、2 2 2 C、2 3 2 D、2 1 1 9. 循环语句while(!E);中的表达式!E等价于________(C) A)E!=0 B)E!=1 C)E==0 D)E==1 10. 设有数组定义: char array []="China"; 则数组array所占的存储空间为___________(C)A)4个字节B)5个字节C)6个字节D)7个字节 11. 下列关于C语言的函数参数说法不正确的是__________(B) A)实参可以是常量,变量或表达式B)形参可以使常量,变量或表达式 C)在函数定义时必须指定形参的类型D)形参与实参的类型应相同或赋值兼容 12. 下列程序执行后的输出结果是__________(A) void func(int *a,int b[]) { b[0]=*a+6; } main() { int a,b[5]; a=0; b[0]=3; func(&a,b); printf("%d\n", b[0]);} A、6 B、7 C、8 D、9 13. 若有语句:int s[3][3],(*p)[3];p=s; 则对s数组元素的引用形式正确的是__________(C)A)p+1 B)*(p+1) C)p[1][2] D)*(p+1)+2 14. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是________(B) A、地址传递 B、单向值传递

高级语言程序设计期末试卷

2017年秋季《高级语言程序设计》期末试卷 批次专业:2017年春季-电气工程及其自动化(专升本)课程:高级语 言程序设计(专升本) 1. ( 单选题 ) 能将高级语言编写的源程序转换为目标程序的是 _____________ 。(本题2.0分) A、链接程序 B、解释程序 C、编译程序 D、编辑程序 学生答案:C 标准答案:C 解析: 得分:2 2. ( 单选题 ) C语言程序编译时,程序中的注释部分()。(本题 2.0分) A、参加编译,并会出现在目标程序中 B、参加编译,但不会出现在目标程序中 C、不参加编译,但会出现在目标程序中 D、不参加编译,也不会出现在目标程序中 学生答案:D

标准答案:D 解析: 得分:2 3. ( 单选题 ) C 语言中的标识符只能由字母、数字和下划线三种字符组成 , 且第一个字符( )(本题2.0分) A、 必须为下划线 B、 可以是字母、数字和下划线中的任意一种 C、 必须为字母或下划线 D、 必须为字母 学生答案:C 标准答案:C 解析: 得分:2 4. ( 单选题 ) 一个 C 程序的执行是从( )(本题2.0分) A、 本程序的main函数开始,到main函数结束 B、 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、 本程序的main函数开始,到本程序文件的最后一个函数结束 D、 本程序文件的第一个函数开始,到本程序main函数结束 学生答案:C 标准答案:C 解析: 得分:2

5. ( 单选题 ) C 语言提供的合法关键字是( ) (本题2.0分) A、swicth B、chan C、case D、default 学生答案:D 标准答案:D 解析: 得分:2 6. ( 单选题 ) C语言程序的基本单位是()(本题2.0分) A、程序行 B、语句 C、函数 D、字符 学生答案:C 标准答案:C 解析: 得分:2 7. ( 单选题 ) 组成C语言程序的是( )。(本题2.0分) A、过程 B、函数

高级语言程序设计答案

《高级语言程序设计答案 一、选择题(每题2分,共30分,请将答案写在后面的答题栏...上) 1-5 BDBBB 6-10 BBDCC 11-15 CDBAB 二、填空题(1-3题每空1分,4-8题每空2分,共20分) 1、对象,事件驱动 2、frm ,vbp 3、函数 过程 4、31 5、9 6、countn<5 n mod 3=1 and n mod 5=1 and n mod 7=1 8、7 7、*n s+1/f 三、综合题(每题5分,共25分) 1、 (2*y)/(a*x+b*y)(a*x-c*z) 2、(x+sqr(x^2+1))^(1/3) 3、30 60 4、7 5、1)建立界面。先建立窗体,再利用控件在窗体上创建各种对象。 2)设置属性。设置窗体或控件等对象的属性。 3)编写代码。编写对象的事件代码。 四、程序设计题(8+8+9,共25分) 1:x 的值由文本框输入,计算分段函数的值:y=???????≥<≤<≤<2 ,321,210,10,0x x x x 。 private sub command1_click( ) Dim x% x=text1.text if x>=2 then y=3 elseif x>=1 then y=2 elseif x>=0 then y=1 2:统计100以内被3整除的数比被5整除的数多多少。 Private Sub Command1_Click() Dim i%, s1%, s2% For i = 1 To 100 If i Mod 3 = 0 Then s1 = s1 + 1 If i Mod 5 = 0 Then s2 = s2 + 1 Next i

《C语言程序设计》教案设计(清华谭浩强)

第一章C语言及程序设计概述 本章要求: 了解C语言的特点、C语言与其它高级语言相比有什么异同; 了解C程序在PC机上的建立、编译和运行过程; 了解C语言程序设计思想的基本篇; 重点:①C语言的主要特点; ②C语言在PC机上的运行过程及上机操作过程; ③常用算法的应用 难点:无 一、C语言概述 C语言是目前国际上在各种计算机运行较为广泛流行的一种高级语言。 主要表现为: C语言:适合于作为系统描述语言——可用来写系统软件。 具有高级语言的特点,又有低级语言(汇编语言)的特点。 C语言:是AT&T贝尔实验室的Dennis Ritchie在1972年发明的。 C语言:是在B语言的基础上发展起来的。(ALGOL 60) C语言:最早开始是用于UNIX操作系统。(C语言和UNIX是相辅相成的) DBASE 、Microsoft Exel 、 Microsoft Word、PC-DOS等,则是用C语言加上若干汇编子程序编写的。 1983年:——制定的新标准,称为(美国国家标准化协会)ANSI C 1987年:——Turbo C1.0 (Borland) 1988年:TC 1.5(图形和文本窗口) 1989年:——Turbo C2.0 (DOS操作系统、查错、Tiny模式生成com文件) 1991年:——Turbo C++(3.0) 支持windows 3.X 说明:Turbo C语言可以在程序的任何地方嵌入汇编代码,提高速度,可以直接使用存储器和寄存器。 二.C语言的特点 1.语言简洁、紧凑、使用方便、灵活 C语言:——共有32个关键字,9种控制语句; 程序书写自由,主要用小写字母表示; 2.运算符丰富

《高级语言程序设计》期末考试试卷附答案

《高级语言程序设计》期末考试试卷附答案 一、选择题(共20题,每题3分,共60分) 1. 下列四个选项中,均是合法的整型常量的选项是() A.160 –0XFFFF 011 B. -0XCDF 01A 0XE C. -01 986,012 0688 D. -0X48a 2e5 0x 2. 下列四个选项中,均是不合法的浮点数的选项是() A.160.0.12 e3 B. 123 2e4.2 .e5C.18 0.0 123e4 D. e3. 234 1e3 3. 合法的C语言字符常数是() A.'\t' B. "A"C.54 D. A 4. 在C语言中,要求运算数一定是整型的运算符是() A./ B. ++C.!= D. % 5. 字符串常量”mine”的字符个数是() A.4 B. 5C.6 D. 7 6. 以下属于非法的C语言转义字符的是() A.'\b' B. '0xf'C.'\037' D. '\' 7. 若x、y、z均为int型变量,则执行以下语句后的输出是() x=(y=(z=10)+5)-5; printf("x=%d, y=%d, z=%d\n",x,y,z); y=(z=x=0,x+10); printf("x=%d, y=%d, z=%d\n",x,y,z); A. x=10, y=15, z=10 B.x=10, y=10, z=10 x=0, y=10, z=0x=0, y=10, z=0 C.x=10, y=15, z=10 D. x=10, y=10, z=10 x=10, y=10, z=0 x=10, y=10, z=0 8. 在以下一组运算符中,优先级最高的运算符是() A.<= B. =C.% D. && 9. 已知:int x; float y; 所用的scanf调用语句格式为: scanf( “x=%d, y=%f”, &x, &y ); 为了将数据10和66.6分别赋给x和y,正确的输入应当是() A.x=10, y=66.6<回车> B. 10, 66.6<回车> C.10<回车>66.6<回车> D. x=10<回车>y=66.6 <回车> 10. 已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开

高级语言程序设计自考模拟10

[模拟] 高级语言程序设计自考模拟10 单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。 第1题: 下列不属于面向机器语言的是( ) A.符号语言 B.二进制语言 C.汇编语言 D.C语言 参考答案:D 答案解析: 第2题: 设int b=2;表达式(b<<2)/(b>>1)的值是( ) A.2 B.4 C.6 D.8 参考答案:D 答案解析: 左移位运算移一位相当于乘2,右移位运算右移一位相当于除2。 第3题: 设置变量定义为:int a=0x53;int b=6;,求表达式~a|b的值(假定现有计算机字长为16)( ) A.82 B.-82 C.72 D.-72 参考答案:B 答案解析: 因计算机字长为16.故a的二制表示是0000000001010011,b的二进制表示是0000000000000110。运算符"~"自右向左结合,运算符"|"是自左向右结合;且运算符"~"的优先级高于运算符"|"的优先级,则进行计算的顺序是"(~a)|b"。最终计算结果是1111111101010010(十进制值为-82)。 第4题:

为了判定两个字符串是否相等应当使用( ) A.if(s1==s2) B.if(s1=s2) C.if(strcmp(s1,s2)==0) D.if(strcmp(s1,s2)=0) 参考答案:C 答案解析: 第5题: 设char c[5]={'a','b','\0','C','\0');则printf("%s",c);的输出是( ) A.'a''b' B.ab C.abc D."ab\0c" 参考答案:B 答案解析: 第6题: 以下程序的运行结果是( ) #include<stdio.h>main() { int a[]={1,2,3,4,5,6,7,8,9,10,11,12};int *p=&a[5],*q=NULL;printf("%d%d\n",*p,*q);} A.运行后报错 B.6 0 C.6 12 D.5 5 参考答案:A 答案解析: #include<stdio.h> main() { int a[]={1,2.3.4,5,6,7,8,9,10,11,12}; int*p=&a[5],*q=NULL; printf("%d%d\n",*P,*q);/*被置空的指针不能参与"*"运算*/ } 第7题: 当执行以下程序段时( ) do{y--;}while(--y) printf("%d\n",y--); A.循环体将执行一次 B.循环体将执行两次 C.循环体将执行无限次 D.系统将提示有语法错误

程序设计基础试题(附答案)

程序设计基础复习题 一、单选 1、一个完整的计算机系统应该包括() A、系统软件和应用软件 B、计算机及其外部设备 C、硬件系统和软件系统 D、系统硬件和系统软件 2、“裸机”的概念是指() A、正在进行设计还没有组装好的计算机 B、已经组装好但还没有安装任何软件的计算机 C、仅安装了操作系统的计算机系统 D、安装了文字处理软件但没有安装专用数据处理系统的计算机 3、世界上第一台电子数字计算机研制成功的时间是() A、1936年 B、1946年 C、1956年 D、1970年 4、CASE的含义是() A、计算机辅助设计 B、计算机辅助制造 C、计算机辅助教学 D、计算机辅助软件工程5、当前广泛使用的微型计算机是() A、第一代 B、第二代 C、第三代 D、第四代 6、当代计算机的体系结构称为是() A、冯·诺依曼机 B、非冯·诺依曼机 C、图灵机 D、比尔盖茨机 7、硬盘是() A、输入设备 B、输出设备 C、存储设备 D、计算设备 8、下面4句话中,最准确的表述是() A、程序=算法+数据结构 B、程序是使用编程语言实现算法 C、程序的开发方法决定算法设计 D、算法是程序设计中最关键的因素

9、计算机能直接执行的语言是() A、机器语言 B、汇编语言 C、高级语言 D、目标语言 10、解释程序的功能是() A、将高级语言程序转换为目标程序 B、将汇编语言程序转换为目标程序 C、解释执行高级语言程序 D、解释执行汇编语言程序 11、下面4种程序设计语言中,不是面向对象式语言的是() A、JAVA B、Object Pascal C、Delphi D、C 12、不是C语言的基本数据类型是() A、int B、double C、char D、bool 13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符() A、/ B、% C、* D、++ 14、数据的逻辑结构分为() A、纯属结构和非线性结构 B、顺序结构和非顺序结构 C、树型结构和图型结构 D、链式结构和顺序结构 15、用链表表示纯属表的优点是() A、便于随机存取 B、便于插入和删除操作 C、花费的存储空间较顺序存储少 D、元素的物理顺序与逻辑顺序相同 16、栈的最主要特点是() A、先进先出 B、先进后出 C、两端进出 D、一端进一端出 17、下面4句结论只有一句是错误的,它是()

《高级语言程序设计》教案

《高级语言程序设计》教案 湖北师范学院 计算机科学系

C语言程序设计概述 教学目标:了解程序设计语言的发展历史及其支持环境;熟悉C语言程序上机实验操作步骤;了解C语言程序的基本结构以及学会使用库函数和用户自定义函数组装C程序。 教学重点:C语言程序上机实验操作步骤;用库函数和用户自定义函数组装C程序。教学难点:用用户自定义函数组装C程序。 §1.1 程序与程序设计语言 程序设计语言是人与计算机进行信息交流的工具。程序设计是一种编写计算机程序的活动。由于计算机是一种专门用程序来解决特定问题的通用工具,因而程序设计是为解决某一特定问题而构造一种专用工具的活动。 程序是实体在计算机内部的表示。实体具有一个名字,一组表示该实体特征的数据以及若干作用在这些数据上的行为。实体具有的数据表示它的状态,而这些状态可由实体的行为来改变。例如,银行帐户是实体,存款和取款是该实体的行为。 1.1.1 程序设计语言的发展 程序设计语言伴随着计算机技术的进步而不断升级换代,通常人们将程序设计语言的发展分为以下四个阶段。 (1)机器语言 机器语言是一种CPU的指令系统,它是该CPU可以识别的一组由0和1序列构成的指令代码。下面是某CPU指令系统中的两条指令: 10000000 加 10010000 减 用机器语言编写程序,就是从所使用的CPU的指令系统中挑选合适的指令,组成一个指令系列。这种程序虽然可以被机器直接理解和执行,但是由于它们不直观、难记、难认、难理解、不易查错,只能被少数专业人员掌握,同时程序的生产效率很低,质量难以保证。这种繁重的手工方式与高速、自动的计算机极不相称。 (2)汇编语言 为减轻人们在编程中的劳动强度,20世纪50年代中期人们开始用一些“助记符”代表0,1编程。例如,前面的两条机器指令可以定成: ADD A,B SUB A,B 这种用助记符号描述的指令系统,称为符号语言或汇编语言。 用汇编语言编程,程序的生产率及质量都有所提高。但是汇编语言指令是机器不能直接识别、理解和执行的。用它编写的程序经检查无误后,要先翻译成机器语言程序才能被机器理解、执行。这个翻译过程称为“代真”。代真之后得到的机器语言程序称目标程序,代真之前的程序称为源程序。 机器语言和汇编语言都依赖于具体的计算机,是一种面向机器的程序设计语言。面向机器的语言可以编制出效率极高的程序,但是需要程序员熟悉机器的内

2017年秋季《高级语言程序设计》期末试卷

1. ( 单选题 ) 能将高级语言编写的源程序转换为目标程序的是 _____________ 。(本题2.0分) A、链接程序 B、解释程序 C、编译程序 D、编辑程序 学生答案:B 标准答案:C 解析: 得分:0 2. ( 单选题 ) C语言程序编译时,程序中的注释部分()。(本题 2.0分) A、参加编译,并会出现在目标程序中 B、参加编译,但不会出现在目标程序中 C、不参加编译,但会出现在目标程序中 D、不参加编译,也不会出现在目标程序中 学生答案:D 标准答案:D 解析: 得分:2 3. ( 单选题 ) C 语言中的标识符只能由字母、数字和下划线三种字符组成 , 且第一个字符( )(本题2.0分)

A、必须为下划线 B、可以是字母、数字和下划线中的任意一种 C、必须为字母或下划线 D、必须为字母 学生答案:C 标准答案:C 解析: 得分:2 4. ( 单选题 ) 一个 C 程序的执行是从( )(本题2.0分) A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 学生答案:C 标准答案:C 解析: 得分:2 5. ( 单选题 ) C 语言提供的合法关键字是( ) (本题2.0分) A、swicth B、chan C、case D、default

学生答案:D 标准答案:D 解析: 得分:2 6. ( 单选题 ) C语言程序的基本单位是()(本题2.0分) A、程序行 B、语句 C、函数 D、字符 学生答案:C 标准答案:C 解析: 得分:2 7. ( 单选题 ) 组成C语言程序的是( )。(本题2.0分) A、过程 B、函数 C、子程序 D、主程序和子程序 学生答案:B 标准答案:B 解析: 得分:2

相关主题
文本预览
相关文档 最新文档