当前位置:文档之家› Visual C++ 6.0语言基础

Visual C++ 6.0语言基础

Visual C++ 6.0语言基础
Visual C++ 6.0语言基础

第一章 Visual C++ 6.0语言基础

[本章重点]学会创建一个简单 Visual C++6.0控制台程序,掌握VC的基本数据类型以及常量、变量的含义和用法,各种运算符的运算规则、优先级、结合性,各种表达式的含义和用法。

[本章难点]理解VC基本数据类型、常量、变量、运算符、表达式的概念及在程序中的用法。

C++是目前最受欢迎的程序设计语言之一,它既可以用来编写系统软件也可以用来编写应用软件,由于其完全支持面向对象程序设计,所以通过C++的学习可以快速掌握面向对象程序设计的思路。本章是学习本书的基础,首先介绍C++语言的发展和特点,随后通过一个简单的实例介绍了Visual C++6.0控制台程序的建立过程及文件类型,然后讲解VC的基本数据类型、运算符、表达式及程序的编写规则,最后介绍 VC控制台程序中数据的输入与输出。

第一节Visual C++6.0语言概述

一、计算机语言的发展

计算机语言(Computer Language)是用于人与计算机之间通讯的语言,是人与计算机之间传递信息的媒介。二十世纪四十年代当计算机刚刚问世的时候,程序员必须手动控制计算机,使用机器语言来编程,后来为了减小编程的难度,人们用英文缩写的标识符代替原来的二进制符号指令,于是就产生了汇编语言。汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过容易识别和记忆,所以汇编语言有时又称为伪机器语言,机器语言和汇编语言被称为“低级语言”。随着程序规模的不断扩大,汇编语言越来越不能满足人们的需要,20世纪50年代,出现了“高级语言”,它接近人们习惯使用的自然语言和数学语言,使人们易于学习和使用,如C、BASIC、PASCAL等等,后来又出现了许多升级版本。发展到目前,我们常用的高级语言有Microsoft Visual https://www.doczj.com/doc/bf552747.html,、https://www.doczj.com/doc/bf552747.html,、https://www.doczj.com/doc/bf552747.html,等,Microsoft Visual https://www.doczj.com/doc/bf552747.html, 2003版集成了Microsoft Visual Basic .NET、Microsoft Visual C++.NET、Microsoft Visual C# .NET、Microsoft Visual J++ .NET等。高级语言是目前绝大多数编程者的选择,和汇编语言相比,它将许多相关的机器指令合成为单条指令,大大简化了程序中的指令,同时由于省略了很多细节,编程者也就不需要有太多的专业知识,更易为人编写,而且程序的平台无关性使程序可以方便地被移植到网络上的不同机器、不同平台。未来的程序设计语言会是什么样的,现在还不能确切预知,但可以肯定的是未来的程序设计语言功能会更强大、编程会更容易,编程人员也许不用再写具体的编程语句,只需简单的描述一下程序的功能,计算机就会给我们编写出程序来。从计算机编程语言的发展过程我们可以看出,编程语言的功能越来越强大,程序员的编程工作越来越容易。

二、 Visual C++6.0语言的发展

在1970年, AT&T 贝尔实验室的 Ken Thompson根据BCPL( Basic Combind Programming Language)语言设计出较先进的并取名为 B的语言, 1972年美国的Dennis Ritchie在B语言的基础上设计发明了另一种语言,取名为C 语言,随着微型计算机的日益普及, 出现了许多C 语言版本,如Turbo C、ANSI C、Borland C等,微软推出Windows 操作系统后,推出C 语言的可视化编程版本Visual C++1.0一直到Visual C++6.0,目前最新的是Visual C++.NET。

三、如何快速入门Visual C++6.0语言

刚刚起步学习计算机,学习的第一个计算机语言就是Visual C++6.0语言,那么怎样学才能学会?如何快速入门Visual C++6.0语言?

在回答这几个问题前,先浅谈一下Visual C++6.0语言的重要性:

首先,Visual C++6.0语言语法结构很简洁精妙,写出的程序也很高效,Visual C++6.0语言能够让编程人员深入系统底层,编写底层硬件的驱动程序,所以,如果想在程序设计方面有所建树,就必须去学习它。

其次,学会Visual C++6.0语言,再学习别的语言会非常轻松,如履平地,可以说如果掌握了Visual C++6.0语言,就等于掌握了很多门语言,因此招聘程序员的条件,好多都要求精通Visual C++语言。

再者,对于专业以硬件方面为主的学生来说,以后的课程还要用到它,如数据结构、单片机编程等,所以为了顺利学习以后的课程,也必须去学好它。

那么对于初学编程者,怎样学才能学会?如何快速入门语言呢?根据编者本人多年学习计算机语言的体会,提出以下几点建议:

1)初学者开始一定要调整好自己的心态,不要急于求成,不用怕学不会。不少人在学习Visual C++6.0之前,可能就听到了不少人说Visual C++6.0非常难学。的确,相对Visual Basic 或Delphi来说,VC是比较难入门并且不容易学会,但肯定能学会。

刚开始学习时,应顺着教材一步一步的走,先记忆教材上的知识,等到以后学习的内容逐渐增多,再逐渐加深理解,遵循由易入门,逐渐深入的学习方法。

2)勤学多练。不管是初学者还是已经能熟练运用者,在学习新的内容时总会遇到不容易懂的知识点,这时可以采取的方法是多看几遍书,多问几个人,多上机练习几次,难点最终会被克服。

3)会丢包袱。Visual C++6.0语言的功能非常强大,内容也非常多,初学者一定不要想把它的所有功能都学会,只需要先掌握基本的概念和方法,再把常用的部分和大的编程框架能学会学懂就可以了,以后遇到要实现新的软件功能时,再去查找相应的参考资料来编程实现。

第二节一个简单 Visual C++6.0控制台程序实例

一、一个简单实例

控制台程序是一类功能和操作都比较简单的程序,下面我们建立一个简单的Visual C++6.0控制台程序,操作方法如下:

1) 单击“开始-〉所有程序-〉Microsoft Visual Studio 6.0-〉Microsoft Visual C++ 6.0”,启动 Visual C++6.0(如图1-1),启动后显示Visual C++ 6.0开发平台(如图1-2)。

图1-1 从开始菜单启动 Microsoft Visual C++ 6.0开发环境

图1-2 Visual C++ 6.0开发平台

2) 单击“文件-〉新建”菜单命令,显示出“新建”对话框(如图1-3)。在新建对话框单击“工程”标签,选中Win32 Console Application项,然后在工程框中键入控制台应用程序项目名称,在这里取名为myfirst,工程的所有文件保存在位置框中的文件夹内,该工程的文件保存在“C:\Program Files\Microsoft Visual Studio\MyProjects\myfirst”文件夹,为了便于个人工程的管理,最好建立保存自己工程的文件夹,可在位置下的编辑框中直接键入文件夹名称,也可单击位置框右方的按钮选择一个已有的文件夹。

图1-3 新建对话框

3) 单击“确定按钮”,显示出“Win32 Console Application –step 1 of 1”对话框,选择控制台程序类型(如图1-4)。选中A “Hello,World!” application项,然后单击完

成按钮。

图1-4控制台程序类型选择对话框

4) 单击完成按钮后,显示出新建工程信息对话框(如图1-5),新建立的工程是一个简

单的Win32控制台程序,程序的功能是在屏幕上打印出“Hello,World!”后退出,并显示该

工程的主程序是myfirst.cpp,预编译头文件是Stdafx.h 和一个源文件Stdafx.cpp,对话

框下方显示存放当前工程的文件夹是:“C:\Program Files\Microsoft Visual

Studio\MyProjects\myfirst”。如果要建立该工程,则单击确定按钮,系统将自动创建此工

程;若不想建立该工程,则单击取消按钮,系统将撤销此工程的建立。

图1-5 新建工程信息对话框

5) 单击确定按钮,系统进入myfirst工程开发平台,在工作区内显示出工程myfirst 的两个视图,当前显示的是FileView,即文件视图(如图1-6),可以看到当前工程中的所有文件,在Source Files文件夹即源文件夹中有myfirst.cpp和Stdafx.cpp两个源文件,源文件是存放程序代码的文件;在Header Files文件夹即头文件夹中有Stdafx.h这个头文件,头文件一般存放预定义的常量、函数等;在ReSource Files文件夹即资源文件夹中目前没有文件,资源文件一般是存放图形、图标、菜单的文件;还有一个文档文件ReadMe.txt,文档文件一般用来说明系统中各类文件的作用、软件使用说明等;用鼠标双击相应的文件,就可把该文件打开,例如用鼠标双击myfirst.cpp后,窗口显示myfirst.cpp文件的内容(如图1-7),它只有几行,每行的作用如下:

第一行“// myfirst.cpp : Defines the entry point for the console application”是注释行,“//”是注释行开始的标志,本句注释说明文件myfirst.cpp的主要作用是定义了控制台程序的入口点,也就是说程序从这个文件开始执行。注释行在程序执行时被忽略,但对编程人员来说很重要,它使程序易读,并为程序以后的修改提供极大的便利。

第二行“//”,是一行空注释行。

第三行“#include "stdafx.h" ”,#include是一个预编译指令,告诉系统在编译后面的程序之前先编译stdafx.h文件的内容。

第四行“int main(int argc, char* argv[])”,声明了系统的主函数main,函数main 是控制台程序执行的开始点,每一个控制台程序都必须有且只能有一个main函数。函数是程序的基本功能单位,程序的功能就是由一个或多个函数实现的,main前面的int定义了main函数运行结束后要返回一个整形数,main后面(int argc, char* argv[])是main函数的参数。

第五行“{”,函数体开始的标志。

第六行“printf("Hello World!\n");” printf是一个系统已经定义好的函数即系统函数,功能是把它后面括号内的内容在屏幕上显示。

第七行“return 0; ”return是返回语句,表示程序执行到这里就结束了,并返回一个整数零,返回值的具体用法在第三章函数中有详细说明。

第八行“ }”,函数体结束的标志。

图1-6 myfirst工程开发平台文件视图

图1-7 myfirst.cpp文件的内容

用鼠标双击stdafx.cpp文件,窗口显示stdafx.cpp文件的内容(如图1-8),它除了

几行注释,只有一行#include "stdafx.h"。

图1-8 stdafx.cpp文件的内容

用鼠标双击stdafx.h文件,窗口显示stdafx.h文件的内容(如图1-9),这个文件主要是用#define语句定义了几个常量,这几行的作用可以忽略,#include 是把系

统头文件“stdio.h”包含进来,这个头文件里有函数printf的声明。

图1-9 stdafx.h文件的内容

工作区内显示出工程myfirst的另一个视图是ClassView,即类视图,用鼠标单击

ClassView按钮,则显示类视图(如图1-10),当前工程目前还没有类,在Globals文件夹

即全局文件夹中只有一个主函数main的声明,用鼠标双击main函数,可以打开main函数

所在的源文件,并定位到main函数的位置(如图1-11)。

图1-10 myfirst工程开发平台类视图

图1-11 鼠标双击main函数后打开main函数所在的文件

以上就是VC自动生成的各类文件,单击编译-〉执行myfirst.exe文件菜单(如图1-12)或同时按Ctrl+F5键,系统对myfirst工程进行编译、连接,同时在输出窗口中在线地显示出编译的内容,并运行刚刚生成的myfirst.exe(如图1-13),“Press any key to continue”

是系统自动加上去的,在键盘上按任意键则退出该程序的运行,返回VC开发平台。

图1-12 编译-〉执行myfirst.exe文件菜单

图1-13 运行结果

到此为止,一个完整的控制台程序已经建立了,以后将逐步学习新的知识,编写自己的程序。

二、VC的程序编写规则

前面的控制台程序例子中的程序代码全是系统自动生成的,从中可以看出在书写程序时应遵循以下规则:

1)各个单词之间要用空格或其他分界符分开。

2)一条语句占一行,每一条语句都必须以“;”结尾,但预处理命令,函数头和花括号“}”之后不加分号。

3){}都是成对出现的,相匹配的大括号在同一列,括起来的语句,通常表示程序的某一层次结构,内部再嵌套{}时,应进行缩进排列,以便看起来层次清晰,增加程序的可读性;缩进是指程序在书写时不要将程序的每一行都由第一列开始,在适当的地方加进一些空行或空格,它同注释一样,也是为了提高程序的可读性。

4)边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性,注释的内容要清楚、明了,含义准确,防止注释二义性,注释行与代码行尽量分行书写。

5)严格区分大小写,两个词只有在包括大小写都完全相同的情况下才代表同一目标。

在编程时应力求遵循这些规则,以便于阅读、理解、维护程序。

三、常用VC源程序文件类型

前面的myfirst工程建立后,打开我的电脑或者资源管理器,找到文件夹“C:\Program Files\Microsoft Visual Studio\MyProjects\myfirst”(如图1-14),可以看到myfirst 工程的所有文件,下面列出了一些文件类型的的含义:

.dsp 工程文件

.dsw 工程工作区文件

.h 头文件

.cpp 源程序代码文件

.opt开发环境的参数文件

.plg 编译信息文件

.txt 文档文件

图1-14 myfirst工程文件夹

第三节数据类型

在学习下面的内容之前,先把前面的程序作点修改,以便于理解计算机语言编程的最基本思想。打开myfirst工程的myfirst.cpp文件,把该文件改为如图1-15的内容。然后按Ctrl+F5键,运行该程序,出现控制台程序窗口如图1-16,提示"请输入一个整数:",随意输入一个整数如555,然后按回车,程序运行结果如图1-17。

图1-15 修改后的myfirst.cpp文件

图1-16 控制台程序窗口

图1-17 程序运行结果

从程序运行结果,可以看出该程序的功能是让我们输入一个整数,然后把我们输入的整数在屏幕上显示出来,实现了最基本的输入和输出功能,该程序每句话的功能如下:

#include "stdafx.h" ………………………头文件

#include ………………………头文件

int main(int argc, char* argv[])…………main函数头{ …………………………………………………main函数体开始标志

int a; …………………………………………定义了一个变量a

cout<<"请输入一个整数:"; …………………在屏幕上输出提示

cin>>a; ………………………………………把从键盘上输入的数存入变量a

cout<<"你输入的整数是"<

return 0; ……………………………………函数返回}…………………………………………………main函数体结束标志

这个程序用到了VC系统一些预定义的标识符、关键字,还有我们自己定义的变量,这

就是本节要介绍的VC语言的基础知识。

一、VC的基本字符集和词汇集

(一)基本字符集

字符是组成语言的最基本的元素。VC语言字符集由字母、数字、空格、标点和特殊字符组成。在字符常量、字符串常量和注释中还可以使用汉字或其它可表示的图形符号,在其他部分只能使用由字符集中的字符组成的符号。

1)字母:小写字母a~z共26个,大写字母A~Z共26个

2)数字:0~9共10个

3)空白符:空格符、制表符、换行符等统称为空白符。空白符只在字符常量和字符串常量中起作用,在其它地方出现时,只起间隔作用,编译程序对它们忽略不计。因此在程序中使用空白符与否,对程序的编译不发生影响,但在程序中适当的地方使用空白符将增加程序的清晰性和可读性。

4)标点和特殊字符:! # % ^ & * _(下划线) + = - ~ < > / \ ' " , . ; ()[ ] { }

(二)词汇集

在VC语言中使用的词汇分为六类:标识符,关键字,运算符,分隔符,常量,注释符。

1.标识符

程序中使用的变量名、函数名、类名等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义,库函数是VC语言开发系统已定义好的函数,在使用时只要把包含该库函数的头文件在程序开头用#include 语句包含进来即可。VC 规定,标识符只能是字母A~Z,a~z、数字0~9和_(下划线)组成的字符串,并且其第一个字符必须是字母或_(下划线)。

以下标识符是合法的:myName, _memo, a6, age

以下标识符是非法的:8a (以数字开头),名字(汉字是非法标识符),5*x (有非法字符*)

在使用标识符时还必须注意以下几点:

1) 在VC标识符中,大小写是有区别的。例如age和Age尽管只有一个字母的大小写不同,但这是两个不同的标识符。

2) 标识符命名尽量做到顾名思义,尽量用英文表达出标识符的功能。变量命名要符合“匈牙利法则”,即开头字母用变量的类型,其余部分用变量的英文意思或其英文意思的缩写,尽量避免用中文的拼音,要求每个单词的第一个字母应大写,对于变量作注释时可紧跟在变量的后面说明变量的作用,例如用变量cStudentName代表学生的名字,用变量cTeacherName代表教师的名字;函数的命名应该尽量用英文表达出函数完成的功能,遵循动宾结构的命名法则,函数名中动词在前,例如用DrawPicture命名绘图函数的名字。

3) 标识符不能是VC的关键字。

2.关键字

关键字是由VC语言规定的具有特定意义的字符串,程序员只能按系统已定义好的用法去使用,因此通常也称为保留字。VC语言的关键字分为以下几类:

1) 类型说明符

用于定义、说明变量、函数或其它数据结构的类型,常用的类型说明符有auto bool char class const enum extern float friend int long namespace private protected public register short signed static struct template typedef typename union unsigned virtual void 等。

2) 语句定义符

用于表示一个语句的功能,常用的语句定义符有break case default do 等。

3) 预处理命令字

用于表示一个预处理命令,在程序中使用时前面都以“#”来引导,常用的预处理命令字有define include undef等。

3.运算符

VC语言中含有丰富的运算符,运算符与变量、函数一起组成表达式,表示各种运算功能,常用的运算符有= + - * / % >> << & | ^ == && || ?: += -= *= /= ++ -- 等。

4.分隔符

在VC语言中采用的分隔符有逗号和空格两种,一定要英文标点状态下输入。逗号主要用在类型说明和函数参数表中,分隔各个变量。空格多用于语句各单词之间,作间隔符。在关键字,标识符之间必须要有一个以上的空格符作间隔,否则将会出现语法错误,例如把int iStudentNum 写成intiStudentNum,VC编译器会把intiStudentNum当成一个标识符处理,其结果就会出错。

5.常量

常量,是相对变量来说,就是指在程序运行时内容不可再改变的量,VC 语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种,在后面章节中将专门给予介绍。

6.注释符

VC语言的注释符有// /* */ 共三个。注释有两种书写方式:一种是以“//”开始的行,则该行为注释;另一种是以“/*”开始,从该标志起,直到遇到结束注释标志“*/”,在“/*”和“*/”之间的内容全是注释,这个方式常用于注释内容较多的情况。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。在调试程序时,对暂不使用的语句也可用注释符括起来,待调试结束后再去掉注释符。

二、基本数据类型

在日常生活中,我们用整数统计人数,用实数来统计财务收支,用字符来取名,用对或错来判断是非等,同理用计算机来处理数据时,也要对各类数据进行分类,不同类型的数据有不同的操作方式和不同的取值范围。在VC中,数据类型可分为基本数据类型和自定义数据类型,自定义数据类型在以后的章节学习,基本数据类型是VC系统已经定义好的,它的最主要的特点是其值不可以再分解为其它类型。VC基本数据类型如表1-1所示,我们可以根据数据的用途来决定使用哪种数据类型,在使用各类数据类型时,一定注意不要超过该类型的取值范围。

表1-1 VC基本数据类型

的人数时,再用short型数据就可能越界,越界时输出的结果是错误的数据。我们打开myfirst 工程的myfirst.cpp文件,把该文件中的main函数改为如下内容

int main(int argc, char* argv[])

{

short a; //定义了一个短整型变量,取值范围

-32768~32767

a=32769; //对该短整型变量赋值,并且超了取值范围cout<<"a在计算机中的值是"<

return 0;

}

如图1-18,程序的输出结果如图1-19,可以看出计算机中变量a的值不是原先的值32769,就是因为该值越界了。

图1-18 修改后myfirst工程的myfirst.cpp文件

图1-19 程序的输出结果

三、常量与变量

基本数据类型又可按其取值是否可改变又分为常量和变量两种,它们可与数据类型结合起来分类,例如,可分为整型常量、整型变量、浮点型常量、浮点型变量、字符型常量、字符型变量等。

(一)常量

在程序执行过程中,其值不发生改变的量称为常量,例如235 2.5 ?c‘”abc”都是常量;常量是可以不经说明而直接引用,例如可以直接用语句“cout<<2008;”在屏幕上输出2008。

1.整型常量

整型常量可以用十进制、八进制或十六进制表示。

十进制整型常量:即十进制整数,如199、336等,由0至9的数字组成。

八进制整型常量:以数字0开头的整数,如0125、0332等,由0至7的数字组成。

十六进制整型常量:以0x或0X开头的整数,如0x125a、0X3d2等,由0至9、A至F

或a至f组成。

另外,整型常量中的长整型(long)要以L或小写字母l作为结尾,如123L, 整型常量中的无符号型(unsigned)要以U或u作为结尾,如899u。

2.浮点型常量

浮点型常量也可称为实型常量,有两种表示形式:

1)十进制数形式:由整数部分和小数部分组成,如56.899,662.888等。

2)指数形式:采用科学表示法,能表示出很大或很小的浮点数,如0.1e35(表示0.1×1035),0.5e-20(表示0.5×10-20)等。

另外,浮点型常量默认是双精度类型(double),若浮点型常量是以F或f结尾的,则表示单精度类型(float),以L或小写字母l结尾的,表示长双精度类型(long double)。

3.字符型常量

用单引号括起来的一个字符,如‘c‘?b‘?9‘等被称为字符型常量,另外还有一些字符,有的无法从键盘直接输入,如换行符,有的已经被定义了专门的用途,如单引号双引号等,也是字符型常量,为了使用这些字符,在VC中又专门对这些字符作了定义,称为转义序列,如表1-2。

表1-2、常用转义序列表

对字符型常量,不管是一般字符还是转义序列的字符,都可以用十六进制ASCII码来表示。例如字符‘a‘的十六进制ASCII码是61,字符‘a‘可以表示为‘\x61‘。用转义序列以及十六进制ASCII码字符来表示字符常量的用法在下面变量一节的内容中举例。

4.字符串常量

字符串常量是一对双引号括起来的字符序列,可以包含空格、转义序列符、十六进制ASCII码或其他字符。例如:―I am your friend \n\x0D ‖,字符串一行写不下时,需要用?\‘来连接。

字符常量和字符串常量主要的区别如下:

1) 字符常量用单引号括起来,在计算机中占一个字节;字符串常量是用双引号括起来,在计算机中至少占用两个字节。例如?a‘是字符常量,占一个字节来存放字符a的ASCII码值,而―a‖是字符串常量,它的长度不是1而是2,除了字符a之外,它的末尾还有个?\0‘字符。每个字符串的末尾都有一个这样的字符。

2) 字符常量实际上是整型常量的特殊形式,它可以参与常用的算术运算;而字符串常量则不能。例如:int m= ?a‘+10;// 结果m为107,这是因为将?a‘的ASCII码值97参与运算。

5.符号常量

以标识符命名的常数值称为符号常量,可用#define或const语句定义符号常量,语法是:#define 符号常量常量值

const 数据类型符号常量 =常量值;

例:#define PI 3.14

const double PI= 3.14;

一个#define或const语句只能说明一个符号常量,且#define语句后没有“;”,符号常量在使用之前必须先定义,一经定义,以后在程序中不能再改变符号常量的值,习惯上符号常量用大写字母拼写,定义符号常量的好处是增加程序易读性和易维护性。

6.布尔型常量

布尔型常量有且只有两个值:false 和 true 。

(二)变量

在程序执行过程中,其值可变的量称为变量。一个变量有一个名字,并在内存中占据一定的存储单元,这些存储单元中存储着变量的值。变量代表内存中指定的存储单元,存储单元在程序中可以根据需要赋予不同的数值,所以变量值是可以变化的,但是变量必须先定义后使用。

1.变量的定义

定义变量的语法是:

数据类型变量名标识符1,变量名标识符2, …… ,变量名标识符n;

例如:

bool flag; //定义了一个布尔变量flag

int a, b, c; //定义了三个整型变量a、b、c

char c5,c6; //定义了两个字符变量c5、c6

关于变量定义需要说明的是:

1)在同一个程序块中,或者说在一对{}的同一层次内,不能有两个相同的变量名。

2)没有字符串变量类型,字符串是用字符类型的数组或指针来定义,在以后学习。

3)VC变量的定义比较自由,可以随时定义,但一般在程序开始位置或函数体语句前面定义。

4)在不同位置定义的变量,作用范围不同。

2.变量的初始化

使用变量前对变量赋值的过程称为变量初始化,可以在定义变量时同时初始化变量,也可以在定义以后对变量初始化。

定义变量同时初始化变量,例如:

bool flag=true; //定义了一个布尔变量flag,初值为true

int a=10, b=20, c=30; //定义了三个整型变量a、b、c初值分别为10、20、30

char c5=’d’; //定义了一个字符变量c5,初值为字符d

char c6=’\n’; //定义了一个字符变量c6,初值为换行符定义变量以后再初始化,例如:

bool flag; //定义了一个布尔变量flag

int a,b,c; //定义了三个整型变量a、b、c

char c5; //定义了字符变量c5

flag=false; // flag初值为false

a=10;b=20;c=30; // a、b、c初值分别为10、20、30

c5=’\0x61’; //等价于c5=’a’; 初值为字符a

一个未初始化的变量的值是系统的缺省值或无效值,我们再打开工程myfirst的myfirst.cpp文件,把该文件中的main函数改为如下内容

int main(int argc, char* argv[])

{

char c; //定义一个字符型变量

//输出字符型变量在计算机中未初始化时的值

cout<<"字符型变量在计算机中未初始化时的值是"<

int a; //定义一个整型变量

//输出整型变量在计算机中未初始化时的值

cout<<"整型变量在计算机中未初始化时的值是"<

return 0;

}

程序的输出结果如图1-20,可以看出计算机中未初始化的变量的值是随机数,因此在使用变量参加计算前要初始化变量。

图1-20 程序的输出结果

第四节运算符和表达式

在日常生活中,我们要对数据做加减乘除等各种运算,同样,在计算机编程时,也要对各类数据进行运算。最基本的运算形式可以用一些简洁的符号来描述,这些符号称为运算符或操作符,被运算的数据称为操作数,由运算符和操作数构成的式子称为表达式。

VC语言的运算符按功能可分为算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、条件运算符、逗号运算符和其它运算符。按操作数的数目可分为一元运算符、二元运算符和三元运算符,它们分别对应于一个、两个和三个操作数。

一、算术运算符和算术表达式

算术运算符用来对数值型数据执行简单的计算,用算术运算符和括号将操作数连接起来的符合VC语法规则的式子称为算术表达式,算术运算符和表达式如表1-3所示。

表1-3算术运算符和表达式

这里特别要说明的是自增1运算符“++”和自减1运算符“--”,当它们在操作数前时,操作数先自增1或自减1,然后再参与其它运算;在操作数后时,操作数先参与其它运算,然后操作数再自增1或自减1。我们再打开工程myfirst工程的myfirst.cpp文件,把该文件中的main函数改为如下内容,程序的输出结果如图1-21。

int main(int argc, char* argv[])

{

int i,k; //定义两个整型变量

i=9; //i的值为9

k=++i; //i的值先加1,变为10,然后把i的值赋给k,则k的值为10 //输出i的值

cout<<"变量i的值是"<

//输出k的值

cout<<"变量k的值是"<

i=9; //i的值重新赋为9

k=i++; //i的值先赋给k,则k的值为9,然后i的值加1变为10 //输出i的值

cout<<"变量i的值是"<

//输出k的值

cout<<"变量k的值是"<

return 0;

}

图1-21 程序的输出结果

二、赋值运算符和赋值表达式

赋值运算符有: = += -= *= /= %= &= |= ^= <<= >>=

共十一个,后十个又称为复合赋值运算符,由赋值运算符连接的式子称为赋值表达式,赋值表达式的功能是计算右边表达式的值再赋给左边的变量,例如:

i=99 //变量i的值为99,表达式的值也为99

i=m=n=8 //变量i、m、n的值都为8,表达式的值也为8,此表达式等价于i=(m=(n=8)) i+=5 //此表达式等价于i=i+5

i*=m+5 //此表达式等价于i=i*(m+5 )

在写复合赋值运算符时注意在复合赋值运算符之间不能有空格,例如 *= 不能写成 * = 。

在赋值表达式在其未尾加上分号就是赋值语句,例如:

i=100; m=n=555;

赋值语句和赋值表达式的区别是:赋值表达式可以作为一个更复杂的表达式的一部分继续参加运算,赋值语句则不可以。

三、关系运算符和关系表达式

关系运算符用来比较两个操作数,由操作数和关系运算符组成的表达式称为关系表达式,是一种简单的逻辑表达式,它的结果类型为bool,值只能为true 或false,其用法如表1-4。

表1-4关系运算符和表达式

号,则是赋值表达式,这是初学者最易出错的地方之一。

四、逻辑运算符和逻辑表达式

逻辑运算符用来判断操作数的布尔值为true或false,逻辑运算符有!、&&、|| 三个用逻辑运算符连接一个或多个逻辑量组成的式子称为逻辑表达式或布尔表达式,其用法如表1-5。

表1-5逻辑运算符和逻辑表达式

五、位运算符和表达式

位运算符是对操作数按其二进制计数法中的位进行操作,因此,当我们人工计算位运算表达式的值时,要把操作数首先转换为二进制数,VC语言的位运算符有六个:按位与(&)、按位或( | )、按位异或( ^ )、按位取反( ~ )、按位左移( << )、按位右移( >> )。位运算一般用于对char 或int 型的变量进行操作,对其相应位置0或者置1,实现控制系统中的开关控制。在与硬件通信时,经常会用到位运算,例如教室中有8盏灯,并把这8盏灯的开关控制信号通过硬件系统传入计算机,这时我们就可以定义一个unsigned char 类型的变量a,它的每一位对应着一个灯的开关信号,第0位对应第1盏灯,第1位对应第2盏灯……第7位对应第8盏灯,为1时灯开,为0时灯关,下面对变量a进行位运算。

(一)按位与(&)

按位与(&)运算是将两个操作数对应的二进制位进行逻辑与操作,若对应位都为1,则该位的运算结果为1,否则为0,一般是用来对一个操作数的某一位置0,把该位和0按位与,其他位和1按位与。例如假定a的值为0xff,即灯的初始状态全开,现在要把第3、第5盏灯关了,即要对a的第2、第4位置0,只需对a进行如下操作:a=a&0xeb;

按位与运算:

按位与运算后,变量a的值变为0xeb,第2和第4位置了0。

(二) 按位或( | )

按位或( | ) 运算是将两个操作数对应的二进制位进行逻辑或操作,若对应位都为0,则该位的运算结果为0,否则为1,一般是用来对一个操作数的某一位置1,把该位和1按位或,其他位和0按位或。例如假定a的值为0x81,即只有第1、第8盏灯的初始状态为开,现在要把第3、第5盏灯打开,即要对a的第2、第4位置1,只需对a进行如下操作:a=a | 0x14;

按位或运算:

按位或运算后,变量a的值变为0x95,第2和第4位置了1。

(三)按位取反(~ )

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

C语言基础知识_测试题

C语言程序设计基础测试题 一、单选 [1] 下面叙述中错误的是____。 A. 复合语句中定义的函数只在该复合语句中有效 B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式 C. 形式参数也是局部变量 D. 主函数中定义的变量在整个程序中都是有效的 [2]下列说法中正确的是____。 A.带参数的宏定义中的参数是没有类型的 B.宏展开将占用程序的运行时间 C.宏定义命令是C语言中的一种特殊语句 D.使用#include命令包含的头文件必须以“.h"为后缀 [3.] 若函数的形参为一维数组,则下列说法中正确的是____。 A.调用函数时的对应实参必为数组名 B.形参数组可以不指定大小 C.形参数组的元素个数必须等于实参数组的元素个数 D.形参数组的元素个数必须多于实参数组的元素个数 [4]. 系统的标准输出设备是____。 A.键盘 B.硬盘 C.内存 D.显示器 [5] 下面叙述中正确的是____。 A.全局变量在定义它的文件中的任何地方都是有效的 B.全局变量在程序的全部执行过程中一直占用内存单元 C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式 D. 说明函数时必须明确其参数类型和返回类型 [6]. C程序的基本结构单位是____。 A.文件 B.语句 C.函数 D.表达式 [7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。 A.aa数组元素的值分别是"abcd"和"ABCD" B.aa是指针变量,它指向含有两个数组元素的字符型一维数组 C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址 [8]. 任何一个C语言的可执行程序都是从____开始执行的。 A.程序中的第一个函数 B.main( )函数的入口处

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

C语言程序设计基础试题及答案

第一部分C语言基础 一、选择题 1、以下正确得C语言标识符就是() A。%X B。a+b?C.a123 D.test! 2、已定义int a,b;则以下不正确得C语句就是() A.a*=5;??B。b/=2;? C.a+=1、75;?D.b&&=a; 3、若x、i、j与k都就是整型变量,则执行下面表达式后x得值为( ) x=(i=4,j=16,k=32) A.4?B.16 ?C.32 D.52 4、C语言中得标识符只能由字母、数字与下划线三种字符组成,且第一个字符( ) A.必须就是字母???B.必须为下划线? C.必须为字母或下划线D.可以就是字母、数字、下划线中得任一字符 5、下面正确得字符常量就是( ) A.“c”? B。’\\”? C.‘w’??D.” 6、设int a=2,b=0,c;则执行语句c+=b&&a--后, c得结果为( )。 A.0,1B.1,0 ?C.2,0 D.不确定 7、以下不正确得C语言标识符就是()?A) int B)a_1_2?C)ab1exe D)_x 8、以下就是正确得C语言标识符就是( )。?A)#define?B)_123 C) %d D) \n 9、下列四组字符串中都可以用作C语言程序标识符得一组就是() 。?A) prin tB)i\am C)Pxq D)str_l ???oodbs tart$it line# _3d one_half My-〉bookCpp ? pow 10、下面各选项组中,均就是C语言关键字得组就是()。?A)auto,enu

m,include B)switch,typedef,continue?C)signed,union,scanf?D)if,s truct,type 11、下列不属于C语言关键字得就是( ) 。 A)default?B)register C)enum ?D)external 12、C语言程序从main()函数开始执行,所以这个函数要写在( )。?A) 程序文件得开始?B)程序文件得最后?C)它所调用得函数得前面 D) 程序文件得任何位置 13、下列关于C语言得叙述错误得就是( ) A)大写字母与小写字母得意义相同?B) 不同类型得变量可以在一个表达式中 C)在赋值表达式中等号(=)左边得变量与右边得值可以就是不同类型?D) 同一个运算符号在不同得场合可以有不同得含义 14、在C语言中,错误得int类型得常数就是( ) 。?A)32768?B)0 C)037?D) 0xAF 15、将字符g赋给字符变量c,正确得表达式就是( )。 A) c=\147 ?B)c="\147" ?C)c='\147' 16、下列转义字符中错误得一个就是( )。 A) ’\000’ B)'\0014' ?C) ’\x111’ D) ’\2’ 17、将空格符赋给字符变量c,正确得赋值语句就是( )。 A) c=’\0’ B) c=NULL C)c=0 D)c=32 18、已知:char a=’\70’;则变量a中()。 A)包含1个字符?B)包含2个字符?C) 包含3个字符?D) 说明非法 19、字符串"\”EOF\n=-\61\””得长度就是( )。 A)8 ?B) 9?C)14?D)非法字符串

谭浩强C语言知识点总结

谭浩强C语言知识点总 结 文件编码(GHTU-UITID-GGBKT-POIU-WUUI-8968)

C语言最重要的知识点总体上必须清楚的: 1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。 byte 是指字节, 一个字节 = 八个位.概念常考到的: 1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、define PI ; 这个写法是错误的,一定不能出现分号。 3、每个C语言程序中main函数是有且只有一个。 4、在函数中不可以再定义函数。 5、算法:可以没有输入,但是一定要有输出。 6、break可用于循环结构和switch语句。 7、逗号运算符的级别最低,赋值的级别倒数第二。 第一章 C语言的基础知识 第一节、对C语言的基础认识 1、C语言编写的程序称为源程序,又称为编译单位。 2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。 3、一个C语言程序有且只有一个main函数,是程序运行的起点。

第二节、熟悉vc++ 1、VC是软件,用来运行写的C语言程序。 2、每个C语言程序写完后,都是先编译,后链接,最后运行。(.c---?.obj---?.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。(常考!) 第三节、标识符 1、标识符(必考内容): 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了 2、标识符分为关键字、预定义标识符、用户标识符。 关键字:不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 预定义标识符:背诵define scanf printf include。记住预定义标识符可以做为用户标识符。 用户标识符:基本上每年都考,详细请见书上习题。 第四节:进制的转换 十进制转换成二进制、八进制、十六进制。 二进制、八进制、十六进制转换成十进制。 第五节:整数与实数 1)C语言只有八、十、十六进制,没有二进制。但是运行时候,所有的进制都要转换成二进制来进行处理。(考过两次)

C语言程序设计教程 教学大纲

附件一 C语言程序设计 教学大纲

C语言程序设计 一、本大纲适用专业、层次、总课时 1.适用专业:计算机类 2.层次:大专 3.总课时:64学时 二、课程性质和任务 《C语言程序设计》是计算机应用专业的专业必修课程,主要任务是介绍C语言中的数据类型,运算,语句结构及其程序设计的基本方法。目的是使学生掌握一门高级程序设计语言,学会利用C语言解决一般应用问题,并为后续的专业课程奠定程序设计基础。《C语言程序设计》是一门实践性很强的课程,必须通过上机操作才能掌握所学的知识,所以要特别强调讲授与上机操作相结合,要保证学生有充分的上机条件。 三、课程的基本要求与目标 根据市场对高职网络人才培养规格的需求特点,本课程的总目标是:“以学生为主体,以学生的学习为中心”,通过课程的实施,帮助学生学会学习。使学生的知识、情感、技能得到全面发展,既为今后的专业课程学习打下良好的知识与技能基础,又培养良好的态度,为其将来从事专业活动和未来的职业生涯打下基础。课程内容以“学其所用,用其所学”突出高职教育特点,确保人才培养目标的实现。课程目标如下: (1)知识目标:要求学生掌握基本的程序编写技能。学会利用常见的C程序开发工具的使用,掌握开发环境的配置,掌握常见菜单命令的使用以及整个窗口的布局设置。掌握结构化或模块化程序设计技能,学会数组、函数、三大控制结构、结构体和共用体以及指针的使用。为软件后期维护和管理提供必要的技术支持。 (2)能力目标: C语言程序设计的课程开设是从学生的角度出发,注重培养学生良好的动手实践习惯,注重培养学生严谨的行事风格,尤其注重挖掘学生的潜质,注重培养与社会接轨,培养学生具有踏实工作作风,良好的观察和思考能力强以及团队合作能力。 (3)情感目标:学生提高自己的独立思考和判断能力,通过这种方式能够对工作任务进行有效分析和寻求解决方案;加强自身的程序设计实践能力;培养从事软件研发的职业素养。在学习过程中使学生学会利用网络资源与他人进行交流与

c语言程序设计第五版习题答案

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、do while语句、switch 语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么?它由哪几部分组成? 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤? 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { int a1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main() { int a1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 3.输入下面程序并运行。

#include main() { printf("******\n"); printf(" *****\n"); printf(" ****\n"); printf(" ***\n"); printf(" **\n"); printf(" *\n"); } 【解答】运行结果为:****** ***** **** *** ** * 思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* I love C programs! ************************* 【分析与提示】 ①要有文件包含语句#include 。C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。这些函数的说明都包括在stdio.h文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include main() { printf("************************\n"); printf(" I love C programs! \n"); printf("************************\n"); }

年C语言程序设计基础期末考试试卷‘B’及答案

年C语言程序设计基础期 末考试试卷‘B’及答案 The following text is amended on 12 November 2020.

一、单项选择题 1. 在C语言中,下面字符串能用作变量名的是( )。 A、a+b B、auto C、2-and D、a2 2. 若double x=2,y;则执行y=x+3/2;后,y的值是( )。 A、 B. C. D. 3 3. 下列关于C语言中字符常量与字符串常量的叙述中,错 误的是( )。 A、字符常量是用单撇号括起来的一个字符 B、空格字符也可用作字符常量 C、字符串常量是用单撇号括起来的一个字符序列 D、字符串常量是用双撇号括起来的一个字符序列 4. 若有以下变量说明和数据的输入方式,则正确的输入语 句为( )。

变量说明:float x1,x2; 数据的输入方式:<回车> <回车> A、scanf(“%f,%f”,&x1,&x2); B、scanf(“%f%f”,&x1,&x2); C、scanf(“%,%”,&x1,&x2); D、scanf(“%%”,&x1,&x2); 6. 在一个源文件中定义的全局变量的作用域为()。 A. 本文件的全部范围 B. 从定义该变量开始至本文件结束 C. 本函数的全部范围 D. 本程序的全部范围

7. 当调用函数时,实参是一个数组名,则向函数传送的是( )。 A、数组的长度 B、数组的首地址 C、数组每一个元素的地址 D、数组每个元素中的值 8.若j为整型变量,则下面while循环( )。 j=10; while(j!=0) j=j-1; A、执行0次 B、执行1次 C、执行10次 D、执行无限次 9. 在while(x)语句中的x与下面条件表达式等价的 是:( )。 A、x!=0 B、 x==1 C、x!=1 D、x==0 10. 以下对C语言函数的描述中,正确的是( )。 A、调用函数时,参数可以是表达式

(完整版)C语言程序设计练习及答案

《C语言程序设计》练习及答案 得分评卷人复查人 一、单选题,每小题1分,共60分(将正确答案的序号写在题目的括号中)。 1、结构化程序设计的三种基本控制结构是(D )。 A、主程序、子程序、函数 B、输入、处理、输出 C、调用,返回,转移 D、顺序、选择、循环 2、下列关于C程序变量的叙述, ( D )是错误的。 A、变量名必须由字母或下划线开头。 B、程序中的变量必须在被使用之前定义。 C、不同的基本类型的变量之间可以混合运算。 D、变量的数据类型决定变量的"作用域"。 3、能将C语言编写的源程序转换为目标程序的软件是(C )。 A、编辑程序 B、汇编程序 C、编译程序 D、解释程序 4、以下符号中,合法的用户标识符是( D )。 A、-p B、int C、3ab D、_xt_ 5、以下选项中,与m=n++完全等价的表达式是( C )。 A、m=++n B、m+=n+1 C、m=n, n=n+1 D、n=n+1,m=n 6、若有定义:int aa[8];。则以下表达式中不能代表数组元aa[1]的地址的是(C )。 A、&aa[0]+1 B、&aa[1] C、&aa[0]++ D、aa+1 7、表达式!5&(7+3)&&(4+5)的值是(A)。 A、0 B、1 C、5 D、9 8、以下选项中非法的C语言表达式是(A )。 A、x+1=x+1 B、0<=x<100 C、i=j==0 D、(char)(65+3) 9、在TURBO C中, int类型变量所占字节数是(B )。 A、1 B、2 C、4 D、8 10、C语言中基本的数据类型包括(B)。 A、整型,实型,逻辑型 B、整型,实型,字符型

(完整版)《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

C语言基础知识

常量和变量 1.常量: 程序执行过程中,值不变的量。 3 ,'a' 变量:值可以改变的量。 一个变量有一个名字,在内存中有一定的存储单元,存放变量的值。 2.常量类型: a.整型:12,0,-3 b.实型:4.6,-1.2 c.字符型: 'a','d' d.符号常量: #define PRICE 30 (PRICE不能再被赋值且要大写) 3.变量: 先定义,后使用。一个变量只能被指定为一确定类型。 4.标识符:标识变量名,符号常量名,函数名,数组名,类型名,文件名的有效字符数列。 a.由字母、数字、下划线三种字符组成,第一个字符必须为字母或下划线。 b.大写字母、小写字母被认为是两个不同的字符。 c.长度一般小于8个。 数据类型 一.整型: 1.整型常量 a.十进制:12,-3,0 b.八进制:以0开头。 c.十六进制:以0x开头。 2.整型变量 a. int -32768——32767 b. short int -32768——32767 c. long int d. unsigned int 0——65535 e. unsigned short 0——65535 f. unsigned long int、short int、long int 第一位为符号位 0000001 (0为正,1为负) unsigned 第一位不是符号位 0000001 所以int型和unsigned型的000001不是同一个值。 二.实型: 1.实型常量:

a.十进制数:数字和小数点组成。0.12,.12,12.0,0.0 b.指数:e之前必须有数字,e后面必须为整数。12e3 2.实型变量: a.单精度:float 7位有效数字 111111.1可,111111.11不可。 b.双精度:double 15—16位有效数字。 三.字符型: 1.字符常量: a. 'a' , 'x' , '*' ,'$' 。 b. 转义字符:‘\n'换。 '\t'从第九列开始。'\r'回车。 '\b'退一格。 2.字符变量: char char='a' 一个字符变量在内存占一个字节。 。将一个字符常量放到一个字符变量中,并不是把该字符本身放到内存单元中去,而是将该字符的ASC码 放到存储单元中,所以字符型数据和整型数据之间可以通用。一个字符型数据既可以以字符形式输出, 又可以以整数形式输出。 四.字符串常量: "how are you", "a","&12" 。不能把一个字符串赋给一个字符变量。 char c='a'对,char c="how" 错。 。'a' :在内存中存a。 “a”:在内存中存a\0。 ‘\0’是C语言中判断字符串是否结束的标志。 变量赋初值 a. int a=3; float f=7.2; char c='a'; b. int a,b,c=5; 相当于 int a,b,c; c=5; c. int a=3;b=3;c=3; 不可写: int a=b=c=3;

(完整版)C语言程序设计教程第五章练习题题目

单选题 1、关于数组的定义与初始化,下列哪一项是错误的() A.int arr[5] = {1,2,3,4,5}; B.int arr[] = {1,2,3,4,5}; C.int arr[5] = {1,2,3}; D.int arr[5] = {1,2,3,4,5,6}; 2、在定义数组int arr[10]后,下列选项中对arr的引用正确的是() A.arr[10] B.arr[6.3] C.arr(6) D.arr[0] 3、在C语言中,引用数组元素时,其数组下标的数据类型允许是() A.整型常量 B.整型表达式 C.整型常量或整型表达式 D.任何类型的表达式 4、若int arr[5] = {1,2,3}; 则arr[2]的值为() A.1 B.2 C.3 D.null 5、在执行int arr[][3] = {1,2,3,4,5,6}:语句后,arr[1][0]的值为() A.4 B.1 C.2 D.5 6、关于二维数组,下列选项能正确定义并赋初值的是() A.int n = 5,b[n][n]; B.int a[1][2] = {{1},{3}}; C.int c[2][] = {{1,2},{3,4}}; D.int a[3][2] = {{1,2},{3,4}}; 7、阅读下列程序段: char s[18] = "a book!"; printf("%.4s\n", s); 其输出结果为() A.a book! B.a book C.a bo D.a 8、阅读下列程序: int a[4][4] = { { 1, 3, 5, }, { 2, 4, 6 }, { 3, 5, 7 } }; printf("%d%d%d%d\n", a[0][0], a[1][1], a[2][2], a[3][3]);

C语言程序设计第二版习题参考答案

C语言程序设计第二版 习题参考答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII 码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是 ___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。

C语言程序设计基础

题型及分数: 单选题:25分 判断题:10分 填空题:15分 程序分析题:20分 编程题:30分 其中:课后习题及复习大纲中相类似题所占比例在70%-80%。 带*号的内容和复习题为较难部分,为非重点考察内容。 第一章C语言程序设计基础(出题比例4-6%) 1.程序设计语言的基本概念 ?程序 ?程序设计语言 ?常用程序设计语言及其类型 ?源程序、编译、目标文件、连接、可执行程序 ?编程的步骤 2.C语言程序的基本结构 (1) C源程序的框架 C源程序的框架,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 (2) C语言源程序的书写规则: ?C源程序是由一个主函数和若干个其它函数组成的; ?函数名后必须有小括号,函数体放在大括号内; ?C程序对大、小写字母书写敏感; ?每句的末尾加分号; ?可以一行多句; ?可以一句多行; ?可以在程序的任何位置加注释,注释的方式。 3.C语言程序设计的的基本步骤和调试过程 复习题:/***** 1. 每个C语言程序中有且仅有一个函数,它是程序的入口和出口。 2. 引用C语言标准库函数,一般要用预处理命令将其头文件包含进来。 3. C语言属于() A.高级语言 B. 低级语言 C.中级语言 D. 机器语言 4. C语言规定了若干有特定意义、为C语言专用的单词,称为关键字。 5. C语言的语句以结尾。 6. C语言源程序经过编译以后生成文件,生成的文件名后缀为,经过连接后生成文件,后缀为 7.C语言中不能使用关键字作为标识符。(√)

第二章基本数据类型,运算符与表达式(出题比例20-30%) 关键知识点: 1.常量,变量: a)标识符的命名规则 b)常量,变量的概念:直接常量,符号常量,变量必须先定义后使用 c)变量名和变量值的区别。 2.C语言中的基本数据类型 a)各种数据类型的数据在内存中的存放方式 b)掌握各种数据类型数据的常量使用方法,特别注意字符常量和字符串常量的区别使 用 c)整型,字符型,浮点型变量的定义和引用方法 d)数据的数据类型,数据的取值范围,数据在内存中存放方式三者之间的联系 3.运算符和表达式的使用方法 a)自增、自减运算符 b)赋值运算符 c)算术运算符及表达式 d)逗号运算符及表达式 e)*位运算符及表达式 f)sizeof运算符及表达式 g)*强制数据类型转换符及表达式 4.运算符的优先级和结合性 本章复习题: 课后习题:一、单选题,二、填空题 1. C语言的标识符命名规则中,第一个字符可以为字符‘#’或‘&’ .(×)。 2.下列全部属于合法的用户标识符的是() A.A1 P_0 dS B. float 2la _A C. *a hy kk D. _123 temp main 3. C语言对字母的大小写不敏感。(×) 4. C语言中,符号常量由宏定义命令#define来定义。(√) 5. 在VC 6.0中,数据类型int,char,float和double所占的内存字节数分别是、、和。 6.下列四个选项中,均是合法的整型常量的选项是A A.160 –0XFFFF 011 B。-0XCDF 01A 0XE C.-01 986,012 0688 D。-0X48a 2e5 0x

大学c语言必背基础知识_c语言基础知识大全

大学c语言必背基础知识_c语言基础知识大全 对于刚学计算机编程的同学来说,没一个编程知识都觉得很重要,其实不是的。下面小编为大家整理了相关大学c语言必背基础知识,希望大家喜欢。 大学c语言必背基础知识举例说明: printf(“-”,123 ); 第二部分有三位,大于指定的两位,原样输出123 printf(“]”,123 ); 第二部分有三位,小于指定的五位,左边补两个空格123 printf(“f”,1.25 ); 小数要求补足6位的,没有六位的补0,。结果为1.250000 printf(“%5.3f”,125 ); 小数三位,整个五位,结果为1.250(小数点算一位) printf(“%3.1f”,1.25 );小数一位,整个三位,结果为1.3(要进行四舍五入) 第三节数据输入1、scanf(“a=%d,b=%d”,">2、scanf(“%d,%d”,x,y);这种写法绝对错误,scanf的第二个部分一定要是地址!scanf(“%d,%d”,注意写成这样才可以! 3、特别注意指针在scanf的考察例如:int x=2;int *p=scanf(“%d”,x); 错误scanf(“%d”,p);正确scanf(“%d”,错误scanf(“%d”,*p)错误 4、指定输入的长度(考试重点)终端输入:1234567scanf(“-M%d”,x为12,y为3456,z为7终端输入:1 234567 由于1和2中间有空格,所以只有1位给xscanf(“-M%d”,x 为1,y为2345,z为67 5、字符和整型是近亲:int x=97;printf(“%d”,x); 结果为97printf(“%c”,x); 结果为a 6、输入时候字符和整数的区别(考试超级重点) scanf(“%d”,这个时候输入1,特别注意表示的是整数1 scanf(“%c”,这个时候输入1,特别注意表示的是字符‘1’ASCII为整数48。 补充说明: 1)scanf函数的格式考察: 注意该函数的第二个部分是scanf(“%d%d%*d%d”,跳过输入的第三个数据。 2)putchar ,getchar 函数的考查:

C语言程序设计教程第一章练习题题目

单选题 1、下列语言中不属于计算机语言的三大类的是(C)。 A.机器语言 B.汇编语言 C.脚本语言 D.高级语言 2、下列说法中不正确的是(C) A.计算机语言大致可分为三大类,即机器语言、汇编语言和高级语言 B.C语言是一种通用的、过程式的编程语言,具有高效、灵活、可移植等优点 C.C语言属于汇编语言 D.高级语言比汇编语言更贴近于人类使用的语言,易于理解、记忆和使用 3、以下开发工具中不属于主流的开发工具的是(B) A.Visual Studio B.Xcode C.Code::Block D.Eclipse 4、下列选项是对主流开发工具的介绍,其中错误的是(B) A.Visual Studio支持C/C++、C#、F#、VB等多种程序语言的开发和测试 B.Code::Block是一个免费的跨平台IDE,支持C、C++和Fortan程序的开发 C.Eclipse是一种被广泛使用的免费跨平台IDE,最初由IBM公司开发 D.Vim是一款功能非常强大的IDE ( 和其他IDE不同的是,Vim本身并不是一个用于开发计算机程序的IDE,而是一款功能非常强大的文本编辑器,它是UNIX系统上Vi编辑器的升级版。) 5、下列选项中,不属于开发一个C语言应用程序的具体实现步骤的是(A) A.启动开发工具 B.添加源文件 C.编写代码 D.运行程序 6、下列选项中,关于main()函数叙述不正确的是(C) A.一个完整的C语言程序中,有且只能有一个main()函数 B.main()函数是程序的主入口,程序总是从main()函数开始执行 C.如果没有声明main()函数,程序将从第1行开始执行 D.main()函数可以有返回值,也可以没有返回值 7、下面程序中,合法的选项是(D) A.#includeint main() { printf("hello world\n"); return 0; } B.#includeint man() { printf("hello world\n"); return 0; } C.#includeint main() { printf("hello world\n") return 0; } D.#includeint main() { print("hello world\n"); return 0; } 8、下面程序中,运行结果为“1,2”的是(A) A.#includeint main() { int a = 1; int b = 2; printf("%d %d\n",a,b); return 0; } B.#includeint main() { int a = 1; int b = 2; printf("%d,"a); printf("%d\n",b); return 0; } C.#includeint main() { int a = 1, b = 2; printf("%d,,%d\n",a,b); return 0; }

《C语言程序设计基础》 试卷A及参考答案

《c语言程序设计基础》试卷 (A卷) 考试时间:90分钟闭卷任课老师: 班级:学号:姓名:成绩: (每小题2分,共30分) 、由C++源文件编译生成的目标文件的缺省扩展名为() A、cpp B、exe C、obj D、lik 2、下列中,不是C++合法的标识符() A、2mn B、m123 C、kk D、a_1 3、C++中,基本数据类型不包括() A、int B、float C、char D、class 4、x和y均为bool量,则x| |y为真的条件是() A、它们均为真 B、其中一个为真 C、它们均为假 D、其中一个为 5、C++中,一个字符型数据在内存中占()字节。 A、4 B、2 C、1 D、8 6、字符串常量”hello”的长度是() A、5 B、6 C、7 D、8 7、以下语句,int i=2,j=2,m,n;m=i++;n=++j;则m,n,i,j的值分别为() A、2,3,2,2 B、2,3,3,3 C、2,2,3,3 D、3,3,2,2 8、假定a为一个整型数组名,则元素a[4]的字节地址为()

A、a+4 B、a+8 C、a+16 D、a+32 9、 x>0 || y==5的相反表达式为()。 A、 x<=0 || y!=5 B、 x<=0 && y!=5 C、 x>0 || y!=5 D、 x>0 && y==5 10、在下面的函数声明中,存在着语法错误的是() A、void BC(int a , int) B、void BD(int , int) C、void BE(int , int=5) D、int BF(int x ; int y) 11、循环体至少被执行一次的语句为()。 A、for循环 B、while循环 C、do循环 D、任一种循环 12、已知一函数中有下列变量定义,其中属于静态变量的是() A、int a=5; B、static double b; C、register char c; D、auto short d; 13、do语句能够改写为()语句。 A、复合 B、if C、switch D、 while 14、要使语句: p=new int[10]; 能够正常执行,p应定义为() A、int p; B、int p[10]; C、int *p; D、int (*p)[10]; 15、编写C++程序一般需经过的几个步骤依次是( )。 A、编译、编辑、连接、调试 B、编辑、编译、连接、调试 C、编译、调试、编辑、连接 D、编辑、调试、编辑、连接 二、填空题(每小题1分,共10分) 1、使用const 语句定义一个标识符常量时,则必须对它同时进行。 2、用于输出表达式值的标准输出流对象是_________,用于从键盘上为变量输入

相关主题
文本预览
相关文档 最新文档