文档库 最新最全的文档下载
当前位置:文档库 › 01学习指导-单元1程序设计基础资料

01学习指导-单元1程序设计基础资料

01学习指导-单元1程序设计基础资料
01学习指导-单元1程序设计基础资料

单元1 程序设计基础

一、知识要点

通过本单元的学习使学生初步认识C语言程序的结构和函数的结构,掌握C 语言程序的开发过程和上机步骤,掌握如何对数据进行描述、如何对数据进行操作,即常量、变量的定义和使用及用C语言的表达式表达实际问题,主要内容包括:

1.C语言程序的开发过程

包括:编辑、编译、连接、执行四个步骤。

2.C语言程序的结构和执行过程

一个C语言程序是由一个或多个具有独立功能的模块组成,这些模块称为函数。在这些函数中,必须有一个函数名为main的函数,该函数称为主函数,函数是组成程序的基本单位。

C语言程序总是从主函数开始执行。

3.语句

C语言规定每个语句必须由分号“;”结束,语句是组成函数的基本单位。语句按在程序中所起的作用可分为:说明语句和可执行语句两大类,说明语句用来完成对数据的描述,可执行语句用来完成对数据的操作。

C语言的可执行语句包括:表达式语句;函数调用语句;空语句;复合语句;流程控制语句五种。

4.函数的结构

每一个函数的函数体通常由数据描述和数据操作两部分组成;主函数通常由数据定义、数据输入、函数调用、数据输出四部分组成。

5.用户标识符

程序中用到的各种实体,包括常量名、变量名、数组名、函数名等等,称为用户标识符,用户标识符必须符合标识符的命名规则,即以字母或下划线开头,由字母、数字、下划线组成;用户标识符区分大小写,不能与系统关键字同名。

6.函数调用

如果在一个程序中除主函数外,还有其它函数,要完成其它函数的功能,必

须由主函数或另一个函数来调用其它函数,我们把调用其它函数的函数称为主调函数,相应的其它函数称为被调函数。

函数调用时,把实参值传递给对应的形参,传递方式是值传递。

7.常量

在程序运行过程中,其值保持不变的量称为常量。在C语言中,按数据类型来分类常量有四种:整型常量、实型常量、字符常量和字符串常量;按表现形态来分类常量主要有两种:直接常量和符号常量。

在学习常量时要弄清楚各种常量的表示方法。

(1)整型常量有三种:十进制整型常量(用数码0~9表示的十进制整数)、八进制整型常量(以数字0开头用数码0~7表示的整数,开头的数字0代表所表示的数为八进制数)、十六进制整型常量(以数字0和小写字母x或大写字母X开头,用数码0~9或小写字母a~f或大写字母A~F表示的十六进制整数,0x代表所表示的数为十六进制数);在每一种常量后加小写字母l或大写字母L又得到十进制长整型常量、八进制长整型常量、十六进制长整型常量。

(2)实型常量有十进制小数形式(由数码0~9、正负号和小数点(必须有小数点)组成的十进制小数表示的实数)或指数形式(由尾数、字母e或E、阶码三部分组成,其中尾数为十进制小数或整数,阶码为1位或2位的十进制(有符号)整数)两种。

(3)字符型常量是用单引号括起来的单一字符(包括转义字符)。

转义字符有以下四种形式:

①以反斜杠“\”开头后跟一个规定的字母(n、t、b、r、f等),代表一个控制字符;

②\\代表反斜杠字符“\”,\'代表单撇号字符“'”;

③以反斜杠开头后跟1~3位八进制数代表ASCII码值为该八进制数的字符(此方法可表示ASCII字符集中的任一字符);

④以反斜杠和小写字母x开头,即以\x开头,后跟1~2位十六进制数代表ASCII 码值为该十六进制数的字符(也可表示ASCII字符集中的任一字符)。

(4)字符串常量是用双撇号括起来的字符序列,简称字符串。字符串中含字符的个数称为该字符串的长度,字符串在存储时自动加上字符串结束标志“\0”。

(5)符号常量是在程序的开头,使用编译预处理命令“#define 符号常量常量”定义的,符号常量在程序设计中经常使用。

8.变量

变量是在程序运行过程中,其值可以改变的量。C语言规定:程序中所使用

每一个变量在使用之前都要进行类型定义,即“先定义,后使用”。

C语言中的变量有两种属性:操作属性和存储属性。

在学习变量时要弄清楚各种变量的存储空间的分配和变化情况、变量的值、存储长度生存期和作用域。

(1)变量操作属性的定义

数据类型标识符变量名表;

操作属性由数据类型来决定,它规定了变量的存储空间的大小(即存储长度)、取值范围和所允许的操作。

使用类型标识符int 定义的变量为基本整型变量,在VC++系统中基本整型变量的存储长度为4个字节,取值范围为-2147483648~2147483647 (-231~231-1)。

使用类型标识符long 定义的变量为长整型变量,在VC++系统中长整型变量的存储长度为4个字节,取值范围为-2147483648~2147483647 (-231~231-1)。

使用类型标识符short 定义的变量为短整型变量,在VC++系统中短整型变量的存储长度为2个字节,取值范围为-32768~32767 (-215~215-1)。

使用类型标识符float 定义的变量为单精度实型变量,在VC++系统中单精度实型变量的存储长度为4个字节,取值范围为±(3.4×10-38~ 3.4×1038)。

使用类型标识符double 定义的变量为双精度实型变量,在VC++系统中双精度实型变量的存储长度为8个字节,取值范围为±(1.7×10-308~ 1.7×10308)。

使用类型标识符char 定义的变量为字符型变量,在VC++系统中字符型变量的存储长度为1个字节,取值范围为-128~127。

(2)变量的赋值

变量=表达式;

(3)变量的初始化

在定义变量时,给变量赋值称为变量的初始化。

(4)变量存储属性的定义

存储类别标识符数据类型标识符变量名表;

变量的存储属性决定了所定义变量的存储机构、生存期和作用域,变量的生存期分为动态存储和永久存储;按变量作用域,可以把变量分为全局变量和局部变量。

使用存储类别标识符auto (或缺省存储类别标识符)定义的变量是自动变量,自动变量的存储空间是在程序运行时分配的,分配和释放由系统自动完成。自动变量的生存期为动态存储,作用域是只在定义它的那个局部范围内起作用,是局部变量。

使用存储类别标识符static 定义的变量是静态变量,静态变量的存储空间是在编译时分配的,分配和释放由系统自动完成。静态变量的生存期为永久存储,

作用域是只在定义它的那个局部范围内起作用,属于局部变量。

在函数体之外的变量称为外部变量,外部变量是在编译时为其分配存储空间的,在静态存储区中存储,生存周期是永久存储,作用域是从定义点到本文件结束。

9.运算符和表达式

C语言的运算符共有45个,利用这些运算符可以表达各种复杂的实际问题,每一个运算符都有其运算规则、优先级别和结合方向,在学习过程中必须掌握好。

C语言的表达式主要有算术表达式、关系表达式、逻辑表达式、赋值表达式、条件表达式和逗号表达式。在学习表达式时要注意掌握好每种表达式的运算过程、表达式的值和能用表达式表达实际问题。

(1)双目算术运算

运算符包括:+(加),-(减),*(乘),/(除),%(求余或模)。

对于除法运算“/”,有两方面的含义:

当运算符两侧的运算量都是整型数据时,结果也是整型数据,此时称为整除;

当运算符两侧的运算量至少有一个是实型数据时,结果是double类型数据,此时称为除法。

对于模运算%,要求参加运算的两个运算量必须都是整型数据,运算所得的结果也是整型数据。

对一个正整数求模运算,不论除数是正数还是负数,所得的结果都是非负数;对一个负整数求模运算,不论除数是正数还是负数,所得的结果都是非正数,对0求模运算的结果还是0,即结果的符号与被除数的符号相同。

(2)赋值类运算和赋值表达式

赋值类运算符包括:=(赋值),+=(自反加赋值),-=(自反减赋值),*=(自反乘赋值),/=(自反除赋值),%=(自反模赋值),++(自加),--(自减)。

a+=b等价于a=a+b;a-=b等价于a=a-b;a*=b等价于a=a*b;a/=b等价于a=a/b;a%=b等价于a=a%b。

对于++和--有前缀和后缀形式。

++a等价于a=a+1;--a等价于a=a-1。

对于++和--可以用一句话概括为:后缀形式先引用后“增值”,前缀形式先“增值”后引用。这里说的引用是指表达式引用,而“增值”是指变量“增值”。

赋值表达式的值为赋值后赋值号左边变量的值。

(3)逗号运算和逗号表达式

逗号运算符:,(逗号)

逗号表达式的一般形式是:表达式1,表达式2

逗号表达式运算过程及表达式的值:先求解表达式1,再计算表达式2,表达

式2的值为整个逗号表达式的值。

利用逗号运算可以一次计算多个表达式的值。

(4)强制类型转换

运算符:(类型标识符)

强制类型转换一般形式:(类型标识符)(表达式)

作用:把表达式值的类型转化为类型标识符说明的类型。

利用强制类型转换运算可以某一种类型转换为所需要的类型。

(5)长度运算

长度运算的运算符是:sizeof

长度运算的一般形式:sizeof(类型标识符或表达式)

利用长度运算可以求出指定数据(对表达式并不进行计算)或指定数据类型在内存中的存储长度。

二、知识拓展

1.标识符命名规则的例外

在VC++6.0开发环境中,除字母、数字、下划线是用户标识符的组成要素外,符号“$”可出现在用户标识符的任何位置,甚至单独一个“$”也可作为用户标识符,而其它符号就只能供系统使用了。

2.C程序的“紧缩对齐”书写格式

C语言程序的书写自由,灵活性强,一个语句可以占任意多行,一行可以写多个语句。为了避免程序书写时混乱不清,便于阅读和理解,我们提倡采用“紧缩对齐”方式书写。

“紧缩对齐”格式的书写要点是:

(1)每个语句(包括花括号)占用一行;

(2)不同结构层次的语句,从不同的起始位置开始书写,同一结构层次的语句,都缩进相同的字数;

(3)表示结构层次的花括号,应写在该结构化语句的第一或第二个字母的下方,这对花括号在竖直方向上应对齐;

(4)语句中的不同单词之间要加空格,程序中不同部分的行之间可以加空行。

在VC++6.0开发环境中,如果已编辑的程序不是“紧缩对齐”格式,但只要符合“紧缩对齐”格式的书写要点的第⑴条,便可使用下面两个简单操作使其符合“紧缩对齐”格式的第⑵、⑶条:

①按Ctrl+A,即全选所编辑的代码;

②按Alt+F8,便可将所编辑的代码成为“紧缩对齐”格式。

3.const常量

程序中用到的数据往往是共享的,可被多个程序或用户使用,为避免误操作,导致数据被无意中修改,可将程序中不需要修改的常量定义为const常量。

const常量定义的一般形式:const 类型标识符常量名=数值;

其中const 是系统提供的定义const常量用的关键字,const也可以写在类型标识符的后面。该定义使程序中的“常量名”代表给定的数值,“常量名”便是一个const常量。

const常量在定义时必须进行初始化,且const常量一旦定义其值不可以再修改。

【示例】

const int a;//未初始化

是错误的。

const int a=5;

a=3;

也是错误的。

而const int n=10;

int a[n]={1,2,3};//关于数组请参考教程单元五

是正确的,但在TC中是错误的。

4.左值和右值

在C语言中,常量、变量和表达式都有左值和右值的概念。

一个量的左值是这个量的存储空间的地址,且该地址空间的内容是可以改变的;而右值是一个量的存储空间的内容,也就是这个量的值。

所以,常量都有右值,而没有左值(虽然常量也有地址,但常量的值不能改变);变量既有右值又有左值;每个表达式都有右值,但不一定有左值(有的表达式有左值,有的表达式没有左值)。

如++i,因为表达式++i执行后,表达式++i的值与变量i的值相同,所以,可认为变量i的地址就是表达式++i的地址,因此,表达式++i既有左值又有右值;

而i++,因为表达式i++执行后,表达式i++的值与变量i的值不同,所以,不能认为变量i的地址就是表达式i++的地址,因此,表达式i++只有右值没有左值。

(1)关于赋值表达式

在教程中,介绍赋值表达式时,曾经说过“赋值号的左边通常只能是变量,而不能是表达式”,这里说“通常”就是因为有例外,准确的说应该是“赋值号的左边必须是有左值的表达式”。所以,赋值表达式的作用应该说成“把赋值号

右端表达式的值写入有左值的表达式的存储空间。

【示例】程序段

int b=2, a=5;

(a*=b)+=8;

是否有语法错误?如果没有,执行后a,b的值分别是多少?

解析:因为表达式a*=b的值与变量a的值相同,所以表达式a*=b有左值,无语法错误。

执行时,先计算表达式(a*=b),把计算结果赋给a,再计算a+=8,所以,执行后a,b的值分别是18和2。

(2)关于条件表达式

对于条件表达式“表达式1?表达式2 :表达式3”,如果表达式2和表达式3都有左值,那么,该条件表达式有左值,否则,该条件表达式没有左值。

【示例】条件表达式a>b?--a:--b,由于--a和--b都有左值,所以该条件表达式有左值;而对于条件表达式a>b?--a: b --,由于b --无左值,所以该条件表达式无左值。

(3)关于逗号表达式

对于逗号表达式“表达式1,表达式2”,如果表达式2有左值,那么,该逗号表达式有左值,否则,该逗号表达式没有左值。

【示例】int a=2;a+1,a+2;因为表达式a+2无左值,所以,逗号表达式a+1,a+2无左值,而逗号表达式a+1,a有左值。

注:只有有左值的量才能放在赋值号的左边。

5.自加、自减的混合运算

在VC++系统中,表达式求值运算的规则是:对表达式从左到右进行扫描,当扫描到两个运输量便开始计算(如果其中一个运算量是表达式,按此规则计算该表达式,所得结果与另一个运算量进行计算),再继续向后扫描,将扫描到的一个运算量与前面的计算结果进行计算,如此进行,直到表达式扫描完毕,表达式计算完毕,最后再对表达式中所有的自加、自减的后缀进行“增值”操作。

【示例1】若有如下说明和语句

int i=3,j;

j=(i++)+(++i)+(++i);

执行后i,j的值分别是多少?

解析:先计算(i++)+(++i),由于(i++)是后缀形式,增值运算需要到最后才完成,而(++i)是前缀形式,所以i先增值,i由3变为4,(i++)与(++i)都用值4进行计算,得结果为8,再与(++i)进行计算,由于(++i)是前缀形式,i先增值,由4变为5,与8求和得13,再将13赋给j,最后对后缀形式进行“增值”,i的值由5变成6。因

此,程序段执行后i,j的值分别是6和13。

【示例2】若有如下说明和语句

int i=3,j;

j=++i+((i++)+i+(++i))+i++;

执行后i,j的值分别是多少?

解析:先计算++i+((i++)+i+(++i)),由于++i是前缀形式,所以i先增值,i由3变为4,而((i++)+i+(++i))又是表达式,按以上规则计算所得结果为13,且此时i 的值已经是5,再与前面的++i计算,结果为18,再与i++进行计算,结果为23,再将23赋给j,最后对后缀形式连续进行两次“增值”,i的值由5变成7。因此,程序段执行后i,j的值分别是7和23。

6.关于对i+++j的理解

VC++编译系统总是从左到右尽量多的将若干个字符组成一个运算符,所以,k=i+++j 应理解为k= (i++)+j,而不是k= i+(++j)。

7.关于长度运算sizeof

长度运算的一般形式:sizeof(类型标识符或表达式)

(1)当求某一表达式的存储长度时,sizeof后的一对圆括号可以省略不写,即可写成sizeof 表达式,此时,因为只要知道表达式的类型便可求出存储长度,所以实际并不对表达式进行计算。

【示例】程序段

int a=1;

sizeof ++a;

执行后变量a的值仍为1(而不是2)。

(2)当求某种类型的存储长度时,sizeof后的一对圆括号必须写,即应写成sizeof(类型标识符),如sizeof(int),而不能写成sizeof int。

8.系统隐式转换

C语言在对表达式进行运算时,为使表达式中各运算量具有相同的类型,先把不同类型的数据转换为同一个类型,然后再进行计算,这些转换是由系统自动进行的,具体转换原则是:

(1)表达式中char,short型数据都自动转换为int型;unsigned char和unsigned short型数据都自动转换为unsigned int型。

这样,表达式值的类型有六种,由低到高分别是:int、unsigned int、long int、unsigned long、float、double。

(2)当一个运算符两端的运算量的类型不一致时,按“向高看齐”的原则

对“较低”的类型进行提升。

【示例】有如下说明语句

int i;

float a;

long k;

则表达式10+'D'+i*a-1/k的类型为float型,而表达式10+'D'+i*a-1.0/k的类型为double型。

三、常见问题

1.把scanf、printf等误认为是系统关键字

解析:对于初学者往往将scanf、printf等系统库函数的名字误认为是系统关键字,在VC++环境中编辑代码时,系统关键字将呈蓝色(系统默认为蓝色,可在tools(工具)->options(选项)->Format(格式)选项卡中的colors(颜色)中选择keyword项,确定前景色来修改)。既然scanf、printf等系统库函数的名字不是系统关键字,就可以作为用户定义标识符使用,但建议不要作为户定义标识符使用。

2.书写标识符时,忽略了大小写字母的区别

解析:C语言的标识符区分大小写字母,而在编辑程序时初学者往往容易把小写字母输入成大写字母或把大写字母输入成小写字母,而且有些字母的大小写之间又很难区分。这就要求在输入时,注意大小写字母的切换,养成一个好的习惯。

【示例】程序段

int p=3;

printf("%d",P);

编译程序把p和P认为是两个不同的标识符,而显示出错信息'P' : undeclared identifier('P':未说明的标识符)。

3.在编辑程序时,遗漏空格或分号

解析:C语言中关键字与关键字之间,关键字与用户标识符之间等都要有空格,如果不加空格就将出现语法错误。

【示例】inta,b;//int与a之间无空格,有语法错误

C语言中分号是C语句中不可缺少的组成部分,语句结尾必须有分号,如果语句结尾没有分号,就将出现语法错误。

【示例】

a=1

编译时,编译程序在“a=1”后面没发现分号,就把下一行“b=2”也作为上一行语句的一部分,这就会出现语法错误。改错时,有时在被指出有错的一行中未发现错误,就需要看上一行是否漏掉了分号。

4.将西文符号输入成中文符号

解析:在编辑程序时,经常出现将西文符号输入成中文符号的错误。产生错误的原因是,当需要输入中文时,将西文状态切换为中文状态,中文输入结束后,忘记切换回西文状态,结果输入了中文符号。

int a;

printf("请输入一个整数”);//右引号、右括号、分号都是中文符号

scanf("%d",&a);

printf("%d是整数%d的平方。”,a*a,a);// 右引号、逗号都是中文符号

5.将解决某一问题的程序代码都写在主函数中

解析:将解决某一问题的程序代码都写在主函数中来实现是可以的,但建议不要这样做,养成良好的编程习惯。因为,这样不能体现C语言的模块化程序设计的思想,特别当一个问题比较大时,所有代码都放在主函数中将给人们阅读、理解和调试程序带来困难,造成不必要的麻烦,程序的结构也不够清晰。

模块化程序设计的思想是将一个大的应用问题按功能分解成若干个小的模块,每一个小的模块具有结构清晰、功能单一、接口简单(一个入口一个出口)的特点,在C语言中,每一个小的模块就是一个函数。

6.函数定义、声明、调用相混淆

解析:函数定义应包含函数头和用一对花括号括起来的函数体,且在函数头的结尾不能有分号,函数定义用来给出如何实现该函数所要完成功能的具体算法;

函数声明与函数定义中的函数头相同,只是需在结尾加一个分号,所以函数声明是一个语句,用来通知编译系统所定义函数的一些必要信息,包括函数名、返回值类型、参数个数及每个参数的类型,一般应放在主调函数的说明语句部分;

函数调用在书写时应包含被调函数名、一对圆括号、圆括号里面写对应实参,函数调用应写在主调函数中,通过函数调用具体完成被调函数的功能。

【示例】在本单元的【例1-1】求两个整数和的程序中,

1. #include

2. int Sum(int x,int y);//函数声明

3. int main()

5. int a,b,s;

6. printf("请输入两个整数:");

7. scanf("%d%d",&a,&b);

8. s=Sum(a,b);// Sum(a,b)是函数调用

9. printf("两个整数和是:%d\n",s);

10. return 0;

11. }

12. int Sum(int x,int y)//以下是函数定义

13. {

14. int z;

15. z=x+y;

16. return z;

17. }

第12至17行是函数Sum的定义;第2行是函数声明;第8行中的Sum(a,b)是函数调用,求变量a,b中存放的两个整数的和。

7.字符的表示与八进制整型常量的表示方法混淆

解析:八进制整型常量必须以数字0开头,由8进制数码组成;而字符的三位八进制数表示是用单撇号括起来的以反斜杠“\”开头,后跟1到3位8进制数码,这1到3位8进制数码不必以数字0开头,这一点初学者往往容易混淆。

【示例】程序段

char ch1,ch2,ch3;

ch1='\65'; //不必以数字0开头,?\65?代表的是字符?5?

ch2=065; //065为八进制整型常量,ch2的值是字符?5?

ch3=65; //65为十进制整型常量,ch3的值是字符?A?

8.斜杠“/”与反斜杠“\”混淆

解析:初学者容易把斜杠“/”与反斜杠“\”混淆,斜杠“/”在C语言中是除法运算符,而反斜杠“\”在C语言中用于转义字符的开头。

【示例】程序段

int a=5,b=2,c;

c=a\b; //将除法运算符/写成了\,编译出错

printf("%d/n",c);//将转义字符\n写成了/n,编译无错也无警告

9.变量未定义就开始使用

解析:初学者在编写程序时,经常出现变量未定义就开始使用的现象,导致编译不能通过。切记,程序中用到的每一个变量必须“先定义,后使用”。

【示例】程序段

int a=2,b=3;

c=a+b; //变量c未定义

printf("%d",c);

10.参加求余运算%的运算量的数据类型错误

解析:求余运算%要求参加运算的两个运输量必须都是整型数据,其他类型的数据要想进行求余运算需要进行强制类型转换。

【示例】程序段

int a,b=5;

float c=3;

a=b%c; //变量c的类型错误

11.将字符串常量赋给字符变量

解析:字符常量是用一对单撇号括起来的单一字符,在内存中占一个字节,可以赋给字符变量;字符串常量是用一对双撇号括起来的字符序列,每个字符在内存中占有一个字节,包括字符串结束标志,一个字符串在内存中需要占有多个(大于等于2)字节,而字符变量只有一个字节的存储空间,所以,不能将一个字符串赋给字符变量。

即字符变量只能存放一个字符,而不能存放字符串。

【示例】程序段

char ch;

ch="a";//将字符串赋给字符变量是错误的

12.误认为自增自减运算不能用于实型变量

解析:在自增(++)、自减(--)运算符的一侧可以是整型变量,也可以是有左值的表达式,还可以是实型变量(实型变量是由左值的表达式)。

【示例】下面程序的输出结果是:3.600000。

int main()

{

double x=2.6;

++x;//实型变量作自增运算

printf("%lf\n",x);

return 0;

}

13.函数调用时的实参带参数类型

解析:函数调用中,函数名后的一对圆括号里面应写具体实参,实参可以是具体数据,也可以是已赋值的变量,还可以是有确定值的表达式,在实参的前面不能再带参数类型。

【示例】

int Sum(int a,int b)

{

return a+b;

}

int main()

{

int a,b,s;

scanf("%d%d",&a,&b);

s=Sum(int a,int b); //实参a和b前都多了类型标识符int,编译出错

printf("%d/n",c);

return 0;

}

此例中,如果要把求整数3和5的和赋给变量s,函数调用应写成s=Sum(3,5);;如果要把求变量a和b中两个整数的和赋给变量s,函数调用就应写成s=Sum(a,b);,而不能写成s=Sum(int a,int b);。

四、同步训练

(一)单项选择题

1.C语言程序的基本单位是()。

A.程序B.语句C.字符D.函数2.一个C语言程序总是从()开始执行的。

A.main函数B.文件中的第一个函数

C.文件中的第一个子函数调用D.文件中的第一条语句3.用C语言编写的源代码程序()。

A.可立即执行B.是一个源程序

C.经过编译即可执行D.经过编译解释才能执行4.以下叙述正确的是()。

A.C程序中注释部分可以出现在程序中的任意合适的地方

B.花括号“{”和“}”只能作为函数体的定界符

C.构成C程序的基本单位是函数,所有函数名都可以由用户命名D.分号是C语句之间的分隔符,不是语句的一部分

5.在一个C语言程序中()。

A.main函数必须出现在所有函数之前

B.main函数可以出现在其它函数之外的任何位置

C.main函数必须出现在所有函数之后

D.main函数必须出在固定位置

6.要把高级语言编写的源程序转换为目标程序,需要使用()。

A.编辑程序B.驱动程序C.诊断程序D.编译程序7.一个C语言程序的执行是从()。

A.main函数开始,直到main函数结束

B.第一个函数开始,直到最后一个函数结束

C.第一个语句开始,直到最后一个语句结束

D.main函数开始,直到最后一个函数结束

8.以下叙述中正确的是()。

A.C语言的源程序不必通过编译就可以直接运行

B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令C.C源程序经编译形成的二进制代码可以直接运行

D.C语言中的函数不可以单独进行编译

9.下列四组选项中,均不是C语言关键字的是()。

A.define,IF ,Type B.gect,char ,printf

C.include,scanf ,case D.while,go ,pow

10.下面四个选项中,均是不合法的用户标识符的是()。

A.A,P_0,Do B.float,lao,_A,

C.b-a,goto,int D._123,temp,INT

11.可用作用户标识符的一组标识符是()。

A.int,define,WORD B.a3_b3,_xyz,IF

C.For,-abc,Case D.2a,DO,sizeof

12.下列四个选项中,均是C语言关键字的是()。

A.auto,Enum,Include B.switch,typedef,continue C.signed,union,scanf D.if ,struct,type

13.以下符号中能用作用户标识符的是()。

A.256 B.int C.scanf D.struct 14.以下选项中,C语言合法的关键字是()。

A.Switch B.cher C.Case D.default 15.以下符号中不能用作用户标识符的是()。

A.if B.Switch C.gets D.Case 16.以下选项中不合法的用户标识符是()。

A.abc.c B.file C.Main D.printf 17.以下选项中合法的用户标识符是()。

A.-123 B.Print# C.A$ D.Dim@ 18.下列标识符组中,均不合法的用户标识符为()。

A._0123与ssiped B.del-word与signed

C.list与*jer D.keep%与wind

19.有以下定义:int fun(int n,double x) {……}若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是()

A.fun(int x,double n ); B.m=fun(10,12.5);

C.fun(x,n); D.int fun(n,x);

20.函数的实参不能是()。

A.变量B.常量

C.语句D.函数调用表达式21.有以下定义:void fun(int n,double x) {……}若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是()

A.fun(int x,double n ); B.m=fun(10,12.5);

C.fun(x,n); D.void fun(n,x);

22.定义为void类型的函数,其含义是()

A.调用函数后,被调用的函数没有返回值

B.调用函数后,被调用的函数不返回值

C.调用函数后,被调用的函数的返回值为任意的类型

D.以上三种说法都是错误的

23.C语言中,函数返回值的类型是由()决定的。

A.调用函数时临时B.return语句的表达式类型

C.调用该函数的主调函数类型D.定义函数时,所指定的函数类型24.以下说法中正确的是()

A.实参可以是常量、变量或表达式

B.形参可以是常量、变量或表达式

C.实参可以为任意类型

D.形参应与其对应的实参类型一致

25.以下选项中不属于C语言类型标识符的是()

A.signed short int B.unsigned long int

C.unsigned int D.long shot

26.下面四个选项中,均是合法整型常量的是()

A.160,0xffff,011 B.-0xcdf,0la,0xe

C.-01,986.012,0668 D.-0x48a,2e5,0x

27.下面四个选项中,均是不合法浮点数的是()

A.160,0.12,E3 B.123,2e4.2,.0e5

C.-018,123e4,0.0 D.-e3,.234,1e3

28.下面四个选项中,均是合法转义字符的是()

A.?\??,…\\?,…\n?B.”\”,…\017?,…\=?

C.?\018?,…\f?,…xab?D.?\0?,…\101?,…xlf?

29.下面四个选项中,均不是不合法的转义字符的是()A.?\=?,…\\?,…xf?B.?\1011?,…\?,…\A?

C.?\011? ,…\f?,…\1?D.?\abc?,…\101?,…xlf?30.下面四个选项中,均是不正确的八进制数或十六进制数的是()A.016,0x8f,018 B.0adc,017,0xa

C.010,-0x11,0x16 D.0a12,7ff,-123

31.下面四个选项中,均是正确的数值常量或字符常量的是()A.0.0,0f,8.9e,…&?B.”a”,3.9E-2.5,1e1,…\=?C.?3?,011,0xff00,0a D.+01,0xabcd,2e2,50 32.在C 语言中,char型数据在内存中的存储形式是()A.补码B.反码C.原码D.ASCII码33.设有int i;char c;float f;以下结果为整型表达式的是()A.i+f B.i+c C.c+f D.i+c+f 34.以下的变量定义中,合法的是()

A.float 3_four =3.4 B.int _abc_=2;

C.double a=1+4e2.0; D.short do =15;

35.下列不正确的转义字符是()

A.?\\?B.?\”C.?074?D.?\0?36.若有以下说明语句:char s=”\\\\092” ; 则下面正确的是()A.使s.的值包含2个字符B.说明语句不合法

C.使s的值包含6个字符D.使s的值包含4个字符37.在执行了a=5;a+=a=5;之后,a的结果为()

A.5 B.10 C.15 D.20 38.设int x=8, y,z;执行y=z=x++;x=y=z;后,变量x的值是()

A.0 B.1 C.8 D.9 39.有以下定义和语句char c1=?a?,c2=?f?;printf(“%d,%c\n”,c2-c1,c2-…a?+?B?);则输出结果是()

A.2,M B.5,1 C.2,E D.5,G 40.已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是()

A.x%(-3) B.w+=-2

C.k=(a=2,b=3,a+b) D.a+=a- =(b=4)*(a=3) 41.以下符合C语言语法的赋值表达式是()

A.d=9+c+f=d+9 B.d=(9+e,f=d+9)

C.d=9+e,e++,d+9 D.d=9+e++=d+7

42.若变量已正确定义并赋值,下面不符合C语言语法的表达式是()A.a=a+7; B.a=7+b+c,a++ C.(int) 12.3%4 D.a=a+7=a+b 43.若有int k=11 ; 则表达式(k++*1/3)的值是()

A.0 B.3 C.11 D.12 44.设n=10,i=4则执行赋值运算n%=i+1 后,n的值是()

A.0 B.3 C.2 D.1 45.以下选项中,与k=n++完全等价的表达式是()

A.k=n,n=n+1 B.n=n+1,k=n

C.k=++n D.k+=n+1

46.若有定义:int a=8,b=5 ,c;执行语句c=a/b+0.4;后,c的值为()A.1.4 B.1 C.2.0 D.2 47.下列关于单目运算符++,--的叙述中正确的是()

A.它们的运算对象可以是任何变量和常量

B.它们的运算对象可以是char型和int型变量,但不能是float型变量

C.它们的运算对象可以是int型变量,但不能是double型和float型变量

D.它们的运算对象可以是char型,int型,float型和double型变量48.下列算术运算符中,只能用于整型数据的是()

A.- B.+ C./ D.% 49.有以下定义语句double a,b;int w;若各变量已正确赋值,则下列选项中正确的表达式是()

A.a=a+b=b++ B.w%a+b C.w=a++=b D.w=++a=b 50.若有如下说明和语句int i=3,j;j= (++i)+(++i) + --i;执行后i,j的值分别是()

A.4,13 B.4,14 C.4,12 D.4,15 (二)填空题

1.用C语言编写的程序,不能被计算机直接识别、理解和执行,需要一种担任翻译工作的程序,称为________。

2.C语言源程序文件的扩展名是________,经过编译后,生成文件的扩展名是________,经过连接后,生成文件的扩展名是________。

3.一个C语言程序是由一个或多个具有独立功能的模块组成,这些模块称为________。

4.C语言程序的基本单位是________。

5.组成函数的基本单位是________。

6.C语言的语句按在程序中所起的作用可分为________和________两大类。

7.C语言的可执行语句包括:表达式语句;函数调用语句;空语句;________和________五种。

8.C语言中的标识符只能由三种字符组成它们是________、________、和________。

9.C语言中标识符的首字符必须是________。

10.函数调用的作用是使________转向被调用的函数,执行被调函数,完成被调函数的功能。

11.return语句的作用是使程序流程从被调函数返回到主调函数的________,并将被调函数的返回值带回到函数调用处。

12.一个C语言程序总是从________开始执行。

13.C语言中的多行注释以________符号开始,以________符号结束。

14.设char w; int x; float y;则表达式w*x+5-y的值的数据类型为________。

15.若变量a是int类型,并执行了语句:a =‘A’+3.6;则a的值是________。

16.字符串“w\x53\\\np\103q”的长度是________。

17.若有以下定义:char c=?\010?;变量c中包含的字符个数为________。

18.经过如下定义和赋值后int x=2;double y;y=(float)x;,变量x的数据类型是________。

19.已知字母a的ASCII码值为97(十进制),且设ch为字符型变量,则表达式ch=?a?+?8?-…3?的值为________。

20.若k为int整型变量且赋值7,x为double型变量且赋值8.4,赋值表达式x=k的运算结果是________。

21.若k为int整型变量,则表达式k=10,k++,k++,k+3执行后,表达式的值是________,变量k的值是________。

22.若有语句int i=-19,j=i%4;printf(“%d\n”,j);,则输出的结果是________。

23.在vc++系统中,一个char型数据在内存中所占的字节数为________;一个int型数据在内存中所占的字节数为________。

24.在vc++系统中,一个float型数据在内存中所占的字节数为________;一个double型数据在内存中所占的字节数为________。

25.设有如下定义:int x=10,y=3,z;,则语句printf("%d\n",z=(x/y,x%y));的输出结果是________;

26.表达式5%6的值是________。

27.表达式5/6的值是________。

28.表达式5/6.0的值是________。

29.设以下变量均为int类型,则表达式(x=y=6,x+y,x+1)的值是________。

30.若x和n均为整型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=6)后,x的值为________。

31.若有以下定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int) a / (int)b的值为________。

32.若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后,a的值为________。

33.若a是int型变量,则执行表达式a=25/3%3后,a的值为________。

34.若x和n均是int型变量,且x和n的初值为5,则执行表达式x+=n++后,x的值为________,n的值为________。

35.表达式1/3*3的计算结果是________。

36.表达式1.0/2*3的计算结果是________。

37.若k和j为int整型变量,则表达式k=(j=3,j=2,++j,j++)执行后,表达式的值是________,变量k的值是________,变量j的值是________。

38.若x为double型变量,则表达式x=3.2,++x执行后,表达式的值是

________,变量x的值是________。

39.若a为float类型变量,且a=4.6785,则表达式(a*100+0.5)/100.0的值为________,(int) (a*100+0.5)/100.0的值为________。

(三)判断题

()1.C语言程序的开发过程是编辑、编译、连接、执行。

()2.语句是构成C语言程序的基本单位。

()3.函数是构成C语言程序的基本单位。

()4.只由一个分号组成的语句是空语句。

()5.一个函数的函数体必须有数据定义、数据操作两部分。

()6.C语言的标识符不区分大小写字母。

()7.可以在一个函数的函数体内定义另一个函数。

()8.可以在一个函数的函数体内调用另一个函数。

()9.C语言程序执行过程是从第一个函数开始一直执行到最后一个函数。

()10.注释可出现在程序的任何位置。

()11.已定义c为字符型变量,则语句c=97;是正确。

()12.C语言中整型常量按进制划分,有十六进制常量、十进制常量、八进制常量、二进制常量。

()13.在C语言程序中,要求对所有用到的变量先定义,然后才能使用。

()14.字符型变量用来存放字符常量,注意只能放2个字符。

()15.一个字符变量在内存中占一个字节。

()16.C语言中可以把一个字符串赋给一个字符变量。

()17.C语言规定,可以在定义变量时,同时使变量初始化。

()18.把k1,k2定义成基本整型变量,并赋初值0的定义语句是int

k1=k2=0;。

()19.C语言中字符型数据和整型数据之间可以通用。一个字符数据即可以以字符形式输出,也可以以整型数据形式输出。

()20.将a1,a2定义成单精度实型变量,并赋初值为1的定义语句是float a1=1;a2=1;。

()21.设x,y都是int类型,且x=100,y=200,则printf("%d",(x,y));的输出结果是200。

()22.若变量已正确定义,以下程序段的输出的结果是5.169000。

x=5.16894;printf("%f\n",(int)(x*1000+0.5)/(float)1000);

()23.表达式(int)(11.0/3+0.5)的值为4。

()24.表达式11/3的值为3.666667。

()25.C语言中,操作对象必须是整型数据的运算符是%。

()26.在C语言中,++(i+1)是一个合法的表达式。

()27.在C语言中,n=(i=2,++i)是一个合法的赋值表达式。

()28.在C语言中,x=j=0是一个合法的赋值表达式。

()29.已知int x,y,z;执行语句x=(y=(z=10)=5)-5;后x,y,z 的值是10,15,10。

()30.若t为double类型,表达式t=1,t+5,t++的值6.0。

()31.设int n=3;,则表达式n++的值是4。

()32.设int n=3;,则表达式n++执行后,n的值是4。

()33.设int a=2,b,c;则执行c=b=a--;语句后,a的结果是2。

()34.设int n=2,b,c;则执行c=b=a--;语句后,b的结果是2。

程序设计基础(知识点)

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

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

程序设计基础官方版

三、程序设计基础 下面我们这一节我们概要向用户管理人员介绍面问过程的程序设计语言的原理。绝大多数生产程序是用诸如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是一个赋值语句,

《程序设计基础》试卷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<

C语言程序设计课程设计题目

1 一元稀疏多项式的运算 问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。 实现要求: ⑴输入并建立多项式; ⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列; ⑶多项式A和B相加,建立多项式A+B,输出相加的多项式; ⑷多项式A和B相减,建立多项式A-B,输出相减的多项式; ⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 测试数据: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3) 2 成绩排序 假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求: ⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩; ⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中; ⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式

进行班内排序; ⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序; ⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 3 迷宫问题 问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现要求: ⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。 ⑵编写递归形式的算法,求得迷宫中所有可能的通路; ⑶以方阵形式输出迷宫及其通路。 [测试数据] 迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。 1 2 3 4 5 6 7 8 实现提示:

程序设计基础C复习资料(1)

一、填空题。 1、微型计算机的运算器、控制器及内存储器组合在一起,称之为(D) A、ALU B、CPU C、MPU D、主机 2、信息的最小单位是(A ) A、bit B、byte C、KB D、word 3、Windows操作系统是(C ) A、单用户、单任务 B、多用户、单任务 C、单用户、多任务 D、多用户、多任务 4、下列数据中最大数是(D) A、(1010010)2 B、(123.4)8 C、(84.5)10 D、(55)16 5、设有int a=3,b=-4,c=5;表达式(a

程序设计基础试题和答案解析二

《程序设计基础》考试试卷二 1.1966年,Bohra和Jacopini提出的三种基本程序设计结构是:________ A.if、while和for; B. switch、do-while和for; C.while、do-while和for; D.顺序结构、分支结构和循环结构。 2.算法的特征不包括:______。 A.有穷性 B.可行性 C.确定性 D.有1个或者多个输入。 3.C语言源程序的基本组成单位是______。 A.函数 B. 语句 C. 声明和语句 D. 文件 4.下列标识符中,只有______是合法的。 A.if B. 3ab C. Int D. A-4 5.下列常量中,只有______是合法的。 A.3e-0.3 B. ‘abc’ C. 02a1 D. ‘\377’ 6.下列说法中正确的是:______。 A.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。 B.宏替换比函数调用的执行速度慢。 C.实质上,C语言中的指针就是一个变量的地址。 D.C语言中的任何函数都可以由程序员命名。 7.C语言中,运算对象必须是整型的运算符是_______。 A./ B. % C. + D. - 8.以下叙述中错误的是_______。 A.C语句必须以分号结束 B.复合语句在语法上被看作一条语句 C.空语句出现在任何位置都不会影响程序运行 D.赋值表达式末尾加分号就构成赋值语句 9.以下叙述中正确的是_______。 A.调用printf函数时,必须要有输出项 B.使用putchar函数时,必须在之前包含头文件stdio.h C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出 D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10.以下关于函数的叙述中正确的是_______。 A.每个函数都可以被其它函数调用(包括main函数) B.每个函数都可以被单独编译 C.每个函数都可以单独运行 D.在一个函数内部可以定义另一个函数 11.有以下程序段typedef struct NODE{ int num; struct NODE *next;

程序设计基础课程设计

设计题目:学生成绩管理系统班级:计0902 姓名:付乐颖 学号:20091221067 完成日期:2010.10.15

1. 课程设计目的和要求 随着科学的发展和社会的进步,许多过去有人工处理的繁杂事务开始交付计算机来完成。学生成绩管理系统可以说是一个得力助手,它利用计算机对学生成绩进行统一管理,实现学生成绩信息管理工作流程的系统化、规范化和自动化,提高了广大教师的工作效率。 本程序旨在训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件等的各种基本操作,使学生能对C语言的文件操作有一个更深的理解。为进一步开发出高质量的信息管理系统打下坚实的基础。 2. 课程设计任务内容 学生包含以下信息项:学号、姓名、学院、班级、高数成绩、英语成绩、C语言成绩、总分、平均分。系统的主要功能包括: 1. 创建学生成绩信息文件,根据提示输入学生的各项信息,计算出总分和平均分,然后按学号对学生信息进行排序,并将排序后的学生成绩信息存储到一个二进制文件中。 2. 增加学生信息,在原有学生信息文件的基础上增加新的学生成绩信息,要求:增加后的学生信息仍按学号排序,并继续保存至原文件。 3. 删除学生信息,提示用户输入要进行删除操作的学号,如果在文件中有该信息存在,则将该学号所对应的学生信息删除,否则输出提示信息,并提示用户选择是否继续进行删除操作。 4. 修改学生信息,提示用户输入要进行修改操作的学号,如果在文件中有该息存在,则将提示用户输入该学号对应的要修改的选项,结果保存至原文件,并提示用户选择是否继续进行修改操作。 5. 按不同条件对学生信息进行查询操作,输出满足条件的学生信息。 (1) 按学号查询,输入一个学号,输出对应的学生信息。

《计算机程序设计基础》课后练习题参考标准答案

《计算机程序设计基础》课后练习题1 一.判断题 (1)(错)事件过程由某个用户事件或系统事件触发执行,但不能被其他过程调用。 (2)(错)若X=2, Y=5,则表达式 Y-2>X AND X+2>Y 的结果为:True。 (3)(错)常量是指在程序运行过程中其值可以改变的那些量。 (4)(错,timer没有)VB工具箱中的所有控件都具有宽度(Width)和高度(Height)属 性。 (5)(错)定义变量:Dim max,min as Single , 则max 和 min 的数据类型均为Single。 (6)(对)如果创建的菜单项的标题是一个减号“-”,则该菜单项显示为一条分隔线。 (7)(错)标准模块文件的扩展名是“*.VBP”。 (8)(错,都不能)定时器控件可以响应Click事件,但不能响应DbClick事件。 (9)(错)在默认情况下,数组下标下界的缺省值为1。 (10)(对)在使用字体对话框时,需要对其Flags属性先进行相应设置。 二.单选题 (11)在Visual Basic中,表示鼠标单击事件的是 C 。 A)Activate B)DoubleClick C)Click D)MouseDown (12)用于设置计时器时间间隔的属性是 A 。 A)Interval B)Name C)Left D)Top (13)函数Int(10*Rnd)是在 D 范围内的整数。 A)[1,10] B)[1,10] C) [0,9) D)[0,9] (14)Select case语句结构的结尾应使用 D 。 A)End B) End Case C) End Sub D) End Select (15)改变了容器的坐标系后,该容器的 A 属性值不会改变。 A)left B)scaleleft C)scaletop D)scalewidth (16)执行下列语句后,列表框中各表项顺序为 D List1.Clear For i=1 to 4 : List1.AddItem i-1,0 :Next i A)B)C)D) (17)输入对话框InputBox的返回值的类型是 A 。

程序设计基础

程序设计基础 公司内部编号:(GOOD?TMMT?MMUT?UUPTY?UUYY ?DTTI?

考点1程丿宇设计的方法与风格 【考点精讲】 养成良好的程丿子设计风格,主要考虑下述因素: 1.源程序文档化 (1)符号名的命名:符号名的命名应具有一定的实际含义,以便于对程序功能的理解。 (2)程序注释:在源程序中添加正确的注释可帮助人们理解程序。 程序注释可分为序言性注释和功能性注释。 (3)视觉组织:通过在程序中添加一些空格、空行和缩进等,使人们在视觉上对程序的结构一目了然。 2.数据说明的方法 为使程序中的数据说明易于理解和维护,可采用下列数据说明的风格,见表 2-lo 表2-1 数据说明风格 3.语句的结构程序应该简单易懂,语句构造应该简单直接。

4.输入和输出

考点2结构化程序设计 【考点精讲】 1.构化程序设计的原则 结构化程序设计方法引入了工程思想和结构化思想,使大型软件的开发和编程得到了极大的改善。结构化程序设计方法的主要原则为:H顶向下、逐步求精、模块化和限制使用got。语句。 自顶向上:先考虑整体,再考虑细节;先考虑全局目标,再考虑局部目标。 逐步求精:对复杂问题应设计一些子目标作为过渡,逐步细化。 模块化:把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。 限制使用goto语句:在程序开发过程中要限制使用goto语句。 2.结构化程序的基本结构 结构化程序的基本结构有三种类型:顺序结构、选择结构和循环结构。 顺序结构:是最基本、最普通的结构形式,按照程序中的语句行的先后顺序 逐条执行。 选择结构:又称为分支结构,它包括简单选择和多分支选择结构。 循环结构:根据给定的条件,判断是否要重复执行某一相同的或类似的程序段。循环结构对应两类循环语句:先判断后执行的循环体称为当型循环结构;先执行循环体后判断的称为直到型循环结构。 考点3面向对象方法

《程序设计基础》试卷(A卷)

《程序设计基础》试卷(A 卷) 注意:1、考试时间: 90 分钟; 2、班级、姓名、学号必须写在指定地方; 3、适用班级: 4、考试方式: 一、填空题 (每空 2 分,共 20 分) 1、C 程序是由函数构成的,其中有且只能有 1 个主函数,每个C 程序总是从它开始执行,并且以 ; 作为结束符。 2、C 语言中三大基本结构有:顺序结构、 选择结构 、 循环结构 。 3、‘A ’+3的结果是 68 。 4、若已定义x 和y 为double 类型,则表达式x=1,y=x+3/2 的值是 2.5 。 5、C 语言中逻辑运算符 ! 的优先级高于算术运算符。 6、符号“a”和‘a’的区别是 “a ”2字节 ‘a ’1字节 。 7、C 语言的预处理语句以____#_____开头。 8、有如下输入语句:scanf(“a=%d,b=%d ,c=%d”,&a ,&b ,&c );为使变量a 的值为1,b 的值为3,c 的值为2,从键盘输入数据的正确形式应是 a=1,b=3,c=2 。 二、选择题 (每小题 3 分,共 30 分) 1、下列叙述中错误的是( D )。 A 、 if 语句允许用户选择是否执行某个操作。 B 、 if else 语句允许用户选择执行两个操作中的某个操作。 C 、 switch 语句允许用户选择执行多个操作中的某个操作 D 、 多分支选择结构只能使用switch 语句实现 2、以下不正确的C 语言标识符是( D ) A 、ABC B 、abc C 、a_bc D 、ab.c 3、按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( B )。 A 、大写字母 B 、连接符 C 、数字字符 D 、下划线 4、将int 型变量n 转换成float 型变量的方法是( B )。 A 、float n B 、(float)n C 、float(n) D 、(int )n 5、( A )是构成C 语言的基本单位。 A 、函数 B 、子函数 C 、过程 D 、子过程 6、下面关于运算符优先顺序的描述中正确的是( B )。 A 、关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符 B 、逻辑运算符< 关系运算符< 算术运算符< 赋值运算符 C 、赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符 D 、算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符 7、在C 语言中,要求参加运算的数必须是整数的运算符是( C )。 A 、/ B 、! C 、% D 、= = 8、char 型常量在内存中存放的是( B )。 A 、ASCII 代码值 B 、BCD 代码值 C 、内码值 D 、十进制代码值 9、以下程序的输出结果是( B ) Main() { Int x=10,y=4; Printf(“%d\n ”,x/y);

程序设计基础课程设计报告 内容样例

第一章目的与要求 书上有。 第二章需求分析 软件设计的一个重要的环节就是需求分析。本章在对ATM取款机管理系统的应用情况作了全面调查的基础上,确定系统目标,并对系统所需要的基础功能进行分析,从而确定用户的需求。以下是ATM取款机管理系统所需要的需求分析。 ATM管理系统包括六个模块:登录,挂失功能,修改密码,取款功能,转账功能,查询功能。 ①登录: 输入银行卡的账号,密码,验证银行卡的卡号,密码是否正确,之后进入主界面 ②挂失功能: 确认是否对银行卡进行挂失,挂失后账户无法操作 ③修改密码: 用户可自由对其银行卡密码进行修改,修改之后的新密码将会覆盖其原密码 ④取款功能: 用户可自由取得所持银行卡内的存款,所取款数必须在其原有账户余额之内 ⑤转账功能: 用户可将本账户中的存款转入其他账户,转账过程中,需要转入账户的账

号 ⑥查询功能: 用户可查询用户信息,其中包括用户姓名、用户身份证号码、银行卡号以及存款余额 模拟ATM取款机的操作: 首先录入账户信息,格式如下 ㈠、登录功能:输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。 ㈡、查询功能:查询账户余额。 ㈢、取款功能:取款,更新余额。 ㈣、挂失功能:挂失后,该账户不能进行任何操作。 ㈤、修改密码:输入原密码和新设置密码。 ㈥、转账功能:输入转账的转出账户以及转账金额,进行转账。

第三章设计分析 3.1、ATM系统管理 3.1.1系统基本功能 首先,确定系统中存在两种用户,一种是ATM,可以进行信息录入和后台管理。另外一种是取款人,取款人主要是进行信息的查询,不能进行信息录入。所以在创建类的时候,先创建一个ATM类,然后创建取款人类,并与ATM 类形成有元,进而继承ATM的所有功能,并添加录入信息的功能。 基本功能: 登录功能---------输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。 查询功能---------查询账户余额。 取款功能---------取款,更新余额。 挂失功能---------挂失后,该账户不能进行任何操作。 修改密码---------输入原密码和新设置密码。 转账功能---------输入转账的转出账户以及转账金额,进行转账。、

程序设计基础课程设计

1 矩阵的操作(6人) 设有两个矩阵A=(a ij)m×n,B=(b ij)p×q 实现要求: ⑴编写矩阵输入函数INPUT_MAT,通过该函数完成矩阵的输入并返回保存矩阵的数组和对应矩阵的行数、列数。(不能使用全局变量) ⑵编写矩阵输出函数OUTPUT_MAT,通过该函数完成矩阵的输出。 ⑶求矩阵的转置,矩阵的转置A’=(a ji)n×m,转置前输出原矩阵,转置后输出转置矩阵。 ⑷求矩阵A、B的和。矩阵A和B能够相加的条件是:m=p,n=q;矩阵A和B如果不能相加,请给出提示信息;若能够相加,则求和矩阵C并输出C。 C=A+B=(c ij)m×n,其中c ij=a ij+b ij ⑸求矩阵A、B的积。矩阵A和B能够相乘的条件是:p=n;矩阵A和B 如果不能相乘,请给出提示信息;若能够相乘,则求积矩阵D并输出D。 D=A×B=(d ij)m×q,其中d ij=∑a ik×b kj,k=1,2,……,n ⑹设计一个菜单,具有求矩阵的转置、求矩阵的和、求矩阵的积、退出等基本的功能。在求矩阵的和或求矩阵的积时要求能够先提示输入两个矩阵的,然后再进行相应的操作。

2 数据汇总 (6人) 问题描述: 在数据处理中经常需要对大量数据进行汇总,将相同关键字记录的某些数据项的值叠加起来,生成一个分类汇总表。 假设某超级市场销售有m种商品(假设商品的编号为1,2,3,┅┅,m),有n台前台收款机(假设收款机的编号为1,2,3,┅┅,n)进行收款,以记录的形式提供给计算机,每个记录表示某台收款机的一种商品一次交易的数量和销售额。记录由4个域组成:收款机编号、商品编号、销售数量、销售金额。构造一个结构体类型,每次销售数据以一个结构体变量保存在一个数据文件中。实现要求: ⑴编写实现将数据记录插入到数据文件的最后的函数; ⑵编写以收款机为单位的数据分类处理函数。构造n个单链表,每个链表保存一台收款机的销售记录,这n个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪台收款机。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到n个单链表; ⑶统计每台收款机的销售总额; ⑷编写以商品为单位的数据分类处理函数。构造m个单链表,每个链表保存一种商品的销售记录,这m个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪种商品。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到m个单链表; ⑸以商品为单位,统计每种商品的销售总额。 ⑹设计一个菜单,具有插入数据记录、按收款机统计销售总额、按商品统计销售总额、退出系统等最基本的功能。

程序设计基础复习要点

程序设计基础复习要点 第一节程序设计基本概念: 1、程序和软件: 程序是用计算机语言表示的一系列有序指令的集合,用来完成指定的任务。 软件是计算机程序、方法和规则、相关的文档资料以及在计算机上运行它所必需的数据的总称。 注意:程序和软件是两个不同的概念。 2、程序设计的含义: 程序设计实际上是安排计算机按人们的意志去工作,程序设计往往是一个过程,这个过程主要包括:描述问题、设计算法、编写程序、调试程序。 3、程序设计语言: 程序设计语言是人与计算机交流和沟通的工具,是用来编写计算机程序的工具。又称计算机语言。 程序设计语言的发展过程: 程序设计语言的演变经历了由低级向高级发展的过程。对程序设计语言的分类可以从不同的角度进行。其中,最常见的分类方法是根据程序设计语言与计算机硬件的联系程度将其分为三类:机器语言、汇编语言和高级语言。 ●机器语言:是由机器指令的集合构成;机器指令是计算机所能理解和执行的以“0” 和“1”组成的二进制编码表示的命令。优点是计算机能够直接识别、执行效率高,其缺点是难记忆、难书写、编程困难、可读性差且容易出现编写错误。 ●汇编语言:是采用了助记符与符号地址来表示计算机指令的语言。计算机不能直接 执行汇编语言程序,必须经过翻译程序将汇编语言编写的程序翻译成机器指令后才 能在计算机上执行。 ●高级语言:就是更接近自然语言、数学语言的程序设计语言,与计算机硬件关系较 小的语言。优点是符合人类叙述问题的习惯,而且简单易学。缺点是不能被计算机 直接识别。 4、语言处理程序: 在计算机语言中,用除机器语言之外的其他语言书写的程序都必须经过翻译或解释,变成机器指令,才能在计算机上执行。因此,计算机上能提供的各种语言,必须配备相应语言的“编译程序”,或“解释程序”。将所有这些“编译程序”,或“解释程序”统称为语言处理程序。 通过“编译程序”或“解释程序”使人们编写的程序能够最终得到执行的工作方式分别称为程序的编译方式和解释方式。 ●汇编程序指将汇编语言编写好的源程序,全部翻译成机器指令集合的程序。 ●解释程序指将高级语言编写好的源程序逐条解释,翻译成机器指令并执行的程序。 ●编译程序指将高级语言编写好的源程序,全部翻译成机器指令集合的程序。

程序设计基础期末考试题A卷

《程序设计基础》试题 程序设计基础期末考试题A 卷 一、 选择题(1*20=20分) 题号 1 2 3 4 5 6 7 8 9 10 总分 答案 题号 11 12 13 14 15 16 17 18 19 20 答案 1、一个完整的计算机系统应该包括( ) A 、系统软件和应用软件 B 、计算机及其外部设备 C 、硬件系统和软件系统 D 、系统硬件和系统软件 2、“裸机”的概念是指( ) A 、正在进行设计还没有组装好的计算机 B 、已经组装好但还没有安装任何软件的计算机 C 、仅安装了操作系统的计算机系统 D 、安装了文字处理软件但没有安装专用数据处理系统的计算机 3、世界上第一台电子数字计算机研制成功的时间是( ) A 、1936年 B 、1946年 C 、1956年 D 、1970年 4、CASE 的含义是( ) A 、计算机辅助设计 B 、计算机辅助制造 C 、计算机辅助教学 D 、计算机辅助软件工程 5、当前广泛使用的微型计算机是( ) A 、第一代 B 、第二代 C 、第三代 D 、第四代 6、当代计算机的体系结构称为是( ) A 、冯·诺依曼机 B 、非冯·诺依曼机 C 、图灵机 D 、比尔盖茨机 7、硬盘是( ) A 、输入设备 B 、输出设备 C 、存储设备 D 、计算设备 8、下面4句话中,最准确的表述是( ) A 、程序=算法+数据结构 B 、程序是使用编程语言实现算法 C 、程序的开发方法决定算法设计 D 、算法是程序设计中最关键的因素 9、计算机能直接执行的语言是( ) A 、机器语言 B 、汇编语言 C 、高级语言 D 、目标语言 10、解释程序的功能是( ) A 、将高级语言程序转换为目标程序 B 、将汇编语言程序转换为目标程序 C 、解释执行高级语言程序 D 、解释执行汇编语言程序 11、下面4种程序设计语言中,不是面向对象式语言的是( ) A 、JAVA B 、Object Pascal C 、Delphi D 、C 12、不是C 语言的基本数据类型是( ) A 、int B 、double C 、char D 、bool 13、在C 语言中,为了求两个整数相除之后得到的余数,可以使用运算符( ) A 、/ B 、% C 、* D 、++ 14、数据的逻辑结构分为( ) A 、纯属结构和非线性结构 B 、顺序结构和非顺序结构 C 、树型结构和图型结构 D 、链式结构和顺序结构 班级 姓名

《测量程序设计课程设计》指导书-2015

测量数据处理程序设计指导书 设计名称:测量数据处理程序设计 计划周数:2周 适用对象:测绘工程专业本科 先修课程:测量学,测量平差基础,大地控制测量,测量程序设计 一、设计目的 测量数据处理程序设计是学生在系统学习完大地控制测量学、测量平差基础、测量程序设计等相关课程之后,为了系统理解控制网平差的整体过程及综合运用科学工具而安排的。通过课程设计主要达到以下几个目的:掌握控制网平差课程设计具体内容、方法和步骤;通过理论联系实际,进一步巩固已学到的专业理论知识,并加深对理论的认识;培养学生对编写代码,上机调试和编写说明书等基本技能;锻炼学生阅读各类编程参考书籍及加以编程运用的能力。 二、设计内容及日程 在VB、 VC软件或matlab科学计算软件的平台上,选择的具体课程设计题目,进行程序设计与实现,共计10个工作日,工作程序如下: 三、设计的组织: 1.设计领导 (1)指导教师:由教研室指派教师、实验员兼任。

职责:全面组织设计大纲的实施,完成分管工作及相关技术指导。 (2)设计队长:学生班长兼任。 职责:协助教师做好本班学生的人员组织工作。 (3)设计组长:每组一人。 职责:组织执行下达的设计任务,安排组内各成员的工作分工。 2.设计分组 学生实习作业组由3~4人组成(含组长一人)。 四、设计内容 在VB、VC或MATLAB 软件平台上,按选择的设计题目进行相关程序开发 1、闭合导线简易平差、附合导线简易平差支导线计算 2、闭合水准网计算、附合水准网简易平差 3、地形图编号(新、旧两种方法) 4、误差椭圆的参数的计算与绘制误差椭圆 5、水准网严密平差 6、高斯正反算计算 7、高斯投影换带计算 8、七参数大地坐标转换(WGS84-bj54坐标转换、WGS84-CGCS2000坐标转换) 9、四参数坐标转换(西安80-bj54坐标转换、CGCS2000-bj54坐标转换、CGCS2000-西安80坐 标转换(平面) 10、大地高转换为正常高的计算 11、工程投影变形超限的处理 12、遥感图像数据处理 13、曲线(曲面)拟合 14、摄影测量空间后方交会 15、****管理信息系统设计与开发 五、上交成果 1) 小组利用vb、vc或matlab编写的软件包一个及测试数据一份 2)小组关于所开发程序设计说明书一份 3) 个人课程设计的心得一份 4)小组答辩PPT一份

最新C语言程序设计基础知识期末复习

C语言程序设计基础知识期末复习 一、C语言与算法 1.程序:一组计算机能识别和执行的指令。 2.C语言的特点:运算符丰富(共有34种运算符)、数据类型丰富、具有结构化的控制语句。 3.C语言程序的结构特点: (1).一个程序由一个或多个源程序文件组成:一个源程序文件中可以包括三个部分:预处理指令、全局声明、函数定义 (2).函数是C程序的主要组成部分:一个C程序是由一个或多个函数组成的必须包含一个main函数(只能有一个);每个函数都用来实现一个或几个特定功能;被调用的函数可以是库函数,也可以是自己编制设计的函数。 (3).一个函数包括两个部分函数首部和函数体(声明部分:定义在本函数中所用到的变量;对本函数所调用函数进行声明;执行部分:由若干个语句组成,指定在函数中所进行的操作) (4). 程序总是从main函数开始执行 (5). C程序对计算机的操作由C语句完成 (6.)数据声明和语句最后必须有分号 (7.)C语言本身不提供输入输出语句 (8.)程序应当包含注释,增加可读性 4、算法(1)算法+ 数据结构= 程序 (2)顺序结构、选择结构、循环结构是表示一个良好算法的基本结构 (3)算法的特性:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性(4)算法流程图:一个流程图包括以下几部分:表示相应操作的框;带箭头的流程线;框内外必要的文字说明。 流程线不要忘记画箭头,否则难以判定各框的执行次序。 算法流程图的结构特点:只有一个入口;只有一个出口(一个判断框有两个出口;一个选择结构只有一个出口)结构内的每一部分都有机会被执行到。也就是说,对每一个框来说,都应当有一条从入口到出口的路径通过它;结构内不存在“死循环”。 二、顺序结构设计 5、标识符:用来标识变量名、符号常量名、数组名、类型名、函数名等的有效字符序列。C语言对标识符的规定: (1)只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线 (2)长度:在TC中最多允许32个字符,建议不要超过8个 如果系统规定标识符长度为8,那么x1234567A和x1234567B会被视为同一标识符。 (3)在C语言中,标识符大小写敏感。如ABC、aBC、abc分别代表3种不同的标识符(4)标识符不能与C语言的保留字、系统标准库函数同名。 program to_ _to file_2 ab1_c3 为合法标识符 非法字符举例:yes? (含有不合法字符“?”)123(第一个字符不能为数字)go to(标识符中不允许有空格) a_80%(出现非法字符“%”)if与关键字相同) 6、常量与变量 注意:以下变量定义形式是错误的int a,int b; int a;b; (1)整型常量 ·十进制整型:能出现数字0~9,可带正负号如:0,11,95,-2

C++面向对象程序设计课程设计报告

. 课程设计 课程名称C++面向对象程序设计题目名称公司人员管理系统 专业班级13级计算机科学与技术一班学生林涛、甑德胜、梁增辉 吴志伟、齐、江靖 学号51302011015、51302011016、51302011001 51302011037、51302011006、51302011009指导教师郭有强 二○一四年六月二十日

目录 一、引言 (2) 二、课程设计报告 (4) 1、问题描述 (4) 2、系统总体方案 (4) 3、设计思路和主要步骤 (5) 4、各功能模块和流程图 (5) (1)各功能模块 (5) (2)流程图 (6) 三、系统测试 (9) 四、心得体会 (15) 五、参考文献 (17) 附:程序设计代码 (18)

一、引言 1985年,管理信息系统的创始人,高登?戴维斯给出的管理信息系统的定义是:“它是一个利用计算机硬件和软件,手工作业,分析、计划、控制和决策模型,以及数据库的用户一机器系统。它能提供信息,支持企业或组织的运行、管理和决策。”这个定义说明了管理信息系统的组成要素:计算机硬件、软件、数据库、模型库和用户。 随着我国社会的不断进步,人们对管理信息系统越来越重视,再加之管理信息系统在管理方面所产生的巨大影响,也使得人们越来越关注管理信息系统的发展趋势。由于管理信息系统的发展受到以上各种变革因素的制约,传统的管理信息系统必然向现代管理信息系统发展,在这个发展过程中,管理信息系统的发展将会呈现出以下趋势: 管理信息系统将会越来越注重以人为本。管理科学的发展有科学管理理论、行为管理理论和现代管理理论三个发展阶段,正在向着越来越人性化的方向发展,即以人为本。基于管理学的这一研究视角,管理信息系统也将向着更加人性化的方向发展。在今后的管理信息系统中将会越来越注重人的因素,以人为出发点和中心,围绕着激发和调动人的主动性、积极性、创造性展开的,以实现人与社会共同发展的一系列管理活动。而且这种人性化还会贯穿于管理信息系统的开发设计与研究中,具体表现为今后的管理信息系统将具有更加友好的人机界面,易于人们操作,也会考虑到不同用户的不同需求,更加个性化。 管理信息系统向智能化方向发展。随着人工智能技术的发展,数据仓库、数据挖掘技术在管理信息系统中的应用,管理信息系统必将向着智能化方向发展,如产生了很多的决策支持系统、专家系统等等。智能化的管理信息系统具有思维模拟活动,它具有很高的自学习、自组织和进化性,并具有知识创新功能,可以解决非结构化事务,在决策中处于主导地位,是人的向导,在体系上将是大规模分布式计算模式,以基于网络神经元构件的智能网为主。 管理信息系统向集成化方向发展。随着当前系统集成技术的提高,集成技术和方法也逐步地运用到管理信息系统中。由于管理信息系统将包含多个子系统,因此将这些功能集合在一起以便更好地发挥它的作用,这就是集成化的管理信息系统。集成化的管理信息系统将管理信息系统的各个子系统有机地结合起来,达到互通信息、共享数据资源的目的,其支撑技术是数据库和计算机网络。集成管

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

《程序设计基础——C#.NET》练习 参考答案: 一、选择题 https://www.wendangku.net/doc/357781741.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.有如下程序:

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