文档库 最新最全的文档下载
当前位置:文档库 › 1在程序中用PRIVATE语句定义的专用内存变量有以下特性...

1在程序中用PRIVATE语句定义的专用内存变量有以下特性...

1在程序中用PRIVATE语句定义的专用内存变量有以下特性...
1在程序中用PRIVATE语句定义的专用内存变量有以下特性...

1在程序中用PRIV A TE语句定义的专用内存变量有以下特性C

A) 可以在所有过程中使用

B) 只能在定义该变量的过程中使用

C) 只能在定义该变量的过程及本过程所嵌套的过程中使用

D) 只能在定义该变量的过程及该过程所嵌套的过程中与相关数据库

一起使用

2用于建立、修改、运行与打印.PRG文件的Visual FoxPro命令依次是D

A) CREATE、MODIFY、DO和PRINT

B) MODI COMM、MODI Comm 、DO和PRINT

C) MODI COMM、MODI COMM、RUN和TYPE

D) MODI COMM、MODI COMM、DO和TYPE

3执行语句DIMENSION M(3),N(2,3)后,数组M和N的元素个数分别为D A) 1个,2个B) 3个,6个

C) 3个,5个D) 4个,12个

4条件函数IIF(LEN(SPACE(3))>2,1,-1)的值是A

A) 1 B) -1

C) 2 D) 错误

5在非嵌套程序结构中,可以使用LOOP和EXIT语句的基本程序结构是B A) TEXT - ENDTEXT B) DO WHILE - ENDDO

C) IF - ENDIF D) DO CASE - ENDCASE

6要对所有工程师的工资增加150元,应使用命令D

A) CHANGE 工资WITH 工资+150 FOR 职称="工程师"

B) REPLACE 工资WITH 工资+150 WHILE 职称="工程师"

C) CHANGE ALL 工资WITH 工资+150 FOR 职称="工程师"

D) REPLACE ALL 工资WITH 工资+150 FOR 职称="工程师"

7三种基本程序设计结构是循环(重复),选择和D

A) 分支B) 过程调用

C) 多路选择D) 顺序

8要从数据库文件生成一个扩展名为TXT的文本文件,应当使用命令C A) MODIFY FILE B) MODIFY COMMAND

C) COPY D) CREATE

9要删除当前数据库文件的"性别"字段,应当使用命令A

A) MODIFY STRUCTURE B) DELETE

C) REPLACE D) ZAP

10在Visual FoxPro的命令窗口,要进入程序编辑环境,可以使用命令D A) EDIT <文件名> B) CREATE <文件名>

C) MODIFY <文件名> D) MODIFY FILE <文件名>

11在Visual FoxPro命令窗口中,用于建立过程文件PROG1的命令是B A) CREATE PROG1 B) MODIFY COMMAND PROG1

C) MODIFY PROG1 D) EDIT PROG1

12在永真条件DO WHILE .T. 的循环中,为退出循环可以使用B

A) LOOP B) EXIT

C) CLOSE D) CLEAR

13以下有关Visual FoxPro过程文件的叙述,其中正确的是D

A) 先用SET PROCEDURE TO 命令关闭原来已打开的过程文件,

然后用DO<过程名>执行

B) 可直接用DO<过程名>执行

C) 先用SET PROCEDURE TO <过程文件名>命令打开过程文件,

然后用USE<过程名>执行

D) 先用SET PROCEDURE TO <过程文件名>命令打开过程文件,

然后用DO<过程名>执行

14以下有关Visual FoxPro过程文件的叙述,其中正确的是D

A) 先用SET PROCEDURE TO 命令关闭原来已打开的过程文件,

然后用DO<过程名>执行

B) 可直接用DO<过程名>执行

C) 先用SET PROCEDURE TO <过程文件名>命令打开过程文件,

然后用USE<过程名>执行

D) 先用SET PROCEDURE TO <过程文件名>命令打开过程文件,

然后用DO<过程名>执行

15Visual FoxPro中的DO CASE-ENDCASE语句属于B

A) 顺序结构B) 选择结构

C) 循环结构D) 模块结构

16执行命令DIMENSION M(4,2)之后,数组M的下标

变量个数和初值分别是A

A) 8,.F. B) 4,.T.

C) 8,O D) 2,空值

17执行下面的命令后,函数EOF()的值一定为.T.的是D

A) REPLACE 基本工资WITH 基本工资+200

B) LIST NEXT 10

C) SUM 基本工资TO SS WHILE 性别="女"

D) DISPLAY FOR 基本工资>800

18执行命令

INPUT"请输入数据:"TO AAA时,如果要通过键盘输入

字符串,应当使用的定界符包括C

A) 单引号

B) 单引号或双引号

C) 单引号、双引号或方括弧

D) 单引号、双引号、方括弧或圆点

19执行命令

INPUT"请输入数据:"TO AAA时,如果要通过键盘输入

字符串,应当使用的定界符包括D

A) 单引号

B) 单引号或双引号

C) 单引号、双引号或方括弧

D) 单引号、双引号、方括弧或圆点

20在Visual FoxPro中,可以通过键盘接受数值的命令有D

A) ACCEPT B) ACCEPT和W AIT

C) INPUT和ACCEPT D) INPUT和@5,10SAY...GET..

21设Visual FoxPro的程序中有PROG1.PRG、PROG2.PRG、PROG3.PRG三层

程序依次嵌套,下面的叙述正确的是D

A) 在PROG1.PRG中用!RUN PROG2.PRG 语句可以调用PROG2.PRG子程序

B) 在PROG2.PRG中用RUN PROG3.PRG 语句可以调用PROG3.PRG子程序

C) 在PROG3.PRG中用RETURN 语句可以返回PROG1.PRG主程序

D) 在PROG3.PRG中用RETURN TO MASTER 语句可以返回PROG1.PRG主程序

22在Visual FoxPro文本编辑器中若需要左移一个词,可以通过______来实现。A

A) Ctrl+←B) Shift+←

C) Alt+←D) Tab+←

23在Visual FoxPro中,modify structure命令的功能是D

A) 修改字段的类型B) 增加心得字段

C) 修改字段的名称D) 修改库蚊件的结构

24连续执行以下命令之后,最后一条命令的输出结果是______。D

SET EXACT OFF

X="A "

?IIF("A"=X,X-"BCD",X+"BCD")

A) A

B) BCD

C) ABCD

D) A BCD

25有关SCAN循环结构,叙述正确的是______。B

A) SCAN循环结构中的LOOP语句,可将程序流程直接指向循环开始语句SCAN,

首先判断EOF()函数的真假

B) 在使用SCAN循环结构时,必须打开某一个数据库

C) SCAN循环结构的循环体中必须写有SKIP语句

D) SCAN循环结构,如果省略了子句\FOR和WHILE条件

子句,则直接退出循环

26有关SCAN循环结构,叙述正确的是______。B

A) SCAN循环结构中的LOOP语句,可将程序流程直接指向循环开始语句SCAN,

首先判断EOF()函数的真假

B) 在使用SCAN循环结构时,必须打开某一个数据库

C) SCAN循环结构的循环体中必须写有SKIP语句

D) SCAN循环结构,如果省略了子句\FOR和WHILE条件

子句,则直接退出循环

27命令"DIME array(5,5)"执行后,array(3,3)的值为______。D

A) 0

B) 1

C) .T.

D) .F.

28如果一个过程不包含RETURN语句,或RETURN语句中没有指定表达式,那么该过程______。C

A) 没有返回值

B) 返回0

D) 返回.F.

29命令"DIME array(5,5)"执行后,array(3,3)的值为______。D

A) 0

B) 1

C) .T.

D) .F.

30结构化程序设计的三种基本逻辑结构是_____。B

A) 选择结构、循环结构和嵌套结构

B) 顺序结构、选择结构和循环结构

C) 选择结构、循环结构和模块结构

D) 顺序结构、递归结构和循环结构

31清除主窗口屏幕的命令是______。A

A) CLEAR

B) CLEAR ALL

C) CLEAR SCREEN

D) CLEAR WINDOWS

32使用命令DECLARE mm(2,3)定义的数组,包含的数组元素(下标变量)的个数为______。D

A) 2个

B) 3个

C) 5个

D) 6个

33在Visual FoxPro中,用于建立或修改过程文件的命令是______。B

A) MODIFY <文件名>

B) MODIFY COMMAND <文件名>

C) MODIFY PROCEDURE <文件名>

D) 上面B)和C)都对

34下面关于过程调用的陈述中,______是正确的。D

A) 实参与形参的数量必须相等

B) 当实参的数量多于形参的数量时,出现运行时错误。

C) 当形参的数量多于实参的数量时,多余的实参被逻辑假

D) 上面B)和C)都对

35下面关于Visual FoxPro数组的叙述中,错误的是____。C

A) 用DIMENSION和DECLARE都可以定义数组

B) Visual FoxPro只支持一维数组和二维数组

C) 一个数组中各个数组元素必须是同一种数据类型

D) 新定义数组的各个数组元素初值为.F.

36连续执行以下命令之后,最后一条命令的输出结果是______。D

SET EXACT OFF

X="A "

?IIF("A"=X,X-"BCD",X+"BCD")

A) A

B) BCD

D) A BCD

37有如下程序:

INPUT TO A

IF A=10

S=0

ENDIF

S=1

?S

假定从键盘输入的A的值一定是数值型,那么上面条件选择程序的执行结果是______。B

A) 0

B) 1

C) 由A的值决定

D) 程序出错

38下面关于命令DO FORM XX NAME YY LINKED的陈述中,______是正确的。C

A) 产生表单对象引用变量XX,在释放变量XX时自动关闭表单

B) 产生表单对象引用变量XX,在释放变量XX时并不关闭表单

C) 产生表单对象引用变量YY,在释放变量YY时自动关闭表单

D) 产生表单对象引用变量YY,在释放变量YY时并不关闭表单

39如果一个过程不包含RETURN语句,或RETURN语句中没有指定表达式,那么该过程。C

A) 没有返回值

B) 返回0

C) 返回.T.

D) 返回.F.

40有如下程序:

INPUT TO A

IF A=10

S=0

ENDIF

S=1

?S

假定从键盘输入的A的值一定是数值型,那么上面条件选择程序的执行结果是。B

A) 0

B) 1

C) 由A的值决定

D) 程序出错

41结构化程序设计的三种基本逻辑结构是_____。B

A) 选择结构、循环结构和嵌套结构

B) 顺序结构、选择结构和循环结构

C) 选择结构、循环结构和模块结构

D) 顺序结构、递归结构和循环结构

42下面关于过程调用的陈述中,______是正确的。D

A) 实参与形参的数量必须相等

B) 当实参的数量多于形参的数量时,出现运行时错误。

C) 当形参的数量多于实参的数量时,多余的实参被逻辑假

D) 上面B)和C)都对

43下面关于Visual FoxPro数组的叙述中,错误的是____。C

A) 用DIMENSION和DECLARE都可以定义数组

B) Visual FoxPro只支持一维数组和二维数组

C) 一个数组中各个数组元素必须是同一种数据类型

D) 新定义数组的各个数组元素初值为.F.

44给出以下程序的运行结果:

SET TALK OFF

X=0

Y=0

DO WHILE X<100

X=X+1

IF INT(X/2)=X/2

LOOP

ELSE

Y=Y+X

ENDIF

ENDDO

?"Y=",Y

RETURN

运行结果为______。D

A) Y=500

B) Y=1500

C) Y=2000

D) Y=2500

45将内存变量定义为全局变量的Visual FoxPro命令是______。C

A) LOCAL

B) PRIV ATE

C) PUBLIC

D) GLOBAL

46在Visual FoxPro中,关于过程调用的叙述正确的是D

A) 当实参的数量少于形参的数量时,多余的形参初值取逻辑假

B) 当实参的数量多于形参的数量时,多余的实参被忽略

C) 实参与形参的数量必须相等

D) 上面A和B都正确

47在Visual FoxPro中,如果希望一个内存变量只限于在本过程中使用,说明这种内存变量的命令是:C

A) PRIVATE

B) PUBLIC

C) LOCAL

D) 在程序中直接使用的内存变量(不通过A,B,C说明)

48在DO WHILE …ENDDO循环结构中,LOOP命令的作用是:B

A) 退出过程,返回程序开始处

B) 转移到DO WHILE语句行,开始下一个判断和循环

C) 终止循环,将控制转移到本循环结构ENDDO后面的第一条语句继续执行

D) 终止程序执行

49在Visual FoxPro 中说明数组后,数组的每个元素在未赋值之前的默认值是。D A) 0 B) .T. C) 1 D) .F.

50-在VFP的三种循环语句中,当循环次数为已知时,应选用[]语句。C

A) DO WHILE B) SCAN

C) FOR D) LOOP

51在命令窗口中执行下列命令:

SJKL=“HYGS”

USE & SJKM

后,已打开的数据表文件是[]。A

A) HYGS.DBF B) HJKM.DBF C) & SJKM.DBF D) HYGS.TXT 52关于Visual FoxPro的变量,下面说法中正确的是B

A) 使用一个简单变量之前要先声明或定义

B) 数组中各数组元素的数据类型可以不同

C) 定义数组以后,系统为数组的每个数组元素赋以数值0

D) 数组元素的下标下限是0

53在Visual FoxPro中有如下程序:

*程序名:TEST.PRG

*调用方法:DO TEST

SET TALK OFF

CLOSE ALL

CLEAR ALL

mX="Visual FoxPro"

mY="二级"

DO SUB1 WITH mX

?mY+mX

RETURN

*子程序:SUB1.PRG

PROCEDURE SUB1

PARAMETERS mX1

LOCAL mX

mX=“Visual FoxPro DBMS 考试”

mY="计算机等级"+mY

RETURN

执行命令后,屏幕的显示结果为D

A) 二级Visual FoxPro

B) 计算机等级二级Visual FoxPro DBMS 考试

C) 二级Visual FoxPro DBMS 考试

D) 计算机等级二级

54在DO WHILE……ENDDO循环结构中,EXIT命令的作用是C

A) 退出过程,返回程序开始处

B) 转移到DO WHILE语句行,开始下一个判断和循环

C) 终止循环,将控制转移到本循环结构ENDDO后面的第一条语句继续执行

D)终止程序执行

55连续执行以下命令之后,最后一条命令的输出结果是C

SET EXACT OFF

X="A "

?IIF("A"=X,X-"BCD",X+"BCD")

A) A B) BCD C) A BCD D) ABCD

56使用命令DECLARE mm(2,3)定义的数组,包含的数组元素(下标变量)的个数为D A) 2个B) 3个C) 5个D) 6个

57下面关于Visual FoxPro数组的叙述中,错误的是C

A) 用DIMENSION和DECLARE都可以定义数组

B) Visual FoxPro只支持一维数组和二维数组

C) 一个数组中各个数组元素必须是同一种数据类型

D) 新定义数组的各个数组元素初值为.F.

58在Visual FoxPro环境下,执行下列操作:

.STORE "应试" TO ZH

.? ZH + "指南"

后显示的内容是_________.A

A) 应试指南B) 应试C) 指南D) 应试指南

59在Foxpro中,执行下列命令:

STORE "3.1416: TO SHZ

? TYPE ("SHZ")

其结果为_____.B

A) N B) C C) L D) D

60在VISUAL FOXPRO中说明数组的命令是C

A) DIMENSION 和ARRAY B) DECLARE 和ARRAY

C) DIMESION 和DECLARE D) 只有DIMENSION

61在程序中不需要用public等命令明确声明和建立,可直接使用的内存变量C

A) 局部变量B) 公共变量

C) 私有变量D) 全局变量

62下列程序段的输出结果B

Clear

store 10 to a

store 20 to b

set udfparms to reference

do swap with a,(B)

?a,b

procedure swap

parameters x1,x2

temp=X1

x1=x2

x2=temp

endproc

A) 10 20 B) 20 20 C) 20 10 D) 10 10 63下列程序段的输出结果是CLOSE DATA

a=0

USE教师GO TOP

DO WHILE ) NOT) EOF()

IF主讲课程="数据结构") OR) 主讲课程="C语言" a=a+1

ENDIF

SKIP

ENDDO

?a (C)

A) 4 B) 5 C) 6 D) 7

64

65

数据库第三章作业

第三章SQL 一、填空题 1、在SQL查询时,如果要去掉查询结果中的重复组,需要用() 2、在SQL中使用()命令建立基本表 3、在SQL中使用()命令修改数据库模式。 4、在SQL的SELECT语句中,不仅可以出现属性名,还可以出现()。 5、当基本表中增加一个新列后,各元组在新列上的值是()。 6、在SQL中表示并集的关键字是(0)。 7、在SQL中表示差集的关键字是()。 8、SQL对嵌套查询的处理方法是从()层向()层处理。 9、在SQL中定义视图时,需要用关键字()连接子查询来完成。 10、SQL包括了数据定义、数据操纵和()等功能。 11、SQL对嵌套查询的处理方法是从()层向()层处理。 二、单选题 1、在SQL中,用户可以直接操纵的是()。 A. 基本表 B. 视图 C. 基本表或视图 D. 基本表和视图 2、在SQL中,与关系代数中的投影运算对应的字句是()。 A. SELECT B. FROM C. WHERE D.ORDER BY 3、SELECT语句执行的结果是()。 A. 数据项 B. 元组 C. 表 D. 数据库 4、关系数据库的标准语言是()。 A. DDL B. SQL C. ORACLE D. DBMS 5、在SELECT语句中使用*表示()。 A. 选择任何属性 B. 选择全部属性 C. 选择全部元组 D. 选择键码 6、使用CREATE TABLE语句建立的是()。 A. 数据库 B. 表 C. 视图 D. 索引 7、在SELECT语句中使用MIN(属性名)时,属性名()。 A. 必须是数值型 B. 必须是字符型 C. 必须是数值型或字符型 D.不限制数据类型 8、使用CREATE VIEW语句建立的是()。 A. 数据库 B. 表 C. 视图 D. 索引 9、在SQL中使用UPDA TE对表中数据进行修改时,应使用的子句是()。 A. WHERE B. FROM C. V ALUES D. SET 10、使用CRETE INDEX语句建立的是()。 11、在SQL的语句中,ALTER的作用是()。 A. 删除基本表 B. 修改基本表中的数据 C. 修改基本表中的结构 D. 修改视图 12、在SELECT语句中使用A VG(属性名)时,属性名()。 A. 必须是数值型 B. 必须是字符型 C. 必须是数值型或字符型 D.不限制数据类型 13、在SQL中用关键字EXCEPT表示的运算是集合的()。 A. 交集 B. 并集 C. 差集 D. 连接 14、在SQL的排序子句:“ORDER BY总分DESC ,英语DESC”,表示()。 A. 总分和英语分数都是最高的在前面 B. 总分和英语分数之和最高的在前面

C程序设计第9章选择题作业

1. 20901、设有以下说明语句:C struct Stu { int a; float b; }stutype; 则下面的叙述不正确的是。 A) struct是结构体类型的关键字 B) struct Stu是用户定义的结构体类型 C) stutype是用户定义的结构体类型名 D) a和b都是结构体成员名 2. 20902、根据下面的定义,能打印出字母M的语句是。D struct Person { char name[9]; int age; }; struct Person class[10]={ "John", 17,"Paul", 19,"Mary",18,"adam",16}; A) printf("%c\n",class[3]. name); B) printf("%c\n",class [3]. name[l]); C) printf ("% c\n",class [2]. name [1]); D) printf("%c\n",class [2]. name[0]); 3. 20903、若有以下说明和语句:A struct Student { int num; int age; }stu,*p; p=&stu; 则以下对结构体变量stu中成员age的引用方式不正确的是。 A) *p.age B) p->age C) (*p).age D) stu.age 4. 20904、若有以下程序段: struct Student { int num; int age; }; struct Student stu[3]={{101,20},{102,19},{103,20}}; void main () { struct Student * p; p=stu; … } 则以下引用形式不合法的是。D A) (p++)->num B) p++ C)(*p). num D) p=&stu. age

关于在case中定义变量

switch中case中变量定义的问题 2014年09月05日?综合?共 851字?字号小中大?评论关闭 今天写C代码时在case中定义了变量变异处错误,代码如下 #include int main() { int n; scanf("%d", &n); switch(n){ case 0: printf("it's 0\n"); break; case 1: int i = 2; printf("it's 1, i = 2\n"); break; } return 0; } 使用GCC编译出现:12:7: 错误:标号只能是语句的一部分,而声明并非语句。但是修改了一下,如下 #include int main() { int n; scanf("%d", &n); switch(n){ case 0: printf("it's 0\n"); break; case 1: { int i = 2; printf("it's 1, i = 2\n"); } break; } return 0; }

此时编译通过了,结果也正确。 下面是个人理解: 由于switch的几个case语句在同一个作用域(因为case 语句只是标签,它们共属于一个swtich语句块),所以如果在某个case下面声明变量的话,其他的case 语句也能看到,这样的话就可能导致错误,例如在地一段代码中的case 1后面还有个case 2的话,且case 2中使用了case 1定义的变量i的话,那么如果运行时n = 2,switch直接跳转到case2内部,这样就出现了i没有初始化的事情了(变量的声明是在编译阶段,而变量的赋值则是在运行时),如果能够运行的话,则在case 2中,i的初始值将是一个未知值。所以编译器直接避免这种事情的发生,就让其编译无法通过。 而很明显加上花括号之后,i的作用域就很明确了。 另外,switch(expression)其中expression的结果必须是整型(字符、短整、长整),case constant-expression中constant-expression必须是一个整型值,不能是任何表达式。

变量的定义与声明

1.变量的定义 从前面的章节可以看出,程序中所有的东西几乎都有名字。然而字面量却是个例外,它没有名字。那么使用变量,我们就可以为某个值取名字了。实际上,我们是为系统内存中用于保存数据的某块空间取名字。 ANSI C规定:变量必须“先定义、后使用”,因此当用C定义变量时,不仅需要指定变量名,而且还必须告诉编译器其存储的数据类型,变量类型告诉编译器应该在内存中为变量名分配多大的存储单元,用来存放相应变量的值(变量值),而变量仅仅是存储单元的别名,供变量使用的最小存储单元是字节(Byte)。 由此可见,每个变量都占据一个特定的位置,每个存储单元的位置都由“地址”唯一确定并引用,就像一条街道上的房子由它们的门牌号码标识一样。即从变量中取值就是通过变量名找到相应的存储地址,然后读取该存储单元中的值,而写一个变量就是将变量的值存放到与之相应的存储地址中去。 由于变量的定义不是可执行代码,因此要求局部变量的定义必须位于用“{}包围的程序块”的开头,即在可执行代码的前面。比如: int lower_limit = 80; //定义lower_limit为整型变量 即在定义lower_limit为int类型数据时,系统就已经为变量lower_limit分配了存储单元。请注意区分变量名和变量值这两个不同的概念,其中,lower_limit为变量名,80为变量lower_limit的值,即存放在变量lower_limit的存储单元中的数据。 那么到底如何获得变量的地址呢?C语言使用“&(地址运算符)加变量名”的方式获取变量的地址,比如,&lower_limit就代表变量lower_limit的地址,详见后续相关章节的描述。 一个定义只能指定一种变量类型,虽然后面所带的变量表可以包含一个或多个该类型的变量: int lower_limit , upper_limit , sum; 但如果将一个定义语句中的多个变量拆开在多个定义语句中定义的话: int lower_limit; // lower_limit为数据下限 int upper_limit;// upper_limit为数据上限 int sum;// sum为求和的结果

C语言基本类型字符型(char)用法介绍

C语言基本类型:字符型(char)用法介绍 1.字符型(char)简介 字符型(char)用于储存字符(character),如英文字母或标点。严格来说,char 其实也是整数类型(integer type),因为char 类型储存的实际上是整数,而不是字符。计算机使用特定的整数编码来表示特定的字符。美国普遍使用的编码是ASCII(American Standard Code for Information Interchange 美国信息交换标准编码)。例如:ASCII 使用65 来代表大写字母A,因此存储字母A 实际上存储的是整数65。注意:许多IBM大型机使用另一种编码——EBCDIC(Extended Binary-Coded Decimal Interchange Code 扩充的二进制编码的十进制交换码);不同国家的计算机使用的编码可能完全不同。 ASCII 的范围是0 到127,故而7 位(bit)就足以表示全部ASCII。char 一般占用8 位内存单元,表示ASCII绰绰有余。许多系统都提供扩展ASCII(Extended ASCII),并且所需空间仍然在8 位以内。注意,不同的系统提供的扩展ASCII 的编码方式可能有所不同! 许多字符集超出了8 位所能表示的范围(例如汉字字符集),使用这种字符集作为基本字符集的系统中,char 可能是16 位的,甚至可能是32 位的。总之,C 保证char 占用空间的大小足以储存系统所用的基本字符集的编码。C 语言定义一个字节(byte)的位数为char 的位数,所以一个字节可能是16 位,也可能是32 位,而不仅仅限于8 位。 2. 声明字符型变量 字符型变量的声明方式和其它类型变量的声明方式一样: char good; char better, best; 以上代码声明了三个字符型变量:good、better,和best。 3. 字符常量与初始化 我们可以使用以下语句来初始化字符型变量: char ch = 'A'; 这个语句把ch 的值初始化为 A 的编码值。在这个语句中,'A' 是字符常量。C 语言中,使用单引号把字符引起来就构成字符常量。我们来看另外一个例子: char fail; /* 声明一个字符型变量*/ fail = 'F'; /* 正确*/ fail = "F"; /* 错!"F" 是字符串字面量*/

实验一:数据定义及更新语句练习

实验一:数据定义及更新语句练习 一、实验目的:熟练掌握用SQL语句实现数据库和基本表的创建、数据 的更新。 二、实验内容: (一)用SQL语句建立如下mySPJ数据库,包括S,P,J,和SPJ四个基本表(教材第二章习题5中的四个表),要求实现关系的三类完整性。 S(SNO,SNAME,STA TUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY) 供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成。 零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。 工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。 供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。(二)分别使用插入、删除、修改的方式更新基本表中的数据。 三、完成情况 create table s ( sno char(9)primary key, //主键约束 sname char(20)unique, //唯一值 status smallint, city char(20), ); create table p ( pno char(9)primary key, //主键约束 pname char(20), color char(9), weight smallint,

C语言中变量的声明和定义的关系

C语言中变量的声明和定义的关系 在英文里有两个词涉及这个问题:declare 和 define,在中文中这两个词都可以翻成“定义”,但在C语言中他们有不同的意义;让我们称declare=声明,define=定义。 “声明(declare)”是用于定义一个变量的类型;“定义(define)”是用于定义一个变量所占用的存储;显然,一个变量的类型可以定义多次,只要他们不互相矛盾即可;而一个变量的存储只能定义一次,否则程序如何用一个变量名访问多于一个的存储空间呢? 每次引用一个变量时,引用变量的语句行之前必须出现该变量的声明,该声明可以是直接出现在这个语句行所在的源文件中,或出现在一个头文件中,该源文件用include包含这个头文件。 一个项目中可以有多个源文件,但在所有的源文件中只允许出现一次对某个变量的定义。 这里借用“新手园地”中小罗纳耳朵的一个问题作为例子: 我用Keil写程序时,子程序里需要用到定义一个数组 array[]={0x01,0x02} 放在main函数里定义会提示array未定义! 但是如果放在头文件config.h里面定义为: extern code unsigned CHAR array[]={0x01,0x02}; 结果编译时出现 MULTIPLE PUBLIC DEFINITIONS定义。但是我的头文件里面已经用预处理

命令了 #ifndef __CONFIG_H__ #define __CONFIG_H__ 头文件的内容 #endif 为什么还会出现这种重复定义的错误? 他的错误是,下面这行是定义array的存储,而他又把这行放到了头文件config.h中,等于是在多个源文件中重复地定义array的存储: extern code unsigned CHAR array[]={0x01,0x02}; 正确的做法是在头文件中用这样的声明语句(必须加extern,否则变成定义存储了):extern code unsigned CHAR array[]; // 声明array是一个外部变量 然后在某个源文件中加入这样的语句(此处不必加extern): code unsigned CHAR array[] = {0x01, 0x02}; // 定义array的存储

c语言中字符型常量与变量使用注意事项

字符型常量与变量 (1):字符常量:一个字符常量代表ASCII字符集中的一个字符,在程序中用单引号把一个字符括起来作为字符常量。例如’A’‘b’等都是合法的字符常量。 注意:1、C语言区分大小写:单引号中的大小写字母代表不同的字符常量,例如’A’与’a’是不同的字符常量;2、单引号中的空格符也是一个字符常量3、字符常量只能包括一个字符,所以’ab’是非法的;4、字符常量只能用单引号括起来,不能用双引号。比如”a”不是一个字符常量而是一个字符串。 (2):转义字符常量:转义字符又称反斜线字符,这些字符常量总是以一个反斜线开头后跟一个特定的字符,用来代表某一个特定的ASCII字符,这些字符常量也必须扩在一对单引号内。 字符作用 \n 换行 \t 横向跳格 \v 竖向跳格 \f 换页 \r 回车 \b 退格(Backspace) \\ 反斜杠(\) \’单引号 \”双引号

\ddd 3位八进制数 \xhh 两位十六进制数 \0 空值(ASCII码值为0) 注意:1:转义字符常量只代表一个字符,例如’\n’、’\101’; 2:反斜线后的八进制数可以不用0开头; 3:反斜线后的十六进制数只可由小写字母x开头,不能以大写字母X或0X开头。 (3):字符串常量:字符串常量是由双引号括起来的一串字符。在C 语言中,字符串是用字符型一维数组来存放的。系统在每个字符串的末尾自动加上一个字符’\0’作为字符串结束标志,’\0’在这里占用存储空间但不计入字符串的实际长度。两个连续的双引号(””)也是一个字符串常量,称为空串,占一个字节,该字节用来存放’\0’。 (4):在C语言中,字符常量可以参与任何整数运算以及关系运算。 (5)字符变量:C语言中,字符变量是用关键字char来定义的,例如:char a=’b’,字符变量在内存中占一个字节,当把一个字符放入字符变量中时,字符变量的值就是该字符的ASCII码值,所以字符变量可以作为整型变量来处理,可以参与任何整形变量的运算。

c语言字符型常量与变量

字符型常量与变量 字符常量:一个字符常量代表ASCII字符集中的一个字符,在程序中用单引号把一个字符括起来作为字符常量。例如’A’‘b’等都是合法的字符常量。 注意:1、C语言区分大小写:单引号中的大小写字母代表不同的字符常量,例如’A’与’a’是不同的字符常量;2、单引号中的空格符也是一个字符常量3、字符常量只能包括一个字符,所以’ab’是非法的;4、字符常量只能用单引号括起来,不能用双引号。比如”a”不是一个字符常量而是一个字符串。 转义字符常量:转义字符又称反斜线字符,这些字符常量总是以一个反斜线开头后跟一个特定的字符,用来代表某一个特定的ASCII字符,这些字符常量也必须扩在一对单引号内。 字符作用 \n 换行 \t 横向跳格 \v 竖向跳格 \f 换页 \r 回车 \b 退格(Backspace) \\ 反斜杠(\) \’单引号 \”双引号

\ddd 3位八进制数 \xhh 两位十六进制数 \0 空值(ASCII码值为0) 注意:1:转义字符常量只代表一个字符,例如’\n’、’\101’; 2:反斜线后的八进制数可以不用0开头; 3:反斜线后的十六进制数只可由小写字母x开头,不能以大写字母X或0X开头。 字符串常量:字符串常量是由双引号括起来的一串字符。在C语言中,字符串是用字符型一维数组来存放的。系统在每个字符串的末尾自动加上一个字符’\0’作为字符串结束标志,’\0’在这里占用存储空间但不计入字符串的实际长度。两个连续的双引号(””)也是一个字符串常量:称为空串,占一个字节,该字节用来存放’\0’。 在C语言中,字符常量可以参与任何整数运算以及关系运算。 字符变量:C语言中,字符变量是用关键字char来定义的,例如:char a=’b’,字符变量在内存中占一个字节,当把一个字符放入字符变量中时,字符变量的值就是该字符的ASCII码值,所以字符变量可以作为整型变量来处理,可以参与任何整形变量的运算。

数据定义与操作

信息工程学院1 数据库原理与应用(SQL Server 2008) 实验/实习报告 一、实验目的 1、掌握使用SQL语句创建和删除数据库; 2、掌握使用SQL语句创建和删除数据表,创建各种完整性约束,修改表的结构; 3、掌握索引的创建和删除方法。 4、掌握查询语句的使用方法,重点掌握连接查询和嵌套查询,理解查询的执行过程。 5、掌握数据更新语句的使用; 6、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。 二、预备知识 1、数据库的建立与删除 可以使用SQL语句建立数据库,语句格式为: CREATE DATABASE <数据库名> 其中CREATE DATABASE为关键字,<数据库名>为用户创建的数据库的名称,由用户自定。 使用DROP DATABASE 语句可以删除数据库,语句格式为: DROP DATABASE <数据库名> 其中DROP DATABASE为关键字,<数据库名>为要删除的数据库的名称。当数据库被删除时,数据库中的所有数据对象也一起被删除掉。 2、数据表的创建与删除 使用Create Table语句创建数据表,语句格式为: CREATE TABLE <表名>(<列名> <数据类型> [列级完整性约束条件] [,<列名> <数据类型> [列级完整性约束条件]] … [,<表级完整性约束条件>]); 其中CREATE TABLE为关键字,<表名>为数据表的名称,由用户确定,<列名>为组成这个表的属性列的名称,由用户确定,<数据类型>为属性列的取值的类型,由用户在具体的DBMS所提供的数据类型中选择。 使用Drop Table 语句删除数据表,语句格式为:

4.14关于C 变量的声明和定义

我们已经知道,一个函数一般由两部分组成:声明部分和执行语句。 声明部分的作用是对有关的标识符(如变量?函数?结构体?共用体等)的属性进行说明。对于函数,声明和定义的区别是明显的,前边已说明,函数的声明是函数的原型,而函数的定义是函数功能的确立。对函数的声明是可以放在声明部分中的,而函数的定义显然不在函数的声明部分范围内,它是一个文件中的独立模块。 对变量而言,声明与定义的关系稍微复杂一些。在声明部分出现的变量有两种情况:一种是需要建立存储空间的(如int a;);另一种是不需要建立存储空间的(如extern int a;)。前者称为定义性声明(defining declaration),或简称为定义(definition)。后者称为引用性声明(referenceing declaration)。广义地说,声明包括定义,但并非所有的声明都是定义。对“int a;”而言,它是定义性声明,既可说是声明,又可说是定义。而对“extern int a;”而言,它是声明而不是定义。一般为了叙述方便,把建立存储空间的声明称为定义,而把不需要建立存储空间的声明称为声明。显然这里指的声明是狭义的,即非定义性声明。 例如: int main() { extern int a;//这是声明不是定义。声明a是一个已定义的外部变量 } int a;//是定义,定义a为整型外部变量 外部变量定义和外部变量声明的含义是不同的。外部变量的定义只能有一次,它的位置在所有函数之外,而同一文件中的外部变量的声明可以有多次,它的位置可以在函数之内,也可以在函数之外。系统根据外部变量的定义分配存储单元。对外部变量的初始化只能在定义时进行,而不能在声明中进行。所谓声明,其作用是向编译系统发出一个信息,声明该变量是一个在后面定义的外部变量,仅仅是为了提前引用该变量而作的声明。extern只用作声明,而不用于定义。 用static来声明一个变量的作用有二: ?对局部变量用static声明,使该变量在本函数调用结束后不释放,整个程序执行期间始终存在,使其存储期为程序的全过程。 ?全局变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。 请注意,用auto,register,static声明变量时,是在定义变量的基础上加上这些关键字,而不能单独使用。如“static a;”是不合法的,应写成“static int a;”。

c语言中字符变量字符串和字符数组应用

C语言中字符变量字符串和字符数组应用 字符变量(type`char`?字符串(string)和字符数组(type`char`arrary)是C语言中非常重要的结构成分,也是应用编程中常发生混淆?导致错误发生的成分?一?注意区别字符数组中的字符和字符串C语言中无字符串变量,但提供了字符数组character arrary) 用于存储字符串,例如: char str[]="Hello"; 同时,字符数组亦用于存储字符或字符变量,例如: /*存放字符例*/ char Chars[]={`H``e`,`1``1`,`o`}; /*存放字符变量例*/ char ch=getch(); char CharVar[]=ch; str和Chars的内容尽管由相同字母构成,但前者是字符串(str)后者为一列字符(Chars)?两者在内存中的结构不同,即字符串结尾有NULL 0(字符串终止符)?在应用编程实践中,常常需要从键盘获取字符,依次存入字符数组中,再以字符串输出函数输出到屏幕等,譬如,在中文环境?图形模式下中文字符的键盘输入和屏幕显示?如混淆字符数组中字符组与字符串的差别,则可能得到奇怪的结果?如例: CharStr() { int i,CharNum=5; unsigned char str[80]; for(i=0;i

2常量及变量定义和赋值语句

&2、常量及变量定义和赋值语句 【知识目标】 1、理解和掌握常量定义的方法和意义。 2、理解和掌握变量定义的方法和意义。 3、掌握PASCAL语言中赋值语句的规则和应用方法。 4、掌握PASCAL语言中“整数类型”数据的应用。 一、【引课】: 在高级语言中,计算机进行各种运算操作是由语句实现的,我们常说各种数据数值是原料,而各种运算操作语句就是加工方法,只有两者合理搭配,才能做出美味佳肴的。 二、分析实例:计算出下面程序中a最后的值。 Program Ex001;{程序首部} Const x=10; Var a,b,c:integer;{说明部分} Begin a:=10; b:=5; a:=b*x; a:=a+1; Writeln('a=',a);{输出结果} Readln{等待输入回车键} End. 【常量定义】:在程序中将一个常数用一个标识符来表示它,那么这个标识符就是常量。常量一经定义,其值在程序中始终保持不变。如:x=100就是常量定义,x就是常量。 常量定义的一般形式: Const 常量标识符1=常数1; 常量标识符2=常数2; …… 『特别注意』1、在常量定义中,const是保留字(标志);它的位置在程序首部之后,执行部分之前。 【变量定义】:在程序执行过程中其值可以改变的量,称为变量。每个变量都要有一个名称,这就是变量名。由用户自己定义,必须符合标识符的规定。如a,b,c都是变量。

变量定义的一般形式 var 变量名1:数据类型; 变量名2:数据类型; …… 『特别注意』1、在一个程序中,一个变量只能属于一种确定的数据类型,这样就规定了该变量的取值范围,也决定了对该变量所能执行的运算操作。 2、相同类型的变量可以放在同一条说明行中,之间用逗号分隔。 3、var为变量定义标志(保留字)。 4、不同类型的变量不能互相串用。(开辟的内存存储空间单元是不一样的) 【赋值语句】 是最基本的语句,赋值语句由一个变量后面跟上赋值号“:=”和一个表达式构成。赋值语句的格式为: 变量:=表达式 赋值语句的执行是:“先计算表达式的值,再将值赋给变量”。因此赋值语句具有计算和赋值双重功能。 『特别注意』 1、在赋值时,表达式计算出的值和变量必须类型相容。 2、左边必须是变量,而不能是表达式。 3、“:=”与“=”是完全不同的。 4、变量可以多次赋值,赋值后的变量将中程序中一直保持不变,直到该变量重新赋予其 他的值。 在本例中:a,b两个变量在程序结束时的值分别是多少? [例2]编程计算半径为R的圆的面积和周长。 解:这是一个简单问题,按数学方法可分以下几步进行处理: ①从键盘输入半径的值R;{要求告诉圆的半径R} ②用公式S=πR2计算圆面积; ③用公式C=2πR计算圆周长; ④输出计算结果。 Pascal程序:

实验1 数据定义语言实验

实验1 数据定义语言实验 一、实验目的和要求 (1)熟悉SQL Server 实验环境的设置、学会独立使用该系统; (2)熟悉SQL Server中企业管理器和查询分析器两个常用管理工具; (3)通过企业管理器和查询分析器创建数据库、表及索引; (4)掌握修改基本表结构的方法,实现表的三类完整性。 二、实验内容和步骤

1、创建数据库 例: 创建一个student数据库,其中主文件组包含主要数据文件student1_dat和次要数据文件student2_dat。有2个次要文件组:studentGroup1包含2个次要数据文件student1Fi1_dat 和studentFi2_dat, studentGroup2包含student2Fi1_dat和student2Fi2_dat两个次要数据文件。日志的逻辑文件名为student_log。 CREATE DATABASE student ON PRIMARY (NAME=student1_dat,FILENAME="D:\SQL2008\MSSQL\Data\student1_dat.mdf",SI ZE=10,MAXSIZE=50,FILEGROWTH=15%), (NAME=student2_dat,FILENAME="D:\SQL2008\MSSQL\Data\student2_dat.ndf",SI ZE=10,MAXSIZE=50,FILEGROWTH=15%), FILEGROUP studentGroup1 (NAME=student1Fi1_dat,FILENAME="D:\SQL2008\MSSQL\Data\student1Fildt.ndf" ,SIZE=10,MAXSIZE=50,FILEGROWTH=5), (NAME=student1Fi2_dat,FILENAME="D:\SQL2008\MSSQL\Data\student2Fildt.ndf" ,SIZE=10,MAXSIZE=50,FILEGROWTH=5), FILEGROUP studentGroup2 (NAME=student2Fil_dat,FILENAME="D:\SQL2008\MSSQL\Data\SG1Fi1dt.ndf",SIZ E=10,MAXSIZE=50,FILEGROWTH=5), (NAME=student2Fi2_dat,FILENAME="D:\SQL2008\MSSQL\Data\SG2Fi1dt.ndf",SI ZE=10,MAXSIZE=50,FILEGROWTH=5) LOG ON (NAME=student_log,FILENAME="D:\SQL2008\MSSQL\Data\studentlog.ldf",SIZE=5 MB,MAXSIZE=25MB,FILEGROWTH=5MB)

实验一:数据定义及更新语句练习报告

实验一:数据定义及更新语句练习 一实验目的:熟练掌握用SQL语句实现数据库和基本表的创建、数据的更新。 二实验内容: (一)用SQL语句建立如下mySPJ数据库,包括S,P,J,和SPJ四个基本表(教材第二章习题5中的四个表),要求实现关系的三类完整性。 S(SNO,SNAME,STA TUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY) 供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成。 零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。 工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。 供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。(二)更新表数据: 1.利用Insert 语句将习题中给出的示例记录插入各表。 2.利用Update更新表中的记录: ①将p表中的所有红色零件的重量增加5。 ②将spj表中所有天津供应商的QTY属性值减少10。用子查询。 3.利用Delete语句删除p表中的所有红色零件的记录。 4.SQL语句执行后返回基本表查看更新后的结果,如果与期望不符,分析原因并记录在实验报告中。 三完成情况: (一)CREATE DATABASE MYSPJ; CREATE TABLE S (SNO CHAR(10) PRIMARY KEY, SNAME CHAR(10) UNIQUE, STATUS SMALLINT,

局部变量的定义与使用

Transact-SQL 局部变量 Transact-SQL 局部变量是可以保存单个特定类型数据值的对象。批处理和脚本中的变量通常用于: ?作为计数器计算循环执行的次数或控制循环执行的次数。 ?保存数据值以供控制流语句测试。 ?保存存储过程返回代码要返回的数据值或函数返回值。 注意:某些 Transact-SQL 系统函数的名称以两个 at 符号 (@@) 打头。虽然在Microsoft SQL Server 的早期版本中,@@functions 被称为全局变量,但它们不是变量,也不具备变量的行为。@@functions 是系统函数,它们的语法遵循函数的规则。 示例: 以下脚本创建一个小的测试表并向其填充 26 行。脚本使用变量来执行下列三个操作: ?通过控制循环执行的次数来控制插入的行数。 ?提供插入整数列的值。 ?作为表达式一部分生成插入字符列的字母的函数。 CREATE TABLE TestTable (cola int, colb char(3)); GO SET NOCOUNT ON; GO DECLARE @MyCounter int; SET @MyCounter = 0; WHILE (@MyCounter < 26) BEGIN; INSERT INTO TestTable VALUES (@MyCounter, CHAR( ( @MyCounter + ASCII('a') ) ) ); SET @MyCounter = @MyCounter + 1; END; GO SET NOCOUNT OFF; GO SELECT cola, colb

FROM TestTable; GO 一.声明 Transact-SQL 变量 DECLARE 语句通过以下操作初始化 Transact-SQL 变量: 1.指定名称。名称的第一个字符必须为一个 @。 2.指定系统提供的或用户定义的数据类型和长度。对于数值变量还指定精度和小数位数。对于 XML 类型的变量,可以指定一个可选的架构集合。 3.将值设置为 NULL。 例:DECLARE @MyCounter int; 该DECLARE 语句使用 int 数据类型创建名为@mycounter 的局部变量。例:DECLARE @LastName nvarchar(30), @FirstName nvarchar(20), @StateProvince nchar(2); 此 DECLARE 语句创建了三个名为 @LastName、@FirstName 和 @StateProvince 的局部变量,并将每个变量都初始化为 NULL 二.为 Transact-SQL 变量设置值 第一次声明变量时,其值设置为 NULL。若要为变量赋值,请使用 SET 语句。这是为变量赋值的首选方法。也可以通过 SELECT 语句的选择列表中当前所引用值为变量赋值。 若要通过使用 SET 语句为变量赋值,请包含变量名和需要赋给变量的值。这是为变量赋值的首选方法。例如,下面的批处理声明两个变量、为它们赋值并在SELECT 语句的 WHERE 子句中予以使用: USE AdventureWorks; GO DECLARE @FirstNameVariable nvarchar(50), @PostalCodeVariable nvarchar(15); SET @FirstNameVariable = N'Amy'; SET @PostalCodeVariable = N'BA5 3HX'; SELECT LastName, FirstName, JobTitle, City, StateProvinceName, CountryRegionName FROM HumanResources.vEmployee WHERE FirstName = @FirstNameVariable OR PostalCode = @PostalCodeVariable; GO

字符串型变量

字符串型变量 字符串型变量 字符串型变量用于存放字符串,字符串就是一串字符,VB要求字符串要放在一对英文双引号里面,例如”hello world”和”欢迎光临”都是字符串。字符串型变量用关键字string进行定义。 字符串变量应用例子: Dim str As String ‘定义一个string类型的变量,变量名是str str = InputBox("请输入用户名") ‘输入字符串并保存到字符串型变量 str = str & "欢迎光临" Print str 提示:符号&用于连接字符串,符号&左右两边一定要有空格。语句:str&”欢迎光临”,将会报错,因为&符号左右两边没有留空格。 VB有强大的字符串处理函数,应用这些函数,你能够轻松处理字符串。VB常用字符串操作函数如下: 1. Len(X):计算字符串X的长度(也就是字符的个数) [格式]: P=Len(X) [说明]: 空字符串长度为0,空格符也算一个字符,一个中文字虽然占用2 Bytes,但也算一个字符。 [范例]: (1) Dim x as String Dim strlen as Integer

X=””‘空字符串 strlen = Len(X) print strlen’输出结果为0 (2) 令X=”abcd” strlen = Len(X) print strlen输出结果为4 (3) 令X=”VB教程” strlen = Len(X) print strlen输出结果为4 2. Mid(X)函数:截取一段字符 [格式]: P=Mid(X,n) 由字符串X的第n个字符读起,读取后面的所有字符。 P=Mid(X,n,m) 由X的第n个字符读起,读取后面的m个字符。 [范例]: (1) X=”abcdefg” P=Mid(X,5) Print p 结果为:efg (2) X=”abcdefg” P=Mid(X,2,4) Print p 结果为bcde (3) X=”abcdefg” P=Mid(X,3,1) Print p 结果为c 3. Replace: 将字符串中的某些特定字符串替换为其他字符串[格式]:

整型浮点型及字符型变量的使用

实验2整型浮点型及字符型变量的使用 一.实验内容: 1、熟悉多种进制形式的整型数据的输入输出。 2、通过用整型变量存储整数的阶乘,体会整型变量的用法。 3、体会输入浮点型数据时格式字符f、e和E的作用,理解浮点型数据的精度。 4、体会单精度变量与双精度变量在使用scanf函数赋值时的差别。 5、理解字符型数据与其它数据混合输入时需注意的问题。 二.实验目的及要求: 1、掌握整型浮点型及字符型变量的使用方法。 2、能正确识别源文件中常见的错误。 三.实验重点及难点: 1、熟练掌握C语言数据类型(整型浮点型及字符型)变量的使用及对应的格式控制符。四.实验步骤: 1. 分析下面程序的输出。 #include void main( ) { short i; i = 1*2*3*4*5*6; printf("6!=%hd\n", i); 1

i = i * 7; printf("7!=%hd\n", i); i = i * 8; printf("8!=%hd\n", i); i = i * 9; printf("9!=%hd\n", i); } 程序的输出结果为: 分析: 语句i = 1*2*3*4*5*6;使变量i赋值为1到6的连乘积,即6的阶乘。语句i=i*7;执行时,先让变量i乘以7,然后乘积又存储到变量i中了,即变量i保存了7的阶乘。当用变量i保存8的阶乘时,变量i的值已经变成了负值,因为? 答:内存溢出,short为短整型,只有两个字节的内存,取值范围为-32768~32767。 1)把程序中变量i的类型变为unsigned short,程序中应怎样正确输出变量i的值?变量i能正确保存哪个整数的阶乘? 2

实验二 数据定义

实验二 SQL数据定义 一、实验目的 要求学生学会在SOL Server Management Studio使用T-SQL创建、修改、删除数据表,以及索引的建立和删除,以加深对SQL语言数据定义语句的理解。 二、实验内容 1.熟悉SOL Server Management Studio编辑、执行SQL语句的方法。2.使用SQL语句创建、修改、删除表。 3.使用SQL语句建立、删除索引。 三、实验方法 1.将数据定义用SQL语言表示。 2.在SQL Server Management Studio的SQL语句输入区中输入SQL数据定义语句。 3.执行命令,查看执行状态;如果未执行成功,进行修改,再执行。 四、实验步骤 1.新建数据库 用SQL语句新建学生选课数据库。 2.新建表 用SQL语句在课程数据库中建立student、course、sc这三个表。要求为属性选择合适的数据类型,定义每个表的主码,是否允许空值等用户自定义完整性约束规则;定义sc表的外码。 3.修改表 用SQL语句实现下列操作: 1 向student表增加“入学时间”列,其数据类型为日期型。 2 将新增加的列删除。 3 将性别的数据类型(不管原来是什么)改为字符型,宽度限 定为一个汉字(即男或女)。 4 增加课程名必须取唯一值的约束条件。 5 将新增的约束条件删除。 4.删除表 为student和sc各创建一个结构相同的表student1和sc1(注意:sc1仅定义sno为外码,参照student1的sno,cno不定义为外码),然后用SQL语句删除student1。 5.建立索引 为三个表建立索引。其中student表按学号升序建唯一索引,course表按课程名称升序建索引,sc表按学号升序和课程号降序建唯一索引。

相关文档