复习资料程序设计设计部分
java程序设计》复习资料
java程序设计》复习资料Java程序设计是计算机科学中的一门重要课程,它涵盖了Java语言的基础知识和编程技巧。
在这门课程中,学生将学习如何使用Java语言进行程序设计,并掌握面向对象的编程思想。
本文将为大家提供一些Java程序设计的复习资料,帮助大家回顾和巩固所学知识。
一、Java语言基础Java语言是一种跨平台的编程语言,它具有简单、面向对象、健壮和安全等特点。
在学习Java程序设计之前,我们首先需要了解Java语言的基础知识。
1. 数据类型:Java语言中包含多种数据类型,包括基本数据类型和引用数据类型。
基本数据类型包括整型、浮点型、字符型和布尔型等,而引用数据类型则包括类、接口、数组等。
2. 变量和常量:在Java程序设计中,我们可以使用变量来存储和操作数据。
变量需要先声明后使用,并且可以根据需要进行赋值和修改。
而常量则是不可变的数据,一旦赋值后就不能再修改。
3. 运算符:Java语言支持多种运算符,包括算术运算符、关系运算符、逻辑运算符和位运算符等。
通过使用这些运算符,我们可以对数据进行各种操作和计算。
4. 控制流程:在程序设计中,我们经常需要根据不同的条件执行不同的代码块。
Java语言提供了多种控制流程语句,如if语句、for循环和switch语句等,可以帮助我们实现程序的流程控制。
二、面向对象编程面向对象编程是Java程序设计的核心概念之一。
在面向对象编程中,我们将程序看作是由多个对象组成的,每个对象都有自己的属性和方法。
下面是一些与面向对象编程相关的复习资料。
1. 类和对象:在Java语言中,类是对象的模板,用于描述对象的属性和方法。
通过创建对象,我们可以使用类中定义的属性和方法。
在定义类和创建对象时,需要注意访问修饰符、构造方法和成员变量的使用。
2. 继承和多态:继承是面向对象编程中的重要概念,它允许我们创建新的类,并从现有的类中继承属性和方法。
通过继承,我们可以实现代码的重用和扩展。
《Python程序设计》A卷复习资料
《Python程序设计》复习资料一、判断题()1. Python2和Python3互相兼容()2. Python拥有一个强大的标准库()3. Python是一个高级程序语言()4. Python社区提供了大量的第三方模块()5. 定义函数时,需要定义函数名和参数个数()6. 默认Python解释器不会对参数类型做检查()7. 与元组和列表类似,集合中同样可以包含多个不同类型的元素,但集合中的各元素无序、不允许有相同元素且元素必须是可哈希的对象。
()8. 函数中的默认参数不能传递实际参数。
()9. 字符串以\0标志字符串的结束()10. 变量无须先创建和赋值而直接使用二、填空题1.阅读下列程序并写出程序结果__________________>>>A = 6>>>B = A>>>A = A+1>>>B = B + A>>>C = B + A>>>print(A, B,C)2. 下列程序运行结果是____________________>>>x = False>>>y = True>>>z = False>>>if x or y and z:print (“yes”)>>>else:print (“no”)3. 执行以下代码,输出结果是___________________>>>my_lsit= ‘Explicit is better than implicit.’.split()>>>print(my_lsit[2])4. Python内置函数_____________可以返回列表、元组、字典、集合、字符串以及range 对象中某个元素的个数。
5. 表达式 [x for x in [1,2,3,4,5] if x<3] 的值为_____________三、选择题1.下列变量名都命名正确的是()A. Pi it’s pythonB. student_num ab c tRUEC. Student-num strc IFD. Ab _while num_32. 下列Python语句的输出结果是()>>> a = 121+121.1>>> print(type(a))A.<class ‘int’>B.<cla ss ‘number’>C.<class ‘double’>D.<class ‘float’>3. 下面的循环语句,循环次数与其他语句不一样的是()4. 对于序列numbers=[1,2,3,4,5,6,7,8,9,10],以下相关操作和对应输出正确的是()A. >>>numbers[0:2] [1,2,3]B. >>>numbers[0:-1] [1,2,3,4,5,6,7,8,9,10]C. >>>numbers[-2:] [9,10]D. >>>numbers[0::3] [1,3,5,7,9]5. 下列语句运行后,aSet的内容为()>>>L1 = [2,3,3,5,7,2]>>>aSet.set(L)A.[2,3,5,7]B.{2,3,5,7}C.{2,3,3,5,7,2}D.{2,3,5,7,2}6. 关于下列程序运行结果说法正确的是()>>>def f(x):a = 7print(a+x)>>>a = 5>>>f(3)>>>print(a)A.程序运行结果10和7B.程序运行结果10和5C.程序运行结果8和5D.程序不能正常运行7. open()方法的默认文件打开方式是()A. rB. r+C. wD. w+8. 下列文件打开方式中,()不能对打开的文件进行写操作。
java程序设计复习资料
java程序设计复习资料填空1、Java虚拟机执行过程的三个特点是、、。
2、Java源程序的运行,至少要经过和两个阶段。
3、执行下列程序,输出的结果为_________________。
public class Test{public static void main(String args[]){int x=5; double y=22.5;String s=”abc”; s+=x+y;System.out.println(c);}}4、在Java程序里,对象是类的一个____________。
5、用于求字符串容量的方法是___________,用于求字符串长度的方法是___________。
6、如果使用没有初始化的数组,会产生______________________异常,在引用数组元素时,如果下表越界,会产生______________________异常。
7、随着Java语言的不断发展,Sun公司将Java细分为三个版本,三个版本的简称为、、。
8、Java程序基本上可以分成两类,即和。
9、执行下列程序,输出的结果为_________________。
public class Test{public static void main(String args[]){int a=16; int b=2;do{a/=b}while(a>3);System.out.println(a);}}10、在面向对象方法中,类的实例被称为______________。
11、在运行时,由Java解释器自动引入,而不用import引入的包是___________。
12、一个类可以从它的父类中继承所有的属性和方法,采用这种方法可以提高软件的___________。
答案:1、多线程,动态链接,异常处理2、编译,解释3、abc27.54、实例5、capacity(),length()6、nullPointException,ArrayIndexOutOfBouldsException7、J2EE,J2ME,J2SE8、Java应用程序,Applet小程序9、210、对象11、ng12、可重用性选择1、下面对于Java和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、8088/8086CPU内部寄存器有__14____个,其中的AX、BX、CX、DX是通用寄存器,SP、BP、DI、SI 是基址和变址寄存器,CS、DS、ES、SS、是段寄存器,此外还有指令指针寄存器 IP 和标志位寄存器 FLAGS 两个控制寄存器,所有寄存器都是 16 _位寄存器,每个寄存器可以存放 16 位二进制数。
2、8088/8086CPU的标志位寄存器中有9个标志位,其中的DF、IF、TF是控制标志,OF、SF、ZF、CF、AF、PF 是状态标志。
3、8088/8086CPU有三组总线,它们是数据总线、控制总线和地址总线;地址总线是 20 条,因此它可以寻址的范围是 1M 字节。
通常将 1024 字节称为1K,将 1024K 字节称为1M。
4、8088/8086CPU的存储器采用分段方式管理,每个段最多可以有 64K 字节,全部存储空间可以分成 16 个大小为64K且互相不重叠的段。
5、采用分段方式管理的存储单元的地址分成物理地址和逻辑地址两种,逻辑地址由段地址和偏移地址两部分构成,段地址是每个存储器段的起始地址;偏移地址则是相对于每个段第一个存储单元的偏移值。
段地址存放在段寄存器中,由于8088/8086CPU的段寄存器是16位寄存器,因此在段寄存器中存放的是段地址的 16 位;而CPU对数据的存取是按物理地址进行的,物理地址和逻辑地址间的关系是__ 物理地址=段地址 16D(或10H)+ 偏移地址___。
6、存储器中,数据是以字节为单位存放的,它是一个 8位二进制数,16位二进制数是 2个字节,又称为字;每个存储单元可以存放一个字节;一个字则占用两个存储单元,存放时要将低字节放在地址较小的存储单元中。
7、计算机的指令由操作码字段和操作数字段构成,它们分别给出计算机所要执行的操作和执行操作所要的操作数。
8、指令操作数通常可以存放在指令中,也可以存放在CPU的寄存器中,大多数存放在存储器中,它们分别称为立即数、寄存器操作数和存储器操作数。
《java程序设计》复习资料
选择题
答题要求:单选题,每题只有一个正确答案,选择正确给分,不正确不给分。
1、下面(A)数据类型可用于main()方法中传递的参数
A、String B、IntegerC、BooleanD、Variant
2、以下的选项中能正确表示Java语言中的一个整型常量的是(B)
A、12.B、-20 C、1,000 D、4 5 6
A、隐藏B、覆盖C、重载D、Java不支持此特性
15、执行下面的程序,输出结果是(B)。
public class Test {
int x= 12;
public void method(int x) {
x+=x;
System.out.println(x);
}
public static void main(String[] args){
A、int B、float C、double D、void
13、给出如下代码:
class Test{
private int m;
public static void fun() {
// some code... (Test.m)
}
}
如何使成员变量m被函数fun()直接访问?(C)
A、将private int m改为protected int m
A、字节码B、可执行代码
C、机器代码D、以上所有选项都不正确
7、以下字符常量中不合法的是(C)
A、'@' B、'&' C、"k" D、'整'
8、以下的选项中能正确表示Java语言中的一个double型常量的是(C)
A、Float.MIN_VALUE B、1.8e-6F
java程序设计复习资料
java程序设计复习资料Java程序设计复习资料Java是一种广泛应用于软件开发领域的编程语言。
无论是初学者还是有一定经验的开发者,都需要不断复习和提升自己的Java编程能力。
本文将为大家提供一些Java程序设计的复习资料,帮助大家系统地回顾和巩固相关知识。
一、基础知识复习1. Java语言基础:复习Java的语法规则、关键字、数据类型、运算符等基础知识。
可以参考《Java核心技术卷一》等经典教材。
2. 面向对象编程:复习类、对象、继承、封装、多态等面向对象的基本概念和原则。
推荐阅读《Java编程思想》等相关书籍。
3. 异常处理:复习Java中的异常处理机制,包括异常类的继承关系、异常处理的语法和常见的异常类型。
可以参考《Java编程思想》等书籍中的相关章节。
4. 输入输出流:复习Java中的输入输出流操作,包括文件读写、网络通信等。
推荐学习《Java核心技术卷二》中的相关内容。
5. 集合框架:复习Java中的集合框架,包括List、Set、Map等常用集合类的使用方法和特点。
可以参考《Java编程思想》等书籍中的相关章节。
二、常用工具和框架复习1. 开发工具:复习Java开发中常用的集成开发环境(IDE),如Eclipse、IntelliJ IDEA等。
了解其基本使用方法和常见功能。
2. 版本控制工具:复习Git等版本控制工具的使用方法,包括代码提交、分支管理、合并等操作。
推荐学习《Pro Git》等相关资源。
3. 单元测试框架:复习JUnit等常用的单元测试框架,了解其基本使用方法和常见断言方法。
可以参考JUnit官方文档和相关教程。
4. Web开发框架:复习Spring、Spring MVC等常用的Java Web开发框架,了解其基本原理和使用方法。
推荐学习相关官方文档和教程。
5. 数据库操作:复习Java中与数据库交互的相关知识,包括JDBC的使用、SQL语句的编写等。
可以参考《Java核心技术卷一》中的相关章节。
计算机(专升本)java程序设计复习资料
一卷一、简答题1. 什么是类?什么是对象?2. 方法的重载和覆盖(重写)有什么区别?3. 简述抽象类与接口的异同。
4. 简述JDBC访问数据库的步骤。
二、编程题1. 定义一个类Circle,计算并输出圆(半径=3)的面积2.在D盘创建文件test.txt,文件中的内容为Hello,world!,然后利用输入流输出流把文件拷贝到E盘根目录下。
卷一答案一、简答题 1. 什么是类?什么是对象?类是对某一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,也称实例。
2. 方法的重载和覆盖(重写)有什么区别?方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。
重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重载对返回类型没有特殊的要求。
重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常。
3. 抽象类与接口的异同抽象类和接口都不能够实例化,但可以定义抽象类和接口类型的引用。
一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现,否则该类仍然需要被声明为抽象类。
接口比抽象类更加抽象,因为抽象类中可以定义构造器,可以有抽象方法和具体方法,而接口中不能定义构造器而且其中的方法全部都是抽象方法。
抽象类中的成员可以是private、默认、protected、public的,而接口中的成员全都是public的。
抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量。
有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法。
4. 简述JDBC访问数据库的步骤a) 加载JDBC驱动程序b) 建立数据库连接c) 创建Statement对象d) 执行SQL语句e) 处理返回结果f) 关闭创建的对象二、编程题1. public class Circle {double radius;public Circle(double r){radius=r;}public double area(){return 3.14*r*r;}(8分)public static void main(String[] args) {Circle c=new Circle(3);System.out.println("圆的面积是"+c.area());}}(7分)2.public class FileCopy {public static void main(String[] args) {try {。
《C语言程序设计》专题复习资料
7、编写一个程序,将用户输入的十进制整数转换成
十六进制数。
8、编写程序,把一个65---91之间的数据看成是字
符的ASCII码,输出对应的字符。
(用Do循环语句编写,且字符之间用空格分开)
9、输入一个英文句子,它仅包含单词与空格,试把其中的每一个单词的第一个字母设置为大写,其余字母设置为小写,输出结果。
(用数组编程)
10、
11、
12、
13、
14、
15、
16、
17
18、
19、
20、
21、
第二部分参考答案
参考资料:[1]程朔鹰等人民邮电出版社《C语言程序设计习题集》
[1]程朔鹰等人民邮电出版社《C语言程序设计习题集》
[1]程朔鹰等人民邮电出版社《C语言程序设计习题集》
[1]程朔鹰等人民邮电出版社《C语言程序设计习题集》
[1]程朔鹰等人民邮电出版社《C语言程序设计习题集》。
计算机基础与程序设计考试复习资料
计算机基础与程序设计考试复习资料填空题11、在C语⾔中,输⼊操作是由库函数printf( )完成的,输⼊操作是由库函数scanf()完成的。
12、在函数外部定义的变量统称为全局变量,它们的作⽤域从定义之处开始,直到源⽂件或程序结束。
13、C语⾔中的⽂件,按存取⽅式可以分为顺序存取⽂件和随机存取⽂件。
14、在⼀个C源程序中,注释部分两侧的分界符分别为/*和*/。
15、在C语⾔中,如果实参是简单的数据类型,则函数形参和实参之间的数据传递,只能由实参传给形参。
16、⼀个C源程序中⾄少应包括⼀个名为main( )的主函数。
50、COMMAND COM为键盘命令处理程序,DOS系统启动后,它常驻内存,包含所有内部命令。
51、Turbo c中,float类型变量在内存中占字节数为4。
52、在C语⾔中,合法的长整型常熟是0L。
53、C语⾔中最简单的数据类型包括整型、实型、字符型。
54、在宏定义#define PI3.14159中,宏名PI代替的是⼀个字符串。
55、计算机的硬件系统由运算器、控制器、存储器、输⼊输出设备基本部件组成。
56、计算机能直接执⾏的程序是机器语⾔程序。
57、为了将所有扩展名为 .PAS的⽂件改成扩展名为.P,应使⽤命令REN *. PAS *. P。
58、C语⾔中,运算对象必须是整型数的运算符是%。
59、若调⽤⼀个函数,且此函数中没有return语句,则正确的说法是:该函数返回⼀个不确定的值。
60、当顺利执⾏了⽂件关闭操作时,fclose函数的返回值是0。
61、软盘、硬盘、光盘属于外部存储器。
62、语⾔编译程序若按软件分配应属于系统软件。
63、为了列出A盘当前⽬录中⽂件标识符不超过三个字符扩展名为任意的⽂件清单,可选⽤DIR A:.*。
64、0.314e10表⽰C语⾔double类型常量。
65、在C语⾔的if语句中,⽤作判断的表达式为任意表达式。
66、在C语⾔中,引⽤数组元素时,其数组下标的数据类型允许是整型常量变量或整型表达式。
程序设计基础考试复习资料
程序设计基础1. 如果int a=3,b=4;则条件表达式"a<b? a:b"的值是32. C语言中函数返回值的类型是由函数定义时指定的类型决定的。
3. 对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是将5个初值依次赋给a[0]至a[4]。
4.设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P指向data中的a域,正确的赋值语句是p=&data.a。
5.int a=3,b=5;if(a=b)printf("%d=%d",a,b);else printf("%d !=%d",a,b);的输出结果是3!=56. 函数是构成C语言程序的基本单位。
7.结构化程序由三种基本结构组成,三种基本结构组成的算法是可以完成任何复杂的任务。
8.在函数调用时说法正确的是实际参数和形式参数可以同名9. 下列程序#include <stdio.h> main() { int s=0,a=5,n; scanf("%d",& n); do { s+=1; a=a-2; }while(a!=n); printf("%d,%d\n",s, a); }执行输入整数1的结果是2,1。
10. 在C语言中,函数的数据类型是指函数返回值的数据类型。
11. 如有定义语句int c[]={1,5,3,4,6,7,0},则数组有个7元素。
12. 若int x=2,y=3,z=4 则表达式x<z?y:z的结果是3。
13. 已知char s3[]="China";,则程序段printf("%d",sizeof(s3));的输出结果是6。
(字符串数组最后一个元素是'\0',长度6。
)14. 若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n 的值是115.下列程序#include <stdio.h> main() { int x, y =0; for(x=1;x<=10;x+ +) { if(y>=10) break; y=y+x;} printf(“%d%d”,y,x); }执行的结果是10 5。
C程序设计复习资料(含答案)
C程序设计复习要点第一章概述1.C程序的构成与结构特点2.C程序上机调试过程与流程第二章数据类型、运算量与表达式1.数据类型的种类(基本数据类型和构造数据类型)2.常量的数据类型及其表示(表示方法、存储字节数与表数范围)——整、实、字符、字符串和转义字符3.变量的命名、定义方法与赋初值4.各种表达式及其运算规则——优先级、结合性、类型自动转换与强制转换●算术运算符、表达式及其构造(注意“/”和“%”特殊性)●自增、自减运算符及其简单表达式运算●赋值运算符及其表达式(注意复合赋值运算符的运算方法)●逗号运算符及其表达式第三章流程控制1.赋值语句的一般形式、赋值过程及赋值规则(注意左右数据类型的一致或兼容)2.输入和输出函数的格式、功能及用法(只要求常用的格式控制符d, f, c, s),提醒注意:●格式输出中域宽和小数位数的控制●格式输入与输出中普通字符的原样输入和输出问题●熟悉并区别以下函数:putchar()、printf()、puts();getchar()、scanf()、gets()3.关系运算符及其表达式、逻辑运算符及其表达式和条件运算符及其表达式的运算规则(优先级、结合性)4.关系表达式与逻辑表达式的构造(根据已知条件写表达式)5.if语句的三种形式:if …语句、if …else …语句、if 语句的嵌套●if 语句的格式与用法:简单if、嵌套if、并列if●逻辑关系与执行过程●嵌套规则(重点掌握if …else …if …else …if …else)6.switch语句的格式与用法7.*熟练使用if和switch语句阅读和编写较为简单的选择结构程序8.三种循环语句:while() …、do …while()、for()的格式、执行过程及其用法●循环变量初始化、循环条件构造、循环体所要实现的任务和控制变量修改注意循环期间与结束时循环控制变量的取值问题9.结合例题理解和区别break与continue语句的作用及其用法10.本章涉及的主要算法:累加(计数)、累乘、递推、穷举、判素数、求最大公约与最小公倍等11.*熟练使用三种循环语句并结合以上算法阅读和编写较为简单的循环结构及其嵌套程序第四章复杂数据类型1.一维、二维数组的定义、初始化及其引用方法(数据输入、输出、存储与处理)2.字符数组的定义、初始化及其引用(字符串输入、输出、存储与处理)3.常用字符串处理函数:gets()、puts()、strlen()、strcmp()、strcpy()4.数组涉及的主要算法:排序、极值、逆序、回文和字符串的连接、复制、求长度等5.*熟练使用数组并结合以上算法阅读和编写较为简单的程序6.指针的概念:指针、指针变量、指针运算(*、&、++、--、+、-)7.变量、数组和字符串指针的定义、指向与引用(仅限于一维数组)8.了解指针数组与二级指针的概念和定义9.*能够阅读并理解使用指针进行数据处理的相关程序(极值、逆序、回文和字符串的连接、复制、求长度等)10.结构体与共用体的概念、定义与引用(仅限概念)第五章结构化程序设计与应用1.熟悉程序的三种基本结构:顺序、选择和循环2.*通过其中部分例题掌握选择、循环语句的使用以及循环和数组涉及的主要算法第六章函数与编译预处理1.掌握函数的定义、声明和调用方法及参数传递方式2.*结合相关例题掌握一般函数和递归函数的定义与使用3.熟悉局部变量与全局变量的定义及作用范围,了解各种静态与动态变量的定义、作用范围与生存期4.了解内部函数与外部函数的定义及调用规则5.掌握宏定义与宏展开(重点掌握带参数宏的定义与展开)6.了解文件包含的作用及其使用场合第七章文件1.了解文件的概念2.熟悉文件打开、关闭及各种与文件读写有关函数的格式与用法特别提醒:以上带*部分主要涉及程序阅读、程序填空和编写程序,其余部分主要以选择和概念填空题出现3ae bc C语言程序设计参考题型说明:★本题仅反映考试的题型,作为考前复习参考。
Windows程序设计复习资料(完整答案)
Windows程序设计复习资料(完整答案)⼀、单项选择题:1.WinMain()函数的⼯作。
WinMain()函数是Windows程序的⼊⼝点在WinMain中进⾏:注册窗体类、建⽴窗体、显⽰窗体、更新窗体、建⽴消息循环2.⾮MFC的Windows程序中,不是处理WM_PAINT消息的时候怎样获得客户区的设备环境句柄。
BeginPaint ----------EndPaintGetDC---------------ReleaseDC(成对出现)利⽤GetDC()函数获取设备环境句柄3.句柄的含义。
句柄是⼀个(通常为32位的)⽆符号整数(unsigned int),它代表⼀个内核对象内核对象在应⽤层的表⽰4.在MM_TEXT映射模式下,什么情况下客户坐标和逻辑坐标可能不同。
当窗⼝客户区有滚动条时客户坐标和逻辑坐标可能不同5.Windows程序的控制流程。
Windows程序没有固定的控制流程,事件驱动程序控制流程6.事件驱动、消息驱动的概念。
事件驱动程序设计是⼀种全新的程序设计⽅法,它不是由事件的顺序来控制,⽽是由事件的发⽣来控制,⽽这种事件的发⽣是随机的、不确定的,并没有预定的顺序,这样就允许程序的的⽤户⽤各种合理的顺序来安排程序的流程。
消息是事件到达Windows内部后的称呼7.对话框、控件的作⽤。
对话框是程序与⽤户之间进⾏交互,接收⽤户输⼊、并把数据显⽰出来的⼀个窗⼝;控件是⽤户可与之交互以输⼊或操作数据的对象。
控件通常出现在对话框中或⼯具栏上。
8.MFC中怎样处理WM_PAINT消息。
在OnDraw()函数中处理该消息9.GetMessage()函数在什么情况下返回0,从⽽导致消息循环终⽌,程序结束。
在接收到WM_QUIT消息时返回010.Windows中,应⽤程序的输出是怎样进⾏的。
通过设备描述表DC(Device Context)来进⾏应⽤程序与物理设备之间的交互11.MFC中,⼤多数类的基类都是什么。
c语言程序设计(复习资料)
c语言程序设计(复习资料)总共50题共100分一、单选题(共20题,共40分)1. 假定一个二维数组的定义语句为“int a[3][4]={{3,4,{2,8,6;”,则元素a[2][1]的值为()。
(2分)A.0B.4C.6D.8★标准答案:A2. 以下说法中正确的是()。
(2分)A.C++程序总是从第一个定义的函数开始执行B.C++程序总是从main函数开始执行C.C++函数必须有返回值,否则不能使用函数D.C++程序中有调用关系的所有函数必须放在同一个程序文件中★标准答案:B3. 在下面循环语句中循环体执行的次数为()。
int i=0,s=0; while(s<20) {i++; s+=i; (2分)A.4B.5C.6D.7★标准答案:C4. 虚函数的定义是在基类中进行的,定义时需要冠以关键字(2分)A.staticB.frendC.virtualD.public★标准答案:C5. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()。
(2分)A.内联函数B.重载函数C.递归函数D.函数模板★标准答案:A6. 设x和y均为bool量,则x || y为假的条件是( )。
(2分)A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假★标准答案:C7. 若数组名作实参而指针变量作形参,函数调用时实参传给形参的是(2分)A.数组的长度B.数组第一个元素的值C.数组所有元素的值D.数组第一个元素的地址★标准答案:D8. 字符串”a+b=12\n”的长度为()。
(2分)A.6B.7C.8D.9★标准答案:C9. 程序中主函数的名字为()。
(2分)A.mainB.MAINC.MainD.任意标识符★标准答案:A10. 假定下列x和y均为int型变量,则不正确的赋值为()。
(2分)A.x+=y++B.x++=y++C.x=++yD.++x=++y★标准答案:B11. do语句能够改写为()语句。
C程序设计复习资料知识点总结C语言
C程序设计知识点都懂了;一定过第1章 C语言概述1.1.C语言属高级语言;区分字母的大小写;以函数为基本单位采用模块化程序设计;可直接访问内存;进而对硬件进行操作..1.2.用C语言编写和程序称作C源程序;简称C程序;C程序可由若干个文本文件组成;文件扩展名为C使用C++编译器时默认扩展名为CPP..C源程序经编译、连接后得到扩展名为EXE的可执行文件目标程序..预处理编译、连接执行若干个C程序文件----→C程序------→目标程序文件--→1.3.C程序从主函数开始执行;每个C程序有且仅有一个主函数;因此;每个C程序文件中至多有一个主函数..1.4.C语句以分号结尾;用{}括起来的一组语句称作复合语句;复合语句可省略花括号之后的分号..1.5.允许一行内写多个C语句;也允许一个C语句占用多行;但保留字和标识符不可拆行..1.6.在C集成环境VC++ 6.0中;新建工程、保存当前程序文件、编译当前程序、执行当前程序的快捷键依次为:Ctrl+N、Ctrl+S、F7、Ctrl+F5..第2章 程序设计的灵魂——算法2.1. 解决问题的方法和步骤称作算法..算法和数据结构是程序的两个主要要素.. 2.2. 算法具有确定性、有穷性、有效性等特点..2.3. 算法可用自然语言、流程图、N-S 图、计算机语言、伪代码等描述..伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法..2.4. 算法的基本结构分为:顺序结构、选择结构、循环结构..↓↓↓↓←- --Y ┌ 条件 ┐N 条件 ┐N││││条件┘Y--- ← ┘ ↓N图2.2 顺序结构 图2.3 选择结构 图2.4 当循环 图2.5 直到循环图直到循环2.5.由三种基本结构组成的程序称作结构化程序;结构化程序中的每个模块只有一个入口和一个出口..结构化程序设计通常采用“自顶向下、逐步细化”的设计方法..第3章数据类型、运算符与表达式3.1.C的数据类型如下所示:表3.1 C语言的数据类型3.2.字母或下划线开头;由字母、数字、下划线组成;超出32个字符部分被忽略最好不超过8个字符..3.3.以0开头的整数为八进制整数;以0X或0x开头的整数为十六进制无符号整数..3.4.-32768~32767为int型;0U~65535U为unsignedunsigned long型;-~-32769、32768~和-L~L为long型..后缀U和L不区分大小写和次序..3.5.数据的存储字节数可用运算符sizeof查询;括号内可是数据、表达式或类型名..3.6.有符号整数int和long3.7.定点数含小数点数和浮点数统称C实型常量;浮点数的一般形式为:尾数e除码或尾数E除码其含义为:尾数×10除码其中;尾数为定点数或整数;除码为整数..标准浮点数的小数点在第1位非0数字之后..后缀L或l的实型常量为长双精度;无后缀实型常量为双精度..3.8.用一对单引号括起来的单个字符称作C字符常量;其值为该字符的ASCII码1字节无符号整数..3.9.转义字符'\n'、'\t'、'\\'、'\''、'\"'分别表示回车符、制表符、反斜杠、单引号、双引号..3.10.转义字符'\整数'、'\x整数'或'\X整数'中的整数分别为八进制、十六进制;表示以此整数为ASCII码的字符..3.11.用双引号括起来的一串字符称作C字符串型常量;串中字符数称作串长;可以为0..字符串的存储形式为:依次存储字符串中字符的ASCII码;并追加一个空字符'\0'1字节无符号整数0..3.12.字符型、整型、实型数据统称数值型数据;不同类型的数值型数据可以混合运算;低精度数据被自动强制转换为高精度数据后方参与运算..另外;字符常量为有符号短整数;两个字符型数据间的运算按有符号短整数处理..3.13.如果将数值型数据赋给不同类型的数值型变量;则数值型数据将被自动强制转换为变量的数据类型..3.14.C允许定义变量的同时赋初值..3.15.C运算符及其优先级、结合性如附录C教材第365页所示..3.16.强制数据类型转换的一般形式为:类型名数据3.17.自增++、自减--运算只能作用于变量;作用于右侧时;返回变量自增、自减前的值..3.18.赋值表达式的格式为:变量=表达式或变量op=表达式其中;op为运算符 +、-、、/、%、>>、<<、&、^、| 中某一个..前者将右边表达式的值赋给左边的变量;后者将左边变量的当前值与右边表达式的值作相应运算后仍赋给左边的变量..整个赋值表达式取左边变量所赋的新值..3.19.用逗号分隔的一组表达式称作逗号表达式;其一般形式为:表达式; 表达式; …; 表达式其功能为:从左至右依次计算各表达式的值;并以最后一个表达式的值为整个逗号表达式的值..3.20.将数学式改为C表达式时应注意:(1)乘号不可省略;(2)正确改写脚码、运算符、括号等;(3)正确书写函数名;(4)把握好运算优先级;分数线改为/时;分子、分母相应加括号;(5)正确拆分不等式组;(6)区分整数除法和实数除法..第4章顺序结构程序设计4.1.表达式后缀分号称作表达式语句;即;表达式;4.2.putchar、getchar、printf、scanf等输入输出函数的原型在头文件stdio.h中..4.3.函数putchar和getchar的格式和功能如下:(1)putchar格式:putchar表达式功能:向标准输出设备输出以指定表达式的值为ASCII码的字符;并以该值为函数值自动强制转换为int型..(2)getchar格式:getchar功能:从标准输入设备输入一个字符;并以该字符为函数值..注意:getchar可提取空格及回车、Tab等部分控制字符;而且只提取输入中相应位置上的一个字符;因此;输入字符间无须分隔;否则也被视为输入字符..4.4.printf函数的格式和功能如下:格式:printf格式控制串; 输出表列功能:(1)从右至左依次计算输出表列中各表达式的值;(2)从左至右依次输出格式控制串中的字符;其中;%引导的格式控制符由输出表列中相应表达式的值所取代..输出表列是一组用逗号分隔的表达式又称输出项;可以为0项..格式控制串为字符串型数据可以是表达式..其中;格式符用于控制输出表列中相应表达式的输出格式..格式符及其功能如下表所示:表4.1 printf格式字符4.5.格式:scanf格式控制串; 地址表列其中;格式控制串为字符串型数据可以是表达式;地址表列是一组用逗号分隔的地址..功能:(1)右至左依次计算地址表列中各表达式的值;(2)从标准输入设备提取数据;并从左至右依次存储到所指定的存储单元..(3)地址表列中的地址可用表达式表示;通常形式为:&变量其中&是地址运算符;它表示取其后变量的存储起始地址..说明:(1)scanf函数格式符与printf函数的格式符的功能相似..scanf的合法格式符不区分大小写、实型格式符均等效;另外;表4.2 scanf的附加格式符说明(2)符;且被跳过;这为指定数据间分隔符提供了方便..(3)printf和scanf格式控制串中的每对%%从左至右结合按一个普通字符%对待..第5章选择结构程序设计5.1.C逻辑值为短整数int;真、假分别为1、0..另外;字符、数、指针作为逻辑量时;非0、非空为真即1;0、空为假即0..逻辑运算如下表所示:表5.1 逻辑运算真值表5.2.□||□||…的逻辑式;从左至右计算□的逻辑值;遇到真则提前终止..5.3.对于形如□&&□&&…的逻辑式;从左至右计算□的逻辑值;遇到假则提前终止..5.4.算术、关系、逻辑运算的优先级参见附录C教材第365页..5.5.if语句的格式和功能如下:(1)格式一:if条件语句功能:如果条件成立;方执行语句..(2)格式二:if条件语句1 else 语句2功能如果条件成立;执行语句1;否则执行语句2..注意:else不可独立使用;它与其前最近一个尚未配对的if配对;为避免歧义;通常只在else中嵌套if语句..5.6.条件表达式的格式和功能如下:格式:条件表达式1:表达式2功能:如果条件成立;取表达式1的值;否则取表达式2的值..说明:条件表达式可以嵌套;与其前最近一个尚未配对的if配对..5.7.switch语句的格式和功能如下:格式:switch表达式{…case 常量i: 语句组i…default: 语句组n+1}功能:如果表达式的值等于常量i;则从语句组i开始执行;否则执行语句组n+1..说明:(1)“表达式”的值和“常量”为整型包括字符型..(2)switch中的每个语句组称作一个分支;为使各分支独立;通常以break、return、exit等语句结尾..另外;“default: 语句组n+1”可以缺省..5.8.break语句的格式和功能如下:格式:break;功能:结束本层switch语句或本层循环语句..说明:break语句只能用于switch语句和循环..第6章循环结构程序设计6.1.while语句的格式和功能如下:格式:while表达式循环体功能:当表达式的值为真时;重复执行其后循环体..说明:循环体是循环语句的内嵌语句;可以是空或复合语句下同..6.2.do-while语句的格式和功能如下:格式:do 循环体 while表达式功能:重复执行循环体;直到表达式的值为假..说明:do-while循环至少执行一次循环体..6.3.for语句的格式和功能如下:格式:for表达式1; 表达式2; 表达式3 循环体功能:(1)计算表达式1;(2)当表达式2的值为真时;重复执行循环体和计算表达式3..说明:表达式1、表达式2、表达式3均可缺省;但保留分号..6.4.continue语句的格式和功能如下:格式:continue;功能:跳过循环体中其后程序段结束本次循环..说明:continue语句只能用于循环..6.5.掌握以下算法:累加、阶乘、判断素数、分解整数数字、递推数列、打印字符图形..第7章数组7.1.同一类型数据的序列称作数组;数组中数据用相应下标变量访问;因此;数组亦可视为由下标变量组成的序列..7.2.定义数组语句的一般格式和功能为:格式:数据类型名数组名第1维长度…第n维长度功能:为数组分配连续内存单元;用于存储数组中的下标变量低维优先;并将起始地址又称基址赋给数组名..说明:数组长度只能为整型常量或整型常量表达式..7.3.数组的要素有:数据类型、数组名、维数及各维的长度..各维的长度必须是常量;可用常量表达式表示;其值的整数位有效——截断取整..7.4.下标变量的格式为:数组名第1维下标…第n维下标7.5.下标从0开始;可用表达式表示;其值的整数位有效..下标最大值比长度小1..7.6.下标变量的使用与普通变量相同..7.7.定义数组的同时可对数组中的下标变量赋初值..格式:数据类型名数组名第1维长度…第n维长度={数据表}功能:定义数组的同时将数据表中数据依次赋给数组中下标变量;未赋值下标变量的初值为相应数据类型的0..说明:数据表中的数据必须是常量;可用表达式表示..第1维长度可省略;如果省略;其长度由数据表和其它维长度确定——存储所需的最小长度..7.8.以字符为数据元素的数组称作字符数组;它由一组字符型下标变量组成..除赋值外;字符数组名的使用与字符串变量相似..字符数组也可用字符串初始化..7.9.标准函数库提供许多用于处理字符串的函数..表7.1 常用字符串处理函数后的字符..7.10.掌握冒泡排序..第8章函数8.1.自定义函数的格式为:函数值类型函数名带类型声明的形参表列{函数体}8.2.函数值的默认数据类型为int..8.3.如果函数有返回值;则用return语句返回;其格式为:return 表达式; 或 return表达式;8.4.如果函数无返回值;即函数值类型为void;亦可用格式:return;结束本函数并返回调用者..8.5.函数一般调用格式为:函数名实参表列其中;实参表列为一组逗号分隔的表达式..实参按从右至左的次序计算并传递给相应形参..8.6.如果函数调用在其定义之前;调用前应作相应声明;声明格式为:函数值类型名函数名形参及其类型声明表列;其中;形参可省略..8.7.函数不可嵌套定义;但允许嵌套调用;亦可直接或间接调用自身称作递归函数..8.8.递归函数的函数体的一般格式为:B班同学不作要求if递归条件语句1 /递归时;如何递归/else 语句2 /非递归时;如何处理/或if递归条件语句1 /非递归时;如何处理/else 语句2 /递归时;如何递归/8.9.形参及函数内定义的变量称作局部变量;它从定义处生效;且只在该函数内有效..因此;不同函数中的局部变量可以同名;但同名不同义..8.10.在所有函数之外定义的变量称作全局变量;它从定义处生效..8.11.如果局部变量与全局变量同名;则同名全局变量被屏蔽..8.12.局部变量的存储方式分为:自动auto;默认、静态static、寄存器register..8.13.存储方式和数据类型是变量的两个重要属性;必须在定义变量时一并声明;关键字的排列顺序没有限制..变量的默认数据类型为int;默认存储方式为auto;但关键字auto和int不可同时缺省..8.14.auto型局部变量占用动态数据区;当函数调用结束时释放所占内存..register占用CPU中的寄存器;但寄存器不够用时;占用动态数据区..8.15.全局变量和static型局部变量占用静态数据区;默认初值为相应数据类型的0..8.16.static型局部变量的声明和初始化只执行一次..8.17.如果全局变量被声明为static型;则其它程序文件不能使用该全局变量..否则;其它程序文件也可使用该全局变量;但使用前应作extern声明..8.18.被声明为static型的函数;只在本程序文件中有效;不能被其它程序文件调用..否则;其它程序文件也可调用此函数;但调用前应作extern声明..8.19.常用数学函数在头文件math.h中..掌握基本初等函数..第9章预处理命令9.1.预处理命令在程序编译前执行;其主要功能是“文本置换”..9.2.不带参数宏定义的格式和功能如下:格式:define 宏名文本功能:在预处理时;将程序中宏名用相应的文本置换..9.3.带参数宏定义的格式和功能如下:格式:define 宏名形参表列文本功能:在预处理时;将程序中带参数的宏用相应的文本置换;且文本中的形参被相应的实参所置换..注意:形参无须且做类型声明..9.4.终止宏定义的格式如下:格式 undef 宏名9.5.宏定义可以引用已有的宏;亦可重新定义所代表的文本..9.6.预处理命令无须以分号结尾;否则分号也参与置换..9.7.include命令的格式和功能如下:格式一:include "文件名"格式二:include <文件名>功能:在预处理时;用指定文件置换本命令——加载文件..置换后;被包含文件成为本文件的一部分;其函数、全局变量等均可在本文件中直接使用;无须作extern声明..前一种格式先在当前目录中找指定文件;如果未找到;方到存放C头文件的目录中查找..后一种格式直接到存放C头文件的目录中查找指定文件..9.8.条件编译命令的格式和功能如下:格式一:ifdef 宏名程序段1 else 程序段2 endif功能:在预处理时;如果指定的宏名已定义;则用程序段1置换本命令;否则用程序段2置换本命令..当程序段2为空时;else可省略下同..格式二:ifndef 宏名程序段1 else 程序段2 endif功能:在预处理时;如果指定的宏名未定义;则用程序段1置换本命令;否则用程序段2置换本命令..格式三:if 常量表达式程序段1 else 程序段2 endif功能:在预处理时;如果指定常量表达式的值为真非0;则用程序段1置换本命令;否则用程序段2置换本命令..9.9.注释命令在预处理时被删除;不影响源程序和目标程序..注释命令的格式如下:/注释内容/第10章指针10.1.内存的基本单位是字节;每个字节都有相应的编号;称作地址或指针..借助于指针;C语言可以直接访问内存;从而对硬件进行操作..10.2.变量所占用内存的大小由其数据类型决定;变量所占用内存的第1个字节的地址称作该变量的地址或指针;表为:&变量名10.3.指针所指向数据的类型称作该指针的基类型;它所指向数据用指针访问;可作为普通变量使用..10.4.指针本身也是一种数据类型;占用2字节内存;可作为无符号整数输出和参与关系运算、逻辑运算;但指针的其它运算不同于整数运算..10.5.指针运算可简单地分为以下五类:(1)单目运算有六个:、&、、++、--、sizeof..(2)双目运算有四种:-、关系运算、逻辑运算、赋值运算..(3)指针与整数间的运算有三个:+、-、 ..(4)强制类型转换运算: ..(5)结构体成员运算:->..其中;+、-、++、--、+=、-=均以基类型数据为基本单位..10.6.一维数组的数组名可作为指针调用;它指向数组中的第一个元素;以数组中元素的类型为基类型..数组名的值不可修改;且sizeof数组名的值为整个数组所占内存的字节数..10.7.对于一维数组来说;基址+i 和 &基址i均指向数组中的第i+1个元素i>=0;基址+i 和基址i均表示数组中的第i+1个元素i>=0..10.8.n维数组可看作是以n-1维数组为元素的一维数组;数组名可看作是指向数组中的第一个n-1维数组的指针..10.9.下标变量可作为实参;但不可作为形参;实际上;它被误认为指针..10.10.※ C源程序经编译后;系统为源程序中的每个函数均分配一个入口地址;称作函数指针..在C源程序中;函数指针用函数名表示;其值不可修改..以函数指针为值的变量称作函数指针变量;其定义格式为:函数类型名函数指针变量名 ;可用下述格式代替函数名:函数指针10.11.※1函数返回值可以是指针;定义函数的一般格式为:基类型函数名形参列表{函数体}10.12.不允许将非0数直接赋给指针变量;须做强制转换..当指针变量的值为0时;称之为空指针..10.13.※以指针为元素的数组称作指针数组..10.14.※以指针为基类型的指针称作指向指针的指针;以指向指针的指针为值的变量称作指向指针的指针变量;其定义格式为:存储方式关键字基类型名指向指针的指针变量名10.15.※ C源程序经编译、连接所得目标程序exe文件可作为DOS外部命令使用;命令行的一般式为:路径\目标程序文件名参数1 参数2 …参数n10.16.※ C主函数main可带两个形参;前者为int型;用于接收命令行中字符串个数;后者为字符串指针数组;用于接收命令行中各字符串..带参主函数的格式为:void mainint 形参1;char 形参2 {函数体}其中;形参1=参数个数+1形参20="路径\目标程序文件名"形参2i="参数i";i=1;2;…;n1标注※表示此部分为非考试内容。
含答案程序设计基础及语言复习提纲
含答案程序设计基础及语言复习提纲一、选择题1•以下叙述中错误的是(A)。
A.使用三种基本结构构成的程序只能解决简单问题(P28)B.结构化程序由顺序、分支、循环三种基本结构组成(P26)C・C语言是一种结构化程序设计语言D・结构化程序设计提倡模块化的设计方法(P34)2.以下叙述正确的是(A)。
A.C语言函数可以嵌套调用,例如:fun(funfx))B.C语言程序是由过程和函数组成的(PIO C语言程序是由函数组成的)C.C语言函数不可以单独编译D.C语言中除了main函数,其他函数不可作为单独文件形式存在3.有以下程序#include <stdio.h>main(){int a=0, b=0;/*给a赋值a=10;b=20; 给b赋值*/printf(',a+b=%d\n,\a+b); /* 输出计算结果 */}程序运行后的输出结果是(E)。
A.出错B.a+b=OC.a+b=10D.a+b=304.以下叙述中正确的是(A)。
A.每个后缀为.C的C语言源程序都可以单独进行编译含答案程序设计基础及语言复习提纲B.每个后缀为.C的C语言源程序都应该包含一个main函数(若在一个项目中,后缀为.C的C语言源可以不包含main)C.在C语言程序中,main函数必须放在其他函数的最前面D.在C语言程序中,只有main函数才可单独进行编译5.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(D)。
A.大写字母 E.下划线 C.数字字符 D.连接符6.以下选项中能表示合法常量的是(D)o (p39)A.1,200B.1.5E2.0C.0118D.”\007"7.有以下程序#include <stdio.h>main(){int sum, pad, pAd;sum = pad = 4;pAd = ++sum, pAd++, ++pad;printf(n%d\n u, pad );}程序的输出结果是( B)oA. 4B.5C.6D.78.有以下程序#include <stdio.h>main(){ int a;含答案程序设计基础及语言复习提纲a = (int)(-1.65*3);prmtf(H%d\n M, a);}程序的运行结果是(B)o (直接取整数部分)A.-3B.-4C.-5D.结果不确定9.关于H while(条件表达式)循环体“,以下叙述正确的是(E)。
c#程序设计复习资料(试题及答案版)3
c#程序设计部分复习资料一.填空题26.C#源程序的后缀名为______.cs________。
26.C#中每个int 类型的变量占用____4___个字节的内存。
26.C#的每行语句以________分号_______结尾。
26.布尔型的变量可以赋值为关键字_____true__________或_____false_________。
26.如果int x的初始值为5,则执行表达式x - =3之后,x的值为_____2_________。
26.do...while语句在执行循环体_____之后________测试语句是否满足循环条件。
26.关键字_______class________表示一个类的定义。
26.如果一个类包含一个或多个抽象方法,它是一个_________抽象_____________类。
26.try块运行后,总是会执行_________finally_____________块中的代码。
26.一个数组如果有两个索引值,那么它是__________二维__________数组。
二.单项选择题1.在对SQL Server 数据库操作时应选用()。
A、SQL Server .NET Framework 数据提供程序;B、OLE DB .NET Framework数据提供程序;C、ODBC .NET Framework 数据提供程序;D、Oracle .NET Framework数据提供程序;2.下列选项中,()是引用类型。
A、enum类型B、struct类型C、string类型D、int类型3.C#的数据类型有()A、值和调用类型;B、值和引用类型;C、引用和关系类型;D、关系和调用类型4.下列描述错误的是()A、类不可以多重继承而接口可以;B、抽象类自身可以定义成员而接口不可以;C、抽象类和接口都不能被实例化;D、一个类可以有多个基类和多个基接口;5.下列关于构造函数的描述正确的是()A、构造函数可以声明返回类型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
复习资料程序设计部分主要包括程序设计的三大结构、及数组、指针的应用及函数等。
1、求和问题:功能:求给定正整数m以内的素数之和。
例如:当m=20时,函数值为77。
#include <stdio.h>int fun(int m){/**********Program**********/int i,k,s=0;for(i=2;i<=m;i++){for(k=2;k<i;k++)if(i%k==0)break;if(k==i)s=s+i;}return s;/********** End **********/}main(){ int y;y=fun(20);printf("y=%d\n",y);}2. 矩阵计算(二维数组)功能:在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的平方和,并在fun()函数中输出。
#include <stdio.h>main(){ int i,j,s,a[3][3];;for(i=0;i<3;i++){ for(j=0;j<3;j++)scanf("%d",&a[i][j]);}s=fun(a);printf("Sum=%d\n",s);}int fun(int a[3][3]){ /**********Program**********/int sum;int i;sum=0;for(i=0;i<3;i++)sum=sum+a[i][i]*a[i][i];return sum;/********** End **********/}3. 题目:用函数求一个N阶方阵右下三角元素的和(包括副对角线上的元素)。
------------------------------------------------*/#include <stdlib.h>#include <stdio.h>#define N 3int sum(int a[][N]){/**********Program**********/int i,j,k=0;for(i=0;i<N;i++)for(j=N-1-i;j<N;j++)k=k+a[i][j];return(k);/********** End **********/}main(){int a[N][N],i,j;for(i=0;i<N;i++){for(j=0;j<N;j++){a[i][j]=random(10)+10;printf("%3d",a[i][j]);}printf("\n");}printf("===================\n");printf("sum=%5d\n",sum(a));}4. 计数问题功能:求小于lim的所有素数并放在aa数组中,该函数返回所求出素数的个数。
------------------------------------------------*/#include<stdio.h>#include<conio.h>#define MAX 100int fun(int lim,int aa[MAX]){/**********Program**********/int n=0;int i,j;for(i=2;i<=lim;i++){for(j=2;j<i;j++)if(i%j==0) break;if(j==i) aa[n++]=i;}return n;/********** End **********/}main(){int limit,i,sum;int aa[MAX];printf("Please input ainteger:");scanf("%d",&limit);sum=fun(limit,aa);for(i=0;i<sum;i++){if(i%10==0&&i!=0) printf("\n");printf("%5d",aa[i]);}}5. 功能:求一组数中大于平均值的数的个数。
例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。
#include <stdio.h>int fun(int a[],int n){/**********Program**********/int i,k=0;float s=0,ave;for(i=0;i<n;i++)s+=a[i];ave=s/n;printf("%f ",ave);for(i=0;i<n;i++)if(a[i]>ave)k++;return k;/********** End **********/}main(){int a[10]={1,3,6,9,4,23,35,67,12,88};int y;y=fun(a,10);printf("y=%d\n",y);}6. 字符串排序——题目:任输入十个国家的名字,按由小到大排序。
#include <stdio.h>#include <string.h>void main( ){char a[10][20],b[20]; //用来保存国家的名字b表示中间变量int i,j; //循环变量/**********Program**********/for (i=0;i<10;i++)gets(a[i]);for (i=0;i<9;i++)for (j=i+1;j<10;j++)if (strcmp(a[i],a[j])>0){ strcpy(b,a[i]);strcpy(a[i],a[j]);strcpy(a[j],b);}/********** End **********/for (i=0;i<10;i++) printf("%s\n",a[i]);}7. 最大值问题:功能:把20个随机数存入一个数组,然后输出该数组中的最小值。
其中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义#include <stdio.h>#define VSIZE 20int vector[VSIZE] ;int fun(int list[],int size){ /**********Program**********/int i,min=0;for(i=1; i <size; i++)if(list[min]>list[i])min=i;return min;/********** End **********/}main(){ int i;for (i=0;i<VSIZE;i++){ vector[i]=rand();printf("Vector[%d]=%6d\n",i,vector[i]); }i=fun(vector,VSIZE);printf("\nMininum: Vector[%d]=%6d\n",i,vector[i]);}9. 字符串处理——功能:从字符串中删除指定的字符。
同一字母的大、小写按不同字符处理。
例如:若程序执行时输入字符串为:turbocandborlandc++,从键盘上输入字符:n,则输出后变为:turbocadborladc++,如果输入的字符在字符串中不存在,则字符串照原样输出。
#include <stdio.h>int fun(char s[],int c){ /**********Program**********/char *q=s;for(; *q; q++)if(*q != c) *(s++)=*q;*s=0;/********** End **********/}main(){ static char str[]="turbocandborlandc++";char ch;printf("原始字符串:%s\n", str);printf("输入一个字符:");scanf("%c",&ch);fun(str,ch);printf("str[]=%s\n",str); }9. 功能:把20个随机数存入一个数组,然后输出该数组中的最大值。
#include <stdio.h>#define VSIZE 20int vector[VSIZE] ;int fun(int list[],int size){ /**********Program**********/int i,max=0;for(i=1; i <size; i++)if(list[max]<list[i])max=i;return max;/********** End **********/}main(){ int i;for (i=0;i<VSIZE;i++){ vector[i]=rand();printf("Vector[%d]=%6d\n",i,vector[i]); }i=fun(vector,VSIZE);printf("\nMaxnum: Vector[%d]=%6d\n",i,vector[i]);}10. 排序问题——功能:对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列。
例如:原来的字符串为CEAedca,排序后输出为CedcEAa。
#include<stdio.h>#include<ctype.h>#include<conio.h>void fun(char *s,int num){ /**********Program**********/int i,j;char t;for(i=1;i<num-1;i++)for(j=i+1;j<num-1;j++)if(s[i]<s[j]){ t=s[i];s[i]=s[j];s[j]=t;}/********** End **********/}main(){ char s[10];printf("输入7个字符的字符串:");gets(s);fun(s,7);printf("\n%s",s);}11. 二维数组计算功能:请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。