程序设计基础》期末复习考试题型和分值。
一、单选题 (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. 函数参数。
形参:子函数(被调函数)内部准备接受数据的参数叫形参。
形参必须指定类型。
形参在函数被调用前不占内存;函数调用时为形参分配内存;调用结束,内存释放。
实参:调用者提供的参数叫实参,实参是实际参与运算的数据。