第三章程序组成与简单程序设计.ppt

上传人:sccc 文档编号:5009606 上传时间:2023-05-29 格式:PPT 页数:89 大小:1.16MB
返回 下载 相关 举报
第三章程序组成与简单程序设计.ppt_第1页
第1页 / 共89页
第三章程序组成与简单程序设计.ppt_第2页
第2页 / 共89页
第三章程序组成与简单程序设计.ppt_第3页
第3页 / 共89页
第三章程序组成与简单程序设计.ppt_第4页
第4页 / 共89页
第三章程序组成与简单程序设计.ppt_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《第三章程序组成与简单程序设计.ppt》由会员分享,可在线阅读,更多相关《第三章程序组成与简单程序设计.ppt(89页珍藏版)》请在三一办公上搜索。

1、教学大纲,第三章 程序组成与简单程序设计,前言:c语言中的词汇 3.2 程序处理对象 3.3 表达式和语句 3.4 输入/输出函数的使用 3.5 简单程序设计 3.6 本章小结 3.7 习题,前言,C语言的词法记号1、标识符 名字,可由用户定义2、关键字 每一个关键字都有特殊的含义3、运算符4、分隔符5、注释符/*/成对出现,关键字,关键字:C语言中具有特定意义的字符串,又称保留字,3.1 程序处理对象,3.1.1 字符 字符是构成程序设计语言的最小基本单位,C语言中的基本字符包括数字、英文字母和特殊符号三类:数字:0、1、2、3、4、5、6、7、8、9。英文字母:小写字母az、大写字母AZ。

2、特殊符号:空格、!、#、%、&、*、(、)、+、_、/、|、;、“、:、?、,、,、.、。如果在程序使用了其他字符,则编译时会出错。每个字符都对应一个事先定义的数值,附录1给出了计算机中常用字符的ASCII。,在第2章中曾提到过:算法处理的对象是数据,而数据是以某种特定形式存在的(如:整数、实数、字符等形式)。常量与变量的划分标准:根据数据在程序运行过程中是否发生变化。数据类型划分的依据:按数据的性质、表示形式、占据的存储空间大小及构造特点。,C 语言提供的数据类型,C语言的数据类型,基本数据类型,指针类型,空类型,结构类型,整型,实型,字符型,枚举,数组,结构体,共用体,3.1.2 常量,常

3、量:在程序运行过程中,其值不能被改变的量称为常量。常量区分为不同的类型:12,0,-3为整型常量;4.6、-1.23为实型常量;a,d为字符常量;“student”为字符串常量;#define PRICE 30 是定义了一个符号常量PRICE。,习惯上,符号常量名用大写,变量用小写,以示区别。使用符号常量的好处是:含义清楚见名知意;在需要改变一个常量时能做到“一改全改”。,3.1.3 变量,变量:在程序运行过程中,其值可以改变的量称为变量变量的基本要素:变量名:即每个变量的名字,遵循标识符的命名规则 变量值:在程序运行过程中,变量值存储在内存中使用要求:变量要“先定义,后使用”,1、标识符的命

4、名规则,标识符:程序中用户对变量、函数、常量、数组、指针所取的名字。规则:由AZ、az、09及下划线(_)组成第一个字符必须是字母或下划线不能是关键字严格区分大小写,以下是非法的标识符:(1)3x 以数字开头(2)a-bc 出现了-(3)if if是关键字,2、变量的数据类型,与常量类似,变量也有整型、实型、字符型等类型,变量的数据类型不同,它们在内存空间所占的字节数也不同。在C语言中,各数据类型分别有对应的关键字来说明。在32位系统中各种数据类型的关键字、在内在中所占有的字节数以及所能表示的数值范围如下表:,C语言的基本数据类型,数据类型,说明:,短整型、基本整型和长整型数据在VC中的长度和

5、所能表示的数值范围是一样的,没有什么区别;但它们在16位系统中是不同的;短整型数据为1个字节,基本整型数据为2个字节,而长整型数据为4个字节。,3.变量的定义与初始化,定义格式:存储类型 数据类型 变量名1,变量名2例如:普通整型(int a,s=0;)长整型(long int b,t=1;)短整型(short int c;)符号整型(unsigned int d;)单精度实型(float e;)双精度实型(double f;)字符型(char ch;),说明:,在定义变量时,可以同时定义多个相同类型的变量,各变量之间用逗号隔开;类型说明符与变量名之间至少要有一个空格;最后一个变量名后以分号“

6、;”结束。,变量的初始化:,一个变量一旦定义,系统就为其分配了一个存储空间,此时变量的值是未知的,而不是0;实际上所有未赋值的变量的值都是未知的。初始化分类:1、在定义时为变量初始化 格式:数据类型 变量名=初值1,变量名2=初值2;例如:int age=18,paper=3;,2、先定义,后赋初值 格式:存储类型 数据类型 变量名1,变量名2 变量名1=初值1;变量名2=初值2;例如:float x,y,z;x=3.2;y=3f;z=0.75;注意:在说明时不允许连续赋值,例如下面的初始化语句是错误的:int a=b=c=5;,main()int i,j;I=10;j=20;k=30;sum

7、=i+j;int sum;printf(“sum=%dn”,sum);,1、变量 k 未定义;2、变量 sum 是先使用,后定义的;3、I 变量没有定义,i没有赋初值。,查错,3.1.4 数组,提示:如何表示全班所有同学的数学成绩?如何表示全年每个月的收入?,什么是数组呢?,数组:是指把具有相同类型的若干变量有序地组织起来。,(1)具有相同的变量名,带有不同的下标,如a0、a1、a2(2)a称为数组名,a0、a1、a2称为数组元素(3)内存中占有连续的内存单元,数组的特点:,1、一维数组,(1)一维数组的定义 数据类型 数组名常量表达式,;说明:,“数据类型”是指数组元素的数据类型 数组同变量

8、一样,必须先定义,后使用。“常量表达式”必须用方括号括起来,指的是数组的元素个数(又称数组长度),它是一个整型值,但不能包含变量。数组元素的下标,是元素相对于数组起始地址的偏移量,所以从0开始顺序编号。,例1.int a7,int类型的数组a,最小下标为0,最大下标为6;数组长度为 7;在内存中占有连续的4*7=28个内存单元(字节)。,例2.#define n 5 float bn;,float 类型的数组b,最小下标为0,最大下标为4;数组长度为5;在内存中占有连续的 4*5=20 个内存单元(字节)。,n不能是变量,(2)一维数组元素的引用,数组必须先定义,然后使用。c语言规定只能逐个引

9、用数组元素而不能一次引用整个数组。下标:是元素相对于数组起始地址的偏移量,且从0开始,长度为n的数组,其元素下标的范围是0n-1。引用形式:数组名下标 其中,下标是任何非负整数,在c程序设计过程中,我充分考虑到下标是否越界问题,否则处理程序时可能会出错。,例如,定义一个共有8个元素的整型数组data:int data8;则内存为其分配了8个整数存储空间,且各元素连续存放,如下图所示:,数组中的每个元素相当于一个变量,可以对其赋值或参与各种运算,(3)一维数组的初始化,初始化的格式:数据类型 数组名常量表达式=初值表例如:float score3=1.1,3.4,9.2,ratio4=0.1,0

10、.2,length=2.3,3.8;初始化情况的说明:在定义数组时对数组元素赋以初值。例如:float score3=1.1,3.4,9.2;可以只给一部分元素赋值。例如:ratio4=0.1,0.2;在对全部数组元素赋初值时,可以不指定数组长度。例如:length=2.3,3.8;,在赋初值时,只能逐个元素进行赋值,ratio0=0.1,ratio1=0.2,ratio3=0,ratio4=0,数组length的长度是2,其等价定义是:int length2=2.3,3.8;,一维数组应用举例,有一个数列,其前两项为1,1,从第三项开始,每一项是前两之和(2,3,5,8,13,21),试打印

11、该数列的前40项。,算法思想 若用数组a来存放数列的值,则a0=1,a1=1,a i=ai-2+ai-1(i=3,4,,39),main()int i,a40;a1=1;a2=1;for(i=3;i=39;i+)ai=ai-2+ai-1;for(i=0;i=39;i+)printf(%6d,ai);if(i%10=0)printf(n);,数组元素的赋值,数组元素的输出,一维数组总结,(1)一维数组定义的方法及每一个参数的意义 int a10;float b20;(2)一维数组在内存中占有连续的单元 a数组占40个字节单元,b数组占80个字节单元(3)一维的输入和输出是在一重循环中实现的(4)

12、一维数组元素的引用是通过下标变量实现的,2、二维数组,数据类型 数组名 行常量表达式 列常量表达式,行数,元素个数=行数*列数,列数,注意:数组元素在内存中的排列顺序为“按行存放”,例 int a33;float b25;int c234;int a3,4;(),int a33,(1)二维数组的定义,(2)二维数组元素的引用,引用形式:数组名行下标表达式列下标表达式 其中,“行下标表达式”和“列下标表达式”都应是整型表达式或符号常量,其值都应在已定义数组大小的范围内。例如:int x32,则可用的行下标范围为02,列下标范围为01。,(3)二维数组的初始化,两种方式:按行赋初值,其格式:数据类

13、型 数组名行常量表达式列常量表达式第0行初值表,第1行初值表,最后1行初值表;,例如:(1)int a43=1,2,3,4,5,6,7,8,9,10,11,12(2)int a43=1,2,4,5,7,10(3)int a43=1,2,4,5,7,数组a43在内存中的分配情况,按二维数组在内存中的排列顺序给各元素赋初值,其格式:数据类型 数组名行常量表达式列常量表达式初值表;赋值规则:按二维数组在内存中的排列顺序,将初值表中的数据依次赋给各元素。如果对部分元素赋初值,则“行数”可以省略,即只能省略“行常量表达式”,而“列常量表达式”不可省略。,例如:int a 3=1,2,4,5,7,第一维也

14、可省略,数组a3在内存中的分配情况,main()int i,j,array45;/*定义1个2行3列的二维数组array*/for(i=0;irow;i+)/*外循环:控制二维数组的行*/for(j=0;jcol;j+)/*内循环:控制二维数组的列*/scanf(“%d”,二维数组的赋值和输出是在二重循环中实现的,3.1.5 字符串,一个数组的元素如果是字符型,则可称为字符数组,字符数组也可以进行初始化。例如:char a10,b23;char c5=I,a,m,h,a,p,p,y;char d32=,*,*,*;,在C语言当中,字符串的处理可用字符数组来完成,可对其进行初始化。初始化形式:c

15、har c=“I am happy”;与 char c11=“I am happy”;等价 char c=“I am happy”;,在附录5中详细介绍了字符串常量的概念。C语言规定以转义字符”0”作为字符串结束标志,字符串长度是结束符”0”之前的实际字符,因此要正确地处理字符串,其最小长度必须等于字符串长度加1。字符串名称(字符数组的名称)是存放字符串内存空间的首地址。对于字符串的处理系统自带了一些库函数,附录8中列出了常用库函数的说明。,char c10=“china”;,在c语言的字符集中,还有一种特殊的字符转义字符,主要是为了表示一些不能用符号表示的控制符。转义字符是用反斜杠“”开头的

16、,常用的转义字符如下表示:,3.1.6 指针,1、地址与指针内存单元、地址 按字节编址的计算机:存储器中的一个字节称为一个单元,一个内存单元就有一个地址编号,即内存地址指针 在程序设计中,通常把内存单元的编号(即地址)称为指针。,在c语言中,表示变量的地址(即指针)有两种情况:,若变量是一个基本类型(int,float,char),C语言可用地址运算符,&a=2A00,&b=2A02,若变量是一维数组,则数组名就是地址。如果字符串常量,这时仅需直接写出字符串的名称,不必加地址运算符。,Int a10,其中a就是地址。,字符串名称是变量的地址,2、指针变量,实例:,钥匙,物品,取到物品,抽屉,储

17、物柜,拿钥匙,(a)取钥匙开柜子取物,2600,37,求值:*ptr,指针ptr的存储单元(2002):,求i的地址 ptr=&i,变量i的存储单元(2600):,(b)取地址求单元中的数值,指针变量 是指存放另一个变量的地址(如ptr=&a)的变量,其在内存中也有一个地址。变量的访问形式,直接访问形式:通过变量名来访问,如a=34;间接访问形式:通过变量的地址来访问*(,&:表示取变量的地址*:表示取变量的内容,指针变量的定义形式:*;说明:“指针变量名”是存放指定数据类型变量的地址变量,又称为指向数据类型的指针变量,简称指针;“*”表示要说明的是一个指针变量。,例如:int*ptr;/*p

18、tr是指向一个存放整型变量的地址*/,注意:一个指针变量只指向某一类型的变量,不能时而指向一个浮点变量,时而指向一个字符型变量。,指针变量的赋值,方法一:在指针变量定义时赋初值 int a=50,*p1=,方法二:在程序中对指针变量赋值 int a,*p1;p=,不能写成*p=&a,注意:不允许把一个常数赋予指针变量,下面的赋值是错误的:int*p;p=1000;,3.1.7 其他数据类型,在C语言中,除了前面所介绍的数据类型外,还有其他的数据类型,如结构与联合、文件等,将在第7、8章进行介绍。对于枚举、类型定义、位运算等,在附录9、10中做了介绍。,3.2 表达式和语句,在C语言中,程序的主

19、体是函数,函数是由语句构成,而语句是由表达式与语句结束符组成的。,3.2.1 运算符与表达式 c语言有丰富的运算符和表达式,在具体应用用时,所考虑的问题:运算符和表达式所存在的优先级和结合性问题。,常见的运算符,1、算术运算符,算术运算:+(加)、-(减)、*(乘)、/(除)、%(取模)、+(增1运算符)、-(减1运算符)。,(1)、“+”和“-”运算既可以作双目运算,也可以作单目运算,单目运算时其优先级较高5*2 等价于 5*(-2),(2)、“*”运算符不能丢失x*y不能写成xy。,(3)除法运算符“/”两个整数相除,其商为整数,小数部分被舍弃,若操作数中有一个为实型,则商为双精度型。例如

20、:5/2(结果为2)5/2.0(结果为2.5),(4)求余运算符“%”(亦称求模运算符)要求该运算符两侧的操作数均为整型数据,否则会出错;结果符号与被除数相同。,例如:17%-3 的结果为 2,-17%-3 的结果为-2-17%3 的结果为-2,(5)自增运算符“+”和自减运算符“-”运算符在变量之前,先调整变量的值,再将调整后的变量参与运算运算符在变量之后,先将变量的值参与运算,之后再调整变量的值,例如,当i=8时,分别进行如下运算后,i和j的值将会不同:,j=+i;(结果:i=9,j=9)j=i+(结果:i=9,j=8)j=-i;(结果:i=7,j=7)j=i-(结果:i=7,j=8),注

21、意:这两个运算符只能用于变量,而不能用于常量或表达式。,算术运算符的优先级别 3+a*b/2-1.5+a的求解过程,()+*/%+,单目,双目,同级,同级,同级,高,低,2、sizeof()运算符,sizeof()运算符是一个单目运算符,它反回变量或类型的字节长度。例如:sizeof(double)为8,sizeof(char)为1。注意:在不的系统中,同一类型的数据在内存所占的字节数不同。如:sizeof(int),在16位系统中为2,在32位系统中为4。,此外,sizeof()也可用来求已定义的变量的长度。例如:float f;int i;i=sizeof(f);,i的值的4,3、指针变量

22、的运算,(1)赋值运算 赋值给另一个指针变量 int a,*pt1,*pt2;pt1=str=“C Program”将函数的入口地址赋值给指针变量,(2)加减运算指向数组的指针变量进行加减运算指针n的运算,表示将指针向后或向前移动n个位置,p+指向下一个对象p-指向前一个对象p+i 当前对象后第 i 个对象p+=i 指向当前对象后第 i 个对象p-i 当前对象前第 i 个对象p-=i 指向当前对象前第 i 个对象,注意区别:p+i并没有改变指针p的值,而p+=i改变了指针p的值;,(3)两个指针变量相减,要求:两个指针变量指向同一个数组的元素,否则进行相减是没有任何意义;两个指针变量的之差是其

23、之间的元素个数+1。例如:int data10,*p=data,*q=则q-p的值为:5。,说明:指向前面元素的指针值小于指针后面元素的指针值。,(4)空运算 NULL是C语言中定义的一个关键字 int*p=NULL;/*指针不指向任何一个具体的变量*/,4、表达式,表达式:是用运算符和括号将运算对象(常量、变量和函数等)连接起来的、符合C语言语法规则的式子。,例如,下面是一个合法的c算术表达式:a*b/c-1.5+a,在程序中描述表达式时要注意与数学表达式的区别,所有的符号与标识符都必须符合语法规定,注意转换。,每个表达式都有一个值和类型,它们等于计算表达式所得结果的值和类型。对表达式的求值

24、应按运算符的优先级和结合性规定的顺序。,5、赋值运算与表达式,赋值运算:将右边的表达式计算出来的值,赋给“=”左边的变量,由赋值运算符连接而成的表达式,称为赋值表达式 N=N+1;/*计算N+1的值,并将这个值再赋给N*/,(1)“=”不同于数学中的等于号“=”;(2)“=”也不同于关系运算中的“=”;(3)一般情况下,“=”两边的类型要求一致,若不同时,可进行类型转换。(4)赋值号的左边只能是变量名,赋值号的右边可以是表达式,也可以是赋值表达式。如a=b=7+1,组合运算,复合赋值运算符是由赋值运算符之前再加一个双目运算符构成的,变量 双目运算符=表达式,复合赋值运算符,a+=1a=a+1

25、a=1 a=a1 a%=2 a=a%2a+=(b=5*4)b=20;a=a+b,6、逗号运算符(,)及其表达式,说明:运算的优先级别是最低的;逗号运算符按从左到右的顺序进行运算,最右边“表达式n”的值就是该表达式的值。例如:(k=3,k+,+k,k+5)/*表达式的值为10,k的值为5*/x=2*8,x*4/*x的值为16,整个逗号表达式的值为64*/x=(i=4,j=6,k=8)/*将逗号表达式的值赋值给x*/,逗号表达式:用逗号运算符“,”连接起来的式子一般形式:表达式1,表达式2,表达式n,3.2.2 数据类型的转换,1、自动转换为两个运算对象的计算结果尽可能提供多的存储空间,由编译程序

26、自动完成 3+2.55.5 5/22,double float,高,long,unsigned,低 int short,char,2、赋值自动转换float a=45.6;unsigned b=32768;int c,d;c=a*2;/*运算结果为float,赋值结果为int*/d=b+2;/*运算结果为unsigned,赋值结果为int类型*/3、强制类型转换(int)a,注意:强制转换类型得到的值是一个所需类型的中间量,原表达式类型并不发生变化。,如:int a;(double)a只是将变量a的值转成double型的中间量,a的类型没变。,运算结果赋值给变量时的类型转换,3.2.3 语句,

27、语句:是表达式与语句结束符组成的。1、语句结束符 所有单一语句都必须以分号“;”,C语言允许一行写多条语句,也允许一条语句写在多行。2、注释 为了增强程序的可读性和可维护性,可以使用注释/*/。注释可以单独成行,也可以放在有语句之后;一般不插在一行的中间。,3、语句分类,如:printf(“Hello!”);,如:num=5;,由大括号起来的一组语句构成。,仅有一个分号“;”构成。,3.3 输入/输出函数的使用,3.3.1 文件包含输入函数getchar()scanf()输出函数putchar()printf(),四种函数都是C语言中的库函数,包含在标准的I/O库函数中,使用它们时,一般都要用

28、到预编译命令“#include”#include stdio.h,具体形式:#include“头文件名”或#include,区别:使用双引号则表示首先在当前的源文件目录中查找,若没找到再包含文件中去查找。使用尖括号表示在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录中查找;,说明:一个include命令只能指定一个被包含的文件;文件包含命令放在源文件头部。,3.3.2 输入/输出函数,1、格式化输出函数printf(),功能:按给定的格式输出整型、实型、字符和字符串等多种类型的数据格式:printf(“控制格式字符串”,输出项目列表);,控制格式与输出项之间的数目

29、和类型上的一致性 printf(“%d%f”,5,3.14);/*5 3.140000*/printf(“%f%d”,5,3.14);/*结果是什么呢?*/长度和精度描述 在格式字符和长度修正符之前,还可以跟上域宽和精度描述符 例如:printf(“%10.4f”,23.456783);输出数据宽度占10个字符,其中小数位为4位,结果为 23.4568,格式说明符(以%开始),例3-1、printf()与指针的使用练习,程序代码:#includemain()int num_int=120,*p_int;float num_f=3.14,*p_f;char num_ch=t,*p_ch;p_in

30、t=,结果:num_int=120,*p_int=120num_f=3.14,*p_f=3.14num_ch=t,*p_ch=t,运行结果:5 55 6,例3-2:main()int k=5;printf(“%d%dn”,k+,k);k=5;printf(“%d”,k+);printf(“%d n”,k);,右结合性运算,2、格式化输入函数scanf(),Scanf()函数功能:按给定的格式从键盘接收整型、实型、字符和字符串等各种类型的多个数据输入,并将它们赋值给相应的变量格式:scanf(“格式字符串”,输入项首地址列表);说明:“格式字符串”有3类:格式指示符、空白字符(空格、Tab键和回

31、车键)和普通字符。“输入项首地址列表”可有多个,之间用逗号分开。地址主要有首地址、字符串名或指针变量。,变量首地址表示方法:,3.单个字符输出putchar()函数,格式:putchar(ch);其中,ch是一个字符变量或常量,也可以是转义字符。功能:将指定的字符显示在屏幕的光标处,一次只能显示一 个字符。例如:putchar(A);/*结果是输出字符*/或 printf(“%c”,A);,4、单个字符输入getchar()函数,格式:getchar();功能:从键盘读一个字符型数据,并且一次只能接收一个字符。例如:char ch;/*要输入一个字符给ch,可以用getchar()来实现。*/

32、ch=getchar()或 scanf(“%c”,5、字符串输出puts()函数,格式:puts(str);其中str是一个字符串。功能:puts()函数向终端输出一个以0字符结束的字符串,可由printf()函数代替。例如:puts(“abcde 123”);或 printf(“%s”,“abcde 123”);,6、字符串输入gets()函数,格式:gets(str);功能:从键盘输入并以回车结束的字符串存入到字符串str中。例如:char str100;gets(str);若执行时输入:abcd 123则str的内容为“abcd 123”,但用scanf()函数完成上述字符串的输入是有区

33、别的,所得结果的“abcd”,是因为用scanf()进行输入时,系统将空格转换成了结束符。,3.4 简单程序设计,在顺序结构程序中,各语句(或命令)是按照位置的先后次序,顺序执行的,且每个语句都会被执行到。,(例3-3)由终端输入两个整数x和y,交换x和y的值后输出,验证两个变量的值是否正确地进行了交换。,2,3,1,X,Y,temp,scanf(“%d%d”,(例3-4)从键盘输入一个小写字母,要求用大写字母形式输出该字母及对应的ASCII码值。,关键:(1)大写字母和小写字母的ASCII码值相差32;(2)在C语言中,字符与整数变量可互通使用.,程序运行结果:input a lowerca

34、se letter!aoutput the result:A,65a,97,源程序,(例3-5)输入三角形的三条边,用海伦公式求三角形面积。,算法关键:(1)什么叫海伦公式?(2)sqrt()求平方根函数包含在头文件math.h中;(3)clrscr()清屏函数包含在头文件conio.h中;,源程序,本章小结,本章主要介绍了以下内容:在程序中处理的各种数据就程序处理的对象;根据数据在程序在运行过程中是否变化,可将其分为变量和常量;按数据量的性质、表示形式、存储空间的大小、构造特点,可分为:基本数据类型、构造数据类型、指针类型和空类型;基本数据类型有:整型、实型、字符型,数据类型不同在内存中所占

35、的字节数不同;变量说明的一般形式:类型说明符 变量名标识符;变量可通过说明其数据类型来定义,也可以通过指向其存储地址的指针来说明;程序由函数组成,函数由语句组成,语句由表达式和语句结束符组成,而表达式由常量、变量、函数或运算符组成;,运算符有优先级之分,并且有左结合和右结合之分;在运算过程中,表达式和变量数据类型是可以转换的,数据类型的转换有:自动转换和强制转换;C语言中没有专用的输入/输出语句,要实现数据的输入/输出可通过调用系统所提供的库函数:格式输出函数printf()、格式输入函数scanf();字符输入函数getchar()、字符输出函数putchar();字符串输入函数 gets(

36、)、字符串输出函数puts();它们都在头文件stdio.h中定义。,习题,一、选择题:1以下符合C语言语法的实型常量是()A)1.2E0.5 B)3.14.159E C)5E-3 D)E152以下4组用户定义标识符中,全部合法的一组是A)_main B)ac*C)txt D)int case-max REAL?k2 sin turbo 3COM _0013不属于字符型常量的是:()A)A B)”A”C)D),4若以下选项中的变量已正确定义,则正确的赋值语句是()A)x1=26.8%3 B)1+2=x2 C)x3=0 x12 D)x4=1+2=3;5设C语言中一个int型数据在内存中占用两个字

37、节,则int型数据的取值范围()A)-128127 B)-3276832767 C)065536 D)02147486在C语言中,不正确的int类型的常数是()32768 B)0 C)037 D)0 xAF7.在C语言中,数组元素下标的下限是。A 1B视说明语句而定C 0D 无固定下限,8、定义一维数组时,内的下标表达式应该是。A 整型常量表达式 B 常量表达式C 表达式 D 整型表达式9、若有说明语句:int a 2 3=0;,则下面正确的叙述是。A 此语句说明不正确B 只有a0 0可以得到初值0C数组中的每个元素可以得到初值0D数组中的每个元素可以得到初值,但不一定为010、下列数组定义正

38、确的是。A long a 4=1,2,3,4 5;B float x 3=0;C int s 3=1,2,3;D char z 2=;,11、以下程序的输出结果是。main()char a=1,2,3,4,0;printf(%d%dn,sizeof(a),strlen(a);A5 5B 5 4C 4 5D 4 412、若有语句long b 3 3=1,2,9,8,7;则b 1 1 的值为。A1B7C8D913、在C语言中,二维数组元素在内存中的存放顺序是。A 按行存放B 按列存放C 由用户决定D 由编译器确定,二、填空题1能正确表示a和b同时为正或同时为负的表达式是_2若a 是float变量,

39、则表达式a=1,a+1,a+=a的值_3已知字母”A”的ASCII码值为十进制数的65,且ch为字符型,则执行语句ch=A+6-0后ch的值为_4若a是float型的变量,且a=6,则表达式a/2+(int)(a+1)%2的值为_5字符串”ax44nbcd102a”的长度是_,三、读程题:1、有以下程序:main()char a=a,b;print(%c,+a);printf(%cn,b=a+);程序运行后的输出结果是:A)b,b B)b,c C)a,b D)a,c,2、有以下程序:main()int m=3,n=4,x;x=-m+;x=x+8/+n;printf(%dn,x);程序运行后的输出结果是A)3 B)5 C)-1 D)-2,3、有以下程序:main()int x=40,y=4,z=4;x=y=z;printf(“%dn”,x);x=x=(y=z);printf(“%dn”,x);程序运行后的输出结果是:A)1 B)0 C)1 D)0 0 0 1 1,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号