程序设计基础期末复习

合集下载

程序设计基础复习知识点整理

程序设计基础复习知识点整理

程序设计基础复习知识点整理1.编程语言概述-什么是编程语言-常见的编程语言种类及特点-编程语言的发展历史2.程序的基本概念-程序的定义与作用-程序的编写过程-程序的执行过程-程序的调试与测试3.数据类型-基本数据类型的定义与特点-引用数据类型的定义与特点-数据类型的转换与操作4.变量与常量-变量的定义与声明-变量的赋值与引用-常量的定义与使用5.运算符与表达式-算术运算符的使用与优先级-逻辑运算符的使用与优先级-赋值运算符的使用与优先级-表达式的求值与结果6.控制流程-顺序结构的控制-分支结构的控制-循环结构的控制-控制流程的嵌套与组合7.函数与模块-函数的定义与调用-函数的参数与返回值-模块的定义与使用-模块的分割与合并8.数组与字符串-数组的定义与使用-数组的遍历与操作-字符串的定义与使用-字符串的比较与操作9.文件与输入输出-文件的打开与关闭-文件的读取与写入-输入输出的基本操作-输入输出的格式控制10.错误处理与异常-错误处理的基本思路-异常的定义与抛出-异常的捕捉与处理-异常处理的原则与注意事项以上是程序设计基础的复习知识点的整理,下面补充详细内容。

1.编程语言概述-编程语言是一种用于描述计算机程序的形式化语言,用于指导计算机执行特定任务。

- 常见的编程语言种类包括C、C++、Java、Python、JavaScript等,每种编程语言有其自身的特点和用途。

-编程语言的发展经历了机器语言、汇编语言、高级语言等阶段,不断提高程序的可读性、可维护性和可移植性。

2.程序的基本概念-程序是一系列指令的集合,描述了完成项任务所需的计算机操作。

-程序的编写过程包括问题分析、算法设计、代码实现、调试和测试等步骤。

-程序的执行过程包括输入数据、处理数据和输出结果等步骤。

-程序的调试与测试是发现和修复错误的过程,包括逐行调试、运行时错误报告和测试用例编写等方法。

3.数据类型-基本数据类型用于存储简单的数据,如整数、浮点数、字符和布尔值等。

C语言程序设计期末复习

C语言程序设计期末复习

C语言程序设计期末复习
一、基础知识
1、变量和运算符
变量就是程序中用来保存信息的抽象容器,可以用来记录用户输入、
程序执行时间以及中间结果等信息
C语言允许使用者定义变量,分为基本类型变量和指针变量。

其中基本类型变量有:整型int,浮点型float,字符型char,双精
度型double,无符号整型unsigned等。

运算符是对变量进行运算的符号,C语言中的运算符大致可分为三大类:算术运算符,关系运算符和逻辑运算符。

其中算术运算符包括:+、-、*、/和%;关系运算符包括:>、>=、<、<=、==和!=;
逻辑运算符包括:&&,和。

2、流程控制
程序的流程控制是应用程序中最重要的结构,在C语言中可以通过控
制语句来控制程序的执行流程。

常用的控制语句有:if、goto、while、for、switch-case等。

if语句可以根据执行条件跳过执行部分语句,节省程序执行的时间。

goto语句可以跳转到指定的语句,实现循环执行流程。

while语句可以不固定有多少次操作,根据执行条件决定是否继续执行。

for语句可以更精确的表示循环次数,避免无意识的多次循环操作,从而提高程序运行效率。

switch-case语句可以根据变量的变化值,执行不同的操作,实现复杂的逻辑判断。

3、函数。

C语言程序设计基础知识期末复习2023年修改整理

C语言程序设计基础知识期末复习2023年修改整理

C语言程序设计基础知识期末复习一、 C语言与算法1.程序:一组计算机能识别和执行的指令。

2.C语言的特点:运算符丰富(共有34种运算符)、数据类型丰富、具有结构化的操纵语句。

3.C语言程序的结构特点:(1).一个程序由一个或多个源程序文件组成:一个源程序文件中能够包括三个部分:预处理指令、全局声明、函数定义(2).函数是C程序的要紧组成部分:一个C程序是由一个或多个函数组成的必须包含一个main函数(只能有一个);每个函数都用来实现一个或几个特定功能;被调用的函数能够是库函数,也能够是自己编制设计的函数。

(3).一个函数包括两个部分函数首部和函数体(声明部分:定义在本函数中所用到的变量;对本函数所调用函数进行声明;执行部分:由若干个语句组成,指定在函数中所进行的操作)(4). 程序总是从main函数开始执行(5). C程序对计算机的操作由C语句完成(6.)数据声明和语句后来必须有分号(7.)C语言本身不提供输入输出语句(8.)程序应当包含注释,增加可读性4、算法(1)算法+ 数据结构= 程序(2)顺序结构、抉择结构、循环结构是表示一个良好算法的基本结构(3)算法的特性:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性(4)算法流程图:一个流程图包括以下几部分:表示相应操作的框;带箭头的流程线;框内外必要的文字说明。

流程线不要忘记画箭头,否则难以判定各框的执行次序。

算法流程图的结构特点:只有一个入口;只有一个出口(一个推断框有两个出口;一个抉择结构只有一个出口)结构内的每一部分都有机遇被执行到。

也就是说,对每一个框来说,都应当有一条从入口到出口的路径通过它;结构内不存在“死循环”。

二、顺序结构设计5、标识符:用来标识变量名、符号常量名、数组名、类型名、函数名等的有效字符序列。

C语言对标识符的规定:(1)只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线(2)长度:在TC中最多允许32个字符,建议不要超过8个假如系统规定标识符长度为8,那样x1234567A和x1234567B会被视为同一标识符。

《程序设计基础》期末复习

《程序设计基础》期末复习

《程序设计基础》期末复习一、单项选择题1、计算机发展的分代史中通常划分时代的标准是以计算机所采用的______。

A 逻辑元件B 程序设计语言C 操作系统发展D 硬件运算速度2、当前广泛使用的微型计算机是______。

A 第一代B 第二代C 第三代D 第四代3、我们将组成计算机系统的所有电子和机械装置称为______。

A 硬件B 软件C 系统D 机器4、当代计算机的体系结构称为是______。

A 冯·诺依曼机B 非冯·诺依曼机C图灵机 D PASCAL机5、CPU主要包括______。

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、汇编程序的任务是______。

A 将汇编语言编写的程序转换为目标程序B 将汇编语言编写的程序转换为可执行程序C 将高级语言编写的程序转换为汇编语言程序D 将高级语言编写的程序转换为可执行程序12、世界上第一个高级语言是______。

A BASIC语言B C语言C FORTRAN语言D PASCAL语言13、下面4种程序设计语言中,不是面向过程式语言的是______。

A FORTRANB ALGOLC AdaD C++14、下面4种程序设计语言中,不是面向对象式语言的是______。

程序设计基础复习知识点

程序设计基础复习知识点

程序设计基础复习知识点一、基本概念程序设计(Programming)是指编写计算机程序的过程,它是一种将问题转化为计算机可识别并执行的指令集合的过程。

程序设计语言是人与计算机之间进行信息交流的工具,常用的编程语言有C、C++、Java、Python等。

二、变量与数据类型在程序设计中,变量是用于存储数据的一种命名空间。

变量的命名需要遵循规定的命名规则,比如不能用关键字作为变量名,不能包含特殊字符等。

数据类型是变量的属性,决定了变量可以存储的数据种类及所占内存空间大小。

常见的数据类型包括:- 整型(int):用于存储整数。

- 浮点型(float、double):用于存储小数。

- 字符型(char):用于存储单个字符。

- 字符串型(string):用于存储一串字符。

- 布尔型(bool):用于存储真(True)或假(False)的值。

三、运算符和表达式运算符用于对变量或常量进行某种特定的操作,常见的运算符有算术运算符、赋值运算符、关系运算符、逻辑运算符等。

表达式是由运算符和操作数组成的序列,它们可以进行数学运算、逻辑判断等。

四、流程控制流程控制用于决定程序的执行顺序,常见的流程控制结构有条件语句和循环语句。

条件语句(if-else)用于根据条件判断决定执行哪个代码块。

循环语句(for、while)用于根据条件反复执行某一段代码。

五、函数函数是完成特定任务的代码块,通过函数可以实现代码的模块化和复用。

函数由函数名、参数列表和函数体组成。

在程序中,可以通过调用函数来执行其中的代码。

六、数组和指针数组是一种用于存储多个相同类型数据的集合,它的长度在定义时就确定了。

指针是变量,其值为内存中的某个地址,可以用于访问和操作内存中的数据。

七、面向对象编程面向对象编程(OOP)是一种程序设计方法,它将现实世界中对象的特性映射到计算机程序中,通过定义类、对象和其关系来表示和处理问题。

常见的面向对象编程语言有C++、Java、Python等。

C语言程序设计期末复习

C语言程序设计期末复习

②doudb!le=
float
f &&
int
(i+1)
int
③dou4b.0le
int
*i
char
+ c double
【14】 A) double, double, double (或float)
B) int, double, char
✓C) int, int, double (或float) D) unsigned, unsigned, int
② 其他可打印(可显示)的字符,如汉字等自然语言 符号(作为字符串的内容)
[注意] C/C++语言是区分大小的语言 !
(详见P377 附录B)
8
zxl.xmu.2014
关键字
关键字/保留字 —— C语言程序中有特殊含义 的英文单词,主要用于构成语句、定义存储类 型和数据类型。
✓ C语言中仅有37个关键字
else continue;
printf("%4d",n); }
break; 仅输出: 100 }
输出【:131】00A1)01fo1r0(3n=1100401;0(n6%1037)&…&…n<=200; n++) printf("%4d",n); B) for (n=100; (n%3)||n<=2仅00输; n出++:) p1ri0n0tf1("0%1 4d",n);
非法字符举例:M.D.John,$123,1AB,d e
11
zxl@xmu
运算符(共34种,详见P378《附录D》)
• 目/元——运算时所需运算对象(操 作数)的个数。

程序设计基础期末考试复习题及参考答案-专科

程序设计基础期末考试复习题及参考答案-专科

《程序设计基础》复习题一、单项选择题1.以下叙述中正确的是( )A. C程序中注释部分可以出现在程序中任意合适的地方B. 花括号"{"和"}"只能作为函数体的定界符C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名D. 分号是C语句之间的分隔符,不是语句的一部分2.在一个C语言程序中( )A. main函数必须出现在所有函数之前B. main函数可以在任何地方出现C. main函数必须出现在所有函数之后D. main函数必须出现在固定位置3.判断下面标识符中哪个是C语言中合法的用户定义标识符( )A. a-bB. #abdC. typedefD. _max4.为表示关系X≥Y≥Z,应使用C语言表达式( )A. (X≥Y)&&(Y≥Z)B. X>=Y>=ZC. (X>=Y)‖(Y>=Z)D. (X>=Y)&&(Y>=Z)5.以下选项中,不能作为合法常量的是A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e0 6.若有两条语句:static char x[]=”abcde”;static char y[]={‘a’,’b’,’c’,’d’,’e’};则下列说法中正确的是( )A. x数组和y数组长度相同B. x数组长度大于y数组长度C. x数组长度小于y数组长度D. 以上三种说法均错误。

7.返回值为void的函数,其含义是( )A.调用函数之后,被调用的函数没有返回值;B.调用函数之后,被调用的函数不返回C.调用函数之后,被调用的函数返回值为任意类型D.以上三种说法均不正确。

8.对于语句,int x,y,z[10],*px,*py; 指出下列哪个语句是不正确的( )A. px=&x,py=pxB. px=xC. py=&yD. px=z9.在printf语句中按字符串输出的格式是( )A. “%s”B. “%c”C. “%f”D. “%d”10.C语言中,运算对象必须是整型的运算符是( )A. %B. /C. %和/D. >=11.以下说法正确的是( )A. C语言程序总是从第一个定义函数开始执行;B. 在C语言程序中,要使用的函数必须在main()函数中定义;C .C语言程序总是从main()函数开始执行;D. C语言程序的main()函数必须在程序的开始部分。

Java程序设计基础期末复习指导

Java程序设计基础期末复习指导

Java程序设计基础期末复习指导Ⅰ复习要求第1章程序设计概述1.掌握程序设计语言的分类2.掌握面向对象中的基本概念3.掌握建立Java运行环境练习题P10 1.第二章Java语言基础1.掌握变量、各种运算符的功能和用法2.掌握运算符的优先级3.理解程序源代码课本例题2.4 2.5 2.6 2.8练习题P28 3. 4. 5. 6.第三章流程控制1.掌握选择结构并熟练应用2.掌握循环结构并熟练应用例题:3.2 3.3 3.5 3.7练习题:P42 1. 3第四章方法1.掌握方法的概念和作用2.掌握方法的定义3.掌握参数传递与返回值例题: 4.1 4.2 4.4 4.6 4.7练习题P56 1. 2. 3.第五章类与对象1.掌握类的定义2.掌握类的实例化3.掌握Java Application的基本结构例题: 5.1 5.3 5.6 5.7 5.12练习题:P80 1. 2.第六章继承与多态1.掌握继承关系2.掌握属性、方法在继承中的特点3.掌握接口的作用、定义和实现例题:6.1 6.3练习题:P111 1. 2.第七章例外处理1.掌握例外机制2.了解Java定义的例外类练习题:P138 1.第八章Java基本类库介绍1.了解包的概念2.了解ng中的几个基本类练习题:P159 1.第九章Java的集合类1.了解集合类与普通数组的区别2.了解集合类的特点及适用条件练习题:P184 1.第十章输入输出系统1.掌握输入输出的总体结构2.掌握流的概念3.能构建不同的流例题:10.8练习题:P211 1.第11、12、13章内容只做了解,不在本次考试范围之内。

II样题一、选择题(每小题2分,共60分)1.算法的主运算如下,其中i的初值为1,s的初值为0,“←”为赋值号。

while i<n do{for j←1 to n dos←s+a[i,j]i←i*2;则该算法的时间复杂度为()A.O(2n) B.O(n+log2n)C. O ( n log2n)D.O(n2)2. 下面关于数据结构的叙述中,正确的叙述为()A.顺序存储方式和优点是存储密度大,且插入、删除运算效率高B.链表中的每一个结点都包含好一个指针C.包含n个结点的二叉排序树的最大检索长度为log2nD.将一棵树转换为二叉树后,根结点没有右子树3.下面列出的数据管理技术发展的三个阶段中,哪个(些)阶段没有专门的软件数据进行管理()I.工管理阶II.文件系统阶段III.数据库阶段A.只有I B.IIC.I,II D.II,III4.数据库的三级模式结构由模式、模式和内模式组成,它适合于哪个(些)类型的数据库()I.关系型数据库II.层次型数据库III.网状型数据库A.只有IB.I和IIC.II和IIID.都适合5.提高模块的__,使得当修改或维护模块时,可减少把一个模块的错误扩散到其他模块中去的机会。

C程序设计期末复习知识点

C程序设计期末复习知识点

C程序设计期末复习知识点1.C语言基础-了解C语言的历史和发展。

-了解C语言的特性,例如:面向过程、可移植性、高效性等。

-理解C语言的编译过程,包括预处理、编译、汇编和链接。

-掌握C语言的基本语法,包括变量定义、标识符命名规则、注释、运算符等。

2.数据类型-理解C语言的基本数据类型,包括整型、浮点型、字符型和布尔型。

-知道各种数据类型的取值范围和存储大小。

-理解数据类型之间的转换规则。

3.控制结构- 掌握条件语句,包括if语句、switch语句。

- 掌握循环结构,包括for循环、while循环和do-while循环。

- 了解循环控制语句,包括break和continue语句。

4.数组和指针-理解一维和多维数组,包括如何定义、初始化和访问数组元素。

-掌握指针的概念,包括如何定义和使用指针变量。

-理解指针和数组的关系,包括指针和数组之间的相互转换。

5.函数-理解函数的概念和作用,包括函数的定义、声明和调用。

-理解参数传递的方式,包括传值和传引用。

-理解局部变量和全局变量的作用域和生命周期。

-理解递归函数的原理和应用。

6.文件操作-了解文件的概念和类型。

-掌握文件的打开、关闭、读取和写入操作。

-知道如何创建文件、删除文件和改变文件属性。

-理解文件指针的使用,包括定位文件读写位置等。

7.结构体和联合体-理解结构体的概念,包括如何定义和使用结构体。

-掌握结构体成员的访问方式。

-了解联合体的概念和用途。

-知道结构体和联合体的区别。

8.动态内存分配- 了解动态内存分配和释放的方法,包括malloc、calloc和realloc函数。

-理解内存泄漏和内存溢出的概念和原因。

-知道如何使用指针来管理动态分配的内存。

9.字符串处理-理解字符串的概念,包括如何定义和使用字符串变量。

- 掌握字符串的输入和输出操作,包括fgets、fputs和printf函数。

- 掌握字符串的处理函数,包括strlen、strcpy、strcat、strcmp 等。

程序设计基础期末复习.

程序设计基础期末复习.

《程序设计基础》期末复习考试题型和分值。

一、单选题(20小题,每题2分)二、填空题(共20题,计20分)三、编程填空题(给出程序的输出结果,共5题,14分)四、读程序题(补充程序,共2小题,,共26分)程序练习:1. 输出1~10之间所有的偶数和它们的平方。

2. 输出所有的水仙花数。

3. 从键盘输入一行字符,统计其中有多少个单词。

假设单词之间是以空格分开。

4. 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。

5. 编写程序,要求在main函数接受一个整型变量,将其作为参数传入IsPrime 函数中,IsPrime函数根据传入的值确定返回值,如果<2,返回0;如果不是素数,返回1;如果是素数,返回2。

主函数根据返回值输出相应的提示信息:输入不合法,不是素数,是素数。

6.编写程序:给学生出一道加法运算题,然后判断学生输入的答案对错与否。

通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则提示重做,显示“Not correct! Try again!”,重复要求输入答案,直到输入结果正确,程序结束。

要求:用Add函数来进行两个整数的加法运算;用Print函数判断输入的答案正确与否;用main函数输入两个相加的数和学生的答案,然后调用Add函数和Print函数判进行判断和显示输出。

7. 利用指针编写两个整数交换的函数。

8. 从10个元素的数组中找出最大值和最小值,并记录最大值和最小值对应的元素的下标位置。

9. 给定10个数,按照要求进行排序并输出排序的结果。

程序设计ABC1. 程序运行的方式分为哪两种?(编译运行和解释运行)2 .什么叫编译器,其功能是什么?(把程序设计语言转换成目标代码的软件称为编译器)数据类型、运算符与表达式1.C程序的特点?◆函数是C程序的基本单位。

大一期末C语言程序设计基础题库与总结复习资料

大一期末C语言程序设计基础题库与总结复习资料

C语言题库第一章计算机语言经历发展阶段:机器语言、符号语言、高级语言程序结构有3种:顺序结构,选择结构,循环结构C语言的特点:允许直接访问物理地址。

【C语言中含有的位和指针运算,能够直接对内存地址进行访问。

】不是C语言的特点的是:能够编制出功能复杂的程序【所有程序都可以,不算特点】Main:主函数,是所有程序运行的入口、起点。

一个C语言程序必须只有一个main函数。

程序总是从main函数开始执行,main函数可以放任何位置,到main函数结束。

函数体由花括号括起来结束标志:returnreturn 0的作用是:当main函数执行结束前将整数0作为函数值返回到调用函数处return(z)的作用是:将z的值作为max的函数值返回给调用max 函数的函数。

只有通过return(z)才能把求出的z值作为函数值并返回调用它的main函数中C语言程序的结构:由一个或多个源程序(C语言编写的程序,也可以叫编译单位)文件组成(源程序文件中包含:预处理指令、全局声明、函数定义)函数是C程序的主要组成部分(也是基本单位),C语言由函数组成。

函数包括两部分:函数首部、函数体C语言本身不提供输入输出语句,输入输出的操作是有库函数scanf 和printf等函数来完成的。

程序应包含注释#define和printf都不是C语句C语言程序的运行经过:编辑(edit)、编译(compile)、连接(link)【C语言中是build】、执行(execute)。

C语言源程序文件的后缀是.cpp,经过编译之后,生成后缀为.obj 的目标文件,经连接生成后缀.exe的可执行文件C语言的储存类型包括register、extern、statis和auto基础知识6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。

A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D. 自动保存源文件运算优先级:!(非)>算数(如%)>关系>逻辑>赋值运算符(低)空语句:只有分号组成的语句,即一个分号。

Python程序设计期末考试试卷及答案

Python程序设计期末考试试卷及答案

《Python 程序设计基础》期末考试试卷(A )适用班级考试形式班级 姓名 学号一、选择题 (每题2分,共40分)1.下列选项中,不属于Python 的数据类型的是( ) A 、字符串 B 、数组 C 、列表 D 、字典 2.下列选项中,不符合python 变量命名的是()。

A 、01_testB 、test_01C 、pytestD 、_py_test_ 3.以下对字典的说法错误的是A 、字典可以为空B 、字典的键不能相同C 、字典的键不可变D 、字典的键的值不可变 4.以下说法错误的是A 、元组的长度可变B 、列表的长度可变C 、可以通过索引访问元组D 、可以通过索引访问列表 5.list 类型的内置方法pop( )的作用是A 、置顶指定元素B 、给元素排序C 、删除指定元素D 、插入指定元素 6.以下说法正确的是A 、python 属于低级语言B 、python 是面向过程的C 、python 属于解释性语言D 、python 是非开源的 7.在Python 语言中,数据的输入是通过( )来实现的。

A .input( )函数B .print( )函数C .output( )函数D .abs( )函数8.为了提高程序的可读性,可以在该语句后面添加注释语句,Python 程序中用作注释的标识符是( ) A .: B .# C ., D .!9.下列 Python 表达式的值为偶数的是( )A .12*3%5B .len (“Welcome”)C.int (3.9) D .abs (-8)10.可以被计算机直接执行的语言是( ) , Python 语言属于( )语言。

A .机器,高级 B .高级,汇编 C .高级,机器 D .汇编,高级11.在Python 中,不同的数据,需要定义不同的数据类型,可用方括号“[]”来定义的是( a ) A .列表 B .元组 C .集合 D .字典 12.有python 程序如下: S=input ( ) print (S * 3)运行后通过键盘输入6,则运算结果是( )题 号 一 二 三 四 总分 总分人 得 分阅卷人 得分A.666 B.SSS C.18 D.S*313.在编写python程序时缩进的作用是()。

程序设计基础期末复习题及参答案

程序设计基础期末复习题及参答案

程序设计基础期末复习题及参答案一、单项选择题(每空2分,共30分)1、在计算机发展史中,计算机硬件与高级程序设计语言的相互关系是______。

A 同时诞生B 硬件先发展然后再推动语言的发展C 先有高级程序设计语言的发展D 两者相互独立,分别发展2、现代电子计算机诞生的理论基础是______。

A 图灵机B 图灵测试C 冯·诺依曼机D 邱奇论题3、关于计算机程序的错误说法是______。

A 程序是按照工作步骤事先编排好的、具有特殊功能的指令序列B 运行在硬件系统之上的软件应该采用高级语言编写C 在现代的计算机系统中程序采用二进制形式存储D 同一计算机系统可以完成不同的功能是因为执行了不同的程序4、程序设计过程中的三要素是______。

A 算法、数据结构和程序设计方法学B 数据、算法和数据结构C 输入、操作处理和输出D 数据、数据结构和处理5、JAVA语言的类别是______。

A 面向过程的程序设计语言B 面向问题的程序设计语言C 面向对象的程序设计语言D 面向硬件的程序设计语言6、在C语言中,字符串常量的定界符是______。

A 空格B 单引号C 双引号D 方括号7、C语言中int变量能够表示的数值范围是______。

A -32767~32768B -32768~32767C 0~65535D 0~655368、C语言中的循环控制语句中属于“直到型”循环的语句是______。

A gotoB whileC forD do-while9、数据的存储结构分为两种,它们是______。

A 线性存储和数组存储B 顺序存储和链式存储C 线性存储和树型存储D 数组存储和指针存储10、如果在内存中采用链式保存线性表,则元素之间的逻辑关系通过______。

A 元素在内存中的相对位置表示逻辑次序B 保存在元素中的指针表示先后次序C 设立单独的区域存储元素之间的逻辑次序D 元素本身的关键字来表示逻辑次序11、栈的逻辑结构是______。

c程序设计期末知识总结

c程序设计期末知识总结

c程序设计期末知识总结1. 程序设计基础知识1.1 算法与流程控制- 算法:算法是解决问题的一系列步骤或规则,程序设计就是为了实现算法而存在。

- 流程控制:程序中通过条件判断和循环控制来实现不同的流程,常见的流程控制语句有if-else语句和循环语句。

1.2 变量和数据类型- 变量:变量是用来存储数据的一块内存空间,在程序中可以通过变量名来访问和修改变量中的数据。

- 数据类型:不同的数据类型可以存储不同的数据,C语言中常见的数据类型有整型、浮点型、字符型和指针型等。

1.3 输入和输出- 输入:通过键盘或文件等方式将数据输入到程序中,可以使用scanf函数来实现。

- 输出:通过显示器或文件等方式将程序中的结果输出,可以使用printf函数来实现。

2. 数组与字符串2.1 数组- 数组是一种用来存储相同类型数据的集合,可以通过下标来访问和修改数组中的元素。

- 数组的声明和初始化:可以通过指定数组的类型和大小来声明和初始化数组。

- 多维数组:多维数组是数组的数组,可以通过多个下标来访问和修改多维数组中的元素。

2.2 字符串- 字符串是由字符组成的一串数据,以'\0'字符结尾。

- 字符串的输入和输出:可以使用scanf和printf函数来输入和输出字符串。

- 字符串的操作:可以通过字符串函数来实现字符串的拷贝、连接、比较和查找等操作。

3. 函数与模块化程序设计3.1 函数- 函数是一段完成特定任务的程序代码,可以通过函数名和参数列表来调用函数。

- 函数的定义和调用:可以通过函数的定义和调用来实现代码的封装和重用。

- 函数的参数传递:可以通过值传递和指针传递来向函数传递参数。

- 函数的返回值:可以通过return语句来返回函数的结果。

3.2 模块化程序设计- 模块化程序设计将程序分解为若干个模块,每个模块负责完成特定的任务。

- 模块之间可以通过函数的调用来进行通信和数据交换。

- 模块化程序设计可以提高程序的可读性和可维护性,方便程序的重用和扩展。

程序设计基础期末样题(1)

程序设计基础期末样题(1)

单项选择================================================== 题号:23095任何一个C语言的可执行程序都是从() 开始执行的.A、main() 函数的入口处B、程序中的第一条语句C、程序中的第一个函数D、编译预处理语句答案:A题号:23285C语言程序的三种基本结构是顺序结构, 选择结构和() 结构.A、循环B、转移C、递归D、嵌套答案:A题号:23286C语言中, 定义结构体的保留字是().A、enumB、unionC、structD、typedef答案:C题号:23333程序流程图PFD中的" □" 代表的是().A、控制流B、加工步骤C、数据流D、组成关系答案:B题号:23161C语言中, 下列叙述正确的是().A、do-while 语句构成的循环不可用B、do-while 语句构成的循环, 没有break 语句就是死循环C、do-while 语句构成的循环, 当while 语句中的表达式值为零时结束循环D、do-while 语句构成的循环, 当while 语句中的表达式值为非零时跳出循环答案:C题号:23405以下不能正确进行字符串赋初值的语句是().A、char *str="good!";B、char str[5]={'g','o','o','d',0};C、char str[5]="good!";--- 超界D、char str[]="good!";答案:C题号:23400下述错误的C语言常量是().A、5.B、.25C、0xfD、090答案:D题号:23577以下对C语言中联合类型数据的正确叙述是().A、定义了联合变量后, 即可引用该变量或该变量中的任意成员B、一个联合变量中可以同时存放其所有成员C、在向联合中的一个成员进行赋值时, 联合中其他成员的值不会改变D、联合中的各个成员使用共同的存储区域答案:D题号:23584如已定义x和y为double 类型, 则表达式x=1,y=x+5/2 的值是().A、3.0B、3.5C、2D、3答案:A题号:23493有以下程序:#include<stdio.h>main(){int a1,a2;char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);}若想通过键盘输入, 使得a1的值为12,a2 的值为34,c1 的值为字符a,c2 的值为字符b, 程序输出结果是:12,a,34,b, 则正确的输入格式是以下代表空格,<CR>代表回车.A、12,a,34,b<CR>B、12 a34 b<CR>C、12 a 34]b<CR>D、12a34b<CR>答案:D题号:24158关于%-m.nf格式符, 下列描述中, 正确的是().A、字符"-" 表示在输出字符前面加上字符"-".B、字符"-" 表示输出字符靠左对齐.C、字符"-" 表示在输出字符最后加上字符"-".D、字符"-" 表示输出字符靠右对齐.答案:B题号:23674下面程序的输出结果是().main(){int i=2,p;p=f(i,i+1);printf("%d",p);}int f(int a,int b){int c;c=a;if(a>b)c=1;else if(a==b)c=0;else c=-1;return c;}A、0B、1C、2D、-1答案:D题号:23833在数据库设计中, 将E-R图转换成关系数据模型的过程属于().A、物理设计阶段B、需求分析阶段C、逻辑设计阶段D、概念设计阶段答案:C题号:23779已有声明"int x=5,y;float z=2;", 则以下表达式语法正确的是().A、x>0? y=x:y=-xB、y=x/2=zC、y=x=z/2D、y=x%z答案:C题号:23735关系表中的每一横行称为一个.A、元组B、字段C、行D、码答案:A题号:24289若有int i=0;, 则以下程序段中,while 循环的循环次数是()while(i<10){if(i<1)continue;if(i==5)break;i++;}A、6B、死循环, 不能确定次数C、1D、4答案:B题号:24605以下不是无限循环的语句为().A、while(1){x++;}B、for(i=10;;i--)sum+=i;C、for(y=0,x=1;x>++y;x=i++)i=x;D、for(;;x++=i);答案:C题号:24655下面程序的功能是将从键盘输入的一对数, 由小到大排序输出. 当输入一对相等数时结束循#include<stdio.h>void main(){int a,b,t;scanf("%d%d",&a,&b);while(){if(a>b){t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}}A、!a=bB、a=bC、a !=bD、a==b答案:C题号:24192请阅读以下程序:#include<stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++;b++; break;}printf("a=%d,b=%d\n",a,b);}上面程序的输出结果是().A、a=1,b=1B、a=2,b=2C、a=2,b=1答案:C题号:24329有以下程序:#include<stdio.h>int a=1;int f(int c){static int a=2;c=c+1;return (a++)+c;}main(){int i,k=0;for(i=0;i<2;i++){int a=3;k+=f (a);}k+=a;printf("%d\n",k);}程序的运行结果是().A、15B、14C、程序不正确, 无法编译D、16答案:B题号:24750设有数组定义:char array[]="China";, 则数组array 所占的空间为().A、5个字节B、4个字节C、6个字节D、7个字节答案:C题号:24979有以下程序:#include<stdio.h>#include<string.h>main(){char a[10]="abcd";printf("%d,%d\n",strlena,sizeofa);}程序运行后的输出结果是().A、8,8B、10,10C、7,4D、4,10答案:D题号:24996下面程序的输出结果是().#include<stdio.h>#include<string.h>main(){ char p1[]="WHO",p2[]="who",str[50]="xyz";strcpy(str+1,strcat(p1,p2));printf("%s",str);}A、zWHOwhoB、zWHOwhoC、xWHOwhoD、xyzWHOwho答案:C题号:24949有以下程序:#include<stdio.h>main(){ int aa[5][5]={{1,2,3,4},{5,6,1,8},{5,9,10,2},{1,2,5,6}};int i,s=0;for(i=0;i<4;i++)s+=aa[i][2];printf("%d",s);}程序运行后的输出结果是().A、19B、10C、26D、20答案:A题号:24888语句printf"%d\n",strlen"msn\t\01\\\t"; 的输出结果有几个字符.A、10B、6C、9D、7答案:D题号:25059有以下程序:#include<stdio.h>main(){char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9')n++;printf("%d\n",n);}程序运行后的输出结果是().A、8B、7C、3D、0答案:C题号:24935以下能正确定义数组并正确赋初值的语句是().A、int d[3][2]={{1,2},{34}};B、int c[4][]={{1,2},{3,4}};C、int b[1][3]={{1},{3}};D、int a=1,b[a][a];答案:A题号:24981以下程序的输出结果是().void change int k[]{k[0]=k[5];}main(){int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;while(n<=4){change&x[n];n++;}for(n=0;n<5;n++)printf("%d",x[n]);printf("\n");}A、13579B、62345C、12345D、678910答案:D题号:25123以下对数组初始化错误的是().A、int a[2][3]={{1,2,3},{4,5}}B、int a[2][3]={1,2,3,4};C、int[2][]={1,2,3,4,5,6};D、int a[][3]={1,2,3,4,5,6};答案:C题号:25050若有如下说明, 且int 类型占两个字节, 则正确的叙述为().struct st{ int a;int b[2];}a;A、程序运行时为结构体st 分配8字节存储单元B、程序只在执行到该结构体时才为结构体st 分配存储单元C、结构体变量a与结构体成员a同名, 定义是合法的D、类型名struct st 可以通过extern 关键字提前引用答案:C题号:25530下列不能正确计算代数式值的C语言表达式是().A、1/3.0*pow(sin(1.0/2),2)B、pow(sin(0.5),2)/3C、1/3 *sin(1/2)*sin(1/2)D、sin(0.5)*sin(0.5)/3答案:C题号:25543已有定义:char c;, 程序前面已在命令行中包含ctype.h 文件, 不能用于判断c中的字符是否为大写字母的表达式是().A、c<=("'z''"-32)&&("'a'"-32)<=cB、isupper(c)C、A'"<=c&&c<="'Z'D、A'"<=c<="'Z'答案:D题号:26457以下程序段中与语句:k=a>b?b>c?1:0:0; 功能相同的是().A、if(a<=b)k=0 ;else if(b<=c)k=1 ;B、if((a>b) ‖(b>c))k=1 ;else k=0 ;C、if((a>b)&&(b>c))k=1 ;else k=0;D、if(a>b)k=1 ;else if(b>c)k=1 ;else k=0 ;答案:C题号:25404若变量x,y 已正确定义并赋值, 以下符合C语言语法的表达式是().A、++x,y=x--B、x+1=yC、double(x)/10D、x=x+10=x+y答案:A题号:26092调用函数时, 基本类型变量做函数参数, 实参和对应的形参().A、同名时才能共用存储单元B、各自占用独立的存储单元C、不占用存储单元D、共占用一个存储单元答案:B程序设计================================================== 题号:32147/*------------------------------------------------【程序设计】--------------------------------------------------功能:求小于lim 的所有素数并放在aa数组中,该函数返回所求出素数的个数。

《程序设计基础》期末考试卷

《程序设计基础》期末考试卷

《程序设计基础》期末考试卷试卷一一、语言基础(每小题2分,共26分)1.设有变量定义:int a=3, b=4, c=5; 表达式 !(a+b)+c-1 && b+c/2的值是多少?2.写出与代数式(x+2)e x+2对应的C表达式。

3.写出执行下列语句后的输出结果。

int x=5;if(x=3) printf(“%d\n”,x);else printf (“%d\n”,x+2);4.写出“仅当char类型变量ch是大写英文字母时改变ch为对应小写字母”的C表达式。

5.若程序中使用了库函数toupper、strcpy,写出在预处理命令中必须包含的头文件名。

6.写出下列程序段的输出结果:int i,s=0;for(i=1;i<10;i=i+2) s=s+i;printf(“i=%d s=%x\n”,i,s);7.设有宏定义“#define f(a,b,x) a*x+b”,写出下列语句的输出结果: printf(“%d %d\n”,f(1,2,3),f(f(1,2,3),4,2) );8.写出下列程序段的输出结果:int x=010,y=0x10,z=10;printf(“%d,%d,%d\n,x,y,z);9.写出下列程序段的输出结果:int k,j=3;k=j++;printf(“k=%d j=%d\n”,k,j);10.student 是结构体类型标识符,x是student类型变量,写出计算x字节数的表达式。

11.写出下列程序段的输出结果:int f(int x){ static y=1;x+=y; y++;return x;}void main( ){ int k;k=f(3);printf(“%d %d\n”,k,f(k) );}12.自定义函数fact的功能是计算k的阶乘,函数原型可以写作“float fact(int)”。

按照以下各小题的要求写出相应的函数原型。

(1)自定义函数f1的功能是计算平面上任意两点之间的距离。

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

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

程序设计基础试题(附答案)程序设计基础复习题一、单选一、一个完整的计算机系统应该包括()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、javab、objectpascalc、delphid、c12、不是c语言的基本数据类型是()a、intb、doublec、chard、bool13.在C语言中,为了求除两个整数所得的余数,运算符()a、/B、%C、*D、++14和数据的逻辑结构可分为()a、纯属结构和非线性结构b、顺序结构和非顺序结构c、树型结构和图型结构d、链式结构和顺序结构15、用链表表示纯属表的优点是()a、方便随机存取B,方便插入和删除C,比顺序存储D占用更少的存储空间,元素的物理顺序与逻辑顺序16相同。

java程序设计基础期末考试题及答案

java程序设计基础期末考试题及答案

java程序设计基础期末考试题及答案一、选择题(每题2分,共20分)1. Java中,哪个关键字用于声明一个类?A. classB. interfaceC. structD. enum答案:A2. 下列哪个选项是Java中合法的变量名?A. 2variableB. variable-nameC. $variableD. variable答案:D3. Java中,哪个方法用于获取字符串的长度?A. length()B. size()C. count()D. length答案:A4. Java中,下列哪个选项是正确的继承关系?A. 类可以继承多个类B. 接口可以继承多个接口C. 类可以实现多个接口D. 接口可以实现类答案:C5. 下列哪个选项是Java中正确的条件语句?A. if-elseB. switch-caseC. if-else-ifD. A和C答案:D6. Java中,哪个关键字用于捕获异常?A. tryB. catchC. finallyD. throw答案:B7. Java中,下列哪个选项是正确的数据类型?A. intB. integerC. longD. A和C答案:D8. 下列哪个选项是Java中的集合框架?A. ArrayListB. LinkedListC. HashSetD. A、B和C答案:D9. Java中,哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:D10. Java中,哪个关键字用于声明一个包?A. packageB. importC. classD. interface答案:A二、填空题(每题2分,共20分)1. Java程序的执行入口是________方法。

答案:main2. 在Java中,________关键字用于声明一个接口。

答案:interface3. Java中,________关键字用于声明一个抽象类。

C++程序设计基础试卷期末复习题

C++程序设计基础试卷期末复习题

程序设计基础期末复习题一、请仔细阅读下面的程序代码,给出程序的运行结果1.写出下面的程序输出的数据,这是什么图形?#include <iostream>using namespace std;int main(){int a[10][6]={0,1},i,j;for(i=1;i<6;i++)for(j=1;j<=i+1;j++) a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=0;i<6;i++){for(j=1;j<=i+1;j++) cout<<a[i][j]<<'\t';cout<<endl;}return 0;}2.写出下面程序的运行结果#include<iostream>using namespace std;void sub(int x,int y,int *z){ *z=y-x;}int main( ){int a,b,c;sub(18,5,&a) ;sub(17,a,&b) ;sub(a,b,&c) ;cout << a << "," << b << "," << c << end1;return 0;}3.写出下面程序的运行结果#include <iostream>#include <stdlib.h>using namespace std;class Time{public:Time(int hr= 0,int min= 0,int sec= 0) //构造函数{hour = hr; minute = min; second = sec;}void printStandard(){cout<<((hour==0|| hour==12)?12:hour%12)<<":"<<(minute<10?"0":"")<<minute<<":"<<(second<10?"0":"")<<second<<(hour<12?" AM":" PM")<<endl;}private:int hour;int minute;int second;};int main(int argc, char *argv[]){Time a(8),b(14,19,9);a.printStandard();b.printStandard();return 0;}4.写出下面程序的运行结果#include <iostream>using namespace std;class point{double x;double y;public:point(double a,double b){x=a;y=b;}friend double distance(point a,point b);};double distance(point a,point b){return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));}int main(){point p1(3,4);point p2(5,7);cout<<distance(p1,p2)<<endl;return 0;}5.写出下面程序的运行结果#include<iostream>using namespace std;int main{int a[]={2,4,6}, *prt=&a[0],x=y,z;for(y=0;y<3;y++)z=(*(prt+y)<x)?*(prt+y):x;cout<<z<<endl;return 0;}6.写出下段代码的运行结果#include <iostream>#include <iomanip>using namespace std;int f(int l,int h,int a[],int n){int i;int sum=0;for (i=0;i<n;i++)if ((a[i]<l)||(a[i]>h)) sum+=a[i];return sum;}int main(){int a[100];int n,i,l,h;cin>>n>>l>>h;for (i=0;i<n;i++)cin>>a[i];cout<<f(l,h,a,n)<<endl;return 0;}输入:6 20 4025 56 22 7 19 387.写出下面程序的运行结果#include <iostream>#include <iomanip>using namespace std;int f(int a,int b){if (a%b = = 0) return b; //递归出口else return f(b,a%b);}int main(){int a,b,t;cin>>a>>b; //输入if (a>b) t=f(a,b);else t=f(b,a);cout<<t<<" "<<a*b/t; //输出return 0;}输入:32 1448.阅读下面的程序代码,写出下面程序的运行结果#include <iostream>using namespace std;int type(int m);//判断第m年是否是闰年,是返回1,否则返回0 int main(){char week[7][10]={"Saturday","Sunday","Monday","Tuesday","Wednesday","Thursady","Friday"};int year[2]={365,366};int month[2][12]={31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31};int days,dayofweek;int i=0,j=0;while(cin>>days&&days!=-1){dayofweek = days%7;for(i=2000;days>=year[type(i)];i++)days-=year[type(i)];for(j=0;days>=month[type(i)][j];j++)days-=month[type(i)][j];cout<<i<<"-"<<j+1<<"-"<<days+1<<" "<<week[dayofweek]<<endl;}return 0;}int type(int m){if(m%4!=0 || (m%100==0&&m%400!=0)) return 0;return 1;}输入数据如下:18301840-19.写出下面程序的运行结果class Student{public:Student(){ coursename="#";classhour=0;credit=0; }virtual void Calculate(){credit=classhour/16;}void SetCourse(string str,int hour){coursename=str;classhour=hour;}void SetCredit(int cre){credit=cre;}int GetHour(){ return classhour; }void Print(){cout<<coursename<<'\t'<<classhour<<"学时"<<'\t'<<credit<<"学分"<<endl;}private:string coursename; //课程名int classhour; //学时int credit; //学分};class GradeStudent:public Student{public:GradeStudent(){};void Calculate(){SetCredit(GetHour()/20);}};int main(){Student s,*ps;GradeStudent g;s.SetCourse("英语",80);g.SetCourse("英语",80);ps=&s;ps->Calculate();ps->Print();ps=&g;ps->Calculate();ps->Print();return 0;}10.假定输入的10个整数为:33,65,54,88,55,32,98,56,78,73,下列程序的运行结果是#include<iostream>using namespace std;int main(){int a,b,c,x;a=b=c=0;for(int i=0;i<10;i++){cin>>x;switch(x%3){case 0:a+=x;break;case 1:b+=x;break;case 2:c+=x;break;}}cout<<a<<”,”<<b<<”,”<<c<<endl;}11.写出下段代码的运行结果#include<iostream>using namespace std;int main(){inta=5,b=4,c=3,d;d=(a>b>c);cout<<d;}12.写出下段代码的运行结果#include<iostream>using namespace std;void fun(int *a,iht *b){int *k;k=a;a=b;b=k;}void main( ){int a=3,b=6,*x=&a,*y=&b;fun(x,y);cout << a << " " <<b;}13.写出下面程序的运行结果#include <iostream>using namespace std;int main (){int s=0;for (int i=1;i<8;i++)s+=i*i;cout <<"s="<<s<<endl;return 0;}14.写出下面程序的运行结果#include <iostream>using namespace std;class a{public:int f1();int f2();void setx(int m){x=m;cout<<x<<endl;}void sety(int n){y=n;cout<<y<<endl;}int getx(){return x;}int gety(){return y;}private:int x,y;};int a::f1(){return x+y;}int a::f2(){return x-y;}void main(){a aa;aa.setx(10);aa.sety(5);cout<<aa.getx()<<'\t'<<aa.gety()<<endl;cout<<aa.f1()<<'\t'<<aa.f2()<<endl;}15.写出下段代码的运行结果# include <iostream>using namespace std;int dec(int a[],int n){if (n <= 1) true;if (a[0] < a[1]) return false;return dec(a+1,n-1);}int main( ){int a[5]={ 3,4,5,2,9};cout<<dec(a,5);}16.写出下段代码的运行结果#include <iostream>using namespace std;int main(){int s=0;for (int i=1; ; i++) {if (s>50) break;if (i%3==0) s+=i;}cout <<"i,s="<<i<<","<<s<<endl;}17.写出下段代码的运行结果#include <iostream># include <iomanip >using namespace std;void main(){int a[9]={2,4,6,8,10,12,14,16,18};for (int i=0; i<9; i++) {cout <<setw(5)<<*(a+i);if ((i+1)%3==0) cout <<endl;}}18.写出下面程序的运行结果#include <iostream># include <iomanip >using namespace std;class A {public :A() { a=b=0; }A(int aa,int bb) {a=aa; b=bb;cout <<a<<' '<<b<<endl;}private:int a,b;};int main(){A x,y(2,3),z(4,5);return 0;}19.写出下面程序的运行结果#include <iostream>#include <cstring>using namespace std;int main(){char s1[ 20 ] = "Happy ";char s2[] = "New Year ";char s3[ 40 ] = "";cout << "s1 =" << s1 << "\ns2 =" << s2;cout << "\nstrcat(s1, S2) = "<< strcat( s1, s2 );cout << "\nstrncat(s3, s1, 6) =" << strncat( s3, s1, 6 );cout << "\nstrcat(s3, s1) = "<< strcat( s3, s1 ) << endl;return 0;}20.写出下面程序的运行结果#include <iostream>#include <stdlib.h>using namespace std;int main(int argc, char *argv[]){int a;char buf[10];cin>>a;itoa(a,buf,10);int result = 1;for(int i=0;i<strlen(buf);i++)if(buf[i]!='0') result = result*(buf[i]-'0');cout<<"result= "<<result<<endl;return 0;}输入:20090115二、选择题(每题3分,共15分)1.有以下函数:fun(char *a,char *b){while((*a!='\0')&&(*b!='\0')&&(*a==*b)){a++;b++;}return(*a-*b);}该函数的功能是______。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序设计基础》期末复习考试题型和分值。

一、单选题 (20 小题,每题 2 分) 二、填空题(共 20 题,计 20 分) 三、编程填空题 ( 给出程序的输出结果,共 5 题,14 分) 四、读程序题 ( 补充程序,共 2 小题,,共 26 分 )猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此 来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太 大还是太小,直 到人猜对为止。

5. 编写程序, 要求在 main 函数接受一个整型变量, 将其作为参 数传入 IsPrime 函数中, IsPrime 函数根据传入的值确定返回 值,如果 <2,返回 0;如果不是素数,返回 1;如果是素数, 返回 2。

主函数根据返回值输出相应的提示信息: 输入不合法, 不是素数,是素数。

6.编写程序:给学生出一道加法运算题,然后判断学生输入的 答案对错与否。

通过输入两个加数给学生出一道加法运算题, 如果输入答案正确,则显示“ Right! ”,否则提示重做,显示Not correct! Try again! ”,重复要求输入答案,直到输入结果正确,程序结束。

程序练习:1.输出1〜10之间所有的偶数和它们的平方。

输出所有的水仙花数。

从键盘输入一行字符,统计其中有多少个单词。

假设单词之 间是以空格分开。

编程先由计算机“想”一个 1〜100 之间的数请人猜, 如果人2. 3.4.要求:用Add函数来进行两个整数的加法运算;用 Print函数判断输入的答案正确与否;用 main 函数输入两个相加的数和学生的答案,然后调用 Add 函数和 Print 函数判进行判断和显示输出。

7.利用指针编写两个整数交换的函数。

8.从 10 个元素的数组中找出最大值和最小值,并记录最大值和最小值对应的元素的下标位置。

9. 给定 10 个数,按照要求进行排序并输出排序的结果。

程序设计 ABC1. 程序运行的方式分为哪两种?(编译运行和解释运行) 2 . 什么叫编译器,其功能是什么?(把程序设计语言转换成目标代码的软件称为编译器)数据类型、运算符与表达式1.C程序的特点 ?函数是 C 程序的基本单位。

一个 C 程序有且仅有一个 main 函数(主函数),总是从 main 函数开始执行,在 main 函数中结束,与其位置无关;函数由函数头和函数体组成C程序的书写格式:C语句都以分号结束;允许一行多句,但最好一行一句并按照锯齿形 (缩进式) 书写,提高可读性 和可测试性; 适当使用注释 (注释中的语句不参与编译, 能发现其中的拼写错误) 。

2. C 语言标识符的命名规则,会判断哪些是合法的哪些不合法。

实型常量的表示。

分为十进制小数( 123.45 、-0.5 、.98 、 18.均合法)和指数形式(1e-2、4.5e3、3.e2 > .8e-5 均 合法, e3 、2e3.5 、.e3 不合法)。

字符常量的表示。

除了转义字符外单引号中仅有一个字符 X 'X ' “X ” ‘XY' )、转义字符。

( ‘\n ' 表 示一个字符 ) ( P23)例如: #define PI 3.14159 #define A(x) 3*x*x -27. 变量:程序运行过程中其值可以改变的量。

变量的声明与初始化。

遵循“先定义、后使用”。

变量名由用户定义的标识符。

变量的属性:变量名、变量类型、变量的值、变量的存储单 元——地址3. 如何判断表达式的数据类型?(取高精度的)4. 常量:程序运行过程中其值不变的量。

5. 字符串常量。

双引o号。

注意与字符常量的区别)6. 宏常量。

如何声明一个宏常量?printf( “%d ”, A(1+3)); 结果?使用变量注意的问题8. 常用运算符及表达式。

不能给表达式赋值。

例如: x+y=3优先级和结合性。

算术运算符。

( 1)两个整数相除结果为整数。

6/4=1(2)有一个操作数为实数,结果为 double 型。

6./4=1.5 (3)求余运算的两个操作数必须为整数。

将算术表达式转换为 C 语言表达式。

(常见错误 P34)例如: 3 < x < 4 ”或” x < -5关系运算符。

>,>=,<,<= 关系运算符运算出的结果为 0 和非 0)(常见错误见 P35)逻辑运算符。

逻辑运算符两侧的运算对象可以是任意合法的表达式。

&&(同真为真,否则为假。

)、 || 有一个为真结果为真,同假为假) a 的值不变)例如:判断是否为字母;例如:当 a=1,b=2,c=3,x=4,y=3 时 !b<a && a != c ||x+y <=3 的值?语句 while(!E) 中的条件 !E 等价条件是: E==0会将自然语言翻译成逻辑、关系表达式。

例如:收入(in come)大于5000并且小于10000赋值运算符。

左边只能是变量。

复合运算符,例如:n *= m + 2三目运算符: w < x ? w : y增量( + + )和减量(一一)运算符。

注意前置和后置运算: 若单独一个增量或减量运算符,则相当于执行加 1 或减 1 操作,若用在复合语句中就有区别。

m = n++ ;m= ++n ; printf (“% d ”, ++n ); printf (“% d ”,n ++);9. 类型转换。

不会自动进行四舍五入; 将取值范围小的类型转为范围大的类型是安全的。

反之是不安全的。

注意表达式赋值后的类型转换例如: int x1 = 1, x2 = 2, x3 =3;简单的 C 程序设计字符输入 / 输出。

字符输出函数 putchar (ch ) :向终端显示屏幕输出一个字符 ch 。

功能:从键盘输入一个字符,按回车表示输入结束,函数值 为从输入设备接收的字符。

scanf :不要忘记 &符号;多个变量输入值之间的符号;特 别要注意类型的匹配;忽略修饰符等。

(具体见书)x3 = 1.0/x2*x1;结果是什么类型?1. 表达式和表达式语句的区别。

2. 字符输入函数 getchar (),使用格式:变量=getchar3. 格式输入 / 输出。

printf :注意类型匹配;域宽、精度等。

(具体见书- 3)4. 要能够判断程序的错误。

(如变量、常量的声明、输入输出格式等问题)。

程序的控制结构1.什么是算法?什么是程序?算法的五个特性是什么?程序:是为解决某一问题而用特定的计算机语言编写的,用以指挥计算机完成预定功能的一系列计算机指令;算法是程序处理问题的步骤和方法;算法的特性:有穷性、确定性、有效性、没有输入或多个输入、有一个或多个输出。

(要清楚各个特性的含义)2.程序的三种基本结构。

3.逻辑运算符和关系运算符的使用。

4.选择结构。

if形式、if …else…形式、 if …else…嵌套形式、switch 多路开关特别注意括号的使用、 else 与 if 配对问题、关系判断使用==、浮点数不能进行==比较。

使用条件语句应注意以下问题:是否需要包含相等的情况。

表达相当的关系使用的是==,不要把if(a ==b) 写成 if(a=b) 。

例如:int x = 2, y=3, z = 4;if( x = y)printf( %d\n”,z);elseprintf( %d\n”,y);对于float 变量,由于存在精度问题,所以要避免使用“”或“!=”进行数字比较。

可以设法转换成“ >=”或“ <=”形式。

语句嵌套结构中if 与 else 的配对!if 和 else 配对原则:缺省 { } 时, else 总是和它上面离它最近的未配对的 if 配对。

实现 if ~ else 正确配对方法:加 { } 。

switch 多路开关:switch( 表达式 )case 常量 1:表达式需为整型、字符型或枚举型。

各常量表达式的值必须互不相同;需用 break 跳出; case后可包含多个可执行语句,且不必加 { } ; switch 可嵌套,多个 case 可共用一组执行语句;default 可以省略,但建议使用。

例如: i=0;while(i < 3)switch(i)case 0: printf( %d”,i);case 2: printf( %d”,i);default: printf( %d”,i);i++;4.循环结构。

循环的三种形式以及语法。

循环的要素:循环入口、重复执行的内容、循环测试、终止条件、循环退出。

注意:在 for 和 while 语句之后一般没有分号, do-while 的while 后必须有分号。

循环体有多条语句必须用 { } 括起来。

有分号表示循环体就是分号之前的内容(空循环体)i);x++;while (i < 100); i++;for (i = 0; i < 100; i++); < 5; i += 2) printf("%d", printf("%d", i); 选择循环的一般原则循环的嵌套:外层、内层循环的次数。

例如: main()int i, x = 0;for (i = 2; i < 5; i++)doif ( i%3) continue;for(i = 1; i 如果循环次数已知,用 for ; 如果循环次数未知,用while ;如果循环体至少要执行一次,用do-while 。

}while( !i);x++;printf( “x=%d\n” ,x);流程的转移控制:break 语句:可以用在 switch 结构中,终止当前 case ;可以用在循环结构中,退出当前所在的循环。

continue 语句:用于循环结构中,中断此次循环体的执行,也就是停止 continue 语句后面的内容,开始下一次。

第三章函数1. 熟悉一些简单的数学库函数。

2. 函数的定义。

函数定义的语法。

函数名”是函数的唯一标识,其命名规则与命名雷同。

函数不能嵌套定义,可以嵌套调用。

函数头和函数体之间不能有分号。

3. 函数原型,也叫函数声明。

函数原型就是不带函数体的函数声明;函数原型就是函数头加分号;函数原型必须放在调用者之前,通常放在 main 函数之前;函数原型和函数定义中的函数返回类型、函数名和形参数表(形参的个数、类型、位置)必须完全一致,否则,编译器会报告有编译错误。

4. 函数参数。

形参:子函数(被调函数)内部准备接受数据的参数叫形参。

形参必须指定类型。

形参在函数被调用前不占内存;函数调用时为形参分配内存;调用结束,内存释放。

实参:调用者提供的参数叫实参,实参是实际参与运算的数据。

相关文档
最新文档