文档视界 最新最全的文档下载
当前位置:文档视界 › 窗体设计基础1

窗体设计基础1

窗体设计基础1
窗体设计基础1

第1章设计简单应用程序随着计算机应用的普及和Windows操作系统的出现,大量的应用程序希望用户界面友好,操作简捷。Windows应用程序的主要特点是:

(1)使用图形用户界面(GUI,Graphical User Interface);

(2)使用面向对象方法编程;

(3)基于消息驱动程序。

微软的.NET框架提供了编写Windows应用程序的全面支持。

Windows应用程序设计主要完成两部分工作:界面设计和程序功能设计。

https://www.docsj.com/doc/3f10380815.html,框架

.NET是微软公司2000年推出的面向互联网时代构筑的新一代平台,微软公司开发了一整套基于.NET框架(.NET Framework)设计的工具组件,集成到Visual https://www.docsj.com/doc/3f10380815.html,(简称https://www.docsj.com/doc/3f10380815.html,)开发环境中,用于开发基于.NET平台的应用程序。

.NET框架有两个主要的组件:公共语言运行时(CLR,Common Language Runtime)和.NET框架类库(FCL,Framework Class Library)。

公共语言运行时

CLR是一个公共语言运行库,通常直译为公共语言运行时。

CLR支持多种语言,提供了各种语言的互操作性。

CLR提供了公共类型系统(CTS,Common Type System),对数据类型提供了定义、管理和使用的严格说明;提供了代码必须遵守公共语言规范(CLS,Common Language Standard)。

CLR运行的代码称为托管代码,在CLR控制之外的代码称为非托管代码。

C++,ISO/ANSI标准,非托管的C++设计

C++/CLI标准,为CLR托管程序而设计。CLI(Common Language Infrastructure)https://www.docsj.com/doc/3f10380815.html,提供了两种代码的互操作,允许程序员在项目中的不同程序模块之间,甚至同一个文件中混合使用托管(C++/CLI)代码和非托管(C++)代码。不同语言编写的组件也可以进行交互。这体现了https://www.docsj.com/doc/3f10380815.html,的强大。

.NET框架类库

.NET框架类库FCL是一个与公共运行时紧密集成、可重用的类的集合。包括类、接口、结构和枚举

.NET框架类库使用CTS数据和CLS规范

.NET框架类库包含了将近100个命名空间

1.2Windows窗体设计器

.NET框架的Windows窗体类由两个命名空间提供:System::Windows::Forms和System::Windows::Forms::Design。

System::Windows::Forms是一个很大的名空间,包含了300多个类和枚举类型,它们是组成Windows程序界面的各种控件,以及描述这些控件的属性、方法。

System::Windows::Forms::Design包含了使用https://www.docsj.com/doc/3f10380815.html,设计器(Designer)的定制和扩展。

新建一个Windows应用程序的操作如下。

(1)启动https://www.docsj.com/doc/3f10380815.html,后,屏幕出现如图1.1所示的集成开发环境。

(2)在主窗口菜单栏中单击“文件”→“新建”→“项目”菜单命令(或者按下Ctrl+Shift+N 组合键),打开“新建项目”对话框,如图1.2所示。

图1.1VS2008集成开发环境主窗口

(3)在“项目类型”框中单击“Visual C++”下的“CLR”项,然后在“模板”框中单击“Windows窗体应用程序”项。

(4)在“名称”文本框中输入项目名称。如图1.2所示。

图1.2“新建项目”对话框

(5)单击“确定”按钮。https://www.docsj.com/doc/3f10380815.html, 显示一个如图1.3所示的设计窗口。

图1.3设计窗口

1.窗体设计窗口

窗体设计窗口简称窗体(Form ),是用户自定义的窗口,用来设计应用程序的界面,对应的是程序运行的最终结果。

设计窗口的标题是“Form1.h[设计]”,当标题后面带有“*”后缀时,表示正在设计(编辑)状态。用户设计的事件处理程序都将写入Form1.h 头文件中。

Form1是用户窗体的默认名,属性窗口不提供编辑功能。我们可以在头文件Form1.h 中查到Component 类的预置函数,其中有对Name 属性赋值的语句。

窗体设计窗口

属性窗口

解决方案资源管理窗口

void InitializeComponent(void)

{//……

this->Name=L"Form1";

//……

}

在窗体上设置的控件Name属性是可以通过编辑窗口修改的。

控件“布局”工具方便地调整它们之间的位置。布局工具栏如图1.4所示。

图1.4布局工具栏

2.工具箱

工具箱,如图1.5所示。

图1.6是公共控件的展开列表。

图1.5工具箱

图1.6公共控件图1.7控件的关联菜单

3.属性窗口

控件的属性,如图1.8所示。

图1.9所示是控件的事件列表。

图1.8属性窗口的属性列表图1.9属性窗口的事件列表

4.代码窗口

用户编写的事件函数都添加在项目的Form1.h文件中。图1.10所示是建立按钮控件单击事件函数打开的代码窗口。

图1.10编辑事件函数的代码窗口

使用集成开发环境的“文件”菜单,或者使用解决方案的树状列表,可以打开、新建各种类型文件,进入代码窗口或不同形式的编辑窗口。例如图1.11的操作状态,可以为用户新建一个自定义的.cpp文件,系统将打开cpp文件的编辑窗口。

图1.11建立用户自定义的.cpp文件

1.3建立应用程序

1.3.1主要工作步骤

创建一个新的https://www.docsj.com/doc/3f10380815.html,可视化应用程序的主要步骤如下。

1.创建应用程序

新建一个Visual C++CLR Windows窗体应用程序。

2.设计应用程序界面

3.编写程序代码

4.保存、编译、调试、运行程序

1.3.2一个简单例子

【例1-1】计算圆的周长和面积。

问题

输入圆的半径,计算输出圆的周长和面积。

分析

程序界面应该让用户输入一个数值;在接受到用户的输入信息后,按用户要求计算并显示圆的面积和周长。

设计步骤

(1)建立项目

启动https://www.docsj.com/doc/3f10380815.html,,建立一个CLR类型Windows窗体应用程序,命名为wex1_1。操作方法见1.2节。系统自动提供了一个名为Form1的窗体。

(2)设计界面

添加控件对象。分别点击工具箱中的标签(Label )、按钮(Button )和文本框(TextBox )三种控件,在窗体上添加3个标签:label1、label2、和label1;3个文本框:textBox1,textBox2和textBox3;2个按钮:button1和button2,用鼠标和布局工具调整它们的位置和大小。请注意,调整控件时,它们的相关属性,例如Location ,Size 的值随之改变,可以在属性列表上查看到。换言之,从属性列表中输入不同的数值,控件布局和外观也会马上表现出来。●设置控件属性值。为了使用户明确程序的功能,便于操作,适当修改控件的外观属性。打开属性窗口,设置各控件的Text 属性值。图1.12是修改窗体Text 属性值的情形。

Form1计算圆的周长和面积label1输入半径label2圆周长label3圆面积button1计算button2

退出

外观设计完成的界面如图1.13所示。

(3)设计事件处理函数

本程序编写两个事件函数,button1(计算)

控件的Click (单击)事件函数用于接受用户输入,计算并显示结果。Button2(退出)控件的Click (单击)事件函数用于关闭窗体,结束程序。

private :System::Void button1_Click(System::Object^sender,System::EventArgs^e){double r,girth,area ;const double PI=3.1415;

r =Double::Parse(textBox1->Text);//把文本转换成浮点型数据

girth =2*PI*r;

图1.12修改窗体的Text 属性值

图1.13例1-1的界面设计

area =PI*r*r;

textBox2->Text=girth.ToString();//把浮点型数据转换成字符串

textBox3->Text=area.ToString();

}

private :System::Void button2_Click(System::Object^sender,System::EventArgs^e){Close();//关闭窗体

}

事件函数有两个参数用于事件处理器与处理事件对象的关联。第一个参数sender 接受处理器的this 指针

第2个参数e 参数根据不同的事件将会有不同的类型,可以使函数接受、处理不同的事件数据。EventArgs 是System 名空间定义包含事件数据的类的基类,此类不包含事件数据,当事

件引发时不向事件处理程序传递状态信息的事件函数e 参数使用此类。如果其他事件处理程序需要状态信息,则e 参数类型必须从此类派生的类。

button1_Click 函数接受用户从textBox1输入的半径值,计算圆的周长和面积,然后在textBox2和textBox3显示出来。

textBox 、label 等控件都是用文本形式接受或输出数据的,所以,如果要获取控件数值型数据,就要把控件的Text 属性(字符串)转换成相应的数据类型;如果要输出数值型数据,就要把数据转换成字符串才能向控件的Text 属性赋值。程序中,函数

Double::Parse(textBox1->Text)

把浮点数形式的字符串转换成浮点值,返回其二进制码形式;

Double::Parse(textBox1->Text)

返回浮点数的字符串表示形式。

其中,Double ,String 都是CLR 的CTS 公共类型系统定义的数据类型。

button2_Click 函数调用了窗体的Close 方法,关闭窗体,结束应用程序。

(4)编译、运行程序

程序运行效果如图1.14所示。

根据CLI 规范,句柄是一个对象的引用。例如

String ^str ="Hello Word";

//str 是一个字符串句柄

在C++/CLI 中,句柄和指针有以下区别:●指针用“*”表示;句柄用“^”表示。

●指针是指向一个内存的地址;句柄是对位于托管堆中的对象的引用。●指针是稳定的,内存自动回收机制对它不起作用;而内存自动回收机制对句柄进行自动回收。

●程序员必须在程序中明确地删除指针,否则会引起内存泄漏;

而对句柄的删除则是可

图1.14例1-1的运行效果

选的。

●指针没有安全机制;而句柄是安全的。不能将句柄定义为void^。

●用关键字“new”返回一个指针;用关键字“gcnew”返回一个句柄。

1.3.3添加文件

1.添加函数

在https://www.docsj.com/doc/3f10380815.html,的项目中,每一个窗体是一个类。

程序员可以在Form1.h文件中添加数据、函数,包括Form1类数据成员和成员函数。

【例1-2】设计函数,计算周长和面积。

打开项目窗体的代码编辑窗口,修改例1-1的代码,把计算圆周长和面积的程序编写成一个独立的函数circle,然后由button1_Click调用,实现计算功能。程序运行效果与例1-1一样。

//添加函数

void circle(double radius,double&girth,double&area)

{const double PI=3.1415;

girth=2*PI*radius;

area=PI*radius*radius;

return;

}

//按钮事件函数

private:System::Void button1_Click(System::Object^sender,System::EventArgs^e)

{double r,girth,area;

r=double::Parse(textBox1->Text);

circle(r,girth,area);//调用函数

textBox2->Text=girth.ToString();

textBox3->Text=area.ToString();

}

2.添加源文件

【例1-3】设计函数,计算圆的周长和面积。由控件的事件函数接受文本框的半径,然后调用函数得到计算结果,最后在文本框中显示计算结果。操作步骤如下。

(1)建立一个名为wex1_3的项目;

(2)界面设计过程如例1-1所示;

(3)编写计算圆周长和面积的函数。

●右击解决方案资源管理器树状目录中的“源文件”图标,从弹出的关联菜单中选择“添加”-“新建项”。系统打开如图1.15所示的添加新项对话窗口。默认类别选择“Visual C++”,模板选择“C++文件(C++)”;指定文件的位置和输入文件名称。图中输入的文件名Circle,系统自动添加文件后缀.cpp。点击“添加”按钮确认。

图1.15添加源文件Circle.cpp

●从解决方案的源文件夹,看到Circle.cpp文件,并打开代码编辑窗口,如图1.16所示,从中输入代码:

#include"stdafx.h"

void circle(double radius,double&girth,double&area)

{const double PI=3.1415;

girth=2*PI*radius;

area=PI*radius*radius;

return;

}

图1.16编辑Circle.cpp文件

文件中第一行include指令包含的stdafx.h是个特殊的头文件,CLR编写的.cpp文件都必须首先包含stdafx.h。这个头文件使用预编译技术,加速了编译过程。

●从解决方案目录的头文件夹中,点击“stdafx.h”文件名,打开编辑窗口,在预编译指令之后输入函数原型说明语句,如图1.17所示。文件中的编译指令

#pragma once

其作用是保证该头文件只被包含一次。

图1.17添加函数原型说明语句

从语法上,函数原型也可以添加在Form1.h文件首部的预编译指令之后,如图1.18所示。但说明语句添加在stdafx.h文件中显得比较规范。

图1.18添加函数原型说明语句

●切换到“Form1.h[设计]*”页面,用属性列表建立button1_Click事件函数,并输入代码。

private:System::Void button1_Click(System::Object^sender,System::EventArgs^e)

{double r,girth,area;

r=Double::Parse(textBox1->Text);

circle(r,girth,area);//调用函数计算周长和面积

textBox2->Text=girth.ToString();

textBox3->Text=area.ToString();

}

●添加button2_Click事件函数:

private:System::Void button2_Click(System::Object^sender,System::EventArgs^e)

{Close();//关闭窗体

}

●编译运行程序。程序运行效果与例1-1相同。

3.添加头文件

【例1-4】修改例1-3的项目wex1-3,首先,删除stdafx.h中的函数原型说明语句:void circle(double radius,double&girth,double&area);

然后在项目中添加自定义的头文件Circle.h,把circle函数原型放在头文件中。操作方法如下。

●右击解决方案资源管理器目录树中“头文件”的文件夹图标,从弹出的关联菜单中选择选择“添加”-“新建项”,在添加新项对话窗口默认认类别选择“Visual C++”,模板选择“头文

件(.h)”;指定文件的位置和输入文件名称。输入的文件名Circle,系统自动添加文件后缀.h。点击“添加”按钮确认。

●从解决方案目录的头文件夹里,看到Circle.h文件。系统打开代码编辑窗口,我们从中输入circle函数原型语句,如图1.19所示。

图1.19编辑Circle.h文件

●从解决方案目录的头文件夹中,点击“stdafx.h”文件名,打开编辑窗口,在预编译指令之后输入包含用户定义头文件的指令#include"Circle.h",如图1.20所示。

图1.20添加包含头文件指令

从语法上,这个include指令也添加在Form1.h文件的首部,但放在stdafx.h文件比较规范。

●至此,完成了添加用户头文件的全部工作,可以重新生成解决方案,运行程序。

1.4使用控件输入/输出数据

控件(例如标签、文本框等)接受和显示数据都是使用Text属性。

应用程序中,经常需要使用数值型数据,这就需要进行字符串和数值之间的转换。

使用控件库的属性、方法须遵循CLR规范,数据类型是C++/CLI标准的。

1.数值

C++/CLI的数据类型是.NET Framework的System名空间中定义的结构,它们提供数据的描述和很多数据处理的方法。这些数据类型与对应的C++数据类型的基本操作方法相同。表1-1列出了常用C++/CLI与C++基本数据类型的对照。

表1-1C++/CLI与C++基本数据类型

C++/CLI类型字节数据表示C++类型

Boolean1布尔值,true或false bool

Byte1无符号整数unsigned char

Int162有符号的整数short int

UInt162无符号整数unsigned short int

Int324有符号的整数int

Int648有符号的整数long long

Single4单精度浮点数float

Double8双精度浮点数字double

C++/CLI数据类型有两个方法在可视化程序设计中,对于接受控件的数据和在控件中显示数据很常用。

Parse将数值或逻辑值的字符串表示形式转换为它的等效数值或逻辑值。

ToString将数值或逻辑值转换为其等效的字符串表示。

【例1-5】测试数据转换。若界面上设置6个文本框控件textBox1~textBox6,用于接受和显示数据。添加一个按钮button1用于驱动程序。因为控件的Text属性是C++/CLI的String类型,所以必须做相应的转换。

private:System::Void button1_Click(System::Object^sender,System::EventArgs^e)

{Int16a;//int a

Double x;//double x

Boolean b;//bool b

a=Int16::Parse(textBox1->Text);//把整数字符串形式转换成整数

textBox2->Text=a.ToString();//把整数转换成字符串形式

x=Double::Parse(textBox3->Text);//把浮点数字符串形式转换成浮点数

textBox4->Text=x.ToString();//把浮点数转换成字符串形式

b=Boolean::Parse(textBox5->Text);//把逻辑值字符串形式转换成逻辑值

textBox6->Text=b.ToString();//把逻辑值转换成字符串形式

}

程序运行效果如图1.21所示。

在CLR项目中,系统自动把可以接受的C++类型转换成对应的C++/CLI类型,变量a、x、b可以分别用int、double、bool的C++类型符说明,并且

Int16::Parse(textBox1->Text)可以写成i nt::Parse(textBox1->Text)

Double::Parse(textBox1->Text)可以写成d ouble::Parse(textBox1->Text)

Boolean::Parse(textBox1->Text)可以写成bool::Parse(textBox1->Text)

图1.21数据转换的运行测试

2.字符

C++/CLI字符类型Char是System名空间定义的结构,表示一个Unicode字符。

Char字符可以分为大写字母、小写字母、控制字符、货币符号、标点符号和数学符号等。字符的表示形式与C++一致,反斜杠“\”表示为特殊意义的转义字符。

Char结构重载了基本算术运算和逻辑运算符,可以像C++的char类型数据一样方便地进行操作,以及在运算中做强类型转换。另外Char结构定义了一批静态方法,表1-2所示是用于判断字符类别和数据转换的主要方法。这些方法的原型,请读者查阅MSDN资料。

表1-2Char的主要方法

【例1-6】测试字符操作。

(1)以下操作将在文本框中显示字符K。

Char ch1='A';

textBox1->Text=(Char(ch1+10)).ToString();

(2)以下操作将在文本框中显示整数76。

Char ch2='B';

textBox2->Text=(ch2+10).ToString();

(3)以下操作将在文本框中显示逻辑值True。

Char ch3='C';

textBox3->Text=(ch3.IsLetter(ch3)).ToString();

(4)以下操作将在文本框中显示整数68。

Int16t;

t=Char::Parse("D");

textBox4->Text=t.ToString();

3.字符串

C++/CLI字符串是System名空间定义的String类,其对象是Char对象的有序集合。String 类提供了不同形式的构造函数、公有方法和运算符重载函数,可以很方便地进行String对象的操作。其操作方法与C++的string类很相似。表1-3列出了String类的主要方法,一些方法如比较、连接、复制等,已经重载了运算符操作。

表1-3String的主要方法

方法说明

Compare比较两个指定的String对象。已重载>、<、==运算符

Concat连接String的一个或多个对象。已重载+运算符

Contains判断指定的String对象是否出现在此字符串中

Copy创建具有相同值的String的新对象。已重载=运算符

Equals判断两个String对象是否具有相同的值。已重载==运算符

Format将指定的String中的每个格式项替换为相应对象的值的文本等效项

Insert在指定索引位置插入一个指定的字符串

Remove从对象中删除指定个数的字符

Replace将指定字符或串替换为其他指定的字符或串

Substring检索子字符串

ToLower将String对象转换为小写形式副本

ToString将指定实例的值转换为String对象

ToUpper将String对象转换为大写形式的副本

【例1-7】使用字符串连接,在文本框中显示多个数据。程序在窗体上设置了一个文本框textBox1用于显示数据,它的MultiLine属性设置为True,表示可以接受多行文字。设置了一个按钮button1用于执行程序,它的Text属性设为“在文本框中显示多个数据”。编写按钮的Click事件函数如下。

private:System::Void button1_Click(System::Object^sender,System::EventArgs^e)

{int i;

String^s;

for(i=1;i<=20;i++)

s=s+i+"\t";//连接字符串

textBox1->Text=s;

}

这个函数的功能是在文本框上显示1到20的整数,并且用制表符做数据分隔。注意到,循环语句用String重载“+”运算做字符串连接,而没有把整变量i转换为字符串。这是因为重载函数通过参数调用了String类的构造函数,完成了隐式类型转换,它的执行效果与以下语句等价:

s=s+i.ToString()+"\t";

程序中使用控制字符"\t"作为格式控制。因为String类重载+运算函数要求串参数,所以要用双引号写成字符串形式。

值得注意的是,在String对象中嵌入控制符向控件的Text属性赋值,其显示数据的效果与控件的字体、大小等属性有关,这需要程序员在设计时进行测试。

程序的运行效果如图1.22所示。

图1.22在文本框中显示多个数据

String的Format方法可以把格式化项替换为等效的文本,以下是一个Format方法形式:String::Format(<格式串>,<传入参数列表>);

其中,<格式串>包含字符序列和格式化变量;<传入参数列表>是一个或多个用逗号分隔的需要转换成格式化字符串的参数。

格式化变量的语法如下:

{n,width,formatM}

其中,n为传入参数的序号,为0~n-1;width为对应传入参数所占位置,缺省时为实际串长;format为格式化的样式;M为显示的精度或者数字个数,缺省时为系统默认精度或实际数字个数。格式化变量的作用是把指定参数按格式转换成字符串,以占位方式嵌入格式串中。

常用的format格式化样式符如表1-4所示。

表1-4常用格式化样式

格式化符号说明

C或者c转换成货币格式串

D或者d转换成十进制格式串,如果M值大于串长,左边补0

E或者e转换成浮点数的科学示数法格式串

F或者f转换成浮点数的定点示数法格式串

X或者x转换成十六进制整数格式串

【例1-8】把整数和浮点数按格式转换成字符串。

private:System::Void button1_Click(System::Object^sender,System::EventArgs^e)

{String^s;

s=String::Format("formatstring:{0,5:d}\t"+"{0:x}\t"+"{1:f2}",123,45.3456);

textBox1->Text=s;

}

上述Format方法中,s串3个子串运算符由“+”连接而成。第1个子串除了自身的字符外,嵌入了格式变量{0,5:d},把整数123转换成长度为5的十进制数字符串;第2个子串的格式变量{0:x}把整数123转换成十六进制形式字符串;第3个格式串中的格式变量{1:f2}把浮点数45.3456转换成精度为2的定点数形式字符串。程序显示效果如图1.23所示。

图1.23在文本框中显示格式化数据

【例1-9】系统的格式化符号应用。除了表1-4常用的格式化符号,系统还提供了适合于不同场合的格式化符号,本程序演示各种符号的显示效果。

程序把文本框的Multiline属性设为True,以便显示多行文本。程序中的“\r\n”用于显示换行。运行效果如图1.24所示。

private:System::Void button1_Click(System::Object^sender,System::EventArgs^e)

{String^s;

s=String::Format

("(C)Currency:........{0:C}\r\n"+

"(D)Decimal:........{0:D}\r\n"+

"(E)Scientific:......{1:E}\r\n"+

"(F)Fixed Point:.....{1:F}\r\n"+

"(G)General:.........{0:G}\r\n"+

"default='G':.........{0}\r\n"+

"(N)Number:..........{0:N}\r\n"+

"(P)Percent:........{1:P}\r\n"+

"(R)Round-trip:......{1:R}\r\n"+

"(X)Hexadecimal:.....{0:X}\r\n",-123,-123.45f

);

textBox1->Text=s;

}

图1.24格式化符号应用

习题1

1.设计一个简单计价程序,要求输入货品的单价、数量,显示应收款。运行界面如图1.25所示。

图1.25计价程序

2.设计程序,在文件randomAry.cpp定义用50个随机数建立数组的函数;文件sortAry.cpp文件定义对数组的排序函数;文件Ary.h包含两个函数原型说明。用可视化界面显示随机数组的状态和排序后的状态。要求用textBox显示数据,每行显示10个数据。

《程序设计基础》试卷B及答案

黄淮学院计算机科学系2007-2008学年度第一学期 期末考试《程序设计基础》B 卷 注意事项:本试卷适用于计科系06级本科计算机科学与技术专业学生。 1.__ ____函数是程序启动时惟一的入口。 2.算法的复杂性包含两方面: 和 。 3.已知 char c= 'a' ; int x=2,k; 执行语句k=c&&x++ ; 则x 为 ,k 为 。 4.数值0x34对应的十进制为 。 5.已知int a ; 则表达式”(a=2*3 , 3*8), a*10”的结果为_ _ ____,变量a 的值为___ ___。 6.面向对象程序开发步骤为: 、 和面向对象实现。 1.下列程序设计语言中( )是面向对象语言。 A. FORTRAN B. C 语言 C. C++ D. 汇编语言 2.下列关于注释的说法哪个是错误的( )。 A. 注释不是程序中的可执行语句 B. 注释对于程序的执行有很重要的意义 C. 注释将在程序的编译阶段被编译器剔除 D. 编程时在程序中添加适当的注释是一个良好的编程风格 3.算法设计应该遵守( )的设计原则。 A. 自底向上,逐步求精 B. 自顶向下,逐步求精 C. 自底向上,同步扩展 D. 自顶向下,同步扩展 4.下列语句执行后a 的值为( )。 int a=4, &z=a, k=3; a=k; z+=2; k++; A. 0 B. 4 C. 1 D. 5 5.以下程序执行后,屏幕输出为( )。 #include “iostream.h ” void fun(int d) {d++;} void main() { int d=3; fun(d); d++; cout<=’a ’)&&(d<=’z ’) B. ‘a ’<=d<=’z ’ C. (d>=’a ’)||(d<=’z ’) D. ‘A ’<=d<=’Z ’ 8.已知:int k=7, x=12; 则执行语句( )后x 的值为0。 A. x+=k-x%5; B. x+=(x-k%5); C. x%=(k-=5); D. (x-=k)-(k+=5); 9.运行下列程序,其输出结果为( )。 #include “iostream.h ” void main() { int x(5),y(5),z(5); y--&&++x&&z--||y++; cout<

室内装饰设计的基础知识

室内装饰设计的基础知识 一.室内装饰设计的基本原则 1.室内装饰设计要满足现代技术要求 建筑空间的创新和结构造型的创新有着密切的联系,二者应取得协调统一,充分考虑结构造型中美的形象,把艺术和技术融合在一起。这就要求室内设计者必须具备必要的结构类型知识,熟悉和掌握结构体系的性能、特点。现代室内装饰设计,它置身于现代科学技术的范畴之中,要使室内设计更好地满足精神功能的要求,就必须最大限度的利用现代科学技术的最新成果。 2.室内装饰设计要符合地区特点与民族风格要求 由于人们所处的地区、地理气候条件的差异,各民族生活习惯与文化传统的不一样,在建筑风格上确实存在着很大的差别。我国是多民族的国家,各个民族的地区特点、民族性格、风俗习惯以及文化素养等因素的差异,使室内装饰设计也有所不同。设计中要有各自不同的风格和特点。要体现民族和地区特点以唤起人们的民族自尊心和自信心。 3.室内装饰设计要满足使用功能要求 室内设计是以创造良好的室内空间环境为宗旨,把满足人们在室内进行生产、生活、工作、休息的要求置于首位,所以在室内设计时要充分考虑使用功能要求,使室内环境合理化、舒适化、科学化;要考虑人们的活动规律处理好空间关系,空间尺寸,空间比例;合理配置陈设与家具,妥善解决室内通风,采光与照明,注意室内色调的总体效果。 4.室内装饰设计要满足精神功能要求 室内设计在考虑使用功能要求的同时,还必须考虑精神功能的要求(视觉反映心理感受、艺术感染等)。室内设计的精神就是要影响人们的情感,乃至影响人们的意志和行动,所以要研究人们的认识特征和规律;研究人的情感与意志;研究人和环境的相互作用。设计者要运用各种理论和手段去冲击影响人的情感,使其升华达到预期的设计效果。室内环境如能突出的表明某种构思和意境,那末,它将会产生强烈的艺术感染力,更好地发挥其在精神功能方面的作用。 二.室内装饰设计要点: 室内空间是由地面、墙面、顶面的围合限定而成,从而确定了室内空间的大小和形状。进行室内装饰的目的是创造适用、美观的室内环境,室内空间的地面和墙面是衬托人和家具、陈设的背景,而顶面的差异使室内空间更富有变化。 基面装饰-----楼地面装饰 基面-----在人们的视域范围中是非常重要的,楼地面和人接触较多,视距又近,而且处于动态变化中,是室内装饰的重要因素之一,设计中要满足以下几个原则: 1、注意地面图案的分划、色彩和质地特征。 地面图案设计大致可分为三种情况:第一种是强调图案本身的独立完整性,如会议室,采用内聚性的图案,以显示会议的重要性。色彩要和会议空间相协调,取得安静、聚精会神的效果;第二种是强调图案的连续性和韵律感,具有一定的导向性和规律性,多用于门厅、走道及常用的空间;第三种是强调图案的抽象性,自由多变,自如活泼,常用于不规则或布局自由的空间。 2、满足楼地面结构、施工及物理性能的需要。 基面装饰时要注意楼地面的结构情况,在保证安全的前提下,给予构造、施工上的方便,不能只是片面追求图案效果,同时要考虑如防潮、防水、保温、隔热等物理性能的需要。 3、基面要和整体环境协调一致,取长补短,衬托气氛。

电子设计初学者如何入门

谢邀,我本科是电子专业的,参加了多年的全国大学生电子设计竞赛,曾获全国一等奖,一路走过来总会有许许多多的教训和经验,我将结合我在竞赛和实践相关的经历,与大家分享一点电子设计入门的经验,如有不妥,欢迎斧正。 1、理论知识与实践的关系 在这个回答里,我非常多的强调了实践的重要性,被一些评论抨击我走了偏路,事实上我不是在否认理论知识(学习成绩)的重要性。我觉得实践中的乐趣可以让你对一门学科更感兴趣同时也能有更感性的认识,而理论知识可以让你在这门学科的研究上走的更长远。实践可以对你的学习起到非常有益的帮助,但这并不代表你要抛弃理论知识。电赛拿国一并且专业排第一的人并不少见,成绩与实践二者并不冲突,完全可以兼顾。 2、工具和技术的关系 本文介绍了许多软件和工具,但是学习技术最重要的不是学习工具本身,而是学习工具背后所代表的那一门技术,例如学习quartus软件其实是为了学习可编程逻辑器件,学习altium designer其实是为了学习PCB电路设计。所以,我们的关注点其实不是怎么学习使用一种软件或者工具而是学习一门技术;掌握工具的操作只是一个开始,后期的实践和经验积累才是核心,电子行业尤其。我们通常说一个人画板子很厉害,不是说他熟练掌握了altium软件的操作,而是说他有着丰富的画板子经验。经验和经历对于硬件工作者非常重要,学会软件后的经验积累才是分化的开始。 【1】单片机设计: 对于电子类专业的学生,我的意见是尽早学习C语言和单片机。C语言是一种目前非常普遍的嵌入式语言,单片机则是一种微型CPU。通过单片机和C语言,你可以实现非常多的功能,具体单片机能做什么,网上的介绍非常多,你可以自行搜索下。 但有一点非常重要,单片机能大一学绝不大二学,能大一上学期学绝不大一下学期学。(事实上这个东西上手非常快) 单片机虽然简单,但是正是它的简单,让人有了学习的欲望,这恐怕是大学学习中最宝贵的东西。其次,单片机的应用可以说贯穿了整个电子类专业学生本科的始末,越早掌握单片机技术,你就会比别人拥有更多的机会,这一点我是有亲身经历的。电子终究是一门实践的技术,找到机会去实践才是不断进步的前提,学会单片机,你就可能比普通人更容易接触老师的项目,更容易参加学科竞赛,从而开始自己的积累,不断进步。 学生能接触到的主流单片机主要包括8位的51单片机、16位的MSP430单片机和32位的STM32单片机,其对应的主要集成开发环境(IDE)分别是KEIL、IAR和KEIL MDK。 当然,提前学习单片机往往是自学,是在本科教学的超前学习(或者说是本科实践教学的滞后),一个人从头学起难度会很大。我只告诉你这些软件的名字当然是没有用处的,下载了这些软件、买了单片机然后呢?没人教学起来可有的难度啊,很多人都是在这里结束了自己单片机生涯。 我的建议是:淘宝网上搜索“51单片机开发板”,然后自行选择一个百元以内的开发板,一定要注意询问店家是否赠送配套的教学视频,否则千万不要购买,这对于初学者和自学者非常重要。 单片机学习主要分四个层次:

《电子设计基础》123

《电子设计基础》 课程报告 设计题目:变调警笛电路设计 学生班级:通信1304 学生学号:20135933 学生姓名:刘耀文 指导教师:曹文、黎恒 时间:2015.3.2—2015.5.25 西南科技大学信息工程学院

实验一基于Multisim的电路仿真 一、实验目的 1.了解电子电路仿真软件Multisim的基本应用; 2.利用Multisim绘制LED闪烁灯电路,并记录仿真数据。 二、实验内容 1、实验步骤 (1)安装并运行Multisim仿真软件,熟悉该软件的操作界面和各项菜单、子菜单的功能。 (2)从元件库里查看常用元件的属性、封装信息,并在电路原理图下放置元件,进行拖动、翻转等操作。 (3)用该软件仿真LED闪烁灯电路并运行,观察实验波形图。 Multisim仿真实验电路图:

仿真结果及分析: 三、实验总结 本次实验是要求我们掌握Multisim的基本操作与仿真运用,由于上学期上过数字电子技术以及数电实验的原因,已经对Multisim的操作有了一定的了解,这次实验对我来说也算温习和巩固对这个软件的运用,也比较容易,所以这个LED闪烁电路也很快连接完成并成功运行了仿真。 实验日期:2015年3月22日实验时间:3周星期一11-13节

实验二基于Protel的电路图编辑 一、实验目的 1.了解电子电路设计软件Protel的电路图编辑基本应用; 2.了解电子电路设计软件Protel的PCB编辑基本应用; 3.结合基本门电路在脉冲电路中的应用,绘制出简单的电路图。 二、实验内容 1、打开protel 99se软件,熟悉如何新建原理图,如何加载库,对原理图的基本操作,包括保存、 修改、删除等; 2、学习并熟悉元器件的操作,包括放置元器件、修改属性等,了解各元器件的封装信息; 3、按照LED闪烁灯电路原理图进行protel 99se软件里的原理图的建立。 电路原理图如下:

程序设计基础期末样题 (1)word版本

程序设计基础期末样 题(1)

单项选择 ================================================== 题号:23095 任何一个C语言的可执行程序都是从()开始执行的. A、main()函数的入口处 B、程序中的第一条语句 C、程序中的第一个函数 D、编译预处理语句 答案: A 题号:23285 C语言程序的三种基本结构是顺序结构,选择结构和()结构. A、循环 B、转移 C、递归 D、嵌套 答案: A 题号:23286 C语言中,定义结构体的保留字是(). A、enum B、union C、struct D、typedef 答案: C 题号:23333 程序流程图PFD中的"□"代表的是(). A、控制流 B、加工步骤 C、数据流 D、组成关系 答案:

B 题号:23161 C语言中,下列叙述正确的是(). A、do-while 语句构成的循环不可用 B、do-while 语句构成的循环,没有break语句就是死循环 C、do-while 语句构成的循环,当while 语句中的表达式值为零时结束循环 D、do-while 语句构成的循环,当while 语句中的表达式值为非零时跳出循环答案: C 题号:23405 以下不能正确进行字符串赋初值的语句是(). A、char *str="good!"; B、char str[5]={'g','o','o','d',0}; C、char str[5]="good!";---超界 D、char str[]="good!"; 答案: C 题号:23400 下述错误的C语言常量是(). A、5. B、.25 C、0xf D、090 答案: D 题号:23577 以下对C语言中联合类型数据的正确叙述是(). A、定义了联合变量后,即可引用该变量或该变量中的任意成员 B、一个联合变量中可以同时存放其所有成员 C、在向联合中的一个成员进行赋值时,联合中其他成员的值不会改变 D、联合中的各个成员使用共同的存储区域

室内设计基础知识

室内设计基础知识 室内设计的基础概念:室内设计是建立在四维空间基础上的艺术设计门类,包括空间环境,室内环境、陈设装饰。现代主义建筑运动使室内从单纯界面装饰走向建筑空间,再从建筑空间走向人类生存环境。室内装修是以空间的视觉审美为设计主旨且具有传统意识。岩壁绘画是人类栖身洞穴时代的室内装饰;彩绘陶罐成为最初建筑样式人字形护棚半穴居的装饰器物;石构造建筑以墙体为装饰载体,以柱式与拱券为基础要素;木构造建筑以框架作为装饰载体,以梁架变幻为内容的装饰体系,有天花藻井、隔扇、罩、架、格等装饰构件。室内设计涉及人体工程学、环境心理学、环境物理学、设计美学、环境美学、建筑学、社会学、文化学、民族学、宗教学等相关学科。室内设计是运用一定物质技术手段和经济能力,根据对象所处的特定环境,从建筑内部把握空间,并进行创造与组织,使之形成安全、卫生、舒适、优美的内部环境,既需具有使用价值,也需反应历史文脉、建筑风格、环境气氛等因素。室内设计的作用:1、功能实用性室内空间的大小,形状、整体布局,家具,环保、健康的材料,合理,顺畅的交通流程以及良好的采光和舒适的物理环境,与工程的科学性密切相关。2、审美艺术性对心理需求,情感需求、个性需求等精神层面的满足。如:安全感,个人喜好、审美情趣、民族文化、地域文化、历史文脉等因素。室内设计的原则:1、整体性设计原则:保证室内空间协调一致的美感。2、功能性设计原则:空间的使用功能如布局,界面装饰、陈设和环境气氛与功能统一。3、审美性设计原则:通过形,色、质、声、光等形式语言体现室内空间美感。4、技术性设计原则:一是比例尺度关系;二是材料应用和施工配合的关系。 5、经济性设计原则:以最小的消耗达到所需目的。室内设计的风格1、传统风格:风格有明清,文艺复兴、巴洛克、洛可可、伊斯兰,和式。2、现代风格:混凝土,平板玻璃、钢材表现出简洁的几何形态。3、后现代风格:用装饰手法丰富视觉效果追求人情味,崇尚隐喻与象征手法新结构新材料。4、自然风格:自然材质风格雅致简洁。5、折中风格:将各种风格进行时空融合追求形式美讲究比例。培养目标:以培养装饰设计行业中的室内设计专业人才为目标。通过本专业的系统学习,学员可在短期内掌握相关的设计原理、AutoCAD施工图、Excel预算报价书、PhotoShop家居平面彩平图等制图技术;以及装饰材料知识、施工工艺流程、现场量房、模拟与客户交流沟通等实践课程。毕业后,学员能成为施工图设计、预算报价等当前人才市场急需的人才。 授课内容:一、室内设计理论:1.室内设计原理;2.室内设计风格与流派;3.室内空间组织与设计;4.室内设计流程;二、AutoCAD:1.AutoCAD软件操作;2.AutoCAD 施工图;3.家装施工图;4.工装施工图;三、室内装饰工程预算: 1.Excel软件:Excel软件的入门与提高 2.室内装饰工程预算原理:室内装饰工程种造价含义、内容、分类及特点 3.家装预算案例实现:模拟实际家装工程的预决算流程四、PhotoShop:1. PhotoShop工具栏;2. PhotoShop图层、蒙版、路径、通道与滤镜;3. PhotoShop三维效果图处理、PhotoShop彩平图制作;五、装饰材料与施工工艺: 1.室内设计常用尺寸:从人体工程学角度学习室内设计中常用的尺寸、家具的基本尺寸 2.室内装饰材料:常用室内装饰材料的类别、规格、使用要求与最新装饰材料的介绍 3. 施工工艺流程:地面工程施工工艺流程、木工工程施工工艺流程、墙面装饰施工工艺流程、油漆涂料施工工

程序设计基础官方版

三、程序设计基础 下面我们这一节我们概要向用户管理人员介绍面问过程的程序设计语言的原理。绝大多数生产程序是用诸如COBOL、BASIC这样的POL编制的。虽然用户管理人员通常没有机会去实际地从事这类编程序的工作,但是他(或者她)将经常与从事这些工作的人们相互联系。掌握程序设计的基础知识将使得这种相互联系更加有效,同时也使得管理人员能够理解查询语言的概念。 在POL中,一个指令(又称作语句)序列是一条接着一条执行的,除非用一条“条件测试”指令来控制执行顺序而转移到程序的另一部分。例如,一个工资程序处理按月发工资的职工与按工时发工资的职工的两部分程序是不同的。计时职工的毛工资是计算出来的,而按月发工资的职工其每月的毛工资是从数据库中检索出来的。对每种工作(按工时计算或按月计算)都要求一组唯一的指令。一旦确定了毛工资,那么对二者的处理步骤(即程序指令)是相同的(例如,工资扣除、社会保险金额的计算、打印工资支票等等)。 在图20.7.4中,我们从一个BASIC工资程序中挑选出一些关键的语句用以说明程序设计中的“序列”和“条件测试”的概念。这些指令是自我说明了。编制一个计算和打印工资的联单的实际程序将要求几百行代码(LOC)或指令。 每种POL都有自己的一组指令集,其中,对下面一般的指令分类的每一类至少有一条指令。 (1)计算指令。计算指令允许程序员作加、减、乘、除和一个数的乘方(见图20.7.) 中的语句120)等运算。 图20.7.4 一个BASIC工资程序的关键语句 (2)数据传送指令。它可以将数据从主存的一个单元传送到另一个单元。赋值语句也属这一类,这些语句允许程序员通过一个命名的存储单元(称作为一个变量)使用一个常字“NETPAYIS”,或一个数值。在图20.7.4的例子中,“S$”引用了用来存贮工资码的主存单元的内容,工时比率存放在一个用“R”来引用的主存单之中。语句160是一个赋值语句,

《电子设计基础》课程设计报告模板

课程设计报告册格式(本页不打印) 一、设计任务(四号、黑体,不加粗) 例如:十字路口交通灯控制系统设计(正文全部为宋体、小四,下同) 二、设计要求 教师下达的设计基本要求…… 三、设计内容 1.设计思想(宋体、小四、加粗) 对题目的理解,计划采用的实现方法 2.设计说明 对设计方案的简单综述,建议增加方案对比内容; 3.系统方案或者电路结构框图 包含对各个单元电路的详细分析; 保留详细的参数计算、卡诺图、状态转换图等设计内容; 4.设计方案 一个模块电路结构对应一个仿真波形和一段文字说明; 仿真及分析时,请捕捉关键点的波形数据,以确保设计结果具有良好的说服力; 5.电路原理总图 A4纸整张打印,打印出图纸边框 绘制原理图时,应注意加入电源、信号输入与输出端口; 芯片内部具有多个相同功能单元时,注意充分利用; 元器件在电路原理图中的布局应规范、紧凑; 6.PCB分层打印图 按照相同比例分别打印出顶层、底层、丝印层,并尽可能打印在同一张A4纸中; 在保证布通率的前提下,尽量选择较大的线宽、安全间距; 四、设计总结 个人真实的总结体会,不低于100字。 五、参考资料 包括网站、网页的资料;从网站上下载资料过多将被视为抄袭,一定要强调自己的设计思路,创新理念。 注: ——课程设计论文用A4纸打印,文中的计量单位、制图、制表、公式、缩略词和符号应遵循国家的有关规定。 ——实验报告采用A4纸双面打印,实验报告的内容全部手写,所有的打印图请牢固粘贴在实验报告上,不要使用QQ截图等低像素的截图工具。 ——封面与任务书双面打印在同一张A4纸;

1、设计题目 数字钟 2、设计内容和要求: 数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。 设计要求采用中小规模集成器件完成具有以下技术指标的数字钟: (1)显示时、分、秒; (2)24小时制计数; (3)具有校时功能,可以对小时和分单独校时,对分校时的时候,停止分向小时进位。校时时钟源可以手动输入或借用电路中的时钟; (4)具有正点报时功能; (5)要求计时准确、稳定。 3、设计目的 (1)进一步熟悉各种进制计数器的功能及使用; (2)掌握译码器显示电路的应用; (3)熟悉集成芯片的内部结构及应用; (4)掌握数字电子钟的组成与工作原理; (5)提升对实际电路的设计和调试能力。 4、设计原理 数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路,一般由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路等单元组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,在精度要求不高的时候,可选用555定时器构成的振荡器加分频器来实现,但精度要求高的电路中多采用晶体振荡器电路加分频器实现,在本设计中要求精度高,所以选用的是后者。将标准秒脉冲信号送入“秒计数器”,该计数器采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”可采用12进制也可采用24进制计数器,本实验采用24进制。最终完成一天的计数过程。译码显示电路将“时、分、秒”计数器的输出状态经七段显示译码器译码,通过六位LED 显示器显示出来。整点报时电路是根据计时系统的输出状态产生一个脉冲信号,去触发音频发生器实现报时。校时电路是对“时、分”显示数字进行校正和调整。其数字电子钟系统框图如图1所示。

程序设计基础模拟测试一

一、单选题(每题2分,共30分) 题目1 正确 获得2分中的2分 标记题目 题干 计算机早期传统的应用领域是______。 选择一项: A. 科学计算 B. 信息处理 C. 反馈 正确答案:A 题目2 正确 获得2分中的2分 标记题目 题干 冯·诺依曼型计算机的两大特征是______。选择一项: A. 程序存储和采用二进制 B. 硬件由五部分组成和软件与硬件分离

C. 数据和程序均采用二进制表示 D. 建立二进制编码体系和软硬件分离反馈 正确答案:A 题目3 正确 获得2分中的2分 标记题目 题干 世界上第一个高级语言是______。 选择一项: A. BASIC语言 B. C语言 C. FORTRAN语言 D. PASCAL语言 反馈 正确答案:C 题目4 正确 获得2分中的2分 标记题目

CPU主要包括______。 选择一项: A. 运算器、控制器和寄存器 B. 运算器、控制器和存储器 C. 控制器 D. 运算器和存储器 反馈 正确答案:A 题目5 正确 获得2分中的2分 标记题目 题干 JAVA语言的类别是______ 选择一项: A. 面向过程的程序设计语言 B. 面向问题的程序设计语言 C. 面向对象的程序设计语言 D. 面向硬件的程序设计语言

正确答案:C 题目6 正确 获得2分中的2分 标记题目 题干 操作系统属于______ 选择一项: A. 系统软件 B. 应用软件 C. D. 编译系统 反馈 正确答案:A 题目7 正确 获得2分中的2分 标记题目 题干 计算机能直接执行的语言是______ 选择一项:

A. 机器语言 B. 汇编语言 C. 高级语言 D. 目标语言 反馈 正确答案:A 题目8 正确 获得2分中的2分 标记题目 题干 C语言中,使用变量的要求是______ 选择一项: A. 要先定义后使用 B. 要先使用后定义 C. 不需要定义,可以直接使用 D. 没有明确的要求 反馈 正确答案:A 题目9

程序设计基础练习题(全答案版)

《程序设计基础——C#.NET》练习 参考答案: 一、选择题 https://www.docsj.com/doc/3f10380815.html,的目的就是将____A____作为新一代操作系统的基础,对互联网的设计思想进行扩展。A.互联网 B. Windows C. C# D. 网络操作系统 2.假设变量x的值为10,要输出x值,下列正确的语句是__C__。 A.System.Console.writeline(“x”) B. System.Cosole.WriteLine(“x”) C. System.Console.WriteLine(“x={0}”,x) D. System.Console.WriteLine(“x={x}”) 3.要退出应用程序的执行,应执行下列的_A___语句。 A. Application.Exit(); B. Application.Exit; C. Application.Close(); D. Application.Close; 4.关于C#程序的书写,下列不正确的说法是__D________。 A.区分大小写 B.一行可以写多条语句 C.一条语句可以写成多行 D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法 5. 在C#语言中,下列能够作为变量名的是__C__。 A.if B. 3ab C. b_3a D. a-bc 7. 能正确表示逻辑关系“a≥5或a≤0”的C#语言表达方式是__D__。 A.a>=5 or a<=0 B. a>=5|a<=0 C. a>=5&&a<=0 D. a>=5||a<=0 8. 以下程序的输出结果是___C_____。 A. 5 B. 4 C. 6 D. 不确定 9. If语句后面的表达式应该是__A___。 A.逻辑表达式 B. 条件表达式 C. 算术表达式 D. 任意表达式10.有如下程序:

IC设计基础笔试集锦

IC设计基础(流程、工艺、版图、器件)笔试集锦 1、我们公司的产品是集成电路,请描述一下你对集成电路的认识,列举一些与集成电路 相关的内容(如讲清楚模拟、数字、双极型、CMOS、MCU、RISC、CISC、DSP、ASIC、FPGA 等的概念)。(仕兰微面试题目) 什么是MCU? MCU(Micro Controller Unit),又称单片微型计算机(Single Chip Microcomputer),简称单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机。 MCU的分类 MCU按其存储器类型可分为MASK(掩模)ROM、OTP(一次性可编程)ROM、FLASH ROM等类型。MASK ROM的MCU价格便宜,但程序在出厂时已经固化,适合程序固定不变的应用场合;FALSH ROM的MCU程序可以反复擦写,灵活性很强,但价格较高,适合对价格不敏感的应用场合或做开发用途;OTP ROM的MCU价格介于前两者之间,同时又拥有一次性可编程能力,适合既要求一定灵活性,又要求低成本的应用场合,尤其是功能不断翻新、需要迅速量产的电子产品。 RISC为Reduced Instruction Set Computing的缩写,中文翻译为精简执令运算集,好处是CPU核心 很容易就能提升效能且消耗功率低,但程式撰写较为复杂;常见的RISC处理器如Mac的Power PC 系列。 CISC就是Complex Instruction Set Computing的缩写,中文翻译为复杂指令运算集,它只是CPU分类的一种,好处是CPU所提供能用的指令较多、程式撰写容易,常见80X86相容的CPU即是此类。 DSP有两个意思,既可以指数字信号处理这门理论,此时它是Digital Signal Processing的缩写;也可以是Digital Signal Processor的缩写,表示数字信号处理器,有时也缩写为DSPs,以示与理论的区别。 2、FPGA和ASIC的概念,他们的区别。(未知) 答案:FPGA是可编程ASIC。 ASIC:专用集成电路,它是面向专门用途的电路,专门为一个用户设计和制造的。根据一 个用户的特定要求,能以低研制成本,短、交货周期供货的全定制,半定制集成电路。与 门阵列等其它ASIC(Application Specific IC)相比,它们又具有设计开发周期短、设计 制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点 3、什么叫做OTP片、掩膜片,两者的区别何在?(仕兰微面试题目)otp是一次可编程(one time programme),掩膜就是mcu出厂的时候程序已经固化到里面去了,不能在写程序进去!( 4、你知道的集成电路设计的表达方式有哪几种?(仕兰微面试题目) 5、描述你对集成电路设计流程的认识。(仕兰微面试题目) 6、简述FPGA等可编程逻辑器件设计流程。(仕兰微面试题目) 7、IC设计前端到后端的流程和eda工具。(未知) 8、从RTL synthesis到tape out之间的设计flow,并列出其中各步使用的tool.(未知) 9、Asic的design flow。(威盛VIA 2003.11.06 上海笔试试题) 10、写出asic前期设计的流程和相应的工具。(威盛) 11、集成电路前段设计流程,写出相关的工具。(扬智电子笔试) 先介绍下IC开发流程: 1.)代码输入(design input) 用vhdl或者是verilog语言来完成器件的功能描述,生成hdl代码 语言输入工具:SUMMIT VISUALHDL MENTOR RENIOR 图形输入: composer(cadence); viewlogic (viewdraw) 2.)电路仿真(circuit simulation) 将vhd代码进行先前逻辑仿真,验证功能描述是否正确 数字电路仿真工具: Verolog:CADENCE Verolig-XL SYNOPSYS VCS MENTOR Modle-sim VHDL : CADENCE NC-vhdl SYNOPSYS VSS MENTOR Modle-sim 模拟电路仿真工具: AVANTI HSpice pspice,spectre micro microwave: eesoft : hp 3.)逻辑综合(synthesis tools) 逻辑综合工具可以将设计思想vhd代码转化成对应一定工艺手段的门级电路;将初级仿真 中所没有考虑的门沿(gates delay)反标到生成的门级网表中,返回电路仿真阶段进行再 仿真。最终仿真结果生成的网表称为物理网表。 12、请简述一下设计后端的整个流程?(仕兰微面试题目) 13、是否接触过自动布局布线?请说出一两种工具软件。自动布局布线需要哪些基本元 素?(仕兰微面试题目) 14、描述你对集成电路工艺的认识。(仕兰微面试题目)

程序设计基础(知识点)

第三部分程序设计基础 3.1 程序、程序设计、程序设计语言的定义 ⑴程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。 ⑵程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。 ⑶程序设计语言:程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。 3.2 高级语言和低级语言的概念及区别 ⑴高级语言:高级语言(High-level programming language)是高度封装了的编程语言,与低级语言相对。

它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。 ⑵低级语言:低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 ⑶区别: 高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差 了解知识:CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码。越低级的语言,形式上越接近机器指令,汇编语言就是与机器指令一一对应的。而越高级的语言,一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装,

程序设计基础模拟考题1(201312) 文件

试卷代号:2182 中央广播电视大学2010-2011学年度第二学期“开放专科”期末考试 程序设计基础试题 一、单项选择题(每题2分,共30分) 1.现代计算机的内部对于数据采用的表示形式是( )。 A.二进值 B.八进制 C.十进制 D.十六进制 2.当代计算机的体系结构称为“冯·诺依曼”体系,冯·诺依曼机的主要思想之一是( )。 A.程序存储 B.设计机器语言 C.自动执行程序 D.存储器为核心 3.现代电子计算机诞生的理论基础是( )。 A.图灵机 B.图灵测试 C冯·诺依曼机 D.邱奇论题 4.CPU主要包括( )。 A.运算器、控制器和寄存器 B.运算器、控制器和存储器 C.控制器 D.运算器和存储器 5.汇编程序的任务是( )。 A.将汇编语言编写的程序转换为目标程序 B.将汇编语言编写的程序转换为可执行程序 C.将高级语言编写的程序转换为汇编语言程序 D.将高级语言编写的程序转换为可执行程序 6.C语言是( )。 A.机器语言 B.汇编语言 C高级语言 D.目标语言 7.在C语言中,字符串常量的定界符是( )。 A.空格 B.单引号 C.双引号 D.方括号 8.在C语言中,不合法的int型常量是( )。 A.32767 B.0678 C OXABC D.32768L 9.C语言的类别是( )。 A.面向过程的程序设计语言 B.面向问题的程序设计语言 C面向对象的程序设计语言 D.面向硬件的程序设计语言 10.已知int i-l,j;执行语句j-一i++;后,i和j的值分别为( )。 A.1,1 B.1.-1 C.2,1 D.2.-2 11.栈的逻辑结构是( )。 A.集合 B.线性结构 C.树型结构 D.图型结构 12.下面4句结论中只有一句是错误的,它是( )。 A.二叉树是树

室内设计基础知识

室内设计基础知识

第一章绪论 第一节建筑装饰材料的作用 1.外墙材料:美化、保护作用,{玻璃幕墙—冷 房效应,中空玻璃—绝热隔音防结 霜,千思板—抗紫外线,铝板—防 腐蚀}; 2.室内材料:吊顶+墙+地面 第二节建筑装饰材料的分类和基本性能 1.按化学成分分类 黑色金属不锈钢、彩色不锈钢 金属 材料 有色金属铝与铝合金、铜及铜合金、金、银 无机材料天然饰面石材:天然大理石、天然花岗石非金 属材 料 陶瓷装饰制品:釉面砖、彩釉砖、 玻璃装饰制品:吸热玻璃、中空玻璃、镭射 玻璃(光栅玻璃)、压花玻璃、彩色玻璃、 空心玻璃砖、压膜玻璃、镜面玻璃、夹丝玻 璃(防碎防火防盗) 石膏装饰制品:装饰石膏板、纸面石膏板、 嵌装饰石膏板、装饰石膏吸声板、石膏艺术

制品 白水泥、彩色水泥 装饰混凝土:彩色混凝土路面砖、水泥混凝 土花砖 装饰砂浆 矿棉、珍珠岩装装饰制品、矿物棉装饰吸声 板、玻璃棉装饰吸声板 有机材料木材装饰制品:胶合板、纤维板、细木工板、旋切微薄木、木地板 竹材、藤材装饰制品 装饰织物:地毯、墙布、窗帘类材料 塑料装饰制品:塑料壁纸、塑料地板、塑料 装饰板 装饰涂料:地面涂料、外墙涂料、内墙涂料 复合材料有机与无机 复合材料 人造大理石、人造花岗石 金属与非金 属复合材料 彩色涂层钢板、塑铝板2.按装饰部位分类 分 类 部位材料举例

外墙外墙、阳台、 台阶、雨篷 等建筑物全 部外露部位 装饰所用材 料 天然花岗石、陶瓷装饰制品、玻璃制品、地面 涂料、金属制品、装饰砂浆、合成建筑装饰材 料 内墙内墙面、墙 裙、踢脚线、 隔断、花架 等内部结构 壁纸、墙布、内墙涂料、织物饰品、塑料饰面 板、大理石、人造石材、陶瓷地砖、木地板、 塑料地板、复合材料 地面地面、楼面、 楼梯等 地毯、地面涂料、天然石材、人造石材、陶瓷 地砖、木地板、塑料地板、复合地板 顶棚室内及顶棚 等 石膏板、矿棉装饰吸声板、珍珠岩装饰吸声板、 玻璃棉装饰吸声板、钙塑泡塑装饰吸声板、聚 苯乙烯泡沫塑料装饰吸声板、纤维板、涂料、 金属材料 3.材料基本性能 密度(q=G/V,G为干燥时的质量,V为绝对密 实状态时的体积)、孔隙率、强度、 含水率 第三节建筑装饰材料选用原则 1.原则

电子设计基础7s倒计时器课程设计

《电子设计基础》课程报告 设计题目:7s倒计数钟设计 学生班级: 学生学号: 学生姓名: 指导教师: 时间:

一、电子设计基础实验报告 (1) (一)、基于Multisim的电路仿真 (1) (二)、基于Protel的电路图编辑 (2) (三)、基于Protel的PCB图编辑 (3) (四)、元器件识别与焊接训练 (4) (五)、小电路装焊与调测 (5) 二、设计题目及要求 (6) 三、题目分析与方案选择 (6) 四、主要元器件介绍 (7) 五、电路设计及计算 (9) 六、仿真及结果分析 (10) 七、PCB板排布 (11) 八、总结 (12) 九、元器件清单 (12) 十、参考资料 (13)

一、设计题目及要求 1、7S倒计数钟设计,采用4029芯片 2、要用数码管显示状态,秒脉冲信号可由外部源提供 3、由于芯片原因,我最后选择了用4516芯片代替4029。因为我在做仿真的时候发现4029芯片有问题,无论在CP脉冲端接什么样的脉冲信号,电路总是报错,说不能识别脉冲信号,我以为是软件的问题,又在别的同学电脑上试了试,结果也显示同样的错误,这个问题我也一直没弄明白,然后在征求老师同意之后,我选择了另外一款计数芯片4516代替4029。 一.题目分析与方案选择 (一)题目分析: 4516是具有预置数功能的四位二进制或BCD码十进制加减计数器,我的想法是利用芯片的计数功能让他从7S以秒为单位时间递减到0完成7S 倒计时的功能,然后将这个倒计时的过程用数码管来显示。完成这个功能需要三部分电路:秒脉冲产生电路、4516组成的计数电路、数码管组成的显示电路。 (二)方案选择: 1、秒脉冲产生电路: 秒脉冲产生电路我采用的是函数信号发生器来产生1S时基。 2、4516组成的计数电路: 4516计数芯片采用预置数将信号7置入芯片,并用数码管显示,通过一个单刀双掷开关来实现置数功能。开关关闭时在置数端,当开关开起之后自动递减,当减至0时使芯片保持0不变。保持功能采用的一个反馈电路,当输出Q3、Q2、Q1、Q0为0时先使之反向,再通过一个与门,与门输出端接到cl端,使其为高电平,从而达到让电路状态保持的目的。这就实现了使电路从7开始以秒为单位倒计时,到0时停止的目的。 3、数码管组成的显示电路: 显示电路由电阻和数码管组成。

C语言程序设计基础知识 习题一及参考答案

第一章:程序设计基础知识 一、单项选择题 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、采用自上而下,逐步求精的设计方法便于____________。(结构化和模块化) 三、应用题

相关文档
相关文档 最新文档