版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章程序的灵魂----算法2.9算法是指为解决某个特定问题而实行的确定且有限的步2.10下列关于C语言的说法不正确的是A)C语言既具有高级语言的一切功能,也具有低级语言B)C语言中的每一条执行语句都必需用分号结束,分号不是C语言的一部分,是语句之间的分隔符号D)命令行后面不能加分号,命令行不是C语言的语句A)高级语言都是用接近人们习惯的自然语言和数B)计算机只能处理由0和1的代码构成的二进制指令或数据2.12C语言中用于结构化程序设计的3种基本结构是二、填空题(请将每一个空的正确答案写在答题卡相应序号后。)2.13用高级语言编写的程序称为【1】程序,它可以通过解释程序翻一次翻译产生目标程序,然后执行。第3章数据类型运算符与表达式一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位C)整型、字符型、规律型3.2C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符B)必需为下划线C)必需为字母或下划线3.4下面四个选项中,均是不正确的8进制数或16进制数的选项是3.6在16位C编译系统上,若定义longa;,则能给a赋40000的正确语句是A)包含1个字符B)包含2个字符C)包含3个字符3.8有字符串如下,"\n\\\407as1\"\xabc",则字3.9C语言中运算对象必需是整型的运算符是3.10若变量已正确定义并赋值,以下符合C语言语法的表达式是D)<<,^,&=,sizeof3.14以下不正确的叙述是C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输A)补码3.18字符型数据在机器中是用ASCII码表示的,字符’5’和’7’在机器中表示为和01110111和01100011和00110111和01100111printf("%d\n",--a+b,--b+a)B)均为2个字节3.36下列y的值是【7】pirntf("%d,%d\n",ij)3.38已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=′a'+′8'3'的值为【9】第4章挨次程序设计一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位4.1若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赐予10.0,b赐予22.0,c赐予33.0,D)1022<回车>33<回车>printf("a=%d,b=%d,c=%若输出的结果为a=20,b=30,c=40[注]:“]”表示空格,表示回车4.3x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是A)整型变量的输出形式只有%d一种C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度A)无输出4.6执行下列程序时输入:123<空格>456<空格>789<回车>输出结果是scanf("%c",&c);scanf("%d",&i);scanf(a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("##a=%d,b=%d,c=%d\n",a,b,c);程序输出的结果是D)输出项不合法,无正常输出4.9下列程序的输出结果是A)stdio.hD)以上都不对输出结果为二、填空题(请将每一个空的正确答案写在答题卡相应序号后。)4.12下列程序的输出结果是16.00,请填空。4.13在使用putchar和getchar函数处理字符时,必需在程序的开头消灭包含头文件的命令行是【2】4.14下列程序的输出结果是【3】,【4】printf("%f,%f",fabs(a),fabs(b);正确答案:1.300000正确答案:1.300000第5章选择结构程序设计一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位5.1在C程序中,判规律值时,用“非0”表示规律值“真”,又用“0”表示规律值“假”。在求规律值时,用()表示规律表达式值为“真",又用()表示规律表达式值为“假”。5.2已知intx=6,y=2,z;则执行表达式z=x=x>y后,变量z的值为5.4若变量c为char类型,能正确推断出c5.6有如下程序段C)非0的数5.8设有:5.9已知xy,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y的值为5.10表达式aA)ⅡImain()scanf("%d",&x);printf("%d\n"y);main()if((j++||k++)&&i++)printf("%d,%d,%d\n",ij,k);}D)以上都不对5.17有如下程序该程序的输出结果是5.18以下4个选项中,不能看做一条语句的是5.19若intk=8;则执行下列程序后,变量k的正确结果是5.20阅读如下程序段5.23设inta=5,b=6,表达式(++a==b--)?++a:-b的值是【2】B)for循环是先执行循环体语句,后推断表达式D)for循环的循环体语句中,可以包含多条语句,6.6有一堆零件(100到200之间),假如分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。下面程序是求这堆零件总数,请选择填空。for(i=1;i<10;i++)for(m=6;m>2;m--){k=0;for(n=m;n>1;n--){intji,k=0;f(i>=j-1)则以下叙述正确的是A)循环把握表达式的值为0B)循环把握表达式的值为1C)循环把握表达式不合法D)以上说法都不对6.12设有以下程序段则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的把握表达式是非法的D)程序段执行无限次6.13下列程序的输出结果是while(|-)D)死循环6.14对下I,Ⅱ两个语句描述正确的是A)都是无限循环B)I是无限循环,Ⅱ错误C)I循环一次,Ⅱ错误D)以上答案都错6.15以下程序段的描述,正确的是A)是死循环B)循环执行两次C)循环执行一次D)有语法错误6.16若有如下语句do{printf("%d\n",x-=2);}while(!则上面程序段A)输出的是1B)输出的是1和-2for(a='0',b='9';aprintf("%cfor(k=0;k<3;k++)printf("%A)doublex[5]={2.0,4.0,6.0,8.0,10.C)charc1[]={'1','2',′3',D)charc2[]={'\x10','\xa',{chara[]={′a','b','c','d','e','f','g'j=strlen(a);}B)intc[][3]={{3},{3}strcpy(a+strlen(a)youwhile(k[i]){if(k[i]%2==0|k[i]%5==0)}main()D)没有输出结果二、填空题(请将每一个空的正确答案写在答题卡相应序号后。)printf("Enteranumber:\n");scanf(ldintfun(inta[],intn){inti,j=1;for(i=0;iprintf("=",a[if(array[i][j]<m){m=array[i][j]:printf("%d,%rowcolum{intarr[3][3]={2,3,jjA)定义函数时,形参的类型说明可以放在函数体内C)假如函数值的类型与返回值类型不全都,以函数值类型为准D)假如形参与实参类型不全都,以实参类型为准A)用户若需调用标准库函数,调用前必需重新定义B)用户可以重新定义标准库函数,若如此,该函数将失去原有含义C)系统根本不允许用户重新定义标准库函数D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动调用A)函数可以嵌套定义但不能嵌套调用B)函数既可以嵌套调用也可以嵌套定义C)函数既不行以嵌套定义也不行以嵌套调用A)函数肯定有返回值,否则无法使用函数B)C语言函数既可以嵌套定义又可以递归调用D)C语言程序中有调用关系的全部函数都必需放在同一源程序文件中A)静态局部变量的初值是在编译时赐予的,在程序执行B)若全局变量和某一函数中的局部变量同名,则在该函数中,此全局变量被屏蔽C)静态全局变量可以被其他的编辑单位所引用D)全部自动类局部变量的存储单元都是在进入这些局部变量所在的函数体(或复合语句)时生成,退出其所在的函数体(或复合语句)时消逝B)变量名不能使用大写字母C)函数说明和函数调用语句之间有冲突D)函数名不能使用下划线D)1,2,10,9,8,7,6,5,4{inti=0;func1(i);printfA)i=pB)a[p]=a[i]C)p=jfor(i=1;i<3;i++)j+=f8.22以下程序的输出结果是}8.23已有变量定义和函数调用语句:inta=25;printvalue(&a);下面函数的正确输出结果是8.24下面程序应能对两个整型变量的值进行交换。以下正确的说法是A)该程序完全正确B)该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可C)该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可D)以上说法都不对8.25以下程序的输出结果是8.26阅读下面程序段,则执行后输出的结果是A)A8.27编写求两个双精度数之和的函数,选项中正确的是8.28现有如下程序则程序的输出结果是8.29现有如下程序段}6.C程序的编写和运行过程:编辑编译链接运行调试printf("c=%c\n%ld\n%-ms\nf符号常量:用标识符代表的一个常量~符号常量的值在其作用域内不能转变~习惯上,符号常量名用大写例1.请选出可用作C语言用户标识符的一个标识符(D)例2.以下不能定义为用户标识符的是(D)__例3.以下不合法的用户标识符是(C)__浮点型常量的表示方法十进制小数形式:由数字和小数点组成,其中整数部分或小数部分可以省略,但无论如何必需有小数点指数形式:<尾数>E(e)<整型指数>字母E或e之前必需有数字,且后面的指数必需为整数字符常量用一对单引号括起来的单个字符转义字符-以斜线字符'V开头的字符序列"\r:回车字符V":双引号字符\b':退格字符'\ddd:8进制数对应字符t':制表字符\xhh':16进制数对应字符字符变量类型关键字为char,一般占用1字节字符变量用来存储字符常量将一个字符常量存储到一个字符变量中,实际上是将该字符的ASCII码值(无符号整数)存储到内存单元中。例4.在C语言中,数字029是一个(D)例5.下面正确的字符常量是(C)表达式后加一个分号构成表达式语句除法运算中,两个整数相除的结果为整数。例:5/3=?1/2+0.5=?模运算符,也称求余运算符,%两侧均要求是整型数据。假如除数或被除数中有一个为负值,一般商“向零取整”,余数和被除数同号。例6.在C语言中,要求运算数必需是整型的运算符是(D)自增自减运算符只能用于变量,不能用于常量或狭义表达式·运算对象间有多个运算符时,由左向右尽可能多地结合运算符例1.规律运算符两侧运算对象的数据类型(D)A.只能是0或1B.只能是0或非0正数例2.在C语言中,可以表示规律值"真"的A.TrueB.大于0的数C.非零整数D.非0的数例3.推断char型变量dl是否为小写字母的最简洁且正确例4.有以下程序:例5.若从键盘输入58,则以下程序输出的结果是585858例6.若有以下程序例8.设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句例2.若有以下程序(B)A.y=0B.y=-1例3.有以下程序:例4.以下叙述正确的是(D)例5.猴子吃桃问题例6.推断m是否素数finclude<stdio.h>#include<math.h>main()例7.下面的for语句(C)for(x=0,y=10;(y>0)&&(x<4);x++,y-);A.是无限循环B.循环次数不定C.循环执行4次D.循环执行3次例8.有以下程序main()例9.有以下程序例10.有以下程序default:n=0;k-;}例12.求11+21+…+20!例13.设有以下程序:程序运行后,假如从键盘上输入1298,1、算法的基本特性:(1)有穷性;(2)确定性;(3)输入;(4)输出;(5)可行性.2、结构化程序设计思路:(1)自顶向下,逐步求精;(2)程序结构按功能划分为若干个基本模块;(3)各模块之间的关系尽可能简洁,在功能上相对独立;(4)各模块内部均由挨次、选择、循环三种基本结构组成;(5)模块化的实现方3、良好的程序设计风格:(1)语句形式化;程序全都性;(2)结构规范化;(3)适当使用注释;(4)标识符贴近实际。4、良好的程序设计风格通常包含哪些内容:(1)语句形式化;(2)程序全都性;(3)结构规范化;(4)适当使用注释;(5)标识符贴近实际。第6章高级程序设计一函数}{printf"*************1)程序中包括main和area两个函数。在一个由若干函数组成的程序中必需有一个,且只能有一个名为main的格式:函数名(实参表列);说明:实参表中的实参类型及其个数必需与函数定义时的形参完全全都,当有多个实参时,相互之间用逗号隔开。执行过程:首先计算每个实参表达式的值,并把此值存入所对应的形参单元中,然后把执行流程转例2.以下程序运行结果是A+B=9数需要具备哪些条件?)3)若使用用户自己定义的函数,且该函数与主调函数在同一文件中,通常应在主调函数1)函数类型函数名(参数类型1,参数类型2..);2)函数类型函数名(参数类型1参数名1,参数类型2参数名2..);1)当被调用函数的定义位于调用函数之前时,可以不必说2)假如函数没有返回值及形式参数或返回值及形式参数的类型为整型或字符型,也可不进行类型说明,系统自3)C语言允许在全部函数外面、文件的开头对函数类型进行说明,此时可以不对调用函数进行类型说明6.5函数的嵌套调用6.6函数的递归调用例2.用冒泡法及选择法对10个数排序(由小到大)。}例3.对二维数组的正确说明是(C)A.inta[][]={1,2,3,4,5,6};B.inta[2]例4.有以下程序若运行时输入:246<回车>,则输出结果为(B)例5.有一个3×4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号。charc[11]=(',''a','m';'';h'charc[]={T,'a','m',''h';a'束标志‘\0’),并把它作为函数返回值。例11.下列程序执行后的输出结果是(A)strcpy(arr,"youstrcpyarrme}例12.下面程序段的运行结果是f例13.输入一行字符,统计其中英文字母、数字、空格以及其它字符的个数。例14.有3个字符串,找出其中最大者。第七章结构体与共同体例1.设有以下语句A.可以用TT定义结构体变量C.可以用CIN定义结构体变量例2.有如下定义B.pfintf("%classnameC.printf("%c\n"classname[例]N名同学的成果在主函数中放入一个带头结点的fun例3.有以下结构体说明和变量定义,如图所示:现要将q所指结点从链表中删除,同时保持链表连续,则不能完成指定操作的是Dcharc;floata;类型名成员名2;};/*此行分号不能少!*/{intyear;{intyear;intmonth;intday;}birthday,monday;intmonth;intday;structstudent{intnum;②对结构体中数组元素的成员的引用是通过逐个引用数组元素的方法2.结构体数组C语言中数组可以定义为某种结构体类型。structstudent{intsnum;它定义了具有10个元素的结构体数组info,其中每个元素都是student型结构体。访问数组元素中的某个结构体成员的方法与单个结构体变量相像,如:info[5].snum=2002infosex留意:与数组初始化一样,结构体变量的初值个数也可以少于它所包含的成员数。比*优先级高结构体中包含指针7.7用指针处理链表链表是动态地进行存储安排的一种结构存储形式:例如,可以把一个整型变量、一个字符变量、一个实型变量放在同一地址开头的内存单元中。以上3个变量在内存中占的字节数不同,但都从同一地址1000开头,使用掩盖技术,几个变量相互掩盖。7.8.2共用体变量的引用方式对共用体变量的引用方法:直接引用共用体变量中的成员。对共用体变量的使用需要留意如下几个问题:由于共用体变量中的各重量都共用一段存储空间,所以任何时刻,只能有一种类型的数据存放在共用体变量中,即任何时刻,只有一个重量有效,其它重量无意义。1在引用共用体变量时,必需保证对其存储类型的全都性,假如最近一次存入共用体变量的是整数,那下次取变量中的内容也应当是整数,否则将无法保证程序的正常工作。2共用体变量中起作用的成员是最终一次存放的成员,存入一个新成员后原有成员就失去作用。3共用体变量的地址和它的各成员的地址都是同一地址。例如:&a、&a.j、&a.c、&a.f都是同一地址。4共用体变量不能用作函数参数,也不能使函数带回共用体变量作为返回值,但可以使用指向共用体变量的指针。5共用体变量可以消灭在结构体类型定义中,也可以定义共用体数组。反之,结构体也可以消灭在共用体类型定义中,数组也可以作为共用体的成员位运算属于汇编语言的功能,C语言最初是为了编写系统程序而设计的,因此它供应了很多类似于汇编语言的功能。位运算的运算对象只能是整型或字符型数据,而不能是浮点型数据。例如:若x=0x17,y=0x06,则x&y的计算结果如下:(1)将数据中某些位清零例:x是字符型变量(占8个二进制位),要将x的第2位置0,进行下列运算。(2)可取出数据中的某些位例:为了推断x的第4位是否为0,进行下列运算。例如:若x=0x17,y=0x06,则x^y的计算结果如下:(1)使数据中某些位取反。例:要将x中的第5位取反,可进行如下操作:(2)同一个数据进行“异或”运算后,结果为0例:要将x变量清0,可进行如下运算:(1)“异或”运算具有此性质:例1.整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是:D例2.设有定义语句:charc1=92,c2=92;,则以下表达式中值为零的是:A例3.若有以下程序段:Cintx=1,y=2;则执行以上语句后x和y的值分别是第九章例1.以下可作为fopen函数中第一个参数的正确格式是(的)usertesttxtBusertest例2.有如下程序fp1=fopen("f1.txt","文件中有一个读写位置指针,指向当前的读写位置。每次读写1个(或1组)数据后,系统自动将位置指针移动到下一第十章宏定义包括:不带参数的宏定义带参数的宏定义。留意:1.预处理程序对符号常量的处理只是进行简洁的替换工作,不作语法检查,假如程序中使用的预处理语句有错,只能在编译阶段检查出来。2.除特殊状况,预处理语句的结尾不应有分号,若加分号,则将连同分号一起替换。3.程序中消灭的由双引号括起来的字符串,即使和符号常量名相同,也不进行宏替换。4.在进行宏定义时,可以引用已定义的宏名,可以层层置换。5.宏名一般习惯用大写字母表示,以便与变量名相区分。1.对宏定义字符串中的参数都要用括号括起来,整个字符串部分也应用括号括起来。例1.以下叙述中正确的是(C)A.预处理命令行必需位于源文件的开头B.在源文件的一行上可以有多条预处理命令C.宏替换不占用程序的运行时间D.宏名必需用大写字母表示例2.有以下程序A.64,28B.4,4C.4,3D.64,64例3.以下程序的输出结果是(B)1.算法算法是指问题处理方案的精确 而完整的描述。算法具有的五个基本特点:有穷性、确定性、可行性、有零个或多个输入、有一个或多个输出。有穷性是指一个算法应包含有限的操作步骤,而不能是无限的;确定性是指算法中的每一个步骤都应当是确定的,而不应当是模糊的、模棱两可的;可行性是指算法中的每一个步骤都应当能有效地执行,并得到确定的结果。算法简单度是衡量算法好坏的量度,可分为时间简单度和空间简单度。时间简单度是指执行算法所需要的计算工作量;空间简单度是指执行这个算法所需要的内存空间。常用算法包括:交换查找排序递归求素数求最大值与最小值求两个数的最大公约数与最小公倍数整数位的分离数组元素的逆置。2.结构化程序设计结构化程序设计方法:自顶向下逐步求精模块化设计结构化编码。[].算法的特点是什么?[].常用算法有哪些?[].结构化程序设计的基本方法是什么?第一节C语言的结构1.C程序的构成一个C程序可以由一个或多个源文件组成,一个源文件可以由若干函数以及预处理命令、全局变量声明组成。一个C源程序不论由多少个文件组成,都包含且仅包含一个main函数,还可以包含一个或多个其他函数。被调用的函数可以是系统供应的库函数(例如printf和scanf函数),也可以是用户依据需要自己编制设计的函数。一个C源程序可以由一个或多个源文件组成,每个源文件可由C源程序所包含的一个或多个函数组成。一个C程序总是从main函数开头执行的,而不论main函数在整个程序中的位置如何。C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上,C程序没有行号。每个语句和数据声明的最终必需有一个分号,分号是C语句的必要组成部分。可以用/*……*/对C程序中的任何部分做注释。2.C程序的编写及运行过程用高级语言编写的程序称为“源程序”,为了使计算机能执行高级语言源程序,必需先用一种称为“编译程序”的软件,把源程序翻译成二进制的"目标程序",然后再将该目标程序与系统的函数库以及其他目标程序连接起来,形成可以执行的“可执行程序”。C程序的这一编写及运行过程可以归纳为四个阶段:编辑,编译,连接,运行。[以下叙述不正确的是A)一个C源程序可由一个或多个函数组成B)一个C程序必需包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面[]以下叙述中错误的是A)C语言源程序经编译后生成后缀为.obj的目标程序B)C语言经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令其次节数据类型及其运算表达式1?表达式2:表达式3求解过程是:先求解表达式1,若为非0(真),则求解表达式2,此时表达式2的值就是整个条件表达式的值;若表达式1为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。考点2:常量的合法性[答案]A表达式3.6-5/2+1.2+5%2的值是有以下程序段第三节基本语句1.C语句表达式语句由一个表达式加一个分号构成,最典型的是,由赋值表达式构成一个赋值语句。空语句即只有一个分号的语句,它什么也不执行。其作用是有时用来作流程的转向点或用把一些语句括起来成为复合语句(又称分程序)。复合语句中最终一个语句中最终的分号不能忽视不写。2.数据的输入输出C语言中本身不供应输入输出语句,输入和输出操作是由C函数库中的函数来实现的。3.字符输入输出函数putchar函数(字符输出函数)的作用是向终端输出一个字符。其一般形式为getchar函数(字符输入函数)的作用是从终端(或系统隐含指定的输入设备)输入一个字符。getchar函数没有参数,printf函数(格式输出函数)的作用是向终端(或系统隐含指定的输出设备)输出若干个任意类型的数据。其一般为:printf(格式把握,输出表列)其中,“格式把握”是用双撇号括起来的字符串,也称“转换把握字符串",它包括格式说明和一般字符;“输出表列”d、o、x、u、c、s、f、e、g等字符如用在“%”后面就作为格式符号,一个格式说明以“%”开头,以首假如想输出字符“%”,则应当在格式把握字符串中用连续两个%表示。scanf函数(格式输入函数)的一般形式为scanf(格式把握,地址表列)假如在格式把握字符串中除了格式说明外还有其他字符,则是在输入数据时应在对应位置输入与这些字符相同的字符。在用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入。“%3d”,只取3列:遇非法输入。考点1:C语句的特点[]以下叙述中错误的是B)复合语句在语法上被看作一条语句A)scanf("%d%s",&b,&c);B)scanf("%d%s",C)scanf("%d%s",b,c);D)scanf("%第四节选择结构程序设计C语言供应了3种形式的if语句:形式一:if(表达式)语句else语句2elseif(表达式2)语句2elseif(表达式3)语句3elseif(表达式m)语句m实型、字符型、指针型数据)。若表达式的值为0,则按“假”处理,若表达式的值为非0,则按“真”处理。…default:语句n+1switch后面括号内的“表达式”ANSI“case常量表达式”只是起语句标号作用,并不在该处进行条件推断case考点1:if语句的应用[]请阅读以下程序continu语句和break语句的区分是:continue语句只结束本次循环,而不是中止整个循环的执行。而break语句则用来结束整个循环过程,不再推断执行循环的条件是否成立。考点1:for语句的应用程序运行后的输出结果是考点2:while及dowhile语句的应用[]若有以下程序}程序运行后的输出结果是A)y=0B)y=1C)y=1D)while构成无限循环考点3:contiune及break语句的应用[以下叙述中正确的是A)break语句只能用于switch语句中B)continue语句的作用是:使程序的执行流程跳出包含它的全部循环C)break语句只能用在循环体内和switch语句体内D)在循环体内使用break语句和continue语句的作用相同考点4:循环的嵌套应用[执行以下程序后,输出W号的个数是。考点5:循环与选择结构的综合应用下面程序的功能是:输出100以内能被3整除且个位数为6的全部整数,请填空。j=i*10+6;[打印出全部的“水仙花数”,所谓“水仙花数”是指一个3位数,它的各个位上数字的立方之和等于这个数本身。例如,153是一个水仙花数,由于153=13+53+33{if(baibaibaishishishigegegeprintf第六节数组的定义和引用1.一维数组的定义、初始化和引用在定义数组时需要指定数组中元素的个数,方括号中的常量表达式用来表示元素的个数,即数组长度。该由于不能一次引用整个数组,所以对数组的初始化常在定义值,也可以只给部分元素赋初值。在对全部元素赋初值时,由于数据的个数已确定,因此可以不指定数2.二维数组的定义、初始化和引用在使用数组元素时应特殊留意下标值在已定义的数组大小范围内,即数组元素下标的值应小于(不能等于)数组定义时初始化二维数组时,既可以分行赋初值,也可以将全部数据写在一个花括号内,按数组排列的挨次对各元可以对全部元素赋初值,也可以只给部分元素赋初定;假如对部分元素赋初值,则其余元素被自动赋0值。3.字符数组的定义与初始化字符数组是为了存放字符数据而定义的字符型数组。由于字符型和整型相互通用,因此也可以定义一个把一个字符串存入一个数组时,也把结束符\0存入数组,并以此作为该字符串是否结束的标志。对已定义长度的字符数组进行初始化时,假如花括号中供应的初值个数大于数组长度,按语法错误处理;小于数组长度,则其余元素自动定为空字符(\0)。由于接受了\标志,所以在用字符串对字符数组赋初值时一般无须指定数组的长度,而由系统自行处理。这时字符数组的长度=字符串长度+1。4.字符数组的输入输出字符数组的输入输出有两种方法:用格式符“%c”逐个字符在利用scanf函数输入字符串时,字符数组名输入项不应加&,由于数组名本身就代表该数组的起始地址。在利用printf函数输出字符串时,输出字符遇到第一个\0结束,且输出不包括\。5.字符串处理函数strcpy函数,一般形式为:strcpy(字符数组1,字符数组2),作用是把字符数组2中的字符串拷贝到字符数组1中,串结束标志\0'也一同拷贝。字符数组2也可以是一个字符串常量。考点1:数组的定义与初始化以下能正确定义一维数组的选项是A)inta[5]={0,1,2,3charaA)2B)3C)4D)无确定值度与初值的个数不相同,所以此语句不正确考点2:数组的引用[有以下程序for(i=0;i<3;i++)scanf("%dprintf("%3d%3d%3d\n",x[0][0],x[0]若运行时输入:246<回车>,则输出结果为。考点3:字符数组的定义、初始化及应用以下程序运行后的输出结果是#include"string.h"for(i=0;i<3;i++)strcpychfor(i=0;i<3;i++)printf("}考点4:字符串及字符数组的长度[]有以下程序程序运行后的输出结果是有以下程序printf("sizeofsizeof程序运行后的输出结果是第七节函数1.函数的分类(1)库函数:由C系统供应的函数;(2)用户定义函数:由用户自己定义的函数;(3)有返回值的函数向调用者返回函数值,应说明函数类型(即返回值的类型);(4)无返回值的函数:不返回函数值,说明为空(void)类型;(5)有参函数:主调函数向被调函数传送数据;(6)无参函数:主调函数与被调函数间很多据传送;(7)内部函数:只能在本源文件中使用的函数;(8)外部函数:可在整个源程序中使用的函数。2.函数定义的一般形式[extern/static]类型说明符函数名([形参表])方括号内为可选项。3.函数说明的一般形式[extern]类型说明符函数名([形参表])。4.函数调用的一般形式函数名([实参表])5.函数的参数分为形参和实参两种,形参消灭在函数定义中,实参消灭在函数调用中,发生函数调用时,将把实参的值传送给形参。6.函数的值是指函数的返回值,它是在函数中由return语句返回的。7.数组名作为函数参数时不进行值传送而进行地址传送。形参和实参实际上为同一数组的两个名称。因此形参数组的值发生变化,实参数组的值当然也变化。8.C语言中,允许函数的嵌套调用和函数的递归调用。9.可从三个方面对变量分类,即变量的数据类型,变量作用域和变量的存储类型。在其次章中主要介绍变量的数据类型,考点1:函数的参数{}考点2:函数返回值[]已定义以下函数以下程序的输出结果是}考点3:函数说明若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是考点4:函数的递归调用}}考点5:变量的作用域\存储类型[有以下程序}程序运行后的输出结果是第八节编译预处理1.宏定义是用一个标识符来表示一个字符串,这个字符串可以是常量、变量或表达式。在宏调用中将用该字符串代换宏2.宏定义可以带有参数,宏调用时是以实参代换形参。而不是“值传送”。3.为了避开宏代换时发生错误,宏定义中的字符串应加括号,字符串中消灭的形式参数两边也应加括号。4.文件包含是预处理的一个重要功能,它可用来把多个源文件连接成一个源文件进行编译,结果将生成一个目标文件。[]以下程序运行后的输出结果是}[答案]81[2003]有以下程序}程序运行后的输出结果是第九节指针1.在C语言中,指针是指一个变量的地址,通过变量的地址“指向”的位置找到变量的值,这种“指向”变量地址可形象地看作“指向”。用来存放指针的变量称为指针变量,它是一种特殊的变量,它存放的是地址值。2.定义指针变量的一般形式为:类型名*指针变量1,*指针变量2,…:“类型名”称为“基类型”它规定了后面的指针变量中存放的数据类型,"*"号表明后面的“指针变量1”,“指针变量2”等是指针变量。3.一个指针变量只能指向同一类型的变量。4.与指针和指针变量有关的两个运算符:(1)*:指针运算符(或称“间接访问”运算符)(2)&:取地址运算符5.变量、数组、字符串、函数、结构体都有地址,可以声明相应类型的指针变量指向它们。6.数组的指针和指向数组的指针变量。数组的指针是指数组的起始地址,数组元素的指针是数组元素的地址。C语言规定数组名代表数组的首地址,也就是第一个元素的地址。7.字符串的指针和指向字符串的指针变量。C语言将字符串隐含处理成一维字符数组,但数组的每个元素没有具体的名字,这一点跟字符数组不一样。要引用字符串中的某个字符,只能通过指针来引用:*(s+0),*(s+1),…,*(s+n)。8.函数的指针和指向函数的指针变量。指向函数的指针变量的一般形式为:数据类型标识符(*指针变量名)();这里的“数据类型标识符”是指函数返回值的类型。函数的调用可以通过函数名调用,也可以通过函数指针调用(即用指向函数的指针变量调用)。指向函数的指针变量表示定义了一个指向函数的指针变量,它不是固定指向哪一个函数,而只是定义了这样的一个类型变量,它特地用来存放函数的入口地址。在程序中把哪一个函数的地址赋给它,它就指向哪一个函数。在一个程序中,一个指针变量可以先后指向不同的函数。在给函数指针变量赋值时,只需给出函数名而不必给出参数。由于函数指针赋的值仅是函数的入口地址,而不涉及到实参与形参的结合问题。对指向函数的指针变量,表达式p+n,p++,p-等都无意义。9.结构体的指针与指向结构体的指针变量一个结构体变量的指针就是该变量所占据的内存段的起始地址。可以设一个指针变量,用来指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址。指针变量也可以用来指向结构体数组中的元素。10.用指针做函数参数函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型,它的作用是将一个变量的地址传送到另一个函数中。11.返回指针值的指针函数一个函数可以返回一个整型值、字符值、实型值等,也可以返回指针型的数据,即地址这种带回指针值的函数,一般的定义形式为:类型标识符*函数名(形参表)。12.指针数组、指向指针的指针指针数组指的是一个数组,其元素均为指针类型数据,也就是说,指针数组中的每一个元素都是指针变量。指针数组的定义形式为:类型标识*数组名[数组长度说明]指针数组可以使字符串处理更加便利。指向指针的指针是指指向指针数据的指针变量,一个指向指针数据的指针变量的一般形式为:类型标识**p。13.main函数的命令参数指针数组的一个重要应用是作为main函数的形参,一般来说,main函数后的括号中是空的,即没有参数。实际上main可以有参数,如:main(argc,argv)其中,argc和argv就是main函数的形参。其他函数形参的值可以通过函数调用语句的实参中得到,由于main函数是由系统调用的,因而main函数的形参值不能从程序中得到,但可以在操作系统状态下,将实参和命令一起给出,从而使main函数的形参得到值。命令行的一般形式为:命令名参数1参数2..参数n命令名和各参数之间用空格分隔开。考点1:指针与指针变量的概念[2008]设有定义:intn1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流管理流程与优化方案指导书
- 校园艺术节:展示才华精彩无限小学主题班会课件
- 关于2026年信息技术系统升级计划的确认函3篇
- 关于拓展东南亚市场业务拓展计划的通知6篇范本
- 健康饮食我倡议:让健康成长伴我行小学主题班会课件
- 回复设备安装调试报告内容回复函(6篇)
- 零售店店长店铺陈列与销售增长绩效评定表
- 安全小卫士:校园安全知识宣传班会小学主题班会课件
- 关于2026年跨部门协作会议的确认函(4篇)
- 汽车销售顾问汽车销售业绩与满意度KPI考核表
- 《上海市幼儿园办园质量评价指南(试行)》
- 制造业生产计划及执行保障措施
- 济南水务集团招聘笔试真题2024
- T-CIAPS0002-2017 锂离子电池企业安全生产规范
- 社区服务项目合伙人协议书
- 血透室院感培训课件
- 液化气运行工安全技术规程培训
- 《定期租船合》课件
- 青年数学教师的专业成长
- 个人六个方面剖析对照
- 阜阳市界首市选调中小学教师考试试卷真题及答案2022
评论
0/150
提交评论