已阅读5页,还剩81页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章 C语言概述一、选择题1C语言规定,必须用 作为主函数名。 A)Function B)include C)main D)stdio2一个C程序可以包含任意多个不同名的函数,但有且仅有一个 ,一个C程序总是从 开始执行。 A)过程 B) 主函数 C)函数 D)include3 是C程序的基本构成单位。 A)函数 B) 函数和过程 C) 超文本过程 D) 子程序4下列说法正确的是 。 A) 一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B) 一个函数的函数体必须要有执行部分,可以没有变量定义C) 一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D) 以上都不对5下列说法正确的是 。 A) main函数必须放在C程序的开头B) main函数必须放在C程序的最后C) main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D) main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的6下列说法正确的是 。 A) 在执行C程序时不是从mian函数开始的B) C程序书写格式严格限制,一行内必须写一个语句C) C程序书写格式自由,一个语句可以分写在多行上D) C程序书写格式严格限制,一行内必须写一个语句,并要有行号7在C语言中,每个语句和数据定义是用 结束。 A)句号 B)逗号 C)分号 D)括号8下列字符串是标识符的是 。 A)_HJ B)9_student C)long D)LINE 19以下说法正确的是 。 A) C语言程序总是从第一个定义的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分10 不是C语言提供的合法关键字。 A)switch B)print C)case D)default二、填空题1一个C程序至少包含一个 ,即 。 2一个函数由两部分组成,它们是 和 。 3函数体的范围是 。 4函数体一般包括 和 。 5C语言是通过 来进行输入输出的。 第二章 顺序结构程序设计一、选择题1.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将 ;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。 A)不予输出 B)输出空格 C)照样输出 D)输出不定值或02.在 scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。如果类型不匹配,系统 。 A)不予接收 B)并不给出出错信息,但不可能得出正确信息数据 C)能接受正确输入 D)给出出错信息,不予接收输入3.下列说法正确的是 。 A)输入项可以是一个实型常量,如scanf(%f,4.8); B)只有格式控制,没有输入项也能进行正确输入,如scanf(a=%d,b=%d); C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%5.3f,&f); D)当输入数据时,必须指明变量的地址,如scanf(%f,&f);4.根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是 。 main()int a;float x;printf(input a,x:);输入语句输出语句输入形式 input a,x:3 2.1输出形式a+x=5.10A)scanf(%d,%f,&a,&x); printf(na+x=%4.2f,a+x);B)scanf(%d %f,&a.&x); printf(na+x=%4.2f,a+x);C)scanf(%d %f,&a,&x); printf(na+x=%6.1f,a+x);D)scanf(%d %3.1f,&a,&x);printf(na+x=%4.2f,a+x);5.以下程序的输出结果是 。 main()int i=010,j=10,k=0x10;printf(%d,%d,%dn,i,j,k);A)8,10,16 B)8,10,10 C)10,10,10 D)10,10,166.以下程序的输出结果是 。 main()int i=011,j=11,k=0x11;printf(%d,%d,%dn,i,j,k);A)9,11,17 B)9,11,11 C)11,11,11 D)11,11,167.以下程序的输出结果是 。 #includemain()printf(%dn,NULL);A)不确定的值(因变量无定义) B)0C)-1 D)18.以下程序的输出结果是 。 main()char c1=6,c2=0;printf(%c,%c,%d,%dn,c1,c2,c1-c2,c1+c2);A)因输出格式不合法,输出出错信息 B)6,0,6,102C)6,0,7,6 D)6,0,5,79.设有如下定义int x=10,y=3,z;则语句printf(%dn,z=(x%y,x/y);的输出结果是 。 A)3 B)0 C)4 D)110.设有如下定义int x=10,y=5,z;则语句printf(%dn,z=(x+=y,x/y);的输出结果是 。 A)1 B)0 C)4 D)3二.填空题1.C语言中的语句可分为5类,即 、 、 、 、 。 2.由一次函数调用加一个分号构成一个 语句。 3.putchar函数的作用是 。 4.printf是C语言提供的标准输出函数,它的作用是 。 5.printf函数的“格式控制”包括两部分,他们是 和 。 三、编程题1.从键盘上输入一个大写字母,要求改用小写字母输出。 2.编写程序,求方程ax2+bx+c=0的解x。 3.请编写一个程序,能显示出以下两行文字。 I am a student.I love China.第三章 选择结构程序设计一、选择题1下列运算符中优先级最高的是 。 A) B) + C) & D)!=2以下关于运算符优先级的描述中,正确的是 。 A)!(逻辑非)算术运算关系运算&(逻辑与)|(逻辑或)赋值运算B)&(逻辑与)算术运算关系运算赋值运算C)关系运算算术运算&(逻辑与)|(逻辑或)赋值运算D)赋值运算算术运算关系运算&(逻辑与)|(逻辑或)3逻辑运算符的运算对象的数据类型 。 A)只能是0或1 B)只能是.T.或.F.C)只能是整型或字符型 D)任何类型的数据4能正确表示x的取值范围在0,100和-10,-5内的表达式是 。 A)(x=-5)&(x=100)B)(x=-10)&(x=0)&(x=-10)&(x=0)&(x=100)D)(x=-5)&(x=100)5以下程序的运行结果是 。 main( ) int c,x,y; x=1; y=2; c=0; c=x+|y+; printf(“n%d%d%dn”,x,y,c); A)110 B)211 C)011 D)0016以下程序的运行结果是 。 main( ) int c,x,y; x=0; y=0; c=0; c=x+&y+; printf(“n%d%d%dn”,x,y,c); A)100 B)211 C)011 D)0017判断字符型变量ch为大写字母的表达式是 。 A)A=ch=A)&(ch=A)&(ch=A)AND(ch=Z)8判断字符型变量ch为小写字母的表达式是 。 A)a=ch=a)&(ch=a)|(ch=a)&(ch0) printf(”%f”,x); x=x+1; printf(”%f”,x); else printf(”%f”,-x); else printf(”%f”,-x);C)if(x0); D)if(x0) x=x+1; printf(”%f”,x); x=x+1; printf(”%f”,x) else printf(”%f”,-x); else printf(”%f”,-x);10分析以下程序:main( ) int x=5,a=0,b=0; if(x=a+b) printf(“* *n”); else printf(“# #n”);以上程序 。 A)有语法错,不能通过编译 B)通过编译,但不能连接C)输出* * D)输出# #二、填空题1在C语言中,对于if语句,else子句与if子句的配对约定是 。 2阅读下面程序,写出它的功能。 #include main()int label;char c;printf(nPlease enter 1 number:);c=getchar();while(c!=n)if(c= =.) label=1;c=getchar();if(label= =1)printf(nfloat);else printf(nint);3以下两条if语句可合并成一条if语句为 。 if(ab) printf(* * * * y=%dn,y);else printf(# # # # x=%dn,x);三、编程题1编写一个程序,要求有键盘输入三个数,计算以这三个数为边长的三角形的面积。 2输入圆的的半径r和一个整型数k,当k=1时,计算圆的面积;但k=2时,计算圆的周长,当k=3时,既要求求圆的周长也要求出圆的面积。编程实现以上功能。 3.编写程序,判断某一年是否是闰年。 4. 有一函数,其函数关系如下,试编程求对应于每一自变量的函数值。 x2 (x0) y = -0.5x+10 (0x10) x- (x10)5. 编一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。设:90分以上为A;8089分为 B;7079分为C;6069分为D;60分以下为 E。 第四章 循环结构程序设计一、选择题1while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定有能使此表达式的值变为 的操作,否则,循环将会无限制地进行下去。 A)0 B)1 C)成立 D)22在do-while循环中,循环由do开始,用while结束;必须注意的是:在while表达式后面的 不能丢,它表示do-while语句的结束。 A)0 B)1 C); D),3for语句中的表达式可以部分或全部省略,但两个 不可省略。但当三个表达式均省略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。 A)0 B)1 C); D),4程序段如下int k=-20;while(k=0) k=k+1;则以下说法中正确的是 。 A)while循环执行20次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次5程序段如下int k=1;while(!k=0) k=k+1;printf(%dn,k);说法正确的是 。 A)while循环执行2次 B)循环是无限循环C)循环体语句一次也不执行 D)循环体语句执行一次6以下for循环是 。 for(a=0,b=0;(b!=123)&(a=4);a+)A)无限循环 B)循环次数不定 C)执行4次 D)执行5次7在下列程序中,while循环的循环次数是 。 main( ) int i=0; while(i10) if(i1) continue; if(i= =5) break; i+; .A)1 B)10 C)6 D)死循环、不能确定次数8程序段如下int k=0; while(k+=2) printf(%dn,k);则执行结果是 。 A)1 B)2 C)0 D)无结果 2 3 1 3 4 29程序段如下int k=0;while(k+=2); printf(last=%dn,k);则执行结果是last= 。 A)2 B)3 C)4 D)无结果10执行下面的程序后,a的值为 。 main()int a,b;for(a=1,b=1;a=20)break;if(b%3=1) b+=3; continue; b-=5;A)7 B)8 C)9 D)10 二、填空题1while语句的特点是 (1) ,do-while语句的特点是 (2) 。 2将for(表达式1;表达式2;表达式3)语句改写为while语句是 。 3break语句的功能是 。 4break语句只能用于 (1) 语句和 (2) 语句中。 5continue语句的作用是 ,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。 三、编程题1编写程序,求两个整数的最大公约数。 2把输入的整数(最多不超过5位)按输入顺序的反方向输出,例如,输入数是12345,要求输出结果是54321,编程实现此功能。 3中国古代数学家张丘建提出的“百鸡问题”:一只大公鸡值五个钱,一只母鸡值三个钱,三个小鸡值一个钱。现在有100个钱,要买100只鸡,是否可以?若可以,给出一个解,要求三种鸡都有。请写出求解该问题的程序。 4求100200间的全部素数。 5整元换零钱问题。把1元兑换成1分,2分,5分的硬币,共有多少种不同换法,请编写求解此问题的程序。 6有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13,.,编写程序求这个数列的前20项之和。 7编写程序,利用公式e=1+1/1!+1/2!+1/3!+.+1/n!求出e的近似值,其中n的值由用户输入(用于控制精确度)。 8.一个数如果恰好等于它的因子之和(除自身外),则称该数为完全数,例如:6=1+2+3,6就是完全数,请编写一程序,求出100以内的整数中的所有完全数。其中100由用户输入。 9编一程序,将2000年到3000年中的所有闰年年份输出并统计出闰年的总年数,要求每10个闰年放在一行输出。 10请编写一程序,打印出九九乘法口诀表(例:1*1=1)。 第五章 数组一、选择题1.在C语言中,引用数组元素时,其数组下标的数据类型允许是 。 A)整型常量 B)整型常量或整型表达式 C)整型表达式 D)任何类型的表达式2.以下对一维整型数组a的正确说明是 。 A)int a(10); B)int n=10,an;C)int n; scanf(“%d”,&n); int an;D ) #define SIZE 10 int aSIZE;3.3以下能对一维数组a进行正确初始化的语句是 。 A)int a10=(0,0,0,0,0); B)int a10= ;C)int a =0; D)int a10=10*1;4.不是给数组的第一个元素赋值的语句是 。 A)int a2=1; B) int a2=1*2; C) int a2;scanf (“%d”,a); D)a1=1;5下面程序的运行结果是 。 main()int a6,i;for(i=1;i3)%5;printf(%2d,ai); A)-4 0 4 0 4 B)-4 0 4 0 3 C)-4 0 4 4 3 D)-4 0 4 4 06下列定义正确的是 。 A) static int a=1,2,3,4,5 B) int b=2,5 C) int a(10) D) int 4e47若有说明int a4=0,0;则下列叙述不正确的是 。 A) 数组a的每个元素都可以得到初值0 B) 二维数组a的第一维的大小为1 C) 因为对二维数组a的第二维大小的值除以初值个数的商为1,故数组a的行数为1 D) 只有元素a00和a01可得到初值0,其余元素均得不到初值8设有char str10,下列语句正确的是 。 A) scanf(%s,&str); B) printf(%c,str); C) printf(%s,str0); D) printf(%s,str);9下列说法正确的是 。 A) 在C语言中,可以使用动态内存分配技术定义元素个数可变的数组 B) 在C语言中,数组元素的个数可以不确定,允许随机变动 C) 在C语言中,数组元素的数据类型可以不一致 D) 在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素的个数10假设array是一个有10个元素的整型数组,则下列写法中正确的是 。 A) array0=10 B) array=0 C) array10=0 D) array-1=0二、填空题1数组名定名规则和变量名相同,遵循 定名规则。 2对于一维数组的定义“类型说明符 数组名常量表达式”,其中常量表达式可以包括 和 ,不能包含 。 3在C语言中,引用数组只能通过 数组元素来实现,而不能通过整体引用 来实现。 4在定义数组时对数组元素赋以初值,需要在数组的类型说明符前加关键字 。 5如果要使一个内部数组在定义时每个元素初始化值为0,但不进行逐个赋值,将其说明成 存储类型即可。三、编程题1用起泡法对10个数排序。 2编一程序,从键盘输入10个整数并保存到数组,求出该10个整数的最大值、最小值及平均值。 3将一个n*m二维数组的行和列元素互换,存到另一个m*n的二维数组中,并输出其结果。 例如:static int a23=1,2,3,4,5,64编一程序,从键盘输入10个整数并保存到数组,要求找出最小的数和它的下标,然后把它和数组中最前面的元素对换位置。 5编写程序,从键盘输入n个由小到大的顺序排好的数列和一个数insert_value,把insert_value插入到由这n个数组成的数列中,而且仍然保持由小到大的顺序,若insert_value比原有所有的数都大时放在最后,比原有的数都小时放在最前面。 6编程完成下述功能:从键盘输入一个n*n(最大为20*20)矩阵的各元素的值,求出该矩阵两条对角线上各元素值之和并打印出结果。 第六章 函数一、选择题1.以下函数定义正确的是: 。 A) double fun(int x, int y) B) double fun(int x; int y)C) double fun(int x, int y) ; D) double fun(int x , y)2.C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是: 。 A)地址传递; B)单向值传递;C)双向值传递; D)由用户指定传递方式3.以下关于语言程序中函数的说法正确的是: 。 )函数的定义可以嵌套,但函数的调用不可以嵌套;)函数的定义不可以嵌套,但函数的调用可以嵌套;)函数的定义和调用均不可以嵌套;)函数的定义和点用都可以嵌套。4.以下正确的函数形式是: 。 A)double fun(int x,int y) B)fun (int x,y) z=x+y;return z; int z;return z;C)fun(x,y) D)double fun(int x,int y) int x,y; double z; double z; z=x+y; return z; z=x+y; return z;5.以下说法不正确的是: 。 C 语言规定 A)实参可以是常量、变量或表达式 B)形参可以是常量、变量或表达式 C)实参可以是任意类型D)形参应与其对应的实参类型一致6.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 。 A) float型 B) int 型 C)long 型 D)double 型7.以下错误的描述是 。 函数调用可以 A)出现在执行语句中 B)出现在一个表达式中 C)做为一个函数的实参 D)做为一个函数的形参8.若用数组名作为函数调用的实参,传递给形参的是 。 A)数组的首地址 B)数组第一个元素的值C)数组中全部元素的值 D)数组元素的个数9.以下正确的说法是 。 如果在一个函数中的复合语句中定义了一个变量,则该变量A)只在该复合语句中有效 B)在该函数中有效C)在本程序范围内有效 D)为非法变量10.以下不正确的说法为 。 A)在不同函数中可以使用相同名字的变量B)形式参数是局部变量C)在函数内定义的变量只在本函数范围内有效D)在函数内的复合语句中定义的变量在本函数范围内有效二、填空题1.C语言规定,可执行程序的开始执行点是 。 2.在C语言中,一个函数一般由两个部分组成,它们是 和 。 3.函数swap(int x,int y)可完成对x和y值的交换。在运行调用函数中的如下语句后,a0和a1 的值分别为 ,原因 。 4.函数swap(arr,n)可完成对arr数组从第1个元素到第n个元素两两交换。在运行调用函数中的如下语句后,a0 和a1的值分别为 ,原因 。 5.设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部 。要求形参名为b。 main() double s1022; int n; fun(s); 6.返回语句的功能是从 返回 。 三、编程题1.有一个数组,内放10个学生的英语成绩,写一个函数,求出平均分,并且打印出高于平均分的英语成绩。 2.编写一个函数计算任一输入的整数的各位数字之和。主函数包括输入输出和调用该函数。 3.已有函数调用语句c=add (a,b);请编写add函数,计算两个实数a和b的和,并返回和值。 double add (double x, double y) 4.已有变量定义语句double a=5.0;int n=5;和函数调用语句mypow (a, n);用以求a的n次方。请编写double mypow (double x, int y)函数。 double mypow (double x, int y) n5.已有变量定义和函数调用语句int a, b;b=sum (a);函数sum( )用以求 k, k=1和数作为函数值返回。若a的值为10,经函数sum的计算后,b的值是55。请编写sum函数。 sum (int n) 6.已有变量定义和函数调用语句:int a=1, b=5, c;c=fun (a,b);fun函数的作用是计算两个数之差的绝对值,并将差值返回调用函数,请编写fun函数。 fun (int x, int y) 7.已有变量定义和函数调用语句:int x=57;isprime (x);函数isprime ( )用来判断一个整型数a是否为素数,若是素数,函数返回1,否则返回0。请编写isprime 函数。 isprime (int a) 8.利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。 9.函数的递归调用计算阶乘。 10. 输入10个学生的成绩,分别用函数实现: (1)求平均成绩;(2)按分数高低进行排序并输出。 第七章 编译预处理一、选择题1.C语言中,宏定义有效范围从定义处开始,到源文件结束处结束,但可以用 来提前解除宏定义的作用。 A)# ifdef B)endif C)# undefine D)# undef2.以下不正确的叙述是 。 A) 预处理命令都必须以“#”号开始B) 在程序中凡是以“#”号开始的语句行都是预处理命令行C) C语言在执行过程中对预处理命令行进行处理D) # define ABCD是正确的宏定义A) 3.以下正确的叙述是 。 在程序的一行中可以出现多个有效的预处理命令行B) 使用带参宏时,参数的类型应与宏定义时的一致C) 宏替换不占用运行时间,只占编译时间D) 宏定义不能出现在函数内部A) 4.以下不正确的叙述是 。 宏替换不占用运行时间B) 宏名无类型C) 宏替换只是字符替换D) 宏名必须用大写字母表示A) 5. 以下正确的叙述是 。 C语言的预处理功能是指完成宏替换和包含文件的调用B) 预处理命令只能位于C源程序文件的首部C) 凡是C源程序中行首以“#”标识的控制行都是预处理命令D) C语言的编译预处理就是对源程序进行初步的语法检查A) 6.在文件包含预处理语句(# include)的使用形式中,当之后的文件名用“”(双引号)括起时,寻找被包含文件的方式是 。 直接按系统设定的标准方式搜索目录B) 先在源程序所在目录搜索,再按系统设定的标准方式搜索C) 仅仅搜索源程序所在目录D) 仅仅搜索当前目录A) 7.在文件包含预处理语句(# include)的使用形式中,当之后的文件名用(尖引号)括起时,寻找被包含文件的方式是 。 直接按系统设定的标准方式搜索目录B) 先在源程序所在目录搜索,再按系统设定的标准方式搜索C) 仅仅搜索源程序所在目录D) 仅仅搜索当前目录A) 8.C语言的编译系统对宏命令的处理 。 在程序运行时进行的B) 在程序连接时进行的C) 和C程序中的其它语句同时进行编译的D) 在对源程序中其它语句正式编译之前进行的9.以下程序的输出结果是 。 # define MIN(x,y) (x)(y) ? (x) : (y) main( ) int i,j,k; i=10; j=15; k=10*MIN(i,j); printf(“%d”,k); A)15 B)100 C)10 D)150 10.以下程序的输出结果是 。 # include # define ADD(y) 3.54+y# define PR(a) printf(“%d”, (int)(a)# define PR1(a) PR(a); putchar (n)main( ) int i=4; PR1(ADD(5)*i); A)20 B)23 C)10 D)0 二、填空题1.C提供的预处理功能主要有三种,分别是 、 和 。 2.设有以下宏定义:# define WIDTH 80 # define LENGTH WIDTH+40则执行赋值语句:v= LENGTH*20;(v为int型变量)后,v的值是 。 3.设有以下宏定义:# define WIDTH 80 # define LENGTH (WIDTH+40)则执行赋值语句:k= LENGTH*20;(k为int型变量)后,k的值是 。 四、编程题1.编写一个宏定义MYALPHA(c),用以判定c是否是字母字符,若是,得1;否则得0。 2.编写一个宏定义AREA(a,b,c),用于求一个边长为a、b和c的三角形的面积。其公式为:s=(a+b+c)/2 area= s(s-a)(s-b)(s-c) 3.编写一个程序求三个数中最大者,要求用带参宏实现。 第八章 指针一、选择题1.变量的指针,其含义是指该变量的 。 A)值 B)地址 C)名 D)一个标志2.设有说明 int (ptr)M;其中ptr是 。 A) M个指向整型变量的指针B) 指向M个整型变量的函数指针C) 一个指向具有M 个整型元素的一维数组的指针D) 具有 M个指针元素的一维指针数组,每个元素都只能指向整型量3.选择出 i的正确结果 。 int i; char s=a045+045b; for ( i=0;s+;i+); A)5 B)8 C)11 D)124.如下程序的执行结果是 。 # include main( ) int i; char s=an ; for( i=0; si!=0;i+) printf(%c ,(s+i); A)a B)a C)a D)a5.如下程序的执行结果是 。 # include main() static int a =1,2,3,4,5,6; int p; p=a; (p+3)+=2; printf(%d,%dn ,p,(p+3); A)1,3 B)1,6 C)3,6 D)1,46.如下程序的执行结果是 。 # include main( ) static int a 4=1,3,5,7,9,11,13,15,17,19,21,23; int (p)4, i=1,j=2; p=a; printf(%d n , (p+i)+j); A)9 B)11 C)13 D)177.若有以下定义,则对a数组元素的正确引用是 。 int a5, p=a;A)&a5 B)a+2 C)(p+5) D)(a+2)8.若有以下定义,则对a数组元素地址的正确引用是 。 int a5, p=a;A)p+5 B)a+1 C)&a+1 D)&a09.若有定义: int a23;则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确引用为 。 A)(a +i) +j ) B)(a+i) j C)(a+i+j) D)(a +i)+j10.若有定义: int a23;则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的正确引用为 。 A)(a i +j ) B)(a+i) C)(a+j) D)ai+j二、填空题1.若有定义:int a23=2,4,6,8,10,12;则(&a00+22+1)的值是 ,(a1 +2)的值是 。 2.完成以下有关数组描述的填空。 (1) C语言中,数组名是一个不可改变的 ,不能对它进行赋值运算。(2) 数组在内存中占用一段连续的存储空间,它的首地址由 表示。3.定义语句int f ( );和int (f) ( );的含义分别为 和 。4.在C程序中,指针变量能够赋 值或 值。 5.若定义char *p=“abcd”;则 printf(“%d”,*(p+4);的结果为 。 6.以下函数用来求出两整数之和,并通过形参将结果传回,请填空。 void func(int x,int y, ) *z=x+y; 三、编程题1.编写一个程序计算一个字符串的长度。 2.编写一个程序,用12个月份的英文名称初始化一个字符指针数组,当键盘输入整数为1到12时,显示相应的月份名,键入其它整数时显示错误信息。 3.编一程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔地输出该串。请用指针完成。 4.编一程序,将字符串中的第m个字符开始的全部字符复制成另一个字符串。要求在主函数中输入字符串及m的值并输出复制结果,在被调函数中完成复制。 5.设有一数列,包含10个数,已按升序排好。现要求编一程序,它能够把从指定位置开始的n个数按逆序重新排列并输出新的完整数列。进行逆序处理时要求使用指针方法。试编程。(例如:原数列为2,4,6,8,10,12,14,16,18,20,若要求把从第4个数开始的5个数按逆序重新排列,则得到新数列为2,4,6,16,14,12,10,8,18,20。) 6.通过指针数组p和一维数组a构成一个32 的二维数组,并为a数组赋初值2、4、6、8、。要求先按行的顺序输出此“二维数组”,然后再按列的顺序输出它。试编程。 7.编写一个函数,输入n为偶数时,调用函数求1/2+1/4+.+1/n,当输入n为奇数时,调用函数1/1+1/3+.+1/n(利用指针函数) 8.编写一程序,从键盘输入10个数存入数组data10中,同时设置一个指针变量p指向数data,然后通过指针变量p对数组按照从小到大的顺序排序,最后输出其排序结果。 9. 编一程序,从一个3行4列的二维数组中找出最大数所在的行和列,并将最大值及所在行列值打印出来。要求将查找和打印的功能编一个函数,二维数组的输入在主函数中进行,并将二维数组通过指针参数传递的方式由主函数传递到子函数中。 10. 编一程序,首先将一个包含10个数的数组按照升序排列,然后将从一指定位置m开始的n个数按照逆序重新排列,并将新生成的相互组输出。要求使用指针控制方法实现上述功能。 第九章 结构体与共用体一、选择题1.在说明一个结构体变
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农产品质量安全法培训课件
- 新版科创板开通试题及答案
- 有限空间作业安全生产试题及答案
- 检验科输血管理培训考核试题及答案
- 母乳喂养测试题及答案
- 民法典知识竞赛题库与答案(完整版)
- 车辆段冬季除雪应急预案(3篇)
- 2025-2026学年山东省泰安市新泰一中高一上学期第一次月考政治试题含答案
- 美国签证面试英文攻略
- 转向系故障诊断与排除
- 2024年全国网络安全行业职业技能大赛(网络安全管理员)考试题库-上(单选题)
- 闽教版2023版3-6年级全8册英语单词表
- 2024年甘肃省普通高中信息技术会考试题(含24套)
- 真空干燥箱校准规范
- 也是冬天也是春天:升级彩插版
- 茂名市恒兴养殖有限公司江湖镇龙梅生产基地建设项目环评报告
- 滑触线施工方案
- 小学二年级上册书法教案
- 2019电网通信网络运行班组标准化管理手册
- 垃圾池施工方案
- 儿内科神经肌肉系统疾病诊疗规范2023版
评论
0/150
提交评论