第二讲程序设计基础1.理论知识
(1)数据类型
(2)数据容器:常量,变量,数组,记录和对象
(2)变量的作用域
注意:
使用LOCAL,PRIVATE和PUBLIC命令可以指定内存变量的作用域。在VFP命令窗口中创建的任何内存变量均为全局变量.
◆内存变量保存到文件中:SAVE TO filename [ ALL LIKE 变量名通配
符] [all except 变量名通配符 ]
◆将内存变量文件中所保存的内存变量恢复到内存中:
restore from filename [additive]
◆变量分为内存变量和字段变量
(4)数据处理
特殊运算符一览表
注意:
优先级由高到低(总体上):数值运算符, 关系运算符, 逻辑运算符
(5)字符串函数
(6)类型转换函数
(7)日期时间函数
(8)数值函数
(9)其它常用函数
Messagebox(messagetext,dialogboxtype,titlebartext):显示自定义对话框
Getfile([扩展名],[标签]):显示“打开“对话框
(10)程序流程的控制结构:顺序结构,分支结构,循环结构,子程序结构
控制语句表
(11)程序功能模块的组织
过程与自定义函数表
(12)重点与难点提示
◆名称表达式
定义:是由圆括号括起来的一个字符表达式,可以用来替换命令和函数中的名称
(字段名、变量名、窗口名、菜单名、文件名、对象名)。
①用名称表达式替换命令中字段名
【例4-1】
Use xs &&打开xs表
Fld1=“xh”
Fld2=“xm”
Browse fields (fld1) , (fld2) &&等价Browse fields xh , xm
②用名称表达式替换命令中变量名
【例4-2】
nvar=100
Var_name=“nvar”
Store 123.4 to (var_name) &&等价:Store 123.4 to nvar
?nvar &&显示:123.4
③用名称表达式替换命令中的表文件名
【例4-3】
Dbf_name=“js”
Use (dbf_name) &&等价:use js
◆宏
定义:在宏名出现的地方用字符序列来替换,可以将字符串转换为名称使用。
【例4-4】
a=123
ab=567
var='a'
store 258 to &var &&等价 store 258 to a
store 147 to &var.b &&等价 store 147 to ab
&var.b中的(.)起到结束宏替换的作用
二典型例题精解
【选择题】
【例1】下面的四组函数中,返回值的数据类型一致的是。
A. ALLTRIM(〃ABC 12 〃),ASC(〃Q〃),SPACE(2)
B. SUBSTR(〃VFP教程〃,3,4), STR(138.62,6,1), DTOC(DATE()+2)
C. BOF(), RECCOUNT(), DBC(),EOF()
D. DTOC(DATE()+7), DATE(), YEAR(DATE())+5
答案:B
【例2】下列两个表达式的值不同的是
A.VAL(SUBS("jsj046",5,1)), AT(‘+’,’2+3+4+5’,2)
B. Mod(25.25,5), ROUND(0.246,2)
C. INT(65.5), ASC(‘ABC’)
D. Month({^1995/03/05}), SQRT(25)
答案:D
【例3】下列两个表达式的值相同的有几个
① BETEEN(‘a’,’A’,’b’), LIKE('acd','ac?')
② TYPE(‘2+3’)=’N’, CHR(ASC(‘M’)+1)=’N’
③ Len(STR(123.4))=5, ABS(-5)=5
④Right(‘abcd’,2)=SUBS(‘abcd’,2), Left(‘abc’,2)$’cba’
A. 1
B. 2
C. 3
D. 4
答案:C
【例4】下列表达式中结果不是日期型的是______。
A.CTOD("^2000/10/01")
B.{^1999/10/01}+365
C.VAL("2000/10/01")
D.DATE()
答案:C
【例5】默认方式下,连续执行以下命令之后,最后一条命令的输出结果是
______。
X="A "
?IIF("A"=X,X-"BCD",X+"BCD")
A. A
B. BCD
C. ABCD
D. A BCD
答案:D
解析:SET EXACT OFF时(默认方式),若右串比左串短,则左串截短到与右串
等长再比较;表达式"A"=X 即是 "A"="A ",不成立,因为"A "不比"A"短,
不存在截短再比较的问题,不等长的两个字符串是不相等的。
IIF(e1,e2,e3),当e1成立时取e2之值,否则取e3之值。
故iif表达式值取X+"BCD"即”A BCD”。
SET EXACT ON时,要对短的字符串补空格,使长度相等,再比较。
【例6】在下面的Visual FoxPro表达式中,运算结果是逻辑假的是______。
A、EMPTY(.NULL.)
B、EMPTY(0)
C、EMPTY(‘’)
D、EMPTY(SPACE(2))
答案:A
解析:注意下表三个函数针对.NULL.,0,空串,空格串的取值
【例7】设N=2,M=3,K='M+N',表达式&K *&K的值是______。
A. 11
B. 25
C. ’M+N*M+N’ D、’3232’
答案:A
解析:在宏名出现的地方用字符序列来替换
&K *&K -> M+N*M+N -> 3+2*3+2 -> 3+6+2 ->11 要坚持先替换后计算的原则!
不能先计算2个3+2再相乘。
要实现结果为25,可以:
N=2,M=3,K='(M+N)',则表达式&K *&K的值为25
&K *&K -> (M+N)*(M+N) -> (3+2)*(3+2) -> 5*5 ->25 【填空题】
【例1】执行下列命令后,被打开的表文件是___ _。
X="XS.DBF/CJ.DBF/JS.DBF"
L=AT("/",X)+1 && AT("/",X)确定"/"在X中的位置
F=SUBSTR(X,L,2) &&求子串
USE &F &&打开表
【例2】设有自由表XSB,表的各个字段名均以英文字母开头。请完善下列程序,要求将XSB表的各个字段名的开头字母转换成A。
USE XSB
n= &&字段个数
FOR T=1 TO n &&循环n次
c=FIELD(T) &&取T号字段字段名
cc="A"+SUBSTR (C,2) && SUBSTR (C,2)从c的第二个字母到最后
ALTER TABLE XSB RENAME COLUMN &&字段重命名ENDFOR
答案:第一空FCOUNT("XSB")或FCOUNT() 第二空 &c TO &cc
解析:假设XSB有一个字段xm
ALTER TABLE XSB RENAME COLUMN xm TO name 正确
表示把xm字段重命名为 name
ALTER TABLE XSB RENAME COLUMN “xm” TO “name” 错误
宏:是以其字符序列来替换(一般不包括"")
C,CC均为字符型,不能直接用在ALTER中,而应该使用宏【例3】计算S=1/(1*2)+1/(3*4)+1/(5*6)+…+1/(N*(N+1))+…的近似值,
当1/(N*(N+1))的值小于0.00001时,停止计算。
S=0 &&设置s的初始值为0
I=1 &&设置I的初始值为1
DO WHILE .T. &&无条件循环
P=_ _ &&计算I*(I+1)
S=S+1/P &&累加1/P
IF 1/P<0.00001 &&若1/p小于0.00001
_ _ &&退出循环
ENDIF
I=I+2 &&I每次递增2
ENDDO
答案:第一空是I*(I+1) 第二空是EXIT
【例4】完善下列程序。使其实现计算数列1!/2!,2!/3!,3!/4!,……的前20项之和。
Sum=0
FOR n=1 TO &&让n从1变化到20循环
Sum=Sum + &&累加n!/(n+1)!, Sum是累加总值
ENDFOR
FUNCTION jc &&函数定义
PARAMETER x &&形参为x
p=1 &&p初试值为1
FOR m= 1 to __ ___ &&让m从1变化到x循环
p=p*m &&累乘m, p是累乘总值
ENDFOR
RETURN p &&返回p
ENDFUNC
答案:第一空填: 20 第二空填:jc(n)/jc(n+1) 第三空填:x
【例5】运行下面的程序段后,屏幕显示的运行结果是:。
STORE 4 TO N
?S(N) &&函数调用,其中N为实参
FUNCTION S &&函数定义
PARAMETERS X &&形参是X
Y=1
P=0
FOR I=1 TO X &&让I从1变化到X来循环
Y=Y*I &&累乘I , Y是累乘总值
P=P+Y &&累加Y, P是累加总值
ENDFOR
RETURN P
ENDFUNC
答案:33
【例6】完善下列“九九乘法”程序,使得运行时,屏幕上显示如下乘法表:
1: 1
2: 2 4
3: 3 6 9
4: 4 8 12 16
5: 5 10 15 20 25
6: 6 12 18 24 30 36
7: 7 14 21 28 35 42 49
8: 8 16 24 32 40 48 56 64
9: 9 18 27 36 45 54 63 72 81
“九九乘法”程序:
CLEAR &&清屏
FOR m=1 TO 9 &&循环9次,m从1变化到9
? STR(m,2)+ ”:” &&把m转换为2位的字符串连接”:”并显
示
FOR n=___ to __ __ &&循环m次
??____ ____ &&不换行显示m*n
ENDFOR
ENDFOR
【例9】设学生表xs含有记录数据如下表所示:
运行下列程序后,第一行显示结果为_____。第二行显示结果为_____。
USE xs &&打开xs表
STORE 0 TO sum1,sum2 &&设置sum1.sum2初始为0
DO WHERE .NOT.EOF() &&循环直到表的末尾
IF SUBSTR(xh,3,2)=”02” &&若xh中间的两位是”02”
sum1=sum1+1 &&计数,sum1为计数总值
ENDIF
IF ”京”$jg AND xb=’男’ &&若籍贯含”京”且性别为’男’sum2=sum2+1 &&计数,sum2为计数总值
ENDIF
SKIP &&向下跳一条记录
ENDDO
? sum1 &&显示sum1 ? sum2 &&显示sum2
USE &&关闭表
答案:第一行显示结果为3,第二行显示结果为2
第五章选择结构程序设计 基础练习(A) 一、填空题 1、关系表达式的运算结果是逻辑值。C语言没有逻辑型数据,以1代表“真”,以0代表“假”。 2、逻辑运算符!是单目运算符,其结合性是由右结合性。 3、C语言提供的三种逻辑运算符是&&、|| 、!。其中优先级最高的为!,优先级最低的为| | 。 4、逻辑运算符两侧的运算对象不但可以是0和1,或者是0和非0的整数,也可以是任何类型的数据。系统最终以0 和非0 来判定它们属于“真”或“假”。 5、设y为int型变量,请写出描述“y是偶数”的表达式(y%2==0)。 6、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式x
第一章:程序设计基础知识 一、单项选择题 1、以下( )是面向过程的程序设计语言。 A)机器语言B)汇编语言C)高级语言D)第四代语言 2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是( )。 A)设计数据结构和算法B)建立数学模型 C)编写程序D)调试和运行程序 3、以下常用算法中适合计算等差级数的算法是( )。 A)枚举法B)递推法C)分治法D)排序法 4、以下不属于算法基本特征的是( )。 A)有穷性B)有效性C)可靠性D)有一个或多各输出 5、以下描述中不正确的是( )。 A)程序就是软件,但软件不紧紧是程序。 B)程序是指令的集合,计算机语言是编写程序的工具。 C)计算机语言都是形式化的语言,它有一个语法规则和定义。 D)计算机语言只能编写程序而不能表示算法。 6、下面描述中,正确的是( ) A)结构化程序设计方法是面向过程程序设计的主流。 B)算法就是计算方法。 C)一个正确的程序就是指程序书写正确。 D)计算机语言就是编写程序的工具而不是表示算法的工具。 7、下面描述中,不正确的是( )。 A)递归法的关键是必须有一个递归终止的条件。
B)递归算法要求语言具有反复自我调用子程序的能力。 C)对于同一个问题,递推算法比递归算法的执行时间要长。 D)递推算法总可以转换为一个递归算法。 8、N-S图与传统流程图比较,主要优点是( )。 A)杜绝了程序的无条件转移。 B)具有顺序、选择和循环三种基本结构。 C)简单、只管。 D)有利于编写程序。 A)B)C)D) 二、填空题 1、在流程图符号中,判断框中应该填写的的是________。(判断条件) 2、结构化程序设计是__________应遵循的方法和原则。(面向过程编程) 3、结构化程序必须用__________程序设计语言来编写。(具有结构化控制语句) 4、可以被连续执行的一条条指令的集合称为计算机的________。(程序) 5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(数据结构算法) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性) 11、用模块组装起来的程序被成为________结构化程序。(模块化) 12、采用自上而下,逐步求精的设计方法便于____________。(结构化和模块化) 三、应用题
5.1 阅读下列程序,写出执行结果 1.#include < iostream.h > struct data { int n ; float score ; } ; void main() { data a[3] = { 1001,87,1002,72,1003,90 } , *p = a ; cout << (p++)->n << endl ; cout << (p++)->n << endl ; cout << p->n++ << endl ; cout << (*p).n++ << endl ; } 2.#include < iostream.h > struct employee { char name[ 20 ] ; char sex ; } ; void fun( employee *p ) { if( (*p).sex == 'm' ) cout << (*p).name << endl ; }
void main() { employee emp[5] = { "Liming", 'm', "Wangxiaoping", 'f', "Luwei", 'm' } ; int i ; for( i=0; i<3; i++ ) fun( emp+i ) ; } 3. #include < iostream.h > struct node { char * s ; node * q ; } ; void main() { node a[ ] = { { "Mary", a+1 }, { "Jack", a+2 }, { "Jim", a } } ; node *p = a ; cout << p->s << endl ; cout << p->q->s << endl ; cout << p->q->q->s << endl ; cout << p->q->q->q->s << endl ; } 4.#include < iostream.h > class A
《程序设计基础》考试试卷一 班级姓名学号____________ 一、选择题(20分) 1.算法具有五个特性,以下选项中不属于算法特性的是 (A)有穷性(B)简洁性(C)可行性(D)确定性 2.以下选项中可作为C语言合法常量的是 (A)-80. (B)-080 (C)-8e1.0 (D)-80.0e 3.以下叙述中正确的是 (A)用C语言实现的算法必须要有输入和输出操作 (B)用C语言实现的算法可以没有输出但必须要有输入 (C)用C程序实现的算法可以没有输入但必须要有输出 (D)用C程序实现的算法可以既没有输入也没有输出 4.以下不能定义为用户标识符是 (A)Main (B) _0 (C) _int (D) sizeof 5.以下选项中,不能作为合法常量的是 (A)1.234e04 (B)1.234e0.4 (C)1.234e+4 (D)1.234e0 6.数字字符0的ASCII值为48,若有以下程序 main() {char a='1',b='2'; printf("%c,",b++); printf("%d\n",b-a);} 程序运行后的输出结果是 (A)3,2 (B)50,2 (C)2,2 (D)2,50
7.有以下程序 main(){ int m=12,n=34; printf("%d%d",m++,++n); printf("%d%d\n",n++,++m);}程序运行后的输出结果是 (A)12353514 (B)12353513 (C)12343514 (D)12343513 8.有以下语句:int b;char c[10];,则正确的输入语句是 A)scanf("%d%s",&b,&c); B) scanf("%d%s",&b,c); (C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c); 9.有以下程序 main(){ int m,n,p; scanf("m=%dn=%dp=%d",&m,&n,&p); printf("%d%d%d\n",m,n,p); } 若想从键盘上输入数据,使变量M中的值为123,N中的值为456,P中的值为789,则正确的输入是 A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 789 10.有以下程序 main(){ int a,b,d=25; a=d/10%9;b=a&&(-1); printf("%d,%d\n",a,b); } 程序运行后的输出结果是 A)6,1 B)2,1 C)6,0 D)2,0 11.有以下程序 main(){ int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3))
2.1 阅读下列程序,写出执行结果 1. #include
} 3. #include
《计算机程序设计基础》 习 题 册
班级学号姓名成绩一、单选题 1.C++源程序文件的默认扩展名为A。 A) cpp B) exe C) obj D) lik 2.由C++源程序文件编译而成的目标文件的默认扩展名为C。 A) cpp B) exe C) obj D) lik 3.由C++目标文件连接而成的可执行文件的默认扩展名为B。 A) cpp B) exe C) obj D) lik 4.编写C++程序一般需经过的几个步骤依次是B。 A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接 5.程序中主函数的名字为 A 。 A) main B) MAIN C) Main D) 任意标识符 6.下面四个选项中,均是不合法的用户标识符的选项的是C。 A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 7.下列变量名中合法的是C。 A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 8.存储以下数据,占用存储字节最多的是 D 。 A) 0 B) ‘0’ C) “0” D) 0.0 9.在C++语言中,字符型数据在内存中的存储形式是D。 A) 补码 B) 反码 C) 原码 D) ASCII码 10.若有说明语句:char c =’\072’;则变量c A。 A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令
循环结构程序设计 P115 5.1 用while计算1至100的合. #include
{ int i,sum=0; printf("Please input a number :"); scanf("%d",&i); //输入10以内,正常,11的话,则sum仍然是0. while(i<=10) { sum=sum+i; i++; } printf("The sum of 1-10 is %d .\n",sum); return 0; } #include
广州大学学年第学期考 试卷 课程高级语言程序设计考试形式(开/闭卷,考试/查)学院系专业班级 一:选择题(每题3分,共60分) (1)若有以下定义: char a; int b; float c; double d; 则表达式a*b+d-c值的类型为 (2)表示关系x<=y<=z的c语言表达式为 C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z) (3)设a=1,b=2,c=3,d=4,则表达式:a
(5)下列可作为C语言赋值语句的是 A) x=3,y=5 B) a=b=6 b(6)设x,y,z,t均为int型变量,则执行以下语句后,t的值为 x=y=z=1; t=++x||++y&&++z; A) 不定值 (7)设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("%d%f",&i,&f); 为了把100和765.12分别赋给i和f,则正确的输入为 C) 100765.12 D) x=100 y=765.12 (8)设x和y均为int型变量,则执行下面的循环后,y值为 for(y=1,x=1;y<=50;y++) { if(x==10) break; if (x%2==1) { x+=5; continue; } x-=3; } (9)给出以下定义: char x[ ]="abcdefg"; char y[ ]={'a','b','c','d','e','f','g'}; 则正确的叙述为 A) 数组x和数组y等价 B) 数组x和数组y的长度相同 数组x的长度小于数组y的长度 (10)以下叙述中不正确的是 A) 在不同的函数中可以使用相同名字的变量 B) 函数中的形式参数是局部变量
1.结构化程序包括的基本控制结构只有三种,即顺序结构、选择结构与循环结构。 对象之间进行通信的构造叫做消息,A正确。多态性是指同一个操作可以是不同对象的行为,D 错误。对象不一定必须有继承性,C错误。封装性是指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作,B错误。 2.对象之间进行通信的构造叫做消息。多态性是指同一个操作可以是不同对象的行为。对象不一定必须有继承性。封装性是指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作。 继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。广义的说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。 3.整数类实例包括: 十进制常量用0~9表示,不能以0开头; 八进制常量用0~7表示,必须用0开头; 十六进制常量用0~9和A~F(a~f)表示,必须以0x或0X开头。0x518。 0.518是浮点数实例,518E-2为科学计数法表示的浮点数实例。 "-518"是字符串实例, 字符实例的一般形式是用一对单引号括起来的一个字符。另外ASCII码中还有一些控制字符,C 语言中用转义字符的形式来书写这些常,转义字符一反斜杠(\)开始,后面跟1个字符或字符序列。'518'单引号中有三个字符,错误。"5"双引号为字符串,错误。'nm'单引号中有两个字符,错误。'\n'为换行符,属于字符类实例,正确。 4.数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据源)等。
第三部分程序设计基础 3.1 程序、程序设计、程序设计语言的定义 ⑴程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。 ⑵程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。 ⑶程序设计语言:程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。 3.2 高级语言和低级语言的概念及区别 ⑴高级语言:高级语言(High-level programming language)是高度封装了的编程语言,与低级语言相对。
它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。 ⑵低级语言:低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 ⑶区别: 高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差 了解知识:CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码。越低级的语言,形式上越接近机器指令,汇编语言就是与机器指令一一对应的。而越高级的语言,一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装,
《计算机程序设计基础》 计算机程序设 计基础_基础知识(一) 班级 学号 姓名 成 绩 一、 单选题 习题册
1.C++源程序文件的默认扩展名为A。 2.A) cpp B) exe C) obj D) lik 3.由C++源程序文件编译而成的目标文件的默认扩展名为C。 4.A) cpp B) exe C) obj D) lik 5.由C++目标文件连接而成的可执行文件的默认扩展名为B。 6.A) cpp B) exe C) obj D) lik 7.编写C++程序一般需经过的几个步骤依次是B。 8.A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接9.程序中主函数的名字为 A 。 10.A) main B) MAIN C) Main D) 任意标识 符 11.下面四个选项中,均是不合法的 用户标识符的选项的是 C。 12.A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 13.下列变量名中合法的是 C。 14.A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 15.存储以下数据,占用存储字节最 多的是 D 。 16.A) 0 B) ‘0’
C) “0” D) 17.在C++语言中,字符型数据在内存中的存储形式是D。 18.A) 补码 B) 反码 C) 原码 D) ASCII码 19.若有说明语句:char c =’\072’;则变量c A。 20.A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令 计算机程序设计基础_基础知识(二) 班级学号姓名成绩 一、单选题 1.下列哪一个是C++语言中合法的变量 C A) 8ZSe B) ±A0 C) X0_2 D) ’x0’2.已知ch是字符型变量,下面不正确的赋值语句是A 3.A) ch='a+b' B) ch='\0'
package cn.Testcx; import java.util.Scanner; public class lesson2 { public static void main(String[] args){ @SuppressWarnings("resource") Scanner input =new Scanner(System.in); System.out.print("请输入一个摄氏温度:"); double Celsius =input.nextDouble(); double Fahrenheit =(9.0/5)*Celsius+32; System.out.println("摄氏温度:"+Celsius+"度"+"转换成华氏温度为:"+Fahrenheit+"度"); System.out.print("请输入圆柱的半径和高:"); double radius =input.nextDouble(); int higth = input.nextInt(); double areas =radius*radius*Math.PI; double volume =areas*higth; System.out.println("圆柱体的面积为:"+areas); System.out.println("圆柱体的体积为:"+volume); System.out.print("输入英尺数:"); double feet =input.nextDouble(); double meters =feet*0.305; System.out.println(feet+"英尺转换成米:"+meters); System.out.print("输入一个磅数:"); double pounds =input.nextDouble(); double kilograms =pounds*0.454; System.out.println(pounds+"磅转换成千克为:"+kilograms); System.out.println("输入分钟数:"); long minutes =input.nextInt(); long years =minutes/(24*60*365); long days = (minutes%(24*60*365))/(24*60); System.out.println(minutes+"分钟"+"有"+years+"年和"+days+"天"); long totalCurrentTimeMillis =System.currentTimeMillis(); long totalSeconds =totalCurrentTimeMillis/1000; long currentSeconds =totalSeconds%60; long totalMinutes =totalSeconds/60; long currentMinutes =(totalSeconds%(60*60))/60; long currenthours =(totalMinutes/60)%24; System.out.print("输入时区偏移量:"); byte zoneOffset = input.nextByte(); long currentHour =(currenthours+(zoneOffset*1))%24; System.out.println("当期时区的时间为:"+currentHour+"时"+currentMinutes+"分"+currentSeconds+"秒");
计算机程序设计基础 ——精讲多练C/C++语言 程序的基本结构 1、在屏幕上显示如下图形: **************** * Hello World * **************** #include
第五章程序设计基础 一、选择题 1.在各类程序设计语言中,相比较而言,(D)程序的执行效率最高。 A.汇编语言 B.面向对象的语言 C.面向过程的语言 D.机器语言 2.下列关于程序设计语言的说法中正确的是(C)。 A.高级语言程序的执行速度比低级语言程序快 B.高级语言就是自然语言 C.高级语言与机器无关 D.计算机可以直接识别和执行用高级语言编写的源程序 3.在算法分析中,评判算法的好坏不必考虑(D)。 A.正确性 B.需要占用的计算机资源 C.易理解 D.编程人员的爱好 4. 一般认为,计算机算法的基本性质有(A)。 A.确定性、有穷性、可行性、输入、输出 B.可移植性、可扩充性、可行性、输入、输出 C.确定性、稳定性、可行性、输入、输出 D.确定性、有穷性、稳定性、输入、输出 5.计算机硬件唯一能直接理解的语言是(A)。 A.机器语言 B.汇编语言 C.高级语言 D.面向过程语言 6.结构化程序设计方法的3种基本结构是(C)。
A.程序、返回、处理 B.输入、输出、处理 C.顺序、选择、循环 D.I/O、转移、循环 7.在面向对象方法中,一个对象请求另一个对象为其服务的方式是发送(D)。 A.调用语句 B.命令 C.口令 D.消息 8.以下不是面向对象思想中的主要特征的是(D)。 A.多态 B.继承 C.封装 D.垃圾回收 9.(C)不是程序的3种翻译方式之一。 A.汇编 B.编译 C.结构化 D.解释 10.软件工程中的各种方法是完成软件工程项目的技术手段,它们支持软件工程的(A)阶段。 A.各个 B.前期 C.中期 D.后期 11.在软件生命周期中,工作量所占比例最大的阶段是(D)阶段。 A.需求分析 B.设计 C.测试 D.维护 12.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象是(C)的一种表现。 A.软件工程 B.软件周期 C.软件危机 D.软件产生 二、填空题 1.C++语言运行性能高,且与C语言兼容,已成为当前主流的面向(对象)的程序设计语言之一。 2.对象的基本特点包括(唯一性)、分类性、多态性、封装性和模块独立性5个特点。
程序设计基础试题一及答案 一、填空题(每空1分,共10分) (1)__________语言是计算机唯一能够识别并直接执行的语言。 (2)算法的复杂度包含两方面:和。 (3)__ 函数是C语言程序启动时惟一的入口。 (4)逗号表达式(a=3*4,a*5),则a的值为。 (5)数据的存储结构有两种:一种是顺序存储结构,另一种是______________。 (6)图的遍历有两种:_________________和广度优先搜索。 (7)对栈中元素的操作是按照“______________”的原则进行的。 (8)从是否关心软件内部结构和具体实现的角度,把软件测试分为__________________和_______________两类。 二、单选题(每题1分,共30分) (1)世界上第一台电子计算机的英文名字为()。 A) EDVAC B)EDSAC C)ENIAC D) UNIVAC (2)计算机的软件系统可分为()。 A)程序和数据 B)操作系统和语言处理系统 C)程序、数据和文档 D)系统软件和应用软件 (3)与十进制数100等值的二进制数是()。 A)0010011 B)1100010 C)1100100 D)1100110 (4)一个算法除了能对合法的输入数据得到正确的结果外,还应对非法的或者不合乎要求的输入数据作出正确合理的处理,这体现了算法的()。 A)正确性 B)健壮性 C)可读性 D)高效率 (5)程序设计应该遵守()的设计原则。 A) 自顶向下,逐步细化B) 自底向上,逐步细化 C) 自底向上,同步扩展D) 自顶向下,同步扩展 (6)下列关于注释的说法哪个是错误的()。 A)注释不是程序中的可执行语句 B)注释对于程序的执行有很重要的意义 C)注释将在程序的编译阶段被编译器剔除 D)编程时在程序中添加适当的注释是一个良好的编程风格 (7)下面四个选项中,不合法的用户标识符是()。 A)sum B)stu_name C)a>b D)_total (8)设c是字符变量,以下语句中错误的是()。 A) c=’Y’; B) c=’\ \’; C) c=’Yes’; D) c =’\x23’ (9)判断char型变量ch是否为大写字母的正确表达式为()。 A) ‘A’<=ch<=’Z’ B) ‘a’<=ch<=’z’ C) (ch>=’A’)||(ch<=’Z’) D) (ch>=’A’)&&(ch<=’Z’) (10)执行以下语句后b的值为()。 int a = 5 , b = 6 , w = 1 , x =2 , y = 3 , z = 4 ; ( a = w > x ) && ( b = y > z ) ; A)6 B)0 C)1 D)4 (11)以下能正确地定义整型变量a,b和c并为其赋初值5的语句是()。 A) int a=b=c=5; B) int a,b,c=5; C) int a=5,b=5,c=5; D) a=b=c=5; (12)以下程序的运行结果是( ) main( ) { int m = 5; if ( m + + > 5) printf(“%d\n”, m); else p rintf(“%d\n”,m - - ); } A)4 B)5 C)6 D)7 (13)下面程序运行时从键盘上输入“15,20”,运行结果为( )。 #include “stdio.h” void main() { int a,b,t; t=0; scanf("%d,%d",&a,&b); if(a>b)
第二章 SAS 编程基础 第一节常量、变量与观测值 2.1.1 观测值 描述单一整体,如个别人、一个实验动物、一年、一个地区某些特性的一系列数据值称为观测值,又称观察。 2.1.2 变量 给定特性的数据值的集合组成了变量。在SAS数据集中,每一个观测值是由各个变量的数据值组成。在数据集中每一列数据是一个变量。 1.命名 SAS变量名和其他名称如数据集名等的命名规则都相同,它可以多至8个字符长,第一个字符必须是字母(A,B,C,….,Z),或者是下划线(_),后面的字符可以是数字或下划线。空格不能出现在SAS名中,特殊字符(如$,@,#)也不允许在SAS名中使用。SAS 系统保留了一定的名称作为特殊的变量名,这些名称以下划线开始和结尾。如_N_和_ERROR_等。 2.变量特性 SAS变量有两种类型,数值型和字符型。字符型变量在名后用一“$”号来表示。除了他们的类型外,S A S变量还有下列特性:长度、输入格式、输出格式和标记。 变量的长度特性,是指在SAS数据集中用以存储它的每一个值的字节数。缺省长度是8(为了存储长度与缺省值不同的变量,需使用LENGTH语句)。 变量的特性,或者明确地说明,或者在它们首次出现时的上下文中给出定义。例如: DATA A; C='BAD'; PUT C; C='GOOD'; PUT C; RUN; C在第一次出现时已被定义成字符型变量,长度为3,因此第二次再向c中赋值GOOD时,由于c已被定义成长度为3,故c中只存有‘GOO’。 PUT语句的作用是把变量的值输出到LOG窗口。 变量的其他特性将在后面逐渐介绍。 3.变量清单的简化表示 在SAS程序中定义了完整的变量清单后,就可以在后面许多语
[模拟] 程序设计基础(一) 一、选择题(每小题2分,共70分) 下列各题[A]、[B]、[C]、[D] 四个选项中,只有一个选项是正确的。 第1题: 结构化程序设计主要强调程序的______。 A.效率 B.速度 C.可读性 D.大小 参考答案:C 答案解析: 第2题: 结构化程序设计方法主要是为______服务的。 A.项目管理人员 B.程序员 C.系统分析员 D.用户 参考答案:B 答案解析: 第3题: 程序设计属于软件开发过程的______阶段。 A.分析 B.定义 C.实现 D.维护 参考答案:C 答案解析: 第4题: 信息隐蔽的概念与下述______概念直接相关。 A.软件结构定义 B.模块类型划分 C.模块独立性
D.模块耦合性 参考答案:C 答案解析: 第5题: 以下关于结构化程序的说法中,正确的是______。 A.结构化程序由单入口、单出口和循环三种结构组成 B.结构化程序由顺序、单入口和单出口三种结构组成 C.结构化程序由顺序、循环和goto三种结构组成 D.结构化程序分顺序、循环和分支三种结构 参考答案:D 答案解析: 第6题: 结构化程序设计方法的特点大致可分为三点,下列选项中,______不是其特点。 A.要求所有模块都使用单入口、单出口,顺序、选择和循环三种控制结构 B.由顶向下逐步求精的程序设计方法 C.采用模块化来实施具体开发 D.充分考虑模块间的相互联系 参考答案:D 答案解析: 第7题: 结构化程序设计理论认为,实现良好的程序结构要应用______的分析方法。 A.自顶向下 B.自底向上 C.面向对象 D.基于组件 参考答案:A 答案解析: 第8题: 下列各项中,不是结构化程序基本模块结构的是______。 A.处理单元 B.循环机制
第二章程序设计基础 2.1结构化程序设计 结构化程序设计的风格及原则 结构化程序设计风格:清晰第一。效率第二 程序注释:分为序言性注释和功能性注释 结构化程序设计方法的四个主要原则。 自顶向下、逐步求精、模块化和限制使用goto语句。 结构化程序设计主要强调的是:程序的易读性 2.2面向对象的程序设计 面向对象方法涵盖对象及对象属性与方法、类、继承、多态性几个基本要素。 (1)对象 通常把对对象的操作也称为方法或服务。 属性即对象所包含的信息,它在设计对象时确定,一般只能通过执行对象的操作来改 属性值应该指的是纯粹的数据值,而不能指对象。 操作描述了对象执行的功能,若通过信息的传递,还可以为其他对象使用。 对象具有如下特征:标识惟一性、分类性、多态性、封装性、模块独立性。 (2)类和实例 类是具有共同属性、共同方法的对象的集合。它描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。 类是关于对象性质的描述,它同对象一样,包括一组数据属性和在数据上的一组合法操作。 (3)消息 消息是实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。 一个消息由三部分组成:接收消息的对象的名称、消息标识符(消息名)和零个或多个参数。 (4)继承 广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。 继承分为单继承与多重继承。单继承是指,一个类只允许有一个父类,即类等级为树形结构。多重继承是指,一个类允许有多个父类。 (5)多态性 对象根据所接收的消息而做出动作,同样的消息被不同的对象接收时可导致完全不同的行动,该现象称为多态性。 2.3 例题详解
计算机程序设计基础知识 要求:这是计算机程序设计的一些基础知识,要求大家了解,不作为考试的主要类容,但是会涉及一些。因为在进行论文答辩时,如果问到一些软件设计的基础知识你都不知道可能会让得分减少很多,所以大家一定要看下。 第一章数据结构与算法 1.1 算法 算法:是指解题方案的准确而完整的描述。 算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。 算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括: (1)可行性; (2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性; (3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。 算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。 基本运算包括:算术运算、逻辑运算、关系运算、数据传输。算法的控制结构:顺序结构、选择结构、循环结构。 算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。 算法复杂度:算法时间复杂度和算法空间复杂度。 算法时间复杂度是指执行算法所需要的计算工作量。 算法空间复杂度是指执行这个算法所需要的内存空间。 1.2 数据结构的基本基本概念 数据结构研究的三个方面: (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构; (2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; (3)对各种数据结构进行的运算。 数据结构是指相互有关联的数据元素的集合。 数据的逻辑结构包含: (1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系。 数据的存储结构有顺序、链接、索引等。 线性结构条件: (1)有且只有一个根结点;