C程第十一章结构体上机习题

C程第十一章结构体上机习题
C程第十一章结构体上机习题

第十一章结构体与共用体

问题与思考

1.下面程序的运行结果是___________.

main()

{

struct cmplx{int x;

int y;

}cnum[2]={1,3,2,7};

printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);

}

a)0 b)1 c)3 d)6

2.以下对结构体变量stu1中成员age的非法引用是____b____.

struct student

{int age;

int num;

}stu1,*p;

p=&stu1;

a)stu1.age b)student.age

c)p->age d)(*p).age

3.以下scanf函数调用语句中对结构体变量成员的不正确引用是_____d___. struct pupil

{char name[20];

int age;

int sex;

}pup[5],*p;

p=pup;

a)scanf("%s",pup[0].name);

b)scanf("%d",&pup[0].age);

c)scanf("%d",&(p->sex));

d)scanf("%d",p->age);

4.以下程序的运行结果是___10,x_____.

struct n{

int x;

char c;

};

main()

{struct n a={10,'x'};

func(a);

printf("%d,%c",a.x,a.c);

}

func(struct n b)

{

b.x=20;

b.c='y';

}

5.若有定义:

struct num

{int a;

int b;

float f;

}n={1,3,5.0};

struct num *pn=&n;

则表达式pn->b/n.a*++pn->b的值是___12_____,表达式(*pn).a+pn->f的值是____6.0____.

???6.以下程序的运行结果是____7,3____.

struct ks

{int a;

int *b;

}s[4],*p;

main()

{

int n=1;

printf("\n");

for(i=0;i<4;i++)

{

s[i].a=n;

s[i].b=&s[i].a;

n=n+2;

}

p=&s[0];

p++;

printf("%d,%d\n",(++p)->a,(p++)->a);

}

7.结构数组中存有三人的姓名和年龄,以下程序输出三人中最年长者的姓名

和年龄。请在_______内填入正确内容。

stati struct man{

char name[20];

int age;

}person[]={"li=ming",18,

"wang-hua",19,

"zhang-ping",20

};

main()

{struct man *p,*q;

int old=0

p=person;

for( ;p_____;p++)

if(oldage)

{q=p;______;}

printf("%s %d",______);

}

8.以下程序段的功能是统计链表中结点的个数,其中first为指向第一个结点的指针(链表不带头结点)。请在______内填入正确内容。

struct link

{char data ;

struct link *next;

};

....

struct link *p,*first;

int c=0;

p=first;

while(_____)

{_______;

p=_______;

}

9.有以下程序输出结果是。

#include

struct stu

{int num;

char name[10];

int age;

};

void fun(struct stu *p)

{printf("%s\n",(*p).name);}

main()

{struct stu students[3]=

{{9801,"zhang",20},{9802,"Wang",19},{9803,"zhao",18}};

fun(students+2);}

A.Zhang

B.Zhao

C.Wang

D.18

10.根据下面的定义,能打出字母M的语句是 c 。

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[1]);

C.printf(〞%c\n〞,class[2].name[1]);

D.printf(〞%c\n〞,class[2].name[0];

第11章 结构体与共用体

第十一章结构体与共用体 结构体变量引用规则: (1)不能将一个结构体变量作为一个整体进行输入和输出;只能对结构体变量中的各个成员分别进行输入和输出。“.”是成员(分量)运算符,它在所有的运算符中优先级最高。 (2)若成员本身又属于一个结构体类型,则要用若干个成员运算符,一级一级地找到最低的一级的成员。只能对最低级的成员进行赋值或存取以及运算。 (3)对结构体变量的成员可以像普通变量一样进行各种运算(根据其类型决定可以进行的运算)。 (4)可以引用结构体变量成员的地址,也可以引用结构体变量的地址。 —>是指向运算符,优先级为第一级。 结构体变量所占的内存长度是各成员所占内存长度之和。每个成员分别占有其自己的内存单元。 共用体变量所占的内存长度等于最长的成员的长度。 只先有定义了共用体变量才能引用它,而且不能引用共用体变量,而只能引用共用体变量中的成员。 将一个变量定义为结构体类型:不仅要求指定变量为结构体类型,而且要求指定为某一特定结构体类型。 类型与变量的区别: 定义时先定义结构体类型,然后定义变量。类型不分配空间,变量分配空间。 可以采取以下3种方法定义结构体类型变量: (1)先声明结构体类型再定义变量名 例如:struct student student1, student2; | | | 结构体类型名结构体变量名 (2)在声明类型的同时定义变量;这种形式的定义的一般形式为: struct 结构体名 { 成员表列 }变量名表列; (3) 直接定义结构体类型变量 其一般形式为: struct { 成员表列 }变量名表列; 即不出现结构体名。 引用结构体变量中成员的方式为 结构体变量名.成员名

上机考试题目及答案

题目 --1、查找员工的编号、姓名、部门和出生日期,如果出生日期为空值, --显示日期不详,并按部门排序输出,日期格式为yyyy-mm-dd。 --2、查找与喻自强在同一个单位的员工姓名、性别、部门和职称 --3、按部门进行汇总,统计每个部门的总工资 --4、查找商品名称为14寸显示器商品的销售情况, --显示该商品的编号、销售数量、单价和金额 --5、在销售明细表中按产品编号进行汇总,统计每种产品的销售数量和金额 --6、按客户编号统计每个客户1996年的订单总金额 --7、查找有销售记录的客户编号、名称和订单总额 --8、查找在1997年中有销售记录的客户编号、名称和订单总额 --9、查找一次销售最大的销售记录 --10、查找至少有3次销售的业务员名单和销售日期 --11、用存在量词查找没有订货记录的客户名称 --12、使用左外连接查找每个客户的客户编号、名称、订货日期、订单金额 --订货日期不要显示时间,日期格式为yyyy-mm-dd --按客户编号排序,同一客户再按订单降序排序输出 --13、查找16M DRAM的销售情况,要求显示相应的销售员的姓名、 --性别,销售日期、销售数量和金额,其中性别用男、女表示 --14、查找每个人的销售记录,要求显示销售员的编号、姓名、性别、 --产品名称、数量、单价、金额和销售日期 --15、查找销售金额最大的客户名称和总货款 --16、查找销售总额少于1000元的销售员编号、姓名和销售额 --17、查找至少销售了3种商品的客户编号、客户名称、商品编号、商品名称、数量和金额--18、查找至少与世界技术开发公司销售相同的客户编号、名称和商品编号、商品名称、数 量和金额 19、查找表中所有姓刘的职工的工号,部门,薪水 20、查找所有定单金额高于20000的所有客户编号 21、统计表中员工的薪水在40000-60000之间的人数 22、查询表中的同一部门的职工的平均工资,但只查询"住址"是"上海市"的员工

数据结构习题及答案-第11章 文件

第十一章文件 一、选择题 1. 散列文件使用散列函数将记录的关键字值计算转化为记录的存放地址,因为散列函数是一对一的关系,则选择好的()方法是散列文件的关键。【哈尔滨工业大学 2001二、5 (2分)】 A. 散列函数 B. 除余法中的质数 C. 冲突处理 D. 散列函数和冲突处理 2. 顺序文件采用顺序结构实现文件的存储,对大型的顺序文件的少量修改,要求重新复制整个文件,代价很高,采用()的方法可降低所需的代价。【北京邮电大学 2000 二、 8 (20/8分)】 A. 附加文件 B. 按关键字大小排序 C. 按记录输入先后排序 D. 连续排序 3. 用ISAM组织文件适合于()。【中科院软件所 1998】 A.磁带 B.磁盘 4.下述文件中适合于磁带存储的是()。【中科院计算所 2000 一、7(2分)】 A. 顺序文件 B. 索引文件 C. 散列文件 D. 多关键字文件 5. 用ISAM和VSAM组织文件属于()。 A. 顺序文件 B. 索引文件 C. 散列文件 【中国科技大学 1998 二、5(2分)中科院计算所 1998 二、5(2分)】 6. ISAM文件和VASM文件属于()。【山东大学 2001 二、5 (1分)】 A. 索引非顺序文件 B. 索引顺序文件 C. 顺序文件 D. 散列文件 7. B+树应用在()文件系统中。【北京邮电大学 2001 一、1(2分)】 A. ISAM B. VSAM 二、判断题 1. 文件是记录的集合,每个记录由一个或多个数据项组成,因而一个文件可看作由多个记录组成的数据结构。【长沙铁道学院 1998 一、5 (1分)】 2. 倒排文件是对次关键字建立索引。【南京航空航天大学 1997 一、10(1分)】 3. 倒排序文件的优点是维护简单。【南京航空航天大学 1995 五、10(1分)】 4. 倒排文件与多重表文件的次关键字索引结构是不同的。【西安交通大学 1996 二、6 (3分)】 5. Hash表与Hash文件的唯一区别是Hash文件引入了‘桶’的概念。【南京航空航天大学1996六10(1分)】 6. 文件系统采用索引结构是为了节省存储空间。【北京邮电大学 2000 一、10 (1分)】 7. 对处理大量数据的外存介质而言,索引顺序存取方法是一种方便的文件组织方法。 【东南大学 2001 一、1-10 (1分)】 8. 对磁带机而言,ISAM是一种方便的稳健组织方法。【中科院软件所 1997 一、10(1分)】 9. 直接访问文件也能顺序访问,只是一般效率不高。【北京邮电大学 2002 一、10(1分)】 10. 存放在磁盘,磁带上的文件,即可以是顺序文件,也可以是索引结构或其他结构类型的文件。 【山东大学 2001 一、7 (1分)】 11. 检索出文件中的关键码值落在某个连续的范围内的全部记录,这种操作称为范围检索。对经常需要做范围检索的文件进行组织,采用散列法优于顺序检索法。【中山大学 1994 一、

c上机试题及答案

c上机试题及答案文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

A.类的定义 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 659 (260 users) Total Accepted: 116 (114 users) Special Judge: No Description 定义一个Circle类,有私有数据成员radius(半径);公有成员函数getArea(),用来计算圆的面积;实现能初始化半径的构造函数,以及拷贝构造函数。要在主函数中定义两个对象,并且输出两个对象的面积。其中第二个由第一个对象初始化,圆周率取为。(15分) Input 包含一个整数。 Output 输出一行,是两个对象的面积值。具体参照样例。 Sample Input 2 Sample Output

A题 #include using namespace std; class Circle { public: Circle(int r):radius(r) {} Circle(Circle &p); double getArea(int radius); private: int radius; }; Circle::Circle(Circle &p) { radius = ; } double Circle::getArea(int radius) { float area; area = *radius*radius; return area;

} int main() { int r; double area1,area2; Circle A(r); Circle B(A); cin>>r; area1 = (r); area2 = (r); cout<

C语言结构体习题及答案

第9章结构体 1.定义以下结构体类型 struct s { int a; char b; float f; }; 则语句printf("%d",sizeof(struct s))的输出结果为【】。 A) 3 B) 7 C) 6 D) 4 # 2.当定义一个结构体变量时,系统为它分配的内存空间是【】 A)结构中一个成员所需的内存容量 B)结构中第一个成员所需的内存容量 C)结构体中占内存容量最大者所需的容量 D)结构中各成员所需内存容量之和 3.定义以下结构体类型 struct s { int x; float f; }a[3]; < 语句printf("%d",sizeof(a))的输出结果为【】 A) 4 B) 12 C) 18 D) 6 7.定义以下结构体类型 struct student { char name[10]; int score[50]; float average; }stud1; 则stud1占用内存的字节数是【】。 ( A) 64 B) 114 C) 228 D) 7 9、设有一结构体类型变量定义如下: struct date { int year; int month; int day; }; struct worklist { char name[20]; char sex; $

struct date birthday; } person; 若对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是。。。。 A. year=1976 B. =1976 C. D. =1976 1、若程序中有以下的说明和定义: struct abc { int x;char y; } 花括号后少了分号。 struct abc s1,s2; 则会发生的情况是______。 A) 编译时错B) 程序将顺序编译、连接、执行C) 能顺序通过编译、连接、但不能执行D) 能顺序通过编译、但连接出错

第十一章结构体的试题

(1)()是关于C语言数据类型的正确叙述。 A) 枚举类型不是基本类型 B) 变量使用前应定义相应的数据类型 C) 不允许使用空类型 D) 数组不是构造类型 (2) 下列()对结构类型变量定义是错误的。 A) struct teacher { int num; int age; }; struct teacher teach1; B) struct { int num; int age; } teach1, teach2; C) struct { int num; int age; } teacher; struct teacher teach1; D) struct teacher { int num; int age; } teach1; (3) 若有定义: char ch; int j,k; enum day {sun, mon, tue, wed, thu, fri, sat}; int a[sat]; 则()对下列语句是否符合语法规则的判断是正确的。 sun=0; /*语句1*/ j=mon+tue; /*语句2*/ if (a[mon]>0) j++; /*语句3*/ A) 语句1、2、3均正确 B) 语句2正确,语句1和语句3错误 C) 语句1错误,语句2和语句3正确 D) 语句1、2、3均错误 (4) 若有定义: struct teacher { int num; char sex;

int age; } teacher1; 则下面叙述错误的是()。 A) teacher1是结构类型名 B) struct teacher是用户定义的结构类型 C) num、sex、age都是结构变量teacher1的成员 D) struct是结构类型的关键字 (5) 下列程序段运行后,表达式()的值为3。 struct point { int x; int y; } *p; struct point a[3]={1,2,3,4,5,6}; p=a; A) p[1].x B) *(p+2) C) p[3].x D) p[2].x (6) 若有定义: typedef int NUM[100]; NUM n; 则()语句是正确的。 A) n[0]=2; B) NUM=2; C) NUM=n; D) n=2; (7) 若有定义int a=1,b=2,t=3; struct data { char a; float b[3]; long c; }d1; 则变量d1的长度是()。 A) 4 B) 17 C) 12 D) 15 (8) 若有定义 struct teacher { int num;

第十一章结构体与共用体

第^一章结构体与共用体教学内容 (1) 结构体的定义与结构体变量; (2) 结构体数组; (3) 结构体指针; ⑷链表; (5) 共用体; (6) 枚举类型; 基本要求 掌握结构体的定义方法及其作用;重点掌握链表及其应用了解共用体的概念及其应用

一、概述 、引入原由 我们前面讲过数组,数组类型中的各个元素的类型是相同的,在日常应用中,仅仅有这些数据类型是不够的。有时需要将不同类型的数据组合成一个有机的整体,以便于引用。这些组合在一个整体中的数据是互相联系的。例如:学生的信息(姓名、性别、年龄、成绩、学号)。那么如何实现这种结构呢?采用的是结构体。 女口:struct student { int num; char n ame[20]; char sex; int age; float score; }; 、结构体类型的一般形式 struct 结构体名 {成员表列}; 成员表列:类型名成员名 女口:struct student {int nu m;char sex;}; 二、结构体类型变量的定义、引用、初始化 、定义方法 1、先声明类型再定义变量名 struct stude nt {int nu m;char sex;}; struct stude nt stu1,stu2; 2、在声明类型的同时定义变量 struct stude nt {int nu m;char sex;} stu1,stu2; 3、直接定义结构体类型变量(不给出结构体名) struct {int nu m;char sex;} stu1,stu2; 4、说明: 1 )类型与变量不同(变量:分配空间,可以赋值、存储、运算) 2)成员与普通变量地位相当,域名可以单独使用 3)成员也可以是一个结构体变量 如: struct date

c++上机试题及答案

A.类的定义 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 659 (260 users) Total Accepted: 116 (114 users) Special Judge: No Description 定义一个Circle类,有私有数据成员radius(半径);公有成员函数getArea(),用来计算圆的面积;实现能初始化半径的构造函数,以及拷贝构造函数。要在主函数中定义两个对象,并且输出两个对象的面积。其中第二个由第一个对象初始化,圆周率取为3.14。(15分) Input 包含一个整数。 Output 输出一行,是两个对象的面积值。具体参照样例。 Sample Input 2 Sample Output 12.56 12.56

A题 #include using namespace std; class Circle { public: Circle(int r):radius(r) {} Circle(Circle &p); double getArea(int radius); private: int radius; }; Circle::Circle(Circle &p) { radius = p.radius; } double Circle::getArea(int radius) { float area; area = 3.14*radius*radius; return area; } int main() { int r; double area1,area2; Circle A(r); Circle B(A); cin>>r; area1 = A.getArea(r); area2 = B.getArea(r); cout<

ppt上机操作题及答案

PowerPoint题共24道题 第1题 题目: ①建立页面一:版式为“标题幻灯片”; 标题内容为“思考与练习”并设置为黑体72; 副标题内容为“--小学语文”并设置为宋体28倾斜; ②建立页面二:版式为“只有标题”; 标题内容为“1、有感情地朗读课文”并设置为隶书36分散对齐; 将标题设置“左侧飞入”动画效果并伴有“打字机”声音; ③建立页面三:版式为“只有标题”; 标题内容为“2、背诵你认为写得好的段落”并设置为隶书36分散对齐; 将标题设置“盒状展开”动画效果并伴有“鼓掌”声音; ④建立页面四:版式为“只有标题”; 标题内容为“3、把课文中的好词佳名抄写下来”并设置为隶书36分散对齐; 将标题设置“从下部缓慢移入”动画效果并伴有“幻灯放映机”声音; ⑤设置应用设计模板为“Blueprint”; ⑥将所有幻灯片的切换方式只设置为“每隔6秒”换页; 答案: 1、启动PowerPoint单击页面——在“新幻灯片”对话框中选择“标题幻灯片”——确定——单击“标题”框,输入标题内容“思考与练习”——选中文字(或单击标题框)——格式工具栏,字体列表中选择黑体、字号选72 2、单击“副标题”框,输入标题内容“--小学语文”——选中文字(或单击副标题框)——格式工具栏,字体列表中选择宋体、字号选28 、选斜体 3、选择插入菜单、新幻灯片命令——在“新幻灯片”对话框中选择“只有标题”——确定——单击“标题”框,输入标题内容“1、有感情地朗读课文”——选

中文字(或单击标题框)——格式工具栏,字体列表中选择隶书、字号选36 、单击分散对齐按钮 4、选择“幻灯片放映”菜单、“自定义动画”命令——在“自定义动画”对话框中,“检查动画幻灯片对象”中选中“标题1”——“效果”选项卡、“动画和声音”列表选“飞入”、“左侧”、声音项选“打字机” ——确定 5、选择插入菜单、新幻灯片命令——在“新幻灯片”对话框中选择“只有标题”——确定——单击“标题”框,输入标题内容“2、背诵你认为写得好的段落”——选中文字(或单击标题框)——格式工具栏,字体列表中选择隶书、字号选36 、单击分散对齐按钮 6、选择“幻灯片放映”菜单、“自定义动画”命令——在“自定义动画”对话框中,“检查动画幻灯片对象”中选中“标题1”——“效果”选项卡、“动画和声音”列表选“盒状”、“展开”、声音项选“鼓掌” ——确定 7、选择插入菜单、新幻灯片命令——在“新幻灯片”对话框中选择“只有标题”——确定——单击“标题”框,输入标题内容“3、把课文中的好词佳名抄写下来”——选中文字(或单击标题框)——格式工具栏,字体列表中选择隶书、字号选36 、单击分散对齐按钮 8、选择“幻灯片放映”菜单、“自定义动画”命令——在“自定义动画”对话框中,“检查动画幻灯片对象”中选中“标题1”——“效果”选项卡、“动画和声音”列表选“缓慢移入”、“从下部”、声音项选“幻灯放映机” ——确定 9、选择格式菜单、应用设计模板命令——在“应用设计模板”对话框中,选“B luep rint.pot” ——应用 10、选择“幻灯片放映”菜单、“幻灯片切换”命令——在“幻灯片切换”对话框中,“换页方式”项去掉“单击鼠标换页”、选择“每隔”项、框中选择“0 0:06” ——全部应用 11、单击常用工具栏“保存”按钮(或选择文件菜单保存按钮)保存文件 第2题 题目: ①建立页面一:版式为“只有标题”; 标题内容为“长方形和正方形的面积”并设置为宋体48加下划线; ②建立页面二:版式为“只有标题”; 标题内容为“1、面积和面积单位”并设置为仿宋体36两端对齐;

练习题-第十章 结构体与共用体(有答案)

一、填空题 1.若有如下结构体定义: struct student { int num; float age; char sex; }stud; 则stud所占的内存空间是9 字节。 2.已有定义和语句: union data { int i; char c; float f; }a,*p; p=a; 则对a中成员c的正确访问形式可以是 a.c 或: p->c或:(*p).c。(只需 写出一种) 二、单项选择题: 1.若有下列定义: struct b { float a[5]; double c; int d;}x; 则变量x在内存中所占的字节为下列哪一个:( C ) A.6 B. 10 C. 30 D. 14 2.设有以下说明语句,则下面的叙述不正确的是( C ) struct stu { int a; float b; } stutype; A. struct 是结构体类型的关键字。 B. struct stu 是用户定义的结构体类型。 C. stutype是用户定义的结构体类型名。 D. a和b都是结构体成员名。 3.下面程序的运行结果是( ) #include main( ) { struct date { int year, month, day;

}today; printf(“%d\n”,sizeof(struct date)); } A. 6 B. 8 C. 10 D. 12 4.设有以下说明语句,则下面的叙述正确的是( B ) typedef struct { int a; float b; } stutype; A. stutype是结构体变量名。 B. stutype 是结构体类型名。 C. struct是结构体类型名。 D. typedef struct是结构体类型名。 三、填程序 1.结构数组中存有三人的姓名和年龄,以下程序输出三人中最年长者的姓名和年龄。请填 空。 static struct man { char name[20]; int age; }person[ ]={{“LiMing”,18},{“WangHua”,19},{“ZhangPing”,20}}; main( ) { struct man *p,*q; int old=0; p=person; for(; p age){ q=p; old=p->age ;} printf(“%s %d”, q->name,q->age ); }

数据库上机习题及答案

数据库及应用复习题 一、设计题 有一个[学生课程]数据库,数据库中包括三个表: 学生表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为: Student(Sno,Sname,Ssex,Sage,Sdept) ,Sno 为关键字。 课程表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。 成绩表SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为:SG(Sno,Cno,Grade) (SNO, CNO)为关键字。 用SQL语言实现下列功能: 1.建立学生表Student,其中学号属性不能为空,并且其值是唯一的。 2.向Student表增加“入学时间(Scome)”列,其数据类型为日期型。 3.查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。4.查询学习1号课程的学生最高分数、平均成绩。 5.查询与“李洋”在同一个系学习的学生。 6.将计算机系全体学生的成绩置零。 7.删除学号为05019的学生记录。 8.删除计算机系所有学生的成绩记录。 1. CREATETABLE Student (Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20), Ssex CHAR(2), Sage INT, Sdept CHAR(15)) 2. ALTER TABLE Student ADD Scome DATETIME 3. SELECT Sno, Grade FROM SG WHERE Cno='3' ORDER BY Grade DESC 4. SELECT MAX(Grade), AVG(Grade) FROM SC WHERE Cno='1' 5. SELECT Sno, Sname, Sdept FROM Student WHERE Sdept IN

C语言上机试题及答案

实验一 Visual C++的使用及顺序结构程序设计 一、实验目的 1、掌握启动和退出VC6的方法。 2、熟悉VC6开发环境。 3、初步掌握简单程序的上机操作基本步骤,熟悉C单文件程序的输入、编译、链接和运行过程。 4、初步掌握程序的编辑修改和调试。 5、熟练使用赋值运算、算术运算等表达式。 6、熟练使用标准输入、输出函数及各种数据类型的格式说明符。 二、实验内容 1、下面C语言程序,其功能是显示字符串“欢迎同学们来到华北水院计算中心!”。 请同学们按照下面的实验指导学习VisualC++6.0的使用。 1.启动VisualC++6.0开发环境 (1)单击“开始”按钮,选择“程序” ——〉“Microsoft Visual Studio 6.0菜单项,单击“MicrosoftVisualC++6.0”,屏幕出现标题为“当时的提示”的窗口。 (2)单击“结束”按钮,关闭窗口,进入开发环境的主窗口。 2.使用Visual C++对一个C程序进行编辑、编译、连接和运行。 ⑴分析 Visual C++中程序的开发过程与其它高级语言的开发过程相仿,都要经过编辑、编译、连接和运行四个步骤。 ⑵步骤 ①编辑

图1-1 New对话框 编辑是将C源程序输入计算机的过程。在Visual C++主界面下,点击File菜单,选择New菜单项,即可出现New对话框,如图1-1所示。在弹出窗口中的Files标签页下,选择C++ Source File。在选项卡右面的File编辑框里输入文件名如“”,在Location编辑框里输入文件路径,如“d:\test”。点击OK按钮。将出现编辑窗口,如图1-2所示。在图1-2所示的右端编辑窗口里输入以下C源程序并保存文件。 include void main() { printf(" 欢迎同学们来到华北水院计算中心!"); } 图1-2 编辑窗口 ②编译 编译是使用系统提供的编译器将文本文件生成机器语言的过程,结果为,由于没有得到系统分配的绝对地址,还不能直接运行,如图1-3所示。选择Build菜单下的Compile ,计算机将完成对当前源程序的编译。按提示建立默认工程空间。编译无错时,将源程序编译为目标文件。编译结果如图1-4所示。如果出现运行错误,应该分析错误的原因,例如,是输入数据错误,还是代码错误;如果需要修改源程序文件,还需重新编译、链接和执行。改正编译窗口下方指出的两个错误,直至编译成功,如图1-5所示。

十一章 结构体与共用体

结构体与共用体 一、选择题: 1.已知赋值语句wang.year=2004;则wang的变量类型是() A. 字符或文件 B. 整型或实型 C. 共用或结构 D. 实型或指针 2.Turbo C中,以下类型数据在存储器中占的字节数为 ( ) struct test { int x; float y; char z; } ; A. 2 B. 3 C. 6 D. 7 3.以下语句中,成员data的正确引用方式为( ) struct node { int data; char name[10]; }stree; struct node *p=&stree; A. p.data B. p->data C. (*p)->data D. stree->data 4、当执行以下程序段时,输出的结果是。()struct data { char a; int b; float c; }; printf(“%d”, sizeof(struct data)); A. 1 B. 2 C. 4 D. 7 5.下面程序段的运行结果是。 struct stu { int num; char name[10]; float scrose ; }; printf(“%d\n”, sizeof (struct stu )); (A)14 (B)12 (C)16 (D)3 6. 若有定义: typedef char* string; #define str char * int a=4; struct { int x, *y; }z={10, &a}, *p=&z; 则下列不等价的是: A. string name, sign; 与 str name, sign; B. *p->y++ 与 *(p->y++) C. ++*p->y 与 ++(*p->y) D. ++p->x与++(p->x) ()

上机题及答案

描述 已知华氏温度到摄氏温度的转换公式为:摄氏温度= (华氏温度- 32)×5/9,写程序将给定的华氏温度转换为摄氏温度输出 输入说明 只有一个整数,表示输入的华氏温度 输出说明 输出一个表示摄氏温度的实数,小数点后保留2位有效数字,多余部分四舍五入 输入样例 50 输出样例 2计算球体重量 描述 已知铁的比重是,金的比重是。写一个程序,分别计算出给定直径的铁球与金球的质量,假定PI= 输入说明 输入两个整数,分别表示铁球与金球的直径(单位为毫米) 输出说明 输出两个浮点数,分别表示铁球与金球的质量(单位为克),小数点后保留3位小数,两个浮点数之间用空格分隔 输入样例 100 100 输出样例 提示 #include<> int main(){ double Fe=,Au=,Pi=; int m,n;

scanf("%d %d",&m,&n);.3f.3f.2f.2f.6f 输入说明 输入包含多组数据,第一行为整数n表示有几组数据,其后为n行数据,每行一个整数。 输出说明 对每一个整数,若该整数为回文数,则输出整数各位数字之和,否则输出no,然后换行。 输入样例 2 131 24 输出样例 5 no #include<> #include<> int main(){ int a[200]={0},b,c,d=0,m,n,i,k,p,sum=0; scanf("%d",&n); for(m=0;m0;++k)c*=10; 9f.,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。现在给定一个随机数m>0,从编号为1的人开始,按顺时针方向1开始顺序报数,报到m时停止。报m的人出圈,同时留下他的密码作为新的m值,从他在顺时针方向上的下一个人开始,重新从1开始报数,如此下去,直至所有的人全部出圈为止。 输入说明 仅有一组数据,输入数据第一行为两个正整数n(0

c++上机试题及答案

A、类的定义 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 659 (260 users) Total Accepted: 116 (114 users) Special Judge: No Description 定义一个Circle类,有私有数据成员radius(半径);公有成员函数getArea(),用来计算圆的面积;实现能初始化半径的构造函数,以及拷贝构造函数。要在主函数中定义两个对象,并且输出两个对象的面积。其中第二个由第一个对象初始化,圆周率取为3、14。(15分) Input 包含一个整数。 Output 输出一行,就是两个对象的面积值。具体参照样例。 Sample Input 2 Sample Output 12、56 12、56 A题 #include using namespace std; class Circle { public: Circle(int r):radius(r) {} Circle(Circle &p); double getArea(int radius); private:

int radius; }; Circle::Circle(Circle &p) { radius = p、radius; } double Circle::getArea(int radius) { float area; area = 3、14*radius*radius; return area; } int main() { int r; double area1,area2; Circle A(r); Circle B(A); cin>>r; area1 = A、getArea(r); area2 = B、getArea(r); cout<

11第十一章结构体和联合体练习

第十一章结构体和共用体 一、单项选择题: 1、在说明一个结构体变量时系统分配给它的存储空间是()。 A、该结构体第一个成员所需存储空间 B、该结构中最后一个成员所需存储空间 C、该结构体中占用最大存储空间的成员所需存储空间 D、结构体中所有成员所需存储空间的总和 2、在说明一个共用体变量时系统分配给它的存储空间是()。 A、该共用体中第一个成员所需存储空间 B、该共用中最后一个成员所需存储空间 C、该共用体中占用最大存储空间的成员所需存储空间 D、共用体中所有成员所需存储空间的总和 3、共用体类型在任何给定时刻,()。 A、所有成员一直驻留在结构中 B、只有一个成员驻留在结构中 C、部分成员驻留在结构中 D、没有成员驻留在结构中 4、使用共用体union的目的是()。 A、将一组数据作为一个整体,以便于其中 的成员共享同一存储空间 B、将一组具有相同数据类型的数据作为一 个整体,以便于其中的成员共享同一存 储空间 C、将一组相关数据作为一个整体,以便程 序中使用 D、将一组具有相同数据类型的数据作为 一个整体,以便程序中使用 5、以下typedef的叙述不正确的是()。 A、用typedef可以定义各种类型名,但不 能用来定义变量 B、用typedef可以增加新类型 C、用typedef只是将已存在的类型用一个 新的名称来代表 D、使用typedef便于程序的通用 6、以下关于枚举的叙述不正确的是()。 A、枚举变量只能取对应枚举类型的枚举 元素表中元素 B、可以在定义枚举类型时对枚举元素进行 初始化C、枚举元素表中的元素有先后次序,可以 进行比较 D、枚举元素的值可以是整数或字符串 7、在下列程序段中,枚举变量c1和c2的值分别是()和()。 main() { enum color {red,yellow,blue=4,green,white} c1,c2; c1=yellow; c2=white; printf(“%d,%d\n”,c1,c2); } A、1 B、3 C、5 D、6 8、若有以下说明和语句: struct worker { int no; char *name; }work,*p=&work; 则以下引用方式不正确的是()。 A、work.no B、(*p).no C、p—>no D、work—>no 9、以下程序执行后的正确结果是()。struct tree { int x; char *s; }t; func(struct tree t) { t.x=10; t.s=”computer”; return(0); } main() { t.x=1; t.s=”minicomputer”; func(t); printf(“%d,%s\n”,t.x,t.s); } A、10,computer B、1,minicomputer C、1,computer D、10,minicomputer

第11章 结构

第11 章结构与联合 一、单选题 1 下列关于结构的说法错误的是: A:结构是由用户自定义的一种数据类型 B:结构中可设定若干个不同数据类型的成员 C:结构中成员的数据类型可以是另一个已定义的结构D:在定义结构时,可以为成员设置默认值 答案:D 2 以下关于结构体的叙述中,错误的是: A:结构体是一种可由用户构造的数据类型 B:结构体中的成员可以具有不同的数据类型 C:结构体中的成员不可以与结构体变量同名 D:结构体中的成员可以是指向自身结构的指针类型 答案:C 3 以下结构体类型说明和变量定义中,正确的是:A:struct SS { char flag; float x; } struct SS a,b; B:struct { char flag; float x; }SS; SS a,b; C:struct ss { char flag; float x; }; D:typedef { char flag; float x; }SS; SS a,b; 答案:C 4 以下对结构体类型变量st的定义中,不正确的是:A:struct { char c; int a; }st; B:struct { char c; int a; }TT;

struct TT st; C:typedef struct { char c; int a; }TT; TT st D:#define TT struct TT { char c; int a; }st; 答案:B 5 设有以下说明语句: struct stu { int a; float b; }stutype; 则下面的叙述不正确的是: A:struct是结构体类型的关键字 B:struct stu是用户定义的结构体类型名 C:stutype是用户定义的结构体类型名 D:a和b都是结构体成员名 答案:C 6 在16位IBM-PC机上使用C语言时,若有如下定义:struct data { int i; char ch; double f; }b; 则结构变量b占用内存的字节数是: A:1 B:2 C:8 D: 11 答案:D 7 以下程序的运行结果是: #include "stdio.h" main( ) { struct date { int year; int month; int day: }today; printf("%d\n",sizeof(struct date) );

数据库上机考试试题及答案

1下列说法中正确的是:( D ) A 、 SQL 中局部变量可以不声明就使用 B 、 SQL 中全局变量必须先声明再使用 C 、 SQL 中所有变量都必须先声明后使用 D 、 SQL 中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自己建立。 2.哪个关键字用于测试跟随的子查询中的行是否存在( B )。 A.MOV B.EXISTS C.UNION D.HAVING 3 .下列哪些语句用于创建存储过程( A )? A、CREATE PROCEDURE B、CREATE TABLE C、DROP PROCEDURE D、其他 5.在SQL中,SELECT语句的“SELECT DISTINCT”表示查询结果中 ( C )。 A.属性名都不相同 B.去掉了重复的列 C.行都不相同 D.属性值都不相同 语言集数据查询、数据操作、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATA实现下列哪类功___A_____。 A. 数据查询 B. 数据操纵 C. 数据定义 D. 数据控制 Server 2000 采用的身份验证模式有( D )。 (A)仅Windows身份验证模式 (B)仅SQL Server身份验证模式 (C)仅混合模式 (D)Windows身份验证模式和混合模式 Server 2000 企业版可以安装在操作系统上。( C ) (A)Microsoft Windows 98 (B)Microsoft Windows 2000 Professional (C)Microsoft Windows 2000 Server (D)Microsoft Windows XP Server是一个( C )的数据库系统。 (A)网状型(B)层次型 (C)关系型(D)以上都不是 语言中,删除一个视图的命令是( B )。 A. DELETE B. DROP C. CLEAR D. REMOVE 语言中,删除记录的命令是( A )。

相关文档
最新文档