7第一章 C#语言概述

7第一章 C#语言概述
7第一章 C#语言概述

第1章C#语言概述与.NET平台

本章将对C#程序设计语言的主要特点、.NET Frameworks、Visual Studio2010的新特性及安装进行简单的介绍。并对C#语言与其他程序设计语言进行了比较,通过创建简单的C#程序简单了解C#程序的基本结构,熟悉Microsoft Visual Studio2010开发环境的界面。

知识目标:

●了解C#语言的主要特点。

●了解C#语言与其他程序设计语言的不同之处。

●了解.NET Frameworks的概况。

●了解Visual Studio2010的新特性。

●熟悉Visual Studio2010开发环境。

●掌握使用C#创建简单的控制台应用程序。

●掌握C#程序的基本结构。

1.1C#语言概述

C#(C sharp)是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于https://www.360docs.net/doc/0013305858.html,平台的应用程序,https://www.360docs.net/doc/0013305858.html, 提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。使用C#语言可以开发在.NET Framework上运行的多种应用程序,包括:控制台应用程序、Windows窗体应用程序、Web应用程序以及Web服务等。

正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。

最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。

1.1.1C#的主要特点:

1.完全面向对象。

2.解释性:C#也是一种特殊的解释性语言。

3.跟Java类似:C#代码经过编译后,成为了一种IL(中间语言)。在运行时,再把IL编译为平台专用的代码。

4.健壮:C#在检查程序错误和编译与运行时错误一点也不逊于Java,C#也用了自动管理内存机制。

5.C#不像Java那样完全摒弃了指针和手动内存管理。C#默认情况下是不能使用指针的,程序员在有必要时可以打开指针来使用。这样可以保证编程的灵活性。

6.组件模式:C#很适合组件开发。各个组件可以由其他语言实现的,然后集成在.net 中。

7.支持分布式:之所以有C#,是因为微软相信分布式应用程序是未来的趋势,即处理过程分布在客户机和服务器上。所以C#一出生就注定了能很好解决分布式问题。

8.高性能:C#把代码编译成中间语言后,可以高效的执行程序。

9.可移植性:由于C#使用类似Java的中间语言机制。使得C#也跟Java类似,可以很方便的移植到其他系统。在运行时,再把中间代码编译为适合特定机器的代码。

10.安全性:C#的安全性是有.net平台来提供的。C#代码编译后成为IL语言。是一种受控代码,.net提供类型安全检查等机制保证代码是安全的。

11.多线程:与Java类似,可以由一个主进程分出多个执行小任务的多线程。

1.1.2C#与java、C++的比较

C#是在Java流行起来后所诞生的一种新的语言。由于微软在操作系统上占有很大的优势。在以往的开发中累积了不少经验,所形成的.net平台,所以C#在Windows方面可以说比Java具有更大的优势。如果单纯从技术上来讲,C#在网络编程上可以与Java匹敌。C#还在Windows Forms也有一定的优势。

C#是一种非常类似于C++的语言,风格是更接近于Java,不管是C++程序员还是Java 程序员,都可以很方便的转到C#上来。

总的来说,C++高效但是不安全,Java(跨平台)安全但是较低效,C#安全且较高效。表1-1列出了这三种OOP语言在若干功能和特点方面的比较。

表1-1C++、Java与C#的比较

功能C++Java C#

跨平台源代码

(部分)

字节码CLI(不流行)

执行方式编译编译+解释编译+JIT转换

中间代码无字节码Bytecode中间语言MSIL

运行环境操作系统JRE/JVM CLR/VES

内存管理直接分配

和删除垃圾内存自动回

垃圾内存自动回

多重类继

支持不支持不支持

操作符重

支持不支持部分支持

对象访问地址/指

引用引用

接口类型无有有

属性成员无无有

成员可用

不支持使用反射使用反射

命名空间支持包机制支持指针支持不支持部分支持(非安全

代码)

函数指针支持适配器+监听程

委托

全局函数

与变量

有无无

无符号整

数类型

有无有

大十进制

数类型

无有(库)有(语言)

强制类型

转换

支持不支持支持

越界自动

检查

无有有

多维数组数组的数

数组的数组真正多维数组索引支持不支持支持

泛型编译时模

板运行时泛型(有

限制)

编译时模板

泛型类型

编译

具体化类型擦除具体化

线程同步调用函数语言内部语言内部

异常处理可选支持检查异常只支持非检查异

标准类库贫乏丰富庞大

适用领域

面向对象

系统和界

面编程

跨平台(服务器

端)

网络编程

Windows平台的

.NET

和组件编程

https://www.360docs.net/doc/0013305858.html, Framework概述

.NET框架是针对开发者提出的一个概念,开发者在进行开发时,要利用开发工具编写源代码,编译后将程序部署到客户端,让它运行,这是一整套开发过程。传统的开发过程可以使用VB、VC等不同的开发工具,但在.NET框架下,可以统一开发过程,.NET 框架包含两个部分:公共语言运行库和类库。公共语言运行库的概念和Java虚拟机相似,是一个虚拟的运行环境,开发的应用程序都在这个运行库上运行;另一部分是类库,类库支持开发者的功能和系统调用,所以,在类库的支持下,才能开发在公共语言运行库上运行的应用程序。下面从左到右来看这幅图,在.NET框架的支持下,可以利用各种不同的编程语言来开发应用程序,这些编程语言最终产生的程序的内在都是一样的,它们的源代码会被统一地编译成微软中间代码,它是一种专门在虚拟平台上运行的代码,类似于Java 的Bytecode字节码。中间代码在公共语言运行库的支持下运行,如果虚拟代码要在x86CPU上运行,就必须转换成机器码,那么公共语言运行库有这样的机制,帮助我们在运行的时候把中间代码(MSIL Code)转换成本地代码,这样本地代码就能在操作系统和计算机上运行。所以,.NET框架是开发者最需要关注的部分,应用程序的开发都是针对.NET框架的,应用程序也需要在.NET框架的支持下才能运行。对于开发者来说,所要学习和掌握的主要就是.NET框架,要了解如何使用一种编程语言(https://www.360docs.net/doc/0013305858.html,或C#)在.NET 框架上开发应用程序。

NET Framework是一种技术,该技术支持生成和运行下一代应用程序和XML Web Services。.NET Framework旨在实现以下功能:

1)提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或者是在远程执行的。

2)提供一个将软件部署和版本控制冲突最小化的代码执行环境。

3)提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。

4)提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。

5)使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于Web的应用程序)时保持一致。

6)按照工业标准生成所有通信,以确保基于.NET Framework的代码可与任何其他代码集成。

.NET框架提供了帮助开发应用程序的类库集。但.NET框架不仅仅是一种类库集。.NET框架是创建、部署和运行Web服务及其他应用程序的一个环境。.NET框架由如下几个部分组成。

1)位于.NET框架最底层的结构是WINDOWS API和COM+服务。WINDOWS API 是操作系统提供的一个很大的服务中心。调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程序达到开启视窗、描绘图形、使用周边设备等目的。COM+是一种组件标准。COM+紧紧地与操作系统结合起来,通过系统服务为应用程序提供全面的服务。WINDOWS API和COM+服务,这里简单了解一下即可。.NET框架建立在这个基

础上以后,从而使基于.NET框架开发的应用程序,可以充分利用系统提供的功能和资源。

2)公共语言运行库主要是指对应用程序代码的管理,同时提供应用程序代码所需要的基本服务,例如内存管理、垃圾收集、结构化异常处理和多线程。同时也加强严格的类型安全和促进代码正确来确保程序的安全性和健壮性。为应用程序编写代码的时候,如果代码是针对公共语言运行库的,则认为是可管理的代码,否则将被认为是不可管理的代码。

3).NET Framework类库是由基本数据类型和.NET核心功能类组成。基本数据类型包括数值类型、日期类型、字符串类型、数组和集合等等。.NET核心功能类则提供了文件输入/输出、线程、序列化和安全性等等这些方面的开发支持。

4)数据层是由用来访问数据相关的类而组成的。与数据访问相关的部分通常被称为https://www.360docs.net/doc/0013305858.html,。https://www.360docs.net/doc/0013305858.html,就是ADO(ActiveX Data Object)在.NET中相对应的技术。XML 层是由操作XML的相关的类而组成的。XML可以理解成一种文件格式,.NET用它来存储几乎所有类型的信息。

5)https://www.360docs.net/doc/0013305858.html,既包含了用于生成Web界面的类,也包含了XML Web services,为Web 应用程序开发提供支持。Windows窗体则包含了用于生成Windows界面的类。

1.3Visual Studio2010

Visual Studio2010是由微软公司推出的一个强大的集成开发环境(Integrated Development Enviroment,IDE),从1998年的Visual Studio6.0到V1sualStudio2010无论是在界面上还是在功能上都有了显著的不同和改进。Visual Studio2010支持多种开发语言,Visual Basic、Visual C十十、Visual C#和Visual F#都可以使用。Visual Studio2010同时带来了NET Framework4.0、Microsoft Visual Studio2010CTP(Community Technology Preview--CTP),并且支持开发面向Windows7的应用程序。除了Microsoft SQL Server,它还支持IBM DB2和Oracle数据库。

1.3.1Visual Studio2010的安装

1、支持的操作系统及软件要求

1)Windows XP(x86)Service Pack3–除Starter Edition之外的所有版本

2)Windows Vista(x86和x64)Service Pack2-除Starter Edition之外的所有版本

3)Windows7(x86和x64)

4)Windows Server2003(x86和x64)Service Pack2–所有版本如果不存在MSXML6,则用户必须安装它

5)Windows Server2003R2(x86和x64)-所有版本

6)Windows Server2008(x86和x64)Service Pack2–所有版本

7)Windows Server2008R2(x64)–所有版本

8)Web服务器:IIS5.0或以上版本。

9)IE:IE6或以上版本。

10)平台架构:32位,64位。

11)运行环境:https://www.360docs.net/doc/0013305858.html, Framework SDK。

2、硬件要求

1) 1.6GHz或更快的处理器

2)1024MB RAM(如果在虚拟机上运行,则为1.5GB)

3)3GB的可用硬盘空间

4)5400RPM硬盘驱动器

5)以1024x768或更高显示分辨率运行且支持DirectX9的视频卡

3、Visual Studio2010的安装

1)、下载Visual Studio2010软件包

2)、解压出来以后,点击安装包内setup.exe文件,如下图1-1安装包所示

图1-1安装包

3)、进入Visual Studio的安装程序界面,点击“更改或移除Microsoft Visual Studio2010”如下图1-2Visual Studio的安装程序界面所示

图1-2Visual Studio的安装程序界面

4)、进入Visual Studio2010加载组件界面,单击下一步,如下图1-3Visual Studio2010加载组件界面所示

图1-3Visual Studio2010加载组件界面

5)、进入Visual Studio2010的许可协议界面,选择“我已阅读兵接受许可条款”,单击下一步,如下图1-4Visual Studio2010的许可协议界面所示

图1-4Visual Studio2010的许可协议界面

6)、进入安装程序功能选择以及安装路劲选择界面,选择自己要安装的位置,单击下一步,如下图1-5安装路径选择界面所示

图1-5安装路劲选择界面

7)、进入程序安装功能选择界面,选择自己需要安装的某些程序,我这里把VB和VF都取消了,这两个对我来说没什么用,单击安装,如下图1-6安装功能选择界面所示

图1-6安装功能选择界面

8)、进入程序安装界面,这一步需要30分钟以上的时间,如果你选择的程序功能不是很多,那么这里可以快一点,具体时间根据实际安装时间来确认,如下图1-7程序安装界面所示

图1-7程序安装界面

9)、安装完成以后,会提示安装成功如图1-8安装成功界面所示,我下面的SQL SERVER2008Pack安装失败对我没什么影响,单击完成。至此整个程序安装流程就结束

了,可以正常使用Visual Studio了。

图1-8安装成功界面

1.3.2Visual Studio2010的新特性

大家都知道Microsoft Visual Studio2010将在4月12日全球同步发布,目前已经进入候选发布(Release Candidate,RC)阶段,自Beta2以来就一直在研究他,发现这个版本比旧版本确实实用得多,有大量的新功能加入到了Visual Studio2010中,应用程序开发生产力将会进一步得到提高。开发人员可以使用它进行更快的编码,整个团队的协作效率会更好。

1、多目标应用程序开发

使用Visual Studio2010不仅可以开发.Net4.0程序,还可以开发旧版本.Net程序,在IDE中创建一个新项目时,会看到一个选项可以选择不同版本的.Net Framework(如2.0,3.0,3.5和4.0),根据你的选择,它将会在“新建项目”对话框中过滤项目模板,如果选择.“Net Framework4.0”,它会显示所有项目类型,如果你选择“.Net Framework2.0”,它只会显示.Net Framework2.0支持的项目。

不仅如此,由于Visual Studio2010是建立在Window显示基础(Windows Presentation Foundation,WPF)之上的,当你检索一个具体的项目类型时,你会发现更多有用的东西。假设你想使用WPF开发一个客户端应用程序,你会发现在一个庞大的项目类型集中找到它是多么的困难。不要担心,现在在对话框右上角有一个搜索框,只需要输入关键字(如WPF),快速过滤的结果一定会让你满意。

2、更快的智能感应(Intellisense)支持

Visual Studio现在带来了更快速的智能感应支持,与旧版本相比速度大约提升了2-5倍。假设你想创建一个“WeakReference”实例,由于Visual Studio2010改进了搜索算法,你不用再输入完整的类名,你只需要输入“WR”,它将会自动过滤,显示你想要的“WeakReference”。

3、编辑器缩放功能

当你在做演示或做直播时,你会发现这个功能非常有用,Visual Studio2010之前的版本不得不打开“选项”面板,通过修改编辑器的字体大小来实现,显得非常繁琐,现在这个问题已经不复存在了,只需要在编辑器窗口内,按住CTRL键,然后滚动鼠标滚轮即可放大/缩小编辑器中的字体大小。

4、在“添加引用”中程序集载入速度更快了

在Visual Studio2010“添加引用”对话框中程序集的载入速度更快了,在旧版本中,在载入程序集时持续会被冻结住一段时间。在Visual Studio2010中,焦点默认落在“项目”标签上,但后台在默默地载入其它标签,如果焦点落在打开的“.Net”标签上,你会发现不是一次载入所有的程序集,而是以后台线程进行载入的,因此载入时间更快一点了。

5、将窗口分离到IDE外

你工作时是使用的双显示器吗?如果是,你会发现这个功能超级有用,Visual Studio2010现在支持将窗口分离到编辑器外,假设你想将“错误”,“输出”,“解决方案资源管理器”或“属性”窗口分离到第二个显示器,你可以将它们直接拖动到第二个显示

器即可,这样在第一个显示器中留给编辑器的空间就很大了。

6、突出显示引用内容

Visual Studio2010IDE的另一大特色是突出显示引用内容,通过此功能,你可以很容易地找出所有引用的位置。

7、更快的代码生成速度

在讨论这个功能之前,请允许我问你一个问题“你在使用TDD,即测试驱动开发吗?”,如果在使用,你会发现这个功能不仅很有用,而且很具吸引力,你可能会觉得很奇怪,为什么会这样呢?请允许我再问你一个问题“在执行测试驱动开发时如何编写代码的呢?”,是的,你必须先实现类和方法的骨架,然后编写单元测试用例实现真实的逻辑,Visual Studio2010带来了出色的代码生成功能,来看一组截图吧。

正如你所看到的,在我的项目中不存在一个叫做“Person”的类,因此编辑器使用红色突出显示,表示它是未知的类。如果你仔细观察左边的截图,你就会发现即使在我的命名空间或项目中不存在Person类,但在智能感应列表中已经创建了一个引用,如果你将鼠标移到Person上,按下F10键,同时按下ALT+Shift,你会看到弹出一个菜单,一个是询问你是否为Person生成一个类,另一个是询问你是否创建一个新类型。

如果你选择第一个选项,将在你的项目中生成一个名叫“Person”的类文件,这没什么好说的。我们还是来看看第二个选项,如果你选择了第二个选项,将会打开一个新对话框“生成新类型”,有更多的参数需要设置,在这里你可以选择访问方式(包括private/public/protected/internal),你可以选择生成不同类型的代码(包括enum/class/struct/interface),当然也可以修改类文件的位置,你可以选择放在相同的项目中,也可以选择一个不同的项目,不仅如此,你还可以为类创建一个新文件,或者将类追加到另一个文件中。总之,此功能为你自定义提供了各种选项。这个功能同样适用于产生方法。

8、超酷的框选

Visual Studio2010中还有另一个超酷的功能,我直接以一个例子进行介绍吧,假设你声明了一些公共属性,但后来你又想将它们标记为内部属性,你要怎么做呢?你是不是准备一个个地去替换呢?在Visual Studio2010中,要完成这项工作简直太容易了,按下ALT+Shift,然后使用鼠标画一个框选中要选择的内容,,然后输入要替换的文本即可。

9、用户体验更好的导航

现在要导航到你指定的代码变得非常容易了,由于Visual Studio2010是构建在WPF 之上的,因此它现在具有边输入边过滤的功能,按下CTRL+,打开“定位到”对话框,当你在“搜索词”字段输入任意字符,它将显示一个匹配清单。

10、更好的工具箱支持

Visual Studio现在带来了更好的工具箱支持,现在你可以更容易地搜索工具箱项目,只需输入工具箱项目的名字,IDE将会把焦点跳转到匹配的元素,按下TAB键焦点将会转移到下一个匹配的元素。

11、断点书签也玩协作

现在在书签上有更好的功能,一个团队现在可以通过书签导入导出功能进行协作,你现在可以固定调式值,因此你可以在以后访问它,并且可以给书签添加一个标签。简单介绍一下这个功能的用法。假设你正在调试你的模块,在调试时你发现其他人负责模块中的问

题,你想告诉对方他的代码存在bug,并导致你的模块也产生了问题。在Visual Studio2010中,你可以固定调式值,然后将书签加上适当的注释导出为一个XML文件,将其发送给另一个团队成员,当它将这个XML文件导入到他的IDE中后,他将会看到书签和最后会话的调试值,因此他可以接着往下找,找出问题的根源,而不是要从头开始找问题的根源,这个功能在团队开发协作调试过程中非常有用。

12、智能跟踪(IntelliTrace)

Visual Studio现在有一个功能叫做智能跟踪(IntelliTrace),通过它你可以跟踪每一个调试步骤,你可以在智能跟踪(IntelliTrace)窗口中找到调用线程信息。

1.3.3Visual Studio集成开发环境

Visual Studio是一个自动化的集成开发环境,如图1-9所示。在使用Visual Studio2010开发程序之前,先通过一个窗体应用程序框架认识—Visual Studio2010集成开发环境的各个组成部分。

图1-9Visual Studio窗体应用程序主窗口

1、菜单栏

在Visual Studio2010集成开发环境中,菜单栏位于主窗口标题栏下方,提供了13个菜单项。这些菜单项可以完成用于创建、保存、生成、调试以及测试应用程序的所有功能,

如图1-10所示。

图1-10菜单栏

(1)“文件”菜单包含新建、打开、关闭、保存等各种与文件操作相关的命令。选择“文件一新建一项目”选项可以创建Visual Basic、Visual C++、Visual C#、Visual F#等项目,通过选择“网站”选项可以创建https://www.360docs.net/doc/0013305858.html,网站。

(2)“编辑”菜单包含编辑程序源代码的各种命令,主要包括撤销、重复、剪切、复制、粘贴、删除、查找和替换等命令。

(3)“视图”菜单包含多个子菜单,用于显示或隐藏集成开发环境中的各种窗口和工具栏,如“代码”窗口、“设计”窗口、“解决方案资源管理器”窗口、“工具箱”窗口、“属性”窗口、“错误列表”窗口等。

(4)“项目”菜单包含在当前项目中添加控件、模块和窗体等对象的命令,如添加Windows窗体、添加用户控件、添加组件添加服务引用、设为启动项目等。

(5)“生成”菜单包含生成解决方案、生成和发布项目的命令,在输出窗口中显示警告和错误信息。

(6)“调试”菜单包含调试应用程序的各种命令、如启动调试、逐语句、逐过程、新建断点、删除所有断点等。

(7)“团队”菜单用于项目之间协作开发。

(8)“数据”菜单包含与数据源操作相关的命令,如显示数据源、预览数据、添加数据源等。

(9)“格式”菜单包含用于设置窗体上添加的控件的命令,如对齐方式、使大小相同、水平间距、垂直间距、在窗体中居中等。

(10)“工具”菜单包含各种扩展工具、建立各种连接、选择自定义工具箱子菜单等选项。

(11)“测试”菜单仪含建立和管理测试的相关选项,如新建测试、加载元数据文件、

创建新测试列表等。

(12)“窗口”菜单包含用于控制窗口布局的各种选项,以及当前打开的窗口列表等。

(13)“帮助”菜单包含用于获取帮助信息的各种选项。

2.工具栏

工具栏位于菜单栏下方,提供菜单项中各种功能的快捷方式,根据程序的不同类型,工具栏会动态改变。工具拦包括“标准”工具栏、“生成”工具栏、“调试”工具栏、“文本编辑”工具栏等。默认会显示“标准”工具栏,根据当前处理的项目和文件类型还会显示其他工具栏,如图1-11所示。

图1-11标准工具栏

3.解决方案资源管理器

解决方案像一个容器,包含构成应用程序所需要的引用、数据连接、文件等。一个解决方案可以包含多个项目,而一个项目通常包含多个文件。“解决方案资源管理器”窗口用于显示解决方案、解决方案的项目及其中的文件。图1-12为在Visual studio2010中使用Visual C#创建窗体应用程序时所显示的“解决方案资源管理器”窗口,在窗口上方包括以下几个按钮。

(1)属性,单击此按钮,显示解决方案中所选文件的相应属性。

(2)显示所有文件,单击此按钮,显示包括已经被排除的文件和正常情况下隐藏

的文件。

(3)刷新,单右此按钮,刷新所选文件或解决方案中文件的状态。

(4)查看代码,单击此按钮,打开选定文件的“代码”窗口。

(5)设计视图,单击此按钮,在设计器模式下打开选定的文件进行编辑。

(6)查看类图,单市此按钮,启动类设计器,显示当前项目中类的关系。

图1-12“解决方案资源管理器”窗口

4.工具箱和属性

选择“视图一工具箱”选项可以打开“工具箱”窗口,选择“视图一属性窗口”选项,可以打开“属性”窗口。这两个窗口是开发Windows应用程序常用的窗口。“工具箱”窗口以选项卡的形式分组显示常用控件,这些控件可以通过鼠标拖动的方式添加到窗体中。“属性”窗口显示设计界面中所选控件的各种属性信息。

“工具箱”窗口包含了可以加入窗体的组件以及控什的动态更新集合,包括所有Windows窗体、公共控件、容器、菜单和工具栏、数据、组件、打印、对话框、WPF通用控件、报表、Visual Basic PowerPacks控件、常规等选项卡。Windows窗体的工具箱如图1-13所示。

“属性”窗口可以编辑和查看控件、文件或类的属性,并且可以在设计时查看修改窗体设计器中所边对象的属性和事件。属性列表会根据当前窗体中的页面元素自动进行更新,如图1-14所示。

图1-13工具箱窗口图1-14属性窗口

在“属性”窗口顶部的下拉列表中包含了当前工作区中可以获得和更改的所有条目,并按照名称的字母顺序进行排列,左边会显不其对应的.NET项目类型。下拉列表下面有五个按钮,从左到右分别为按分类排序、字母排序、属性、事件、属性页。

5.设计器

在Visual Studio2010中创建不同类型的应用程序都需要使用相应的设计器来完成。在使用C#创建Windows窗体应用程序时,可以使用Windows窗体设计器来完成,如图

1-15所示。在Windows窗体设计器中可以添加控件,设置控件和窗体的属性,也可以设置布局,并可以为事件编写代码。

图1-15窗体设计器

6.代码编辑器

选择“视图一代码”选项,或者按F7键,或者通过解决方案资源管理器选择要查看代码的文件,然后单击工具栏户的“查看代码”按钮,就可以切换到代码编辑器。在代码编辑器中可以编写源程序,可以在集成开发环境产生的代码中添加手写代码,如图1-16所示。

图1-16代码编辑器

7.错误列表

选择“视图一错误列表”选项可以打开“错误列表”窗口。用户在输入代码时,系统会自动进行语法检查,如果发现不合法的语句出现,就会在“错误列表”窗口中显示错误信息,提示用户。除此以外,“错误列表”窗口还会显示各种应用程序的警告信息,帮助用户完善应用程序。

1.4简单的C#程序

1.4.1创建简单的控制台应用程序

下面开始使用Visual studio2010创建一个控制台应用程序,然后通过这个简单的程序介绍控制台应用程序的基本结构和关键特性。

(1)启动Visual studio2010后,选择“文件一新建一项目”选项,然后会弹出“新建项目”对话框,如图1-17所示。

图1-17新建控制台应用程序项目对话框

(2)在“新建项目”对话框的模板中选择“控制台应用程序”;在“名称”框中输入项目名称(本例为Hello);在“位置”框中输入路径名,或通过“浏览”按钮选择项目存放的位置(本例为D:\C#);在“解决方案名称”框中输入解决方案名称(通常与项目名称相同)。单击“确定”按钮,进入C#控制台应用程序编辑界面,如图1-18所示。

图1-18C#控制台应用程序编辑界面

(3)这时,系统自动创建了一个名为Program.cs的文件,里面已经包含了VS2010自动创建的一些代码。在程序代码编辑窗口中输入以下程序代码(其中的粗体部分为开发者输入的):

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Hello

{

class Program

{

static void Main(string[]args)

{

Console.Write("请输入您的姓名:");

string name=Console.ReadLine();//输入姓名字符串赋值给name变量

Console.WriteLine("欢迎"+name+"进入C#程序设计的广阔天地!");

Console.ReadLine();/*使得程序执行不会自动退出调试环境*/ }

}

}

(4)在集成开发环境中按F5键或选择“调试”菜单组中的“启动调试”命令,执行(调试)控制台应用程序。如果程序代码没有错误,运行结果如图1-19所示。

图1-19Hello程序的运行结果

1.4.2C#程序的基本结构

在C#程序中,一个应用程序可以由一个或者多个类组成,所有程序代码必须封装在类中。一个C#程序可以存放在一个源程序文件中,也可以存放在多个源程序文件中。一个源程序文件中可以有一个或者多个类,但不允许将一个类拆散存放在不同的源程序文件中。在为源程序文件命名时,可以与类的名字相同,也可以不同,即源程序文件的命名不受类名限制。C#语言是一种块结构的语言,所有的语句都包含在一个语句块中,语句块通过花括号{}来界定。在一个程序块中可以包含多条语句,也可以不包含语句。

下面以“HelloWorld”程序为例,介绍C#程序的基本结构。

1.命名空间

C#程序可以内一个或多个类组成,程序都是封装在某个类中。在程序中需要声明类型,类型包括成员,并能够被组织到命名字间中。System是NET Frameworks提供的命名空间,System是C#的关键字,表示要引用这个命名空间。关键字namespace声明了与类相关的命名空间它后面的括号中的所有代码都认为在这个命名空间中。例如:using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace HelloWorld

{}

在Visual studio2010中默认使用项目名称作为顶级命名空间。运行程序时,编译器会在using指定的命名空间中查找在代码中引用的类。命名空间的作用会在大规模的程序代码中显现出来。当在一个庞大复杂的程序中有多个方法多个类时,一定全有很多的名称,极有可能出现名称冲突的情况,利用命名字间可以很好地解决这个问题。它相当于为标识符创建一个有标签的容器,如果同名的两个类处于不同的命名空间中,那么它们就不会出现混淆。

2.声明类

在声明了命名空间后,需要声明一个类。在“HelloWorld”程序中,Program类位于HelloWorld命名空间中。C#与Java一样,所有的代码都要包含在一个类中,并使用class关键字进行声明,后而需要有一对花括号,与类相关的代码都放在这个花招号中。类的描述可以由多条语句组成,在C#语言中每个程序描述语句都必须以分号“;”作为结束的标志。

class Program

{

}

3.Main方法

每个应用程序都有一个执行的入口,指明程序执行的开始点。C#应用程序中的入口点用主方法标识,主方法的名字为Main(),后面的括号中即使没有参数也不能省略。C#应用程序必须有、而且只能有一个Main()方法,如果一个应用程序仅由一个方法构成,这个方法的名字就只能为Main()。主方法用一对花括号限定自己的区域,如下所示:static void Main(string[]args)

{

}

4.I/O(输入/输出)

C#程序的输入和输出通常使用.NET Framework运行库提供的Console类来完成。其中WriteLine()利ReadLine()是这个类中最基本的两个方法。WriteLine()方法将带有行结束符的字符写入标准的输出设备中;ReadLine()方法读取标准输入设备中的字符串,

并通过Enter键结束输入。其他console方法用于不同的输入和输出操作。如果程序开始出包含“using Syestem”指令,则不需要完全限定System类和方法就可直接使用它们。例如:

static void Main(string[]args)

{

Console.Write("请输入您的姓名:");

string name=Console.ReadLine();//输入姓名字符串赋值给name变量

Console.WriteLine("欢迎"+name+"进入C#程序设计的广阔天地!");

Console.ReadLine();/*使得程序执行不会自动退出调试环境*/

}

5.注释

注释信息是程序中不可执行的部分,仅用于对程序代码加以说明,编译时会将其完全忽略。恰当地使用注释有助于提高程序的可读性,便于软件维护和协作开发。作为一个负责任的优秀程序员,必须养成为程序添加注释的良好习惯。

C#中的注释方法有三种:

(1)单行注释

在一个语句行上,用双斜杠“//”作为引导符,其后的任何内容均为注释信息,编译时被忽略,通常用于注释字符串较短的场合。单行注释可以书写在可执行代码语句的后面,也可以书写成单独的一行。下面两种方式起到同样的作用:

方式1:

string name=Console.ReadLine();//输入姓名字符串赋值给name变量

方式2:

//输入姓名字符串赋值给name变量

string name=Console.ReadLine();

(2)多行注释

从“/*”开始,到“*/”结束,其中的所有内容(可以是一行,或多行)均为注释信息,但注释文字中必须不包含“*/”。多行注释通常用于需要书写较大量注释的情况。

本章小结:本章介绍了C#的主要特点,并对C#语言与其他编程语言进行比较。简单介绍了.NET Frameworks的概况、Visual Studio2010的新特性及C#程序的基本结构。

习题一

一、单项选择题

1.C#语言是微软.NET公共语言运行环境中内置的核心程序设计语言,是一种()。

(A)面向过程程序设计语言(B)面向对象程序设计语言

(C)跨平台程序设计语言(D)机器语言

2.C#语言支持面向对象程序设计概念,()。

(A)但不支持继承(B)而且支持多继承

(C)但仅支持单继承(D)支持单继承和多继承

《C语言程序设计》第1章 C语言概述练习题答案

第一章 C语言概述练习题 一、选择题 1.C语言是一种( )。 A) 机器语言B) 汇编语言C) 高级语言D) 低级语言 2.下列各项中,不是C语言的特点是( )。 A) 语言简洁、紧凑,使用方便B) 数据类型丰富,可移植性好 C) 能实现汇编语言的大部分功能D) 有较强的网络操作功能 3.下列叙述正确的是( )。 A) C语言源程序可以直接在DOS环境中运行 B) 编译C语言源程序得到的目标程序可以直接在DOS环境中运行 C) C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行 D) Turbo C系统不提供编译和连接C程序的功能 4.下列叙述错误的是()。 A) C程序中的每条语句都用一个分号作为结束符 B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 5.一个C程序的执行是从()。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 6.以下叙述不正确的是()。 A) 一个C源程序必须包含一个main函数 B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 7.C语言规定:在一个源程序中,main函数的位置( )。 A)必须在程序的开头B)必须在系统调用的库函数的后面 C)可以在程序的任意位置D)必须在程序的最后 8.一个C语言程序是由( )。 A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成D) 若干子程序组成 9.以下有4组用户标识符,其中合法的一组是()。 A) For B) 4d C) f2_G3 D) WORD -sub DO IF void Case Size abc define 10. 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是 ()。 A) 有零个或多个输入B) 有零个或多个输出C) 有穷性D) 可行性 二、填空题 1.汇编语言属于面向( 面向机器的 )语言,高级语言属于(面向问题的)语言。 2.用高级语言编写的程序称为(源)程序,它可以通过解释程序翻译一句执行一句的方式 执行,也可以通过编译程序一次翻译产生(目标)程序,然后执行。

第一章C语言概述习题附答案

第一章C语言概述 一、单选题 1. C语言程序的执行,总是起始于()。C A.程序中的第一条可执行语句 B.程序中的第一个函数 C.main函数 D.包含文件中的第一个函数 分析:在一个C语言源程序中,无论main函数书写在程序的前部,还是后部,程序的执行总是从main函数开始,并且在main函数中结束。本题正确答案为C。 2、C语言程序的基本单位是()。C A)程序行B)语句C)函数D)字符 3、C语言中规定:在一个源程序中main函数的位置()。C A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 4、以下述叙正确的是()。C A.在C程序中,main函数可有可无 B. C程序的每行中只能写一条语句 C. C语言本身没有输入输出语句 D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 5、能将高级语言编写的源程序转换为目标程序的是()。C A.链接程序 B.网络程序 C.编译程序 D.WORD字处理程序 6、下列说法中正确的是()。C A)C程序书写时,不区分大小写字母 B)C程序书写时,一行只能写一个语句 C)C程序书写时,一个语句可分成几行书写 D)C程序书写时每行必须有行号 分析:C语言严格区分大小写字母,如"A1"和"a1"被认为是两个不同的标识符,C程序的书写非常灵活,既可以一行多句,又可以一句多行,且每行不加行号。本题正确答案为C。 7、下面对C语言特点,不正确描述的是()。C A)C语言兼有高级语言和低级语言的双重特点,执行效率高 B)C语言既可以用来编写应用程序,又可以用来编写系统软件 C)C语言的可移植性较差 D)C语言是一种结构式模块化程序设计语言 分析:C语言是介于汇编语言和高级语言之间的一种语言,由于它可以直接访问物理地址,对硬件操作,所以C语言既可以编写应用程序,又可以开发系统软件,而且C程序可移植性好于汇编语言,程序清晰具有模块化的特点。本题正确答案为C。 8、C语言源程序的最小单位是()。D A)程序行B)语句C)函数D)字符 分析:程序行、语句、函数都是由字符构成的,字符是C语言的最小单位。本题正确答案为D。 9.计算机内部运算使用的数是()。C A)十进制数B)十六进制数C)二进制数D)八进制数

第1章C语言概述

第1章C语言概述 C语言是国际上广泛流行的、很有发展前途的高级程序设计语言,它既可以用来编写系统软件,又可以用来编写应用软件。C语言也是大学生学习程序设计选用最多的语言。本章主要介绍C语言的发展历史、C语言的特点、C程序的结构和C程序的上机步骤。通过本章的学习,读者应重点掌握C语言的特点、C程序的结构和上机运行C程序的方法。 1.1 C语言的发展和特点 自从计算机诞生以来,为了更好地进行软件的设计,各种高级程序设计语言也在不断地发展、进步和完善。C语言就是其中最优秀的程序设计语言之一。 1.1.1 C语言的发展过程 C语言是目前世界上最流行、使用最广泛的高级程序设计语言。在设计操作系统等系统软件和需要对硬件进行操作时,使用C语言编程明显优于其他高级语言,许多大型应用软件和系统软件都是用C语言编写的。 C语言的起源可以追溯到ALGOL 60。1963年英国的剑桥大学在ALGOL 60的基础上推出了CPL语言,但是CPL语言难以实现。1967年英国剑桥大学的Matin Richards对CPL 语言作了简化,推出了BCPL语言。1970年美国贝尔实验室的Ken Thompson以BCPL语言为基础,又作了进一步的简化,设计出了很简单且接近硬件的B语言,并用B语言写了第一个UNIX操作系统,在DEC PDP-7型计算机上实现。1971年在DEC PDP-11上实现了B语言。1972年由美国的Dennis M.Ritchie在B语言的基础上设计出了C语言,并首次在UNIX操作系统的DEC PDP-11计算机上使用。 为了推广UNIX操作系统,1977年Dennis M.Ritchie 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。1978年Brian W.Kernighian和Dennis M.Ritchie 出版了名著《The C Programming Language》,从而使C语言成为目前世界上流行最广泛的高级程序设计语言。 随着微型计算机的日益普及,出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,1983年美国国家标准研究所(ANSI)为C语言制定了第一个ANSI标准,称为ANSI C。1987年美国国家标准研究所

C语言教案(上):第一章c语言概述(高教版).doc

课题第一章C语言概述 教学目的1、掌握上机步骤 2、能正确调试程序 教材分析教学重点计算机运行时的过程教学难点上机步骤 课时安排 2 教学方法讲授与演示法相结合 讨论法、实践法、任 务驱动 教具计算机、投影仪 教学内容及过程设计一新课引入 有了新的程序,如何实现程序的结果验证? 二讲授新课 一)、上机步骤(上机环境:Turbo C3.0) 1.进入环境 2.编辑源程序 3.保存源程序 4.编译源程序 5.执行程序,查看结果 6. 退出C环境 (1) 进入Turbo C++ 3.0集成环境 ①在DOS环境下 C:\TC3.0>tc ↙ ②在Windows环境下 找到可执行文件tc.exe,执行该文件。

主菜单:11个菜单项: File Edit Search Run Compile Debug Project Options Window Help 在编辑(EDIT) 状态下光标表示当前进行编辑的位置,在此位置可以进行插入、删除或修改,直到自已满意为止。 保存:在编辑(EDIT) 状态下光标表示当前进行编辑的位置,在此位置可以进行插入、删除或修改,直到自已满意为止。 (3) 对源程序进行编译 选择“Compile”(或“Alt+F9”)对源程序进行编译。 (4) 将目标程序进行连接 选择菜单“Compile”→“Link”,如果不出现错误, 会得到一个后缀为.exe的可执行文件 (5) 执行程序 选菜单“Run”→“Run”( 或按“Ctrl+F9”键)。 (6) 退出Turbo C++ 3.0环境 选择“File”→“Quit”。 三课堂小结 1、C语言的构成要素,main函数在程序中的作用 2、上机操作的过程 备注:安排上机实验,熟悉TC环境及简单的C语言程序构成 上机内容为:见上机实训教案1求3个数中较大者。 另例1、图案程序共两个。

第一章C语言概述

第一章C语言概述 一、选择题: 1、一个C程序的执行是从( A )。 A本程序的main函数开始,到main函数结束 B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C本程序的main函数开始,到本程序文件的最后一个函数结束 D本程序文件的第一个函数开始,到本程序main函数结束 2、在 C 语言中,每个语句必须以( D )结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 3、C 语言规定:在一个源程序中,main函数的位置( C )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 4、一个C 语言程序是由( B )。 A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 5、下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数

D. 程序可以从任何非主函数开始执行 6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D. 自动保存源文件 二、填空题: 1、C 语言只有 32 个关键字和 9 种控制语句。 2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C 语言程序。 3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。 4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函 数 printf 完成的。 5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名 是 .exe 。 6、C 语言的标识符只能由字母、数字和下划线三种字符组成。 第三章数据类型、运算符和表达式 一、选择题: 1、以下选项中,不正确的 C 语言浮点型常量是( C )。

第1章 C语言概述

第1章C语言概述 本章知识要点: 绪论 什么是C语言,简单介绍能够执行的软件。 最短的C语言源代码 如何写注释、函数声明、main函数、函数与堆栈、编码风格等问题的学习。 字符输出 包含文件、标准库函数、学习头文件是什么。 整数输入输出 变量类型、范围、标准库函数scanf()的简单介绍 字符输入输出 了解char型和数组、键盘输入字符、屏幕显示输入的字符。 浮点数输入输出 了解double型变量、输入2个浮点数、屏幕输出其平均值。 printf( )和scanf( )函数的返回值了解符号常量函数返回值标准库函数printf( )和scanf( )的函数返回值。 定义函数 定义函数的方法。输入一个整数,将其值的一半作为返回值。 变量的存储类型 了解变量的存储类型。静态变量与动态变量的区别 变量的取值范围了解不同数据类型的不同取值范围。 运算符学习自增、自减运算符及运算符的补充 赋值运算符了解赋值运算符(+=,*=,+=,-=,*=,/=,%=)。 变量和符号常量的类型声明 学习有关变量和符号常量的类型声明。 枚举常量 了解枚举常量。

1.1 绪论 C语言的产生与发展 C 语言是1972年由美国的Dennis Ritchie设计发明的, 并首次在UNIX操作系统的 DEC PDP-11 计算机上使用。它由早期的编程语言 BCPL( Basic Combind Programming Language) 发展演变而来。在1970年, AT&T 贝尔实验室的 Ken Thompson根据BCPL语言设计出较先进的并取名为 B的语言, 最后导了C语言的问世。 随着微型计算机的日益普及, 出现了许多C 语言版本。由于没有统一的标准, 使得这些C 语言之间出现了一些不一致的地方。为了改变这种情况, 美国国家标准 研究所(ANSI)为C 语言制定了一套ANSI标准, 成为现行的C语言标准。 C语言的特点 1.结构化语言 结构化语言的一个显著特点是代码和数据的分隔化,即程序的各部分除了必要的信息交流外彼此互不影响,相互隔离。C语言的主要结构成分是函数,函数是C语言的基本结构模块,所有的程序活动内容都包含在其中,函数在程序中被定义完成独立的任务,独立地编译成目标代码,这样可以实现程序的模块化。C 语言中,另一个实现程序结构化和分离化的方法是使用符合语句,复合语句是作为一个语句对待的,且具有逻辑联系的程序语句的组合,它是一个逻辑单元。 2.简洁、紧凑、灵活 Turbo C共有43个关键字,9种控制语句,程序书写自由,主要以小写字母表示,压缩了一切不必要的成分。C语言语法现在不太严格,程序设计自由度大,例如对数组边界不做检查,整型、字符型、逻辑型数据可以通用。 3.运算符丰富 C语言共有44种运算符,把括号、赋值、强制类型转换等都作为运算符处理从而使C语言的运算符类型极其丰富,表达式类型多样化,灵活使用各种运算符,可以实现在其他高级语言中难以实现的运算。 4.中级语言 C语言把高级语言的基本结构与低级语言的实用性结合起来。它可以像汇编语言一样对位、字节和地址进行操作,这三者是计算机最基本的工作单元,C语言可实现汇编语言的绝大部分功能。

第一章C语言概述习题附答案

第一章C 语言概述 一、单选题 1、C语言程序的执行,总是起始于()。C A.程序中的第一条可执行语句 B.程序中的第一个函数 C.main 函数 D.包含文件中的第一个函数 分析:在一个C语言源程序中,无论main函数书写在程序的前部,还是后部,程序的执行总 是从main 函数开始,并且在main 函数中结束。本题正确答案为C。 2、C 语言程序的基本单位是()。C A)程序行B)语句C)函数D)字符 3、C 语言中规定:在一个源程序中main 函数的位置()。C A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 4、以下述叙正确的是()。C A.在C 程序中,main 函数可有可无 B.C 程序的每行中只能写一条语句 C.C 语言本身没有输入输出语句 D.在对一个C 程序进行编译的过程中,可发现注释中的拼写错误 5、能将高级语言编写的源程序转换为目标程序的是()。C A.链接程序 B.网络程序 C.编译程序 D.WORD字处理程序 6、下列说法中正确的是()。C A)C程序书写时,不区分大小写字母 B)C程序书写时,一行只能写一个语句 C)C程序书写时,一个语句可分成几行书写 D)C程序书写时每行必须有行号 分析:C语言严格区分大小写字母,如"A1"和"al"被认为是两个不同的标识符,C程序的书写非常灵活,既可以一行多句,又可以一句多行,且每行不加行号。本题正确答案为C。7、下面对C 语言特点,不正确描述的是()。C A)C语言兼有高级语言和低级语言的双重特点,执行效率高 B)C语言既可以用来编写应用程序,又可以用来编写系统软件 C)C语言的可移植性较差 D)C语言是一种结构式模块化程序设计语言 分析:C 语言是介于汇编语言和高级语言之间的一种语言,由于它可以直接访问物理地址,对硬件操作,所以C 语言既可以编写应用程序,又可以开发系统软件,而且C 程序可移植性好于汇编语言,程序清晰具有模块化的特点。本题正确答案为C。 8、C 语言源程序的最小单位是()。D A)程序行B)语句C)函数D)字符分析:程序行、语句、函数都是由字符构成的,字符是 C 语言的最小单位。本题正确答案 为D。 9、计算机内部运算使用的数是()。C A)十进制数B)十六进制数C)二进制数D)八进制数

C语言第1章概述

第一章概述 单选题 C语言的前身是(B )。 A.A语言 B.B语言 C.C++语言 D.BASIC语言 C语言规定,必须用(C )作为主函数名。 A.Function B.include C.main D.void 一个C程序可以包含任意多个不同名的函数,但有且仅有一个(B )。 A.过程 B.主函数 C.函数 D.进程 一个C程序总是从( B)开始执行。 A.过程 B.主函数 C.函数 D.进程 C程序的基本构成单位是(A )。 A.函数 B.过程 C.进程 D.子程序 下列说法正确的是( D)。 A.main函数必须放在C程序的开头 B.main函数必须放在C程序的最后 C.main函数可以放在C程序中间部分,执行C程序时是从程序开头执行的 D.main函数可以放在C程序中间部分,执行C程序时是从main函数开始的下列说法正确的是( C)。 A.在执行C程序时不是从main函数开始的 B.C程序书写格式严格限制,一行内必须写一个语句 C.C程序书写格式自由,一个语句可以分写在多行上 D.C程序书写格式严格限制,一行内必须写一个语句,并要有行号 在C语言中,每个语句和数据定义结束都是用( C)。 A.句号 B.逗号 C.分号 D.括号 不是C语言提供的合法关键字( B)。 A.switch

C.case D.default 不是C语言提供的合法关键字( D)。 A.int B.float C.char D.scanf C语言提供的合法关键字是(A )。 A.break B.printf C.function D.end C语言提供的合法关键字是(A )。 A.continue B.procedure C.begin D.scanf 下列说法正确的是(C )。 A.一个函数的函数体必须要有变量定义和执行部分,二者缺一不可 B.一个函数的函数体必须要有执行部分,可以没有变量定义 C.一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数 D.一个函数的函数体必须要有变量定义,可以没有执行部分 下列说法正确的是( D)。 A.C语言中引号可以单独使用 B.C语言中括号可以单独使用 C.C语言中逗号可以单独使用 D.C语言中分号可以单独使用 下列字符串是合法的用户自定义标识符的是( A)。 A._HJ B.9_student C.long D.LINE 1 下列字符串是合法的用户自定义标识符的是(A )。 A.char1 B.#int C.float D.void-2 下列字符串不是合法的用户自定义标识符的是(C )。 A. a B.pi C.if D.print 下列字符串不是合法的用户自定义标识符的是(D )。

相关主题
相关文档
最新文档