C语言编程题库与解析

2024-10-06

C语言编程题库与解析(通用6篇)

C语言编程题库与解析 篇1

1、用Access创建的数据库文件,其扩展名是______。A:.adp B:.dbf C:.frm D:.mdb 答案:D

2、数据库系统的核心是______。

A:数据模型 B:数据库管理系统 C:数据库 D:数据库管理员 答案:B

3、数据库系统是由数据库、数据库管理系统、应用程序、______、用户等构成的人机系统。A:数据库管理员 B:程序员 C:高级程序员 D:软件开发商 答案:A

4、在数据库中存储的是______。

A:信息 B:数据 C:数据结构 D:数据模型 答案:B

5、在下面关于数据库的说法中,错误的是______。

A:数据库有较高的安全性 B:数据库有较高的数据独立性 C:数据库中的数据可以被不同的用户共享 D:数据库中没有数据冗余 答案:D

6、下面关于新型数据库的说法中,错误的是______。

A:数据仓库不是一个新的平台,仍然使用传统的数据库管理系统,而是一个新的概念 B:分布式数据库是一个数据在多个不同的地理位置存储的数据库 C:面向对象数据库仍然采用传统的关系型数据库管理系统

D:空间数据库是随着地理信息系统gis的开发和应用而发展起来的数据库新技术 答案:C

7、不是数据库系统特点的是______。A:较高的数据独立性 B:最低的冗余度 C:数据多样性 D:较好的数据完整性 答案:C

8、在下列数据库管理系统中,不属于关系型的是______。A:Micorsoft Access B:SQL server C:Oracle D:DBTG系统 答案:D

9、Access是______数据库管理系统。A:层次 B:网状 C:关系型 D:树状 答案:C

10、在Access中,数据库的基础和核心是______。A:表 B:查询 C:窗体 D:宏 答案:A

11、在下面关于Access数据库的说法中,错误的是______。A:数据库文件的扩展名为mdb B:所有的对象都存放在同一个数据库文件中 C:一个数据库可以包含多个表

D:表是数据库中最基本的对象,没有表也就没有其他对象 答案:B

12、在一个单位的人事数据库,字段“简历”的数据类型应当为______。A:文本型 B:数字型 C:日期/时间型 D:备注型 答案:D

13、在一个学生数据库中,字段“学号”不应该是______。A:数字型 B:文本型 C:自动编号型 D:备注型 答案:D

14、在下面关于Access数据类型的说法,错误的是______。A:自动编号型字段的宽度为4个字节 B:是/否型字段的宽度为1个二进制位 C:OLE对象的长度是不固定的 D:文本型字段的长度为255个字符 答案:C

15、假定姓名是文本型字段,则查找姓“李”的学生应该使用______。A:姓名 like “李” B:姓名 like “[!李]” C:姓名=“李*” D:姓名 Like “李*” 答案:D

16、如果字段“成绩”的取值范围为0~100,则错误的有效性规则是______。A:>=0 and <=100 B:[成绩]>=0 and [成绩]<=100 C:成绩>=0 and 成绩<=100 D:0<=[成绩]<=100 答案:D

17、基本表结构可以通过______,对其字段进行增加或删除操作。A:insert B:alter table C:drop table D:delete 答案:B

18、内部计算函数SUM(字段名)的作用是求同一组中所在字段内所有的值的______。A:和 B:平均值 C:最小值 D:第一个值 答案:A

19、子句where 性别=“女” and 工资额>2000的作用是处理______。A:性别为“女”并且工资额大于2000的记录 B:性别为“女”或者工资额大于2000的记录 C:性别为“女”并非工资额大于2000的记录

D:性别为“女”或者工资额大于2000的记录,且二者择一的记录 答案:A 20、在Access的下列数据类型中,不能建立索引的数据类型是______。A:文本型 B:备注型 C:数字型 D:日期/时间型 答案:B

21、用于存放数据库数据的是______。A:表 B:查询 C:窗体 D:报表 答案:A

22、如果在创建表中建立字段“基本工资额”,其数据类型应当为______。A:文本类型 B:货币类型 C:日期类型 D:数字类型 答案:B

23、在Access中,表和数据库的关系是______。

A:一个数据库可以包含多个表 B:一个表只能包含2个数据库 C:一个表可以包含多个数据库 D:一个数据库只能包含一个表 答案:A

24、Access数据库管理系统依赖于______操作系统。A:Dos B:Windows C:Unix D:Ucdos 答案:B

25、在关系型数据库中,二维表中的一行被称为______。A:字段 B:数据 C:记录 D:数据视图 答案:C

26、定义某一个字段的默认值的作用是______。A:当数据不符合有效性规则时所显示的信息 B:不允许字段的值超出某个范围

C:在未输入数值之前,系统自动提供数值 D:系统自动把小写字母转换成大写字母 答案:C

27、常见的数据模型有3种,它们是______。

A:网状、关系和语义 B:层次、关系和网状 C:环状、层次和关系 D:字段名、字段类型和记录 答案:B

28、在以下叙述中,正确的是______。

A:Access只能使用系统菜单创建数据库应用系统 B:Access不具备程序设计能力

C:Access只具备了模块化程序设计能力 D:Access具有面向对象的程序设计能力 答案:D

29、不属于Access对象的是______。A:表 B:文件夹 C:窗体 D:查询 答案:B 30、表的组成内容包括______。

A:查询和字段 B:字段和记录 C:记录和窗体 D:报表和字段 答案:B

31、数据类型是______。

A:字段的另一种说法 B:决定字段能包含哪类数据的设置

C:一类数据库应用程序 D:一类用来描述Access表向导允许从中选择的字段名称 答案:B

32、用Visual FoxPro创建的数据库文件,其扩展名是______。A:.adp B:.dbf C:.frm D:.dbc 答案:D

33、如果在创建表中建立字段“职工姓名”,其数据类型应当为______。A:文本类型 B:货币类型 C:日期类型 D:数字类型 答案:A

34、如果在创建表中建立字段“奖金”,其数据类型应当为______。A:文本类型 B:货币类型 C:日期类型 D:数字类型 答案:B

35、如果在创建表中建立需要随机编号的字段,其数据类型应当为______。A:自动编号类型 B:货币类型 C:日期类型 D:数字类型 答案:A

36、如果在创建表中建立需要存放逻辑类型的字段,其数据类型应当为______。A:文本类型 B:货币类型 C:是/否类型 D:数字类型 答案:C

37、如果在创建表中建立需要存放Word文档的字段,其数据类型应当为______。A:文本类型 B:货币类型 C:是/否类型 D:OLE类型 答案:D

38、如果在创建表中建立需要存放Excel文档的字段,其数据类型应当为______。A:文本类型 B:货币类型 C:是/否类型 D:OLE类型 答案:D

39、如果在创建表中建立需要存放图片文档的字段,其数据类型应当为______。A:文本类型 B:货币类型 C:是/否类型 D:OLE类型 答案:D 40、如果在创建表中建立需要存放声音文档的字段,其数据类型应当为______。A:文本类型 B:货币类型 C:是/否类型 D:OLE类型 答案:D

41、如果在创建表中建立需要存放二进制数据文档的字段,其数据类型应当为______。A:文本类型 B:货币类型 C:是/否类型 D:OLE类型 答案:D

42、如果在创建表中建立需要存放时间的字段,其数据类型应当为______。A:文本类型 B:货币类型 C:是/否类型 D:日期/时间类型 答案:D

43、如果在创建表中建立需要存放少于255个字符的字段,其数据类型应当为______。A:文本类型 B:货币类型 C:是/否类型 D:OLE类型 答案:A

44、如果在创建表中建立能存放最多6.4万个字符的字段,其数据类型应当为______。A:文本类型 B:备注类型 C:是/否类型 D:OLE类型 答案:B

45、如果在创建表中建立需要进行算术运算的字段,其数据类型应当为______。A:数字类型 B:备注类型 C:是/否类型 D:OLE类型 答案:A

46、下边哪个字段的数据类型必须是8个字节______。A:数字类型 B:备注类型 C:日期/时间型 D:OLE类型 答案:C

47、下边哪个字段的数据类型必须是4个字节______。A:数字类型 B:备注类型 C:货币类型 D:自动编号类型 答案:D

48、如果在创建表中建立需要存储True/False的字段,其数据类型应当为______。A:数字类型 B:备注类型 C:是/否类型 D:OLE类型 答案:C

49、数据库中的基本单位是______。A:表 B:查询 C:窗体 D:报表 答案:A 50、从一个表或者多个表中选择一部分数据的是______。A:表 B:查询 C:窗体 D:报表 答案:B

51、用户和数据库交互的界面是______。A:表 B:查询 C:窗体 D:报表 答案:C

52、______是Access中以一定输出格式表现数据的一种对象。A:表 B:查询 C:窗体 D:报表 答案:D

53、描述若干个操作的组合的是______。A:表 B:查询 C:窗体 D:宏 答案:D

54、Access XP中新增加的对象是______。A:表 B:查询 C:页 D:宏 答案:C

55、Microsoft公司面向高端的DBMS是______。A:ACCESS B:SQL SERVER C:ORACLE D:MySQL 答案:B

56、Microsoft公司面向小型数据库系统的是______。A:ACCESS B:SQL SERVER C:ORACLE D:MySQL 答案:A

57、目前功能最强大的数据库系统是______。

A:ACCESS B:SQL SERVER C:ORACLE D:MySQL 答案:C

58、如果在创建表中建立需要禁止四舍五入的字段,其数据类型应当为______。A:数字类型 B:备注类型 C:货币类型 D:OLE类型 答案:C

59、如果在创建表中建立需要存储yes/no的字段,其数据类型应当为______。A:数字类型 B:备注类型 C:是/否类型 D:OLE类型 答案:C 60、一个关系对应一个______。

A:二维表 B:关系模式 C:记录 D:属性 答案:A 61、______是对关系的描述。

A:二维表 B:关系模式 C:记录 D:属性 答案:B 62、表中的一列叫做______。

A:二维表 B:关系模式 C:记录 D:字段 答案:D 63、唯一确定一条记录的某个属性组是______。A:关键字 B:关系模式 C:记录 D:属性 答案:A 64、被选中的关键字是______。A:主键 B:关系模式 C:记录 D:属性 答案:A 65、属性的取值范围是______。A:值域 B:关系模式 C:记录 D:属性 答案:A 66、关系名(属性,属性2,……属性n)是______。A:主键 B:关系模式 C:记录 D:属性 答案:B 67、添加新记录时,自动添加到字段中的是______。A:默认值 B:有效性规则 C:有效性文本 D:索引 答案:A 68、检查字段中的输入值是否合法的是______。A:默认值 B:有效性规则 C:有效性文本 D:索引 答案:B 69、检查字段中的输入值不合法时,提示的信息是______。A:默认值 B:有效性规则 C:有效性文本 D:索引 答案:C 70、可以加快查询操作的是______。A:默认值 B:有效性规则 C:有效性文本 D:索引 答案:D 71、可以加快排序操作的是______。A:默认值 B:有效性规则 C:有效性文本 D:索引 答案:D 72、用于在窗体和报表中取代字段中值的是______。A:默认值 B:标题 C:有效性文本 D:索引 答案:B 73、表中的数据可以存为下列文件格式______。A:pdf B:exe C:txt D:bmp 答案:C 74、表中的数据可以存成下列文件格式______。A:wav B:jpg C:rtf D:bmp 答案:C 75、下列哪个不是关系的类型______。A:基本表 B:查询表 C:视图 D:逻辑表 答案:D 76、下列哪个是从其他表导出的表______。A:基本表 B:查询表 C:视图 D:物理表 答案:C 77、下列哪个表最能保证数据的安全______。A:基本表 B:查询表 C:视图 D:物理表 答案:C 78、下列哪个表不对应实际存储的表______。A:基本表 B:查询表 C:视图 D:逻辑表 答案:C 79、下列哪个表是查询中生成的表______。A:基本表 B:查询表 C:视图 D:逻辑表 答案:B 80、下列哪个不能保存在数据库文件中______。A:表 B:页 C:查询 D:窗体 答案:B 81、所有的数据信息都保存在______中。A:表 B:页 C:模块 D:窗体 答案:A 82、数据导出的时候,如果是文本形式,则分隔符是______号。A:, B:“ C:: D:-答案:A 83、面向主题的、集成的、稳定的和随时间变化的数据集合,主要用于决策的是______。A:分布式数据库 B:面向对象数据库

C:多媒体数据库 D:数据仓库 答案:D 84、强调研究如何存储和使用具有海量数据量的是______。A:分布式数据库 B:面向对象数据库

C:多媒体数据库 D:数据仓库 答案:C 85、强调研究一个数据在多个不同的地理位置存储的数据库是______。A:分布式数据库 B:面向对象数据库

C:多媒体数据库 D:数据仓库 答案:A 86、引入类、对象等概念的数据库是______。A:分布式数据库 B:面向对象数据库

C:多媒体数据库 D:数据仓库 答案:B 87、描述、存储与处理具有位置、形状、大小、分布特征及空间关系的数据库是______。A:分布式数据库 B:空间数据库

C:多媒体数据库 D:数据仓库 答案:B 88、不属于数据库发展过程的是______。A:人工管理阶段 B:文件系统阶段 C:数据库系统阶段 D:智能数据库 答案:D 89、字符串用什么符号括起来______。A:逗号 B:单引号 C:双引号 D:$ 答案:C 90、日期型数据用什么符号括起来______。A:逗号 B:单引号 C:双引号 D:# 答案:D 91、在Access中,与like一起用的时候,代表任何一个字符的是______。A:* B:? C:# D:$ 答案:B 92、在Access中,与like一起用的时候,代表0个或者多个字符的是______。A:* B:? C:# D:$ 答案:A 93、在Access中,与like一起用的时候,代表任一数字的是______。A:* B:? C:# D:$ 答案:C 94、连接2个字符串的是______。A:* B:? C:# D:& 答案:D 95、查找姓张的学生,用到的表达式是______。A:张* B:张? C:张# D:张$ 答案:A 96、查找不姓张的学生,用到的表达式是______。A:not like 张* B:not like 张? C:not like 张# D:not like 张$ 答案:A 97、返回某一天的年份的表达式是______。A:year(12/1/1999)B:year(”12/1/1999“)C:year(%12/1/1999%)D:year(#12/1/1999#)答案:D 98、字符运算符是______。A:* B:? C:# D:& 答案:D 99、算式5 mod 3的结果是______。A:0 B:1 C:2 D:3 答案:C 100、假定姓名是文本型字段,则查找名字中含有”雪“的学生应该使用______。A:姓名 like ”*雪*“ B:姓名 like ”[!雪]“ C:姓名=”*雪*“ D:姓名==”雪*“ 答案:A 101、表示整除的是______。A:/ B:mod C: D:≈ 答案:C 102、表示取余数的是______。A:/ B:mod C: D:≈ 答案:B 103、表示乘方的是______。A:^ B:mod C: D:** 答案:A 104、Between表达式的返回值是______。A:数值型 B:逻辑型 C:文本型 D:备注型 答案:B 105、运算级别最高的运算符是______。A:算术 B:关系 C:逻辑 D:字符 答案:A 106、运算级别最低的运算符是______。A:算术 B:关系 C:逻辑 D:字符 答案:D 107、下列哪个能得到abc1234______。A:”abc“&”1234“ B:”abc“@”1234“ C:”abc“$”1234“ D:”abc“#”1234“ 答案:A 108、依次自动加1的数据类型是______。A:文本类型 B:货币类型 C:是/否类型 D:自动编号类型 答案:D 109、表示on/off的数据类型是______。A:文本类型 B:货币类型 C:是/否类型 D:自动编号类型 答案:C

110、宽度为1个二进制位的数据类型是______。A:文本类型 B:货币类型 C:是/否类型 D:自动编号类型 答案:C 111、表示最多可达1GB二进制数据的数据类型是______。A:文本类型 B:OLE类型 C:是/否类型 D:自动编号类型 答案:B 112、表示图片的最佳数据类型是______。A:文本类型 B:货币类型 C:OLE类型 D:自动编号类型 答案:C 113、分类包括中央数据库和中央索引数据库的是______。A:分布式数据库 B:面向对象数据库

C:多媒体数据库 D:数据仓库 答案:A 114、为企业更快,更好的做出经营决策提供准确完整信息的是______。A:分布式数据库 B:面向对象数据库

C:多媒体数据库 D:数据仓库 答案:D 115、随着地理信息系统的开发与应用发展起来的是______。A:分布式数据库 B:空间数据库

C:多媒体数据库 D:数据仓库 答案:B 116、不是数据库特征的是______。A:数据独立性 B:最低的冗余度 C:逻辑性 D:数据完整性 答案:C 117、窗口事件是指操作窗口时所引发的事件,下列不属于窗口事件的是______。A:打开 B:关闭 C:加载 D:取消 答案:D 118、在显示具有______关系的表或查询中的数据时,子窗体特别有效。A:一对一 B:一对多 C:多对多 D:复杂 答案:B 119、下列不属于Access窗体的视图是______。A:设计视图 B:窗体视图 C:版面视图 D:数据表视图 答案:C 120、既可以直接输入文字,又可以从列表中选择输入项的控件是______ A:选项框 B:文本框 C:组合框 D:列表框 答案:C 121、可以作为窗体记录源的是______。A:表 B:查询 C:Select语句

D:表、查询或Select语句 答案:D 122、Access窗体中的文本框控件分为______。A:计算型和非计算型 B:结合型和非结合型 C:控制型和非控制型 D:记录型和非记录型 答案:B 123、下面关于列表框和组合框的叙述正确的是______。A:列表框和组合框可以包含一列或几列数据 B:可以在列表框中输入新值,而组合框不能 C:可以在组合框中输入新值,而列表框不能 D:在列表框和组合框中均可以输入新值 答案:C 124、为窗体上的控件设置Tab键的顺序,应选择属性表中的______。A:格式选项卡 B:数据选项卡 C:事件选项卡 D:其他选项卡 答案:D 125、下列有关选项组的叙述正确的是______。

A:如果选项组结合到某个字段,实际上是组框架内的复选框、选项按钮或切换按钮结合到该字段上的 B:选项组中的复选框可选可不选

C:使用选项组,只要单击选项组中所需的值,就可以为字段选定数据值 D:以上说法都不对 答案:C 126、”特殊效果“属性值用于设定控件的显示效果,下列不属于”特殊效果“属性值的是______。A:平面 B:凸起 C:蚀刻 D:透明 答案:D 127、下列不属于窗口事件的是______。A:打开 B:关闭 C:删除 D:加载 答案:C 128、下列不属于窗体的常用格式属性的是______。A:标题 B:滚动条 C:分隔线 D:记录源 答案:D 129、窗体有三种视图,分别为”设计视图“、”窗体视图“和”______“。A:报表视图 B:数据表视图 C:查询视图 D:大纲视图 答案:B 130、假设已在Access中建立了包含”书名“、”单价“和”数量“三个字段的”tOfg“表,以该表为数据源创建的窗体 A:[单价]*[数量] B:=[单价]*[数量] C:[图书订单表]![单价]*[图书订单表]![数量] D:=[图书订单表]![单价]*[图书订单表]![数量] 答案:B 131、根据关系模型Students(学号,姓名,性别,专业)下列SQL语句中有错误的是______。A:SELECT * FROM Students B:SELECT COUNT(*)人数 FROM Students C:SELECT DISTINCT 专业 FROM Students D:SELECT 专业 FROM Students 答案:B 132、根据关系模型Students(学号,姓名,性别,专业)下列SQL语句中有错误的是______。A:SELECT * FROM Students WHERE专业=”计算机“ B:SELECT * FROM Students WHERE 1 <> 1 C:SELECT * FROM Students WHERE ”姓名“=李明

D:SELECT * FROM Students WHERE 专业=”计算机“&”科学“ 答案:C 133、根据关系模型Students(学号,姓名,性别,专业)下列SQL语句中有错误的是______。A:SELECT * FROM Students ORDER BY 学号 B:SELECT * FROM Students ORDER BY 学号 ASC C:SELECT * FROM Students ORDER BY 学号 DESC D:SELECT * FROM Students ORDER BY 学号 ESC 答案:D 134、根据关系模型Students(学号,姓名,性别,专业)下列SQL语句中有错误的是______。A:SELECT COUNT(*)FROM Students GROUP BY 性别

B:SELECT COUNT(*)FROM Students GROUP BY 性别 WHERE 专业 = ”计算机“ C:SELECT COUNT(*)FROM Students GROUP BY 性别 HAVING 专业 = ”计算机“ D:SELECT COUNT(*)AS 人数 FROM Students GROUP BY 性别 答案:B 135、根据关系模型Students(学号,姓名,性别,专业)下列SQL语句正确的是______。A:SELECT * FROM Students WHERE ”姓名“ = 李明

B:SELECT COUNT(*)FROM Students GROUP BY 性别 WHERE 专业 = ”计算机“ C:SELECT * FROM Students ORDER BY 学号 DESC D:SELECT * DISTINCT 专业 FROM Students 答案:C 136、根据关系模型Students(学号,姓名,性别,专业),查找姓”王“的学生应使用______。A:SELECT * FROM Students WHERE 姓名 Like”王*“ B:SELECT * FROM Students WHERE 姓名 Like”[!王]“ C:SELECT * FROM Students WHERE 姓名=”王*“ D:SELECT * FROM Students WHERE 姓名==”王*“ 答案:A 137、根据关系模型Students(学号,姓名,性别,专业),查找专业中含有”计算机“的学生应使用______。A:SELECT * FROM Students WHERE 专业 Like”计算机*“ B:SELECT * FROM Students WHERE 专业 Like”*计算机*“ C:SELECT * FROM Students WHERE 专业=”计算机*“ D:SELECT * FROM Students WHERE 专业==”*计算机*“ 答案:B 138、根据关系模型Students(学号,姓名,性别,专业,成绩),查找成绩在80到90之间的学生应使用______。A:SELECT * FROM Students WHERE 80<成绩<90 B:SELECT * FROM Students WHERE 80<成绩 OR 成绩<90 C:SELECT * FROM Students WHERE 80<成绩 AND 成绩<90 D:SELECT * FROM Students WHERE 成绩 IN(80,90)答案:C 139、在SQL查询语句中,子句”WHERE 性别=“女” AND 工资额>2000“的作用是处理______。A:性别为”女“并且工资额大于2000(包含)的记录 B:性别为”女“或者工资额大于2000(包含)的记录 C:性别为”女“并且工资额大于2000(不包含)的记录 D:性别为”女“或者工资额大于2000(不包含)的记录 答案:C 140、根据关系模型Students(学号,姓名,性别,出生年月),统计学生的平均年龄应使用______。A:SELECT COUNT()AS 人数,AVG(YEAR(出生年月))AS平均年龄 FROM Students B:SELECT COUNT(*)AS 人数,AVG(YEAR(出生年月))AS平均年龄 FROM Students C:SELECT COUNT(*)AS 人数,AVG(YEAR(DATE())-YEAR(出生年月))AS平均年龄 FROM Students D:SELECT COUNT()AS 人数,AVG(YEAR(DATE())-YEAR(出生年月))AS平均年龄 FROM Students 答案:C 141、根据关系模型Students(学号,姓名,性别,出生年月),查询计算机专业学生的学号、姓名和专业______。A:SELECT 学号、姓名、专业 FROM Students WHERE 专业=”计算机“ B:SELECT 学号、姓名、专业 FROM Students WHERE 专业=计算机 C:SELECT 学号,姓名,专业 FROM Students WHERE 专业=”计算机“ D:SELECT 学号,姓名,专业 FROM Students WHERE 专业=计算机 答案:C 142、根据关系模型Students(学号,姓名,性别,出生年月),查询性别为”男“并按年龄从小到大到排序______。A:SELECT * FROM Students WHERE 性别=”男“ B:SELECT * FROM Students WHERE 性别=”男“ ORDER BY 出生年月 C:SELECT * FROM Students WHERE 性别=”男“ ORDER BY 出生年月 ASC D:SELECT * FROM Students WHERE 性别=”男“ ORDER BY 出生年月 DESC 答案:D 143、根据关系模型Students(学号,姓名,性别),查询性别为”男“并按学号从小到大到排序______。A:SELECT * FROM Students WHERE 性别=”男“ GROUP BY 学号 DESC B:SELECT * FROM Students WHERE 性别=”男“ GROUP BY 学号 ASC C:SELECT * FROM Students WHERE 性别=”男“ ORDER BY 学号 ASC D:SELECT * FROM Students WHERE 性别=”男“ ORDER BY 学号 DESC 答案:C 144、在Access的数据库中建立了”tBook“表,若查找”图书编号“是”112266“和”113388“的记录,应在查询设计 A:”112266“ and ”113388“ B:not in(”112266“,”113388“)C:in(”112266“,”113388“)D:not(”112266“ and ”113388“)答案:C 145、在SQL查询语句中,若要查询成绩为60-80分之间(包括60分,不包括80分)的学生的信息,成绩字 A:>60 or <80 B:>=60 And <80 C:>60 and <80 D:IN(60,80)答案:B 146、若要用设计视图创建一个查询,查找总分在255分以上(包括255分)的女同学的姓名、性别和总分,正 A:在条件单元格键入:总分>=255 AND 性别=”女“ B:在总分条件单元格键入:总分>=255;在性别的条件单元格键入:”女“ C:在总分条件单元格键入:>=255;在性别的条件单元格键入:”女“ D:在条件单元格键入:总分>=255 OR 性别=”女“ 答案:C 147、下列对Access查询叙述错误的是______。A:查询的数据源来自于表或已有的查询

B:查询的结果可以做为其它数据库对象的数据源 C:Access的查询可以分析数据、追加、更改、删除数据 D:查询不能生成新的数据表 答案:D 148、若取得”学生“数据表的所有记录及字段,其SQL语法应是______。A:select 姓名 from 学生

B:select * from 学生 where 12=12 C:select * from 学生 where 学号=12 D:以上皆非 答案:B 149、Access数据库中的SQL查询中的GROUP BY语句用于______。A:分组依据 B:对查询进行排序 C:列表 D:选择行条件 答案:A 150、Access数据库中的SQL查询不包括哪种方式______。A:连接查询 B:嵌套查询 C:分组查询 D:智能查询 答案:D 151、假设某数据表中有一个工作时间字段,查找92年参加工作的职工记录的条件是______。A:Between #92-01-01# And #92-12-31# B:Between ”92-01-01“ And ”92-12-31“ C:Between ”92.01.01“ And ”92.12.31“ D:Between #92.01.01# And #92.12.31# 答案:A 152、在SQL查询语句中,下列说法正确的是______。A:SELECT命令中必须有FROM关键字 B:SELECT命令中必须有WHERE关键字 C:SELECT命令中必须有GROUP关键字 D:SELECT命令中必须有ORDER关键字 答案:A 153、在SQL查询语句中,下列说法正确的是______。

A:ASC关键字是按升序排序的意思,它必须与ORDER BY关键字一起使用 B:ASC关键字是按降序排序的意思,它必须与ORDER BY关键字一起使用 C:ASC关键字是按升序排序的意思,它可以不与ORDER BY关键字一起使用 D:ASC关键字是按降序排序的意思,它可以不与ORDER BY关键字一起使用 答案:A 154、在SQL查询语句中,下列说法正确的是______。A:DESC关键字必须与ORDER BY关键字一起使用 B:DESC关键字必须与GROUP BY关键字一起使用 C:DESC关键字必须与WHERE BY关键字一起使用 D:DESC关键字必须与INNER JOIN关键字一起使用 答案:A 155、在SQL查询语句中,下列说法正确的是______。A:HAVING子句的作用是对分组后的结果进行过滤 B:HAVING子句的作用是设置查询条件 C:HAVING子句的作用是用来分组的 D:HAVING子句的作用是用来排序的 答案:A 156、根据关系模型Students(ID,学号,课程,成绩),查找所有课程成绩在70分以上学生的学号______。A:SELECT 学号 FROM Students GROUP BY 学号 HAVING Min(成绩)>70 B:SELECT 学号 FROM Students GROUP BY 学号 HAVING 成绩>70 C:SELECT 学号 FROM Students HAVING Min(成绩)>70 D:SELECT 学号 FROM Students HAVING 成绩>70 答案:A 157、”SELECT Student.姓名,Scores.成绩 FROM Student INNER JOIN Scores ON Student.学号=Scores.学号“语 A:连接查询Student表和Scores表 B:复制Student表 C:复制Scores表

D:这是一条错误语句,毫无意义 答案:A 158、”SELECT Student.姓名,Scores.成绩 FROM Student INNER JOIN Scores ON Student.学号=Scores.学号 W A:该语句的查询数据来自一个临时表

B:同时在Student表与Scores表中插入一条学号为“984215”的记录 C:同时在Student表与Scores表中更新一条学号为“984215”的记录 D:这是一条错误语句,毫无意义 答案:A 159、“SELECT Student.姓名,Scores.成绩 FROM Student INNER JOIN Scores ON Student.学号=Scores.学号 W A:该语句能查询出学号为”984215“的学生的姓名与成绩 B:该语句只能查询出学号为”984215“的学生的姓名 C:该语句只能查询出学号为”984215“的学生的成绩 D:这是一条错误语句,毫无意义 答案:A 160、在SQL查询语句中,下列说法不正确的是______。A:INNER JOIN关键字不能分开使用 B:INNER JOIN关键字的作用是连接两个表

C:INNER JOIN关键字必须与WHERE关键字联合使用 D:INNER JOIN关键字仅仅表示一种连接方式 答案:C 161、假设某数据库表中有一个姓名字段,查找姓”仲“的记录的条件是______。A:Not ”仲*“ B:Like ”仲“ C:Left([姓名],1)=”仲“ D:”仲“ 答案:C 162、在查询中,默认的字段显示顺序是______。A:在表的”数据表视图“中显示的顺序 B:添加时的顺序 C:按照字母顺序 D:按照文字笔画顺序 答案:B 163、建立一个基于”学生“表的查询,要查找”出生日期“(数据类型为日期/时间型)在1980-06-06和1980-07 A:between 1980-06-06 and 1980-07-06 B:between #1980-06-06# and #1980-07-06# C:between 1980-06-06 or 1980-07-06 D:beteen #1980-06-06# or #1980-07-06# 答案:B 164、以下关于查询的叙述正确的是______。A:只能根据数据库表创建查询 B:只能根据已建查询创建查询

C:可以根据数据库表和已建查询创建查询 D:不能根据已建查询创建查询 答案:C 165、在查询设计视图中______。A:只能添加数据库表

B:可以添加数据库表,也可以添加查询 C:只能添加查询 D:以上说法都不对 答案:B 166、书写查询条件时,日期值应该用______括起来。A:括号 B:双引号

C:半角的井号(#)D:单引号 答案:C 167、在产品数据库表中,若上调产品价格,最方便的方法是使用以下______方法。A:追加 B:更新 C:删除 D:生成表查询 答案:B 168、根据关系模型Students(学号,姓名)下列SQL语句正确的是______。A:INSERT INTO Students(学号,姓名)VALUES(”984215“,”王海“)B:INSERT INTO Students(”984215“,”王海“)VALUES(学号,姓名)C:INSERT INTO VALUES(学号,姓名)Students(”984215“,”王海“)D:INSERT INTO VALUES(”984215“,”王海“)Students(学号,姓名)答案:A 169、删除表Students中学号为984215的记录,应为______。A:DELETE FROM Students WHERE 学号=”984215“ B:DELETE FROM Students 学号=”984215“ C:DELETE 学号=”984215“ FROM Students D:DELETE FROM Students WHERE 学号 IS ”984215“ 答案:A 170、将表Students中学生王涛的姓名改为王宝,应为______。A:UPDATE Students SET 姓名=”王宝“ WHERE 姓名=”王涛“ B:UPDATE Students SET 姓名=”王涛“ WHERE 姓名=”王宝“ C:UPDATE SET 姓名=”王涛“ WHERE 姓名=”王宝“ FROM Students D:UPDATE SET 姓名=”王宝“ WHERE 姓名=”王涛“ FROM Students 答案:A 171、根据关系模型Students(学号,姓名),下列语句能完成插入一条新记录的是______。A:INSERT INTO Students VALUES(”984215“,”王海“)B:INSERT INTO Students(学号,姓名)C:INSERT(”984215“,”王海“)INTO Students D:INSERT(学号,姓名)INTO Students 答案:A 172、在SQL查询语句中,”UPDATE Teacher SET 工资 = 工资 + 100“的意思是______。A:将Teacher表中的所有记录的工资均增加100 B:将Teacher表中的当前记录的工资增加100 C:将Teacher表中的所有记录的工资均设置为100 D:将Teacher表中的当前记录的工资设置为100 答案:A 173、在SQL查询语句中,”DELETE FROM Teacher WHERE 工资>1115 AND 年龄>40“的意思是______。A:删除Teacher表中工资大于1115并且年龄大于40的记录 B:删除Teacher表中工资大于1115或者年龄大于40的记录

C:删除Teacher表中的记录,但是保留工资大于1115并且年龄大于40的记录 D:删除Teacher表中的记录,但是保留工资大于1115或者年龄大于40的记录 答案:A 174、SQL中的哪个关键字不会对表进行写操作______。A:SELECT B:DELETE C:UPDATE D:INSERT 答案:A 175、在SQL查询语句中,”DELETE FROM Teacher“的意思是______。A:删除Teacher表中的所有记录 B:删除Teacher表

C:删除Teacher表中的当前记录 D:这是一条错误语句 答案:A 176、在SQL查询语句中,下列说法正确的是______。A:一个UPDATE命令一次只能对一个表进行修改 B:一个UPDATE命令同时能对多个表进行修改 C:UPDATE命令不能对表进行修改 D:以上说法均不正确 答案:A 177、在SQL查询语句中,下列说法正确的是______。A:INSERT命令只能对表进行插入新记录的操作 B:INSERT命令也可以完成对表的记录进行更新 C:INSERT命令也可以完成对表的记录进行删除 D:以上说法均不正确 答案:A 178、在SQL查询中使用WHERE子句指出的是______。A:查询目标 B:查询结果 C:查询视图 D:查询条件 答案:D 179、假设某数据表中有一个”生日“字段,删除80年出生的学生记录的语句是______。A:DELETE FROM Student WHERE 生日 Between #80-01-01# And #80-12-31# B:DELETE FROM Student WHERE 生日 Between(”80-01-01“ And ”80-12-31“)C:DELETE FROM Student WHERE 生日 Between(”80.01.01“ And ”80.12.31“)D:DELETE FROM Student WHERE 生日 Between #80.01.01# And #80.12.31# 答案:A 180、在SQL查询语句中,下列说法正确的是______。A:DELETE命令中可以没有FROM关键字 B:DELETE命令中可以没有WHERE关键字 C:DELETE命令中必须有SET关键字 D:DELETE命令中必须有INTO关键字 答案:B 181、在SQL查询语句中,下列说法正确的是______。A:INSERT命令中可以没有INTO关键字 B:INSERT命令中可以没有VALUES关键字 C:INSERT命令中必须有SET关键字 D:以上说法均不正确 答案:D 182、在SQL查询语句中,下列说法正确的是______。A:UPDATE命令中必须有FROM关键字 B:UPDATE命令中必须有WHERE关键字 C:UPDATE命令中必须有SET关键字 D:UPDATE命令中必须有INTO关键字 答案:C 183、在SQL查询语句中,下列说法不正确的是______。A:UPDATE命令用于更新表中的记录 B:INSERT命令用于在表中插入一条新记录 C:DELETE命令用于删除表 D:SELECT命令查询表中的记录 答案:C 184、在SQL查询语句中,下列说法正确的是______。

A:UPDATE命令与GROUP BY关键字一起使用可以对表进行分组更新 B:INSERT命令与GROUP BY关键字一起使用可以对表进行分组插入新记录 C:DELETE命令不能与GROUP BY关键字一起使用 D:SELECT命令不能与GROUP BY关键字一起使用 答案:C 185、在SQL查询语句中,下列说法正确的是______。A:UPDATE命令不能与ORDER BY关键字一起使用

B:INSERT命令与ORDER BY关键字一起使用可以对表的任意位置插入新记录 C:DELETE命令与ORDER BY关键字一起使用可以删除表的最后一条记录 D:SELECT命令与ORDER BY关键字一起使用是毫无意义的 答案:A 186、在工资数据库表中,若给职工涨工资,最方便的方法是使用以下______方法。A:追加 B:更新 C:删除 D:生成表查询 答案:B 187、根据关系模型Teacher(编号,职称)下列SQL语句正确的是______。A:INSERT INTO Teacher(编号,职称)VALUES(”070041“,”助教“)B:INSERT INTO Teacher(”070041“,”助教“)VALUES(编号,职称)C:INSERT INTO VALUES(编号,职称)Teacher(”070041“,”助教“)D:INSERT INTO VALUES(”070041“,”助教“)Teacher(编号,职称)答案:A 188、删除表Teacher中编号为070041的记录,应为______。A:DELETE FROM Teacher WHERE 编号=”070041“ B:DELETE FROM Teacher 编号=”070041“ C:DELETE编号=”070041“ FROM Teacher D:DELETE FROM Teacher WHERE 编号 IS ”070041“ 答案:A 189、将表Teacher中职称字段为”助教“人员改为”讲师“,应为______。A:UPDATE Teacher SET 职称=”助教“ WHERE 职称=”讲师“ B:UPDATE Teacher SET 职称=”讲师“ WHERE 职称=”助教“ C:UPDATE SET 职称=”助教“ WHERE 职称=”讲师“ FROM Teacher D:UPDATE SET 职称=”讲师“ WHERE 职称=”助教“ FROM Teacher 答案:B 190、根据关系模型Teacher(编号,姓名),下列语句能完成插入一条新记录的是______。A:INSERT INTO Teacher VALUES(”070044“,”付强“)B:INSERT INTO Teacher(学号,姓名)C:INSERT(”070044“,”付强“)INTO Teacher D:INSERT(学号,姓名)INTO Teacher 答案:A 191、根据关系模型Teacher(ID,姓名),下列语句能完成更新记录的是______。A:UPDATE Teacher SET 姓名=姓名 & ”优秀“ B:UPDATE SET 姓名=姓名 & ”优秀“ FROM Teacher C:INSERT Teacher SET 姓名=姓名 & ”优秀“ D:INSERT SET 姓名=姓名 & ”优秀“ FROM Teacher 答案:A 192、在SQL查询语句中,”UPDATE Student SET 补助=补助+1.2“的意思是______。A:将Student表中的所有记录的补助均增加1.2 B:将Student表中的当前记录的补助增加1.2 C:将Student表中的所有记录的补助均设置为1.2 D:将Student表中的当前记录的补助设置为1.2 答案:A 193、在SQL查询语句中,”DELETE FROM Student WHERE 成绩<60 AND 学年>4“的意思是______。A:删除Student表中成绩小于60并且学年大于4的记录 B:删除Student表中成绩小于60或者学年大于4的记录

C:删除Student表中的记录,但是保留成绩小于60并且学年大于4的记录 D:删除Student表中的记录,但是保留成绩小于60或者学年大于4的记录 答案:A 194、SQL中的哪个关键字绝对不会对表的记录进行更改______。A:INSERT B:DELETE C:UPDATE D:SELECT 答案:D 195、在SQL查询语句中,”DELETE FROM Pub“的意思是______。A:删除Pub表中的所有记录 B:删除Pub表

C:删除Pub表中的当前记录 D:这是一条错误语句 答案:A 196、在SQL查询语句中,下列说法正确的是______。A:一个DELETE命令一次只能对一个表记录进行删除 B:一个DELETE命令同时能对多个表记录进行删除 C:DELETE命令不能对表记录进行删除 D:以上说法均不正确 答案: 197、在SQL查询语句中,下列说法正确的是______。A:UPDATE命令只能对表进行插入新记录的操作 B:UPDATE命令也可以完成对表的记录进行更新 C:UPDATE命令也可以完成对表的记录进行删除 D:以上说法均不正确 答案:B 198、在SQL查询中使用WHILE子句指出的是______。A:查询目标 B:查询结果 C:查询视图 D:没有这个子句 答案:D 199、假设某数据表中有一个”生日“字段,删除60 年上半年出生的人员记录的语句是______。A:DELETE FROM Teacher WHERE 生日 Between #60-01-01# And #60-6-30# B:DELETE FROM Teacher WHERE 生日 Between(”60-01-01“ And ”60-6-30“)C:DELETE FROM Teacher WHERE 生日 Between(”60.01.01“ And ”60.6.30“)D:DELETE FROM Teacher WHERE 生日 Between #60.01.01# And #60.6.30# 答案:A 200、在SQL查询语句中,下列说法正确的是______。A:DELETE命令中必须有FROM关键字 B:DELETE命令中必须有WHERE关键字 C:DELETE命令中必须有VALUES关键字 D:DELETE命令中必须有INTO关键字 答案:A 201、在SQL查询语句中,下列说法正确的是______。A:INSERT命令中必须有INTO关键字 B:INSERT命令中必须有VALUES关键字 C:INSERT命令中必须有SET关键字 D:以上说法均不正确 答案:A 202、在SQL查询语句中,下列说法正确的是______。A:UPDATE命令中必须有FROM关键字 B:UPDATE命令中可以没有WHERE关键字 C:UPDATE命令中可以没有SET关键字 D:UPDATE命令中必须有INTO关键字 答案:B 203、在SQL查询语句中,下列说法正确的是______。A:UPDATE命令一般不用于更新表中的记录 B:INSERT命令用于在表中插入一条新记录 C:DELETE命令只能用于删除表

D:SELECT命令可以对表中的记录进行更改 答案:B 204、在Access数据库中,表就是______。A:关系 B:记录 C:索引 D:数据库 答案:A 205、ODBC的中文含义是______。A:浏览器/服务器 B:客户/服务器 C:开放数据库连接 D:关系数据库管理系统 答案:C 206、数据模型反映的是______。

A:事物本身的数据和相关事物之间的联系 B:事物本身所包含的数据 C:记录中所包含的全部数据 D:记录本身的数据和相关关系 答案:A 207、能够使用”输入掩码向导“创建输入掩码的字段类型是______。A:数字和日期/时间 B:文本和货币 C:文本和日期/时间 D:数字和文本 答案:C 208、Access数据库表中的字段可以定义有效性规则,有效性规则是______。A:控制符 B:文本 C:条件

D:前三种说法都不对 答案:C 209、在课程表中要查找课程名称中包含”计算机“的课程,对应”课程名称“字段的正确条件表达式是______。A:”计算机“ B:”*计算机*“ C:Like ”*计算机*“ D:Like ”计算机“ 答案:C

210、某窗体中有一命令按钮,在”窗体视图“中单击此命令按钮,运行另一个应用程序。如果通过调用宏对象完 A:RunApp B:RunCode C:RunMacro D:RunSQL 答案:A

211、建立一个基于”学生“表的查询,要查找”出生日期“(数据类型为日期/时间型)在1980-06-06和1980-07 A:between 1980-06-06 and 1980-07-06 B:between #1980-06-06# and #1980-07-06# C:between 1980-06-06 or 1980-07-06 D:beteen #1980-06-06# or #1980-07-06# 答案:B

212、创建交叉表查询,在”交叉表“行上有且只能有一个的是______。A:行标题和列标题 B:行标题和值

C:行标题、列标题和值 D:列标题和值 答案:B

213、要显示格式为”页码/总页数“的页码,应当设置文本框控件的控件来源属性为______。A:[Page]/[Pages] B:=[Page]/[Pages] C:[Page]&”/“&[Pages] D:=[Page]&”/“&[Pages] 答案:D

214、在报表每一页的底部都输出信息,需要设置的区域是______。A:报表页眉 B:报表页脚 C:页面页眉 D:页面页脚 答案:D

215、如果设置报表上某个文本框的控件来源属性为”=7 Mod 4“,则打印预览视图中,该文本框显示的信息为_ A:未绑定 B:3 C:7 Mod 4 D:出错 答案:B

216、为窗体或报表上的控件设置属性值的宏操作是______。A:Beep B:Echo C:MsgBox D:SetValue 答案:D

217、要限制宏操作的操作范围,可以在创建宏时定义______。A:宏操作对象 B:宏条件表达式 C:窗体或报表控件属性 D:宏操作目标 答案:B

218、在宏的条件表达式中,要引用”rptT“报表上名为”txtName“控件的值,可以使用的引用表达式是______。A:Reports!rptT!txtName B:Report!txtName C:rptT!txtName D:txtName 答案:A

219、在Access中,自动启动宏的名称是______。A:AutoExec B:Auto C:Auto.bat D:AutoExec.bat 答案:A 220、以下关于VBA运算符优先级比较,正确的是______。A:算术运算符>逻辑运算符>关系运算符 B:逻辑运算符>关系运算符>算术运算符 C:算术运算符>关系运算符>逻辑运算符 D:以上均是错误的 答案:C 221、定义一个二维数组A(2 to 5,5),该数组的元素个数为______。A:20 B:24 C:25 D:36 答案:B 222、在VBA中,如果没有显式声明或用符号来定义变量的数据类型,变量的默认数据类型为______。A:Boolean B:Int C:String D:Variant 答案:D 223、使用VBA的逻辑值进行算术运算时,True值被处理为______。A:-1 B:0 C:1 D:任意值 答案:A 224、在数据访问页的工具箱中,为了设置一个超级链接,应该选择的图标是______。A: B: C: D: 答案:A 225、用二维表来表示实体及实体之间联系的数据模型是______。A:实体-联系模型 B:层次模型 C:网状模型 D:关系模型 答案:D 226、数据库系统的核心是______。A:数据库 B:数据库管理员 C:数据库管理系统 D:文件 答案:C 227、退出Access数据库管理系统可以使用的快捷键是______。A:Alt+F+X B:Alt+X C:Ctrl+C D:Ctrl+O 答案:A 228、Access表中字段的数据类型不包含______。A:文本 B:备注 C:通用 D:日期/时间 答案:C 229、有关字段属性,以下叙述错误的是______。

A:字段大小可用于设置文本、数字或自动编号等类型字段的最大容量 B:可对任意类型的字段设置默认值属性

C:有效性规则属性是用于限制此字段输入值的表达式 D:不同的字段类型,其字段属性有所不同 答案:B 230、以下关于查询的叙述正确的是______。A:只能根据数据库表创建查询 B:只能根据已建查询创建查询

C:可以根据数据库表和已建查询创建查询 D:不能根据已建查询创建查询 答案:C 231、以下不属于操作查询的是______。A:交叉表查询 B:更新查询 C:删除查询 D:生成表查询 答案:A 232、假设某数据库表中有一个姓名字段,查找姓仲的记录的条件是______。A:Not ”仲*“ B:Like ”仲“ C:Left([姓名],1)=”仲“ D:”仲" 答案:C 233、下面关于列表框和组合框的叙述正确的是______。A:列表框和组合框可以包含一列或几列数据 B:可以在列表框中输入新值,而组合框不能 C:可以在组合框中输入新值,而列表框不能 D:在列表框和组合框中均可以输入新值 答案:C 234、窗口事件是指操作窗口时所引发的事件,下列不属于窗口事件的是______。A:打开 B:关闭 C:加载 D:取消 答案:D 235、以下叙述正确的是______。A:报表只能输入数据 B:报表只能输出数据 C:报表可以输入和输出数据 D:报表不能输入和输出数据 答案:B 236、关于报表数据源设置,以下说法正确的是______。A:可以是任意对象 B:只能是表对象 C:只能是查询对象

D:只能是表对象或查询对象 答案:D 237、在报表设计中,以下可以做绑定控件显示字段数据的是______。A:文本框 B:标签 C:命令按钮 D:图像 答案:A 238、要设置在报表每一页的顶部都输出的信息,需要设置______。A:报表页眉 B:报表页脚 C:页面页脚 D:页面页眉 答案:D 239、要在文本框中显示当前日期和时间,应当设置文本框的控件来源属性为______。A:=Date()B:=Time()C:=Now()D:=Year()答案:C 240、将Access数据库中的数据发布在Internet网络上可以通过______。A:查询 B:窗体 C:表

D:数据访问页 答案:D 241、能够创建宏的设计器是______。A:窗体设计器 B:报表设计器 C:表设计器 D:宏设计器 答案:D 242、在条件宏设计时,对于连续重复的条件,要替代重复条件式可以使用下面的符号______。A:...B:= C:,D:; 答案:A 243、VBA的自动运行宏,应当命名为______。A:AutoExec B:AutoExe C:Auto D:AutoExec.bat 答案:A 244、VBA中定义符号常量可以用关键字______。A:Const B:Dim C:Public

C语言编程题库与解析 篇2

1.1 指针

C语言中, 任何数据都会占用内存单元的。计算机内存的每个存储位置都对应唯一的存储地址, 而变量名作为变量数据存储区域所取的名字, 代表的是一个内存编号, 而这个内存编号对于用户来说是未知的。如定义:int a=12。

变量名a代表某个内存单元, 而变量值12则是这块内存单元里面的内容。在整个程序运行过程中, 通过变量名来访问变量, 变量名a所代表的这块内存单元不变, 所改变的只是这块内存单元里面的值。

C语言也支持使用变量存储地址来对变量进行存取操作, 要取得变量的存储地址, 可使用取地址运算符&, 如&a表示变量a的存储地址;而变量的存储地址就是指针。

1.2 指针变量

指针类型就是C语言中用于表示存储地址的数据类型, 而专门用来存放变量存储地址的变量则称为指针变量。

格式:数据类型 *指针变量名。跟普通变量不同的是, 所有指针变量占用的内存单元大小是一样的, 前面的数据类型代表的是指针变量所指向变量的数据类型。如以下代码:

1.3 二级指针变量

在C语言中, 任何值都有所对应的内存地址, 上述介绍的指针变量是指向普通变量的, 也就是普通的指针, 称为一级指针变量。

还有一种指针变量所指向的变量不是普通变量反而还是一个指针变量, 这种变量称为二级指针变量。如:

int a=12;//普通变量a

int *b=&a;//一级指针变量b, 指向普通变量a

int *c=&b;//二级指针变量c, 指向指针变量b

而这时, *c只是代表取c所指向的变量b里面的值:&a, 而a的地址又是未知的。所以, 对于二级指针变量c, 要想取出a的值, 必须需要两个间接访问运算符**, 如**c=** (&b) =*b=* (&a) =a。

2 指针与数组的关系

2.1 指针与一维数组

数组元素在内存中是顺序存放的, 并且数组名代表的是这一块内存单元的首地址, 数组其他元素的地址可以根据每个元素所占用的内存单元依次推知。因此, 一维数组的数组名实际上就是该数组的指针。如以下定义:

int a[10]={1, 2, 3, 4, 5};int *p=a;

此时, p指向数组中的第1个元素 (a[0]) , p+1指向第2个元素 (a[1]) , 依次类推。当然, p最开始也可以指向其他元素, 如指向第4个元素:p=&a[3];

在指针的运算中, 经常会跟自增或自减运算符结合起来使用, 如以下代码:

上述代码就是指针与数组之间关系的一个典型示例, 通过自增或自减运算符不光改变p的指向, 也可以改变p所指向的内存单元里面的内容 (也就是数组元素的内容) 。

2.2 指针与二维数组

由于二维数组可以看成是多个一维数组, 如以下定义:int a[3][4];可以把二维数组a看成3个长度为4的一维数组a[0], a[1], a[2] (假定二维数组按行存储) ;a[0]为第一个一维数组的数组名, 里面有4个元素:a[0][0], a[0][1], a[0][2], a[0][3];a[1]和a[2]依次类推。此时, 虽然二维数组名a和&a[0][0]表示的是同一个地址, 但是指向的却是完全不同的两种存储区域。a指向的是一维数组a[0]中4个元素的存储区域的首地址, &a[0][0]指向第一个元素a[0][0]的地址。此时的a相当于二级指针, a等价于&a[0], 而a[0]又等价于&a[0][0], 所以**a才等价于a[0][0], *a只是a[0], 而a[0]还是地址, 此值对于用户来说是未知的。如以下代码:

2.3 字符串指针

对于一维字符数组指针来说, 如前所述, 比较简单一些, 如以下代码:

但是对于二维字符数组指针, 相对来说复杂一些, 如以下代码:

3 指针作为函数参数

3.1 值传递与地址传递

在C语言中, 函数的参数传递有两种:值传递和地址传递。所谓值传递是指在函数调用时, 给形参分配内存单元, 把实参的值一一传递给对应的形参。但在函数执行中, 只是对形参变量进行处理, 形参值的改变对实参没有影响。而地址传递是指在函数调用时, 实参把数据的存储地址传递给形参, 使其指向同样的存储区域, 这样, 在函数执行中, 对形参的处理实际上就是对实参的处理, 形参值的改变对实参有影响。在C语言中, 地址传递一般通过指针或数组名来作为函数的参数。如以下代码:

在上述代码中, 函数swap1就是值传递, swap2就是地址传递, 调用swap1函数实参值不会做交换, 只有swap 2作交换, 代码的输出结果为:3, 5, 5, 3。

3.2 指针变量作为函数参数

指针变量作为函数形参也经常应用在数组作为实参的函数调用中。如以下代码:

针对数组或指向数组的指针, 各有两种表现形式:数组形式或指针形式。如:int a[10];数组的引用可以有常用的数组形式:a[2], 也可以有指针形式:* (a+2) 。同样的对于指向数组的指针, 如int*p=&a[2], 也有指针形式:* (p+2) 和数组形式p[2], 都等价于a[4]。

4结语

本文在简要介绍指针的概念和指针变量的基础上, 着重介绍了指针与数组的关系, 通过示例说明了指向一维数组的指针以及二维数组的指针, 特别是二维数组名作为二级指针的引用和字符串指针的应用;最后介绍了值传递与地址传递以及指针作为函数参数的应用。

摘要:C语言作为计算机类专业一门重要的基础课程, 是学生学习程序设计的开端, 后续专业课程大多以此作为前提。而在C语言的学习中, 指针又是一个重点以及难点。文章首先介绍了指针的概念以及指针变量的定义, 其次重点介绍了指针与数组之间的关系, 最后介绍了值传递以及地址传递的区别以及指针变量作为函数参数的应用。

关键词:C语言,指针,指针变量,地址传递

参考文献

[1]吉顺如.C语言程序设计教程[M].北京:机械工业出版社, 2011.

[2]李师贤, 译.C++Primer中文版:第4版[M].北京:人民邮电出版社, 2006.

C语言编程题库与解析 篇3

关键词: 汇编语言; 函数调用; 指针; 引用; 堆栈

中图分类号:N 文献标志码:A 文章编号:1006-8228(2012)09-49-02

Via assemble language to catch on mechanism of value transmit, pointer transmit

and reference transmit in C/C++ function calling

Huo Shandong, Yang Xudong

(1. Chongqing three gorges university, Chongqing 404000, China; 2. Chongqing safety technology profession college)

Abstract: Since the assemble language is an important machine language of facing computer hardware directly, it can help to better understand the principle of computer. The characteristic of assemble language is introduced and it is explained in the paper how to realize value transmit, pointer transmit and reference transmit in the computer.

C语言编程题库与解析 篇4

编写函数jsvalue,它的功能是:求fibonacci数列中大于t的最小的一个数,结果由函数返回。其中fibonacci数列f(n)的定义为:

f(0)=0,f(1)=1

f(n)=f(n-1)+f(n-2)

最后调用函数writedat()读取50个数据t,分别得出结果且把结果输出到文件out.dat中。

例如:当t=1000时,函数值为:1597。

部分源程序存在文件prog1.c中。

请勿改动主函数main()和写函数writedat()的内容。

#include

int jsvalue(int t)

{ int f0=0,f1=1,fn;

fn=f0+f1;

while(fn<=t)

{ f0=f1;

f1=fn;

fn=f0+f1;

}

return fn;

}

main()

{

int n;

n=1000;

printf(“n=%d,f=%dn”,n,jsvalue(n));

writedat();

}

writedat()

{

file *in,*out;

int i,n,s;

in=fopen(“in.dat”,“r”);

out=fopen(“out.dat”,“w”);

for(i=0;i<50;i++){

fscanf(in,“%d”,&n);

s=jsvalue(n);

printf(“%dn”,s);

fprintf(out,“%dn”,s);

}

fclose(in);

fclose(out);

数控加工工艺与编程 题库6 篇5

一.填空题。

1.加工中心与普通数控铣床的主要区别是

刀库和自动换刀装置

4.加工外径的常用固定循环分为三大类其分别是

G71外圆粗车循环、G72 端面粗车循环

、G73固定形状循环

二、判断。

1.在数控加工中为提高生产率应尽量遵循工序集中原则即在一次装夹中车削尽可能多的表面。

(√)

2.机床坐标系以刀具靠近工件表面为负刀具远离工件表面为正方向。(√)3.通俗地讲,对刀就是将刀具刀心点和机床坐标系零点重合到一起。(X)4数控机床适于单件、小批生产形状复杂的工件不适合大批量加工。(√)5.机床参考点为数控机床上不固定的点。

(X)6在加工端面或直径变化较大的工件时若数控车床的主轴可伺服即能无级变速 通常采用恒转速车削。

(√)8.数控机床上工件坐标系的零点可以随意设定。

(X)9.图形模拟不但能检查刀具运动轨迹是否正确还能查出被加工零件(X)

10.数控机床上机床参考点与工件坐标系的原点可以重(X)

三.选择题

3.某直线控制数控机床加工的起始坐标为00接着分别是05;55;50;00则加工的零件形状是_____B_____。

A边长为5的平行四边形

B.边长为5的正方形

C.边长为10的正方形形

7数控加工中心的固定循环功能适用于___C_____。

A曲面形状加工

B平面形状加工

C 孔系加工

11.在数控车床编程中G50X200.0Z100.0指令表示: ___________

A.机床回零

B.原点检查

C.刀具定位

D.工件坐标系设定。

12.执行下列程序后钻孔深度是___A________。G90 G01 G43 Z-50 H01 F100 H01补偿值-2.00mm

A48mm

B.52mm

C.50mm

四.编程分析题

(一)、数控铣床加工(20分)

毛坯70mm X 60mm X 18mm, 六面已粗加工过要求铣出图示凸台圆角半径为10mm及槽工件材料为45钢。请完成以下程序。

N10G21G94G40G80G49G90___G54_____Z100.

N20M03S500 N25X-50.Y-50.N30G00G43Z5._H01_______;N40G01Z_-4______.F100;N50G01__G41______X-30.Y-35.D01;N60Y15;

N70G02X-20.Y25._R10_______.;N80G01X20.;

N90G02X30.__Y15______.R10.;N100G01Y-15.;

N110G02X20.Y-25.R10.;N120X-20.;N130G02X-30.Y-15.R10.;N140_G03_______X-40.Y-5.R10.;N150G01_G40_______X-50.Y-50.;N160G00G49Z100.;N170G28G91Z0.;N180_M05_______;N190__M06______T02;N200__M03______S100;N210G90G00X0.Y-50.;

N215__G43______Z5.H02 N220G01 Z-4.F100

N230G00__G41______X8.Y-35.D02

N240G01Y__-8______.F100

N250X15.

N260___G03_____Y8.R8.

N270G01 X8. N280Y35.

N290X___-8_____. N300Y8.

N310X__-15______.

N320G03 Y-8.__R8______

N330G01 X-8.

N340Y-35.

N350_G40_______ X0 Y-50.

N360G00G49Z100.

N370G28G91Z0.;N380__M30______

 二数控车床加工20分

如图所示毛坯为∮26长100mm棒料装夹10mm不用调头装夹。外圆粗车背吃刀量△d=1mm退刀量e=0.5mmX、Z轴方向精加工余量分别为0.5、0.25mm粗车进给速度0.3mm/r主轴转速800r/min1号刀精车进给速度0.15mm/r主轴转速1000r/min2号刀。请完成A、B、C、D四道题目。

全面解析C语言中的指针变量 篇6

1 内存分配

计算机中的内存都是编址的,就象家的地址一样。在程序编译或者运行的时候,每遇到一次声明语句(包括函数的传入参数的声明),编译系统就为已定义的变量分配相应的内存单元,也就是说,每个变量在内存会有固定的位置,变量的数据类型不同,它所占的内存单元数也不相同。若我们在程序有如下定义:

如果将变量的地址保存在内存的特定区域,用变量来存放这些地址,这样的变量就是指针变量,通过指针对所指向变量的访问,也就是一种对变量的“间接访问”。

设有:

现在我们访问变量a、b、x、y、m、ch1、ch2对应的内存单元时,不仅可以通过变量名(直接访问),也可以通过指向这些变量的指针(间接访问)。

二者的关系如图2所示。

此时访问a变量对应的内存空间有:a、*pa二种方式。

2 指针就是一个整数

指针,是一个无符号整数(unsigned int),它是一个以当前系统寻址范围为取值范围的整数。32位系统下寻址能力(地址空间)是4G-byte(0~2^32-1)二进制表示长度为32bit(也就是4B)int类型也正好如此取值。

例如:程序1

程序1得到的答案和程序2的答案一致。(不同机器可能需要调整一下pt的取值。)

3 C的按值传递

C中函数调用是按值传递的,传入参数在子函数中只是一个初值相等的副本,无法对传入参数作任何改动。但实际编程中,经常要改动传入参数的值。这一点我们可以用传入参数的地址而不是原参数本身,当对传入参数(地址)取(*)运算时,就可以直接在内存中修改,从而改动原想作为传入参数的参数值。

在调用函数语句inc(&a)执行时,a的地址传给了函数inc的形参(*val)并在函数体内执行了(*val)++;就等于改变了变量a的值。执行完inc函数后返回到main函数输出a的值为4,操作*val,即是在操作a了。

4 双重指针(指向指针的指针)

设有如下程序:

5 指针数组、数组指针和指向函数的指针

指针数组是一组有序的指针集合,它所有元素都必须是具有相同存储类型和指向相同数据类型的指针变量。

设有:int a,b,c;int*p[3]={&a,&b,&c};

上述语句定义了一个名称为p的指针数组,其中有三个元素p[0]、p[1]、p[2]分别指向三个整型变量a、b、c。此时可以通过*p[0]、*p[1]、*p[2]这三种方式来访问a、b、c。

数组指针是指向数组的指针。数组在计算机内存中占据一片连续的存储空间。数组名存放着这一连续空间的首地址(注意这是一个常数)。数组指针指向这一片连续空间的起始地址。

设有:

int a[10]{1,2,3,4,5,6,7,8,9,10},*p=a;/*p指向了起始地址*/

此时访问数组a中第三个元素有三种方法:a[2]、*(a+2)、*(p+2)

设有:

int b[3][3]={{1,2,3},{4,5,6},{7,8,9}},*p=&[0][0];/*此时p这是一个列指针*/

此时访问数组b中第一行的第2个元素有:a[0][1]、*(p+1)、*(*a+1)(注:a是一个行指针)三种方法。

指向函数的指针,从二进制角度考虑,数组名是该数组数据段首地址,函数名就是该代码段的首地址。

设有如下程序:

程序运行的结果与上面第4个问题完全相同。丰富了访问函数的方法。

6 结束语

指针可以指向任何类型的变量用,有效地表示出复杂的数据结构;指针可以指向函数;用于函数参数传递,达到更加灵活使用函数的目的,有了指针在编程时丰富了访问内存单元的手段和方法,使C语言程序的设计更加灵活、实用、高效。

参考文献

[1]陈强.C语言核心开发技术从入门到精通[M].北京:电子工业出版社,2009.

[2]匡松.C语言程序设计[M].北京:中国铁道出版社,2008.

[3]李俊杰.C语言复习指南与题解[M].北京:清华大学出版社,2003.

上一篇:会议发言稿格式怎么写下一篇:煤矿煤质岗位工作标准