作业本《C程序设计Ⅱ》答案.doc

上传人:wux****ua 文档编号:9682120 上传时间:2020-04-07 格式:DOC 页数:51 大小:202.50KB
返回 下载 相关 举报
作业本《C程序设计Ⅱ》答案.doc_第1页
第1页 / 共51页
作业本《C程序设计Ⅱ》答案.doc_第2页
第2页 / 共51页
作业本《C程序设计Ⅱ》答案.doc_第3页
第3页 / 共51页
点击查看更多>>
资源描述
第七部分函 数一、选择题(共20分,每题1分)1以下正确的函数形式是_D_。Adouble fun(int x,int y)Bfun(int x,y) z=x+y; return z; int z; return z; Cfun(x,y)Ddouble fun(int x,int y) int x,y; double z; z=x+y; return z; double z; z=x+y; return z; 2C语言中,简单变量做参数.以下正确的说法是_A_。A 实参和与其对应的形参各占用独立的存储单元B 实参和与其对应的形参共占用一个存储单元C 只有当实参和与其对应的形参同名时才共占用存储单元D 形参是虚拟的,不占用存储单元3若调用一个有返回类型的函数,且此函数中没有return语句,则该函数_D_。A没有返回值B返回若干个系统默认值C能返回一个用户所希望的函数值D返回一个不确定的值4在C语言中,函数的数据类型是指_A_。A函数返回值的数据类型B函数形参的数据类型C调用该函数时的实参的数据类型D任意指定的数据类型5以下不正确的说法是_A。A 定义函数时,形参的类型说明可以放在函数体内B return后边的值不能为表达式C 如果函数值的类型与返回值不一致,以函数值类型为准D 如果形参与其实参的类型不一致,以形参类型为准6C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是_B_。A地址传递B单向值传递C由实参传给形参,再由形参传回给实参D由用户指定传递方式7C语言规定,函数返回值的类型是由D_。Areturn语句中的表达式类型所决定B调用该函数时的主调函数类型所决定C调用该函数时系统临时决定D在定义该函数时所指定的函数类型所决定8下面函数调用语句含有实参的个数为_ B。func(exp1,exp2),(exp3,exp4,exp5);A1B2C4D59C语言中,函数调用不可以 D 。A出现在执行语句中B出现在一个表达式中C做为一个函数的实参D做为一个函数的形参10以下正确的描述是_ B_。A 函数的定义可以嵌套,但函数的调用不可以嵌套B 函数的定义不可以嵌套,但函数的调数用可以嵌套C 函数的定义和函数的调用均不可以嵌套D 函数的定义和函数的调用均可以嵌套11若有数组名作为函数调用的实参,传递给形参的是_ A_。A数组的首地址B数组第一个元素的值C数组中全部元素的值D数组元素的个数12如果在一个函数中的复合语句中定义了一个变量,则该变量_ A_。A只在该复合语句中有效B在该函数中有效C在本程序范围内均有效D为非法变量13以下不正确的说法是_D_。A 在不同函数中可以使用相同名字的变量B 形式参数是局部变量C 在函数内定义的变量只在本函数范围内有效D 在函数内的复合语句中定义的变量在本函数范围内有效14凡是函数中未指定存储类别的局部变量,其隐含的存储类别为_ A_。A自动(auto)B静态(static)C外部(extern)D寄存器(register)15已有数组定义int a34; 和f函数调用语句f(a); ,则在f函数的说明中,对形参数组array的错误定义方式为_B_。(A和D语法虽正确,千万别用)Af(int array6)Bf(int array3)Cf(int array4)Df(int array25)16以下正确的说法是_C_。A 定义函数时,形参的类型说明可以放在函数体内B return后边的值不能为表达式C 如果函数值的类型与返回值类型不一致,以函数值类型为准D 如果形参与实参的类型不一致,以实参类型为准17如果程序中有staticcharc;则编译程序会对其自动设置初值为_ C_。(ASCII码为0)A“n”BnC0D“0”18以下程序有语法性错误,有关错误原因的正确说法是_ C_。void main()int G=5,k;void prt_char(); k=prt_char(G); A 语句void prt_char();有错,它是函数调用语句,不能用void说明B 变量名不能使用大写字母C 函数说明和函数调用语句之间有矛盾D 函数名不能使用下划线19在一个void类型函数的定义中,函数体中有return; 语句,该语句_ B_。A是错的B表示向主调函数返回(程序控制)C在执行时不予理睬D在执行时会中断程序运行20以下不正确的描述是_D。A在函数外部定义的变量是全局变量B在函数内部定义的变量是局部变量C函数的形参是局部变量D局部变量不能与全局变量同名二、填空题(共40分,每题2.5分)1以下程序的运行结果是 #include ”stdio.h”void add(int x,int y,int z) z=x+y;x=x*x;y=y*y;printf(“(2)x=%d y=%d z=%dn”,x,y,z);void main( )int x=2,y=3,z=0;printf(“(1)x=%d y=%d z=%dn”,x,y,z);add(x,y,z);printf(“(3)x=%d y=%d z=%dn”,x,y,z);2若输入一个整数30,以下程序的运行结果是 # include “stdio.h” int pr(int n)int i,yes=1;for(i=2;in&yes;i+)if(n%i=0) yes=0 ;return yes;void main()int m,k;scanf(%d,&m);for(k=3;km/2;k=k+2)if(pr(k)&pr(m-k)printf(%d=%d+%d ,m,k,m-k);3若输入的值是-125,以下程序的运行结果是 #include”stdio.h”#include”math.h”void fun(int n) int k,r;for(k=2;k1)printf(“*”);r=n%k;if(n!=1)printf(“%dn”,n);void main( ) int n;scanf(“%d”,&n);printf(“%d=”,n);if(n0;i-)printf(“%d”,ei-1);6以下程序的运行结果是 #include ”stdio.h”long fib(int g)switch(g)case 0: return 0;case 1:case 2: return 1;return(fib(g-1)+fib(g-2);void main()long k;k=fib(7);printf(“k=%dn”,k);7以下程序的运行结果是 #include ”stdio.h”int sub(int n)int a;if(n=1) return 1;a=n+sub(n-1);return(a);void main()int i=5;printf(“%dn”,sub(i);8以下程序的运行结果是 include”stdio.h”int fact(int value) if(value0)printf(“FACT(-1):ERROR!n”);return(-1);else if(value=1|value=0) return(1);else return(value*fact(value-1);void main() printf(“FACT(5):%dn”,fact(5);printf(“FACT(1):%dn”,fact(1);fact(-5);9.下面程序的功能是用递归的方法将一个整型数num的各位数字转换为对应的数字字符输出,请填空完成程序。#include”stdio.h”voidconvert(intn)intj; j=n/10; if( ) convert( ) putchar( )voidmain() intnum;scanf(“%d”,&num); if(num0) putchar(-); num= ; convert(num);10折半查找法的思路是:先确定待查元素的范围,将其分成两半,然后测试位于中间点元素的值,如果该待查元素的值大于中间点元素,就缩小待查范围,只测试中点之后的元素;反之,测试中间点之前的元素,测试方式同前。函数binary的作用是应用折半查找法从存有10个整数的a数组中对关键字m进行查找,若找到,返回下标值;反之,返回-1。请填空。int binary(int a10,int m)int low=0,high=9,mid;while(low=high)mid=(low+high)/2;if(mamid) else return(mid);return(-1);11函数del的作用是删除有序数组a中的指定元素x。调用语句为n=del(a,n,x);其中实参n为删除前数组元素的个数,赋值号左边的n为删除后数组元素的个数。已知数组中存在x且没有重复元素,请填空。int del(int a,int n,int x)int p,i;p=0;while(x=ap & pn) ;for(i=p-1;in-1;i+) ;n=n-1;return n;12函数yanghui能够按以下形式构成一个杨辉三角形,请填空。5 10 10 5define N 11void yanghui(int aN)int i,j;for(i=1;iN;i+)ai1=1;aii=1;for( ;iN;i+)for(j=2; ;j+)aij= +ai-1j;13下面的函数index(char s, char t)检查字符串s中是否包含字符串t,若包含,则返回t在s中的开始位置(下标值),否则返回-1。index(char s, char t) int i,j,k;for(i=0;si!= 0;i+ ) for(j=i,k=0; & sj=tk;j+,k+) ;if( ) return (i);return(-1);14函数 squeez(char s,char c) 将字符串中所出现的与变量ch中相同的字符删去。 # include “stdio.h”voidsqueez(char s,char c) int i,j;for(i=j=0; ;i+)if (si!=c) ;sj=0; void main()char str128,ch;gets(str);ch=getchar();squeez(str,ch);puts(str);15以下程序的运行结果是 #include “stdio.h”int n=1;void func() static int x=4;int y=10;x=x+2;n=n+10;y=y+n;printf(“FUNC:x=%2d y=%2d n=%2dn”,x,y,n);void main() static int x=5;int y;y=n;printf(“MAIN:x=%2d y=%2d n=%2dn”,x,y,n);func( );printf(“MAIN:x=%2d y=%2d n=%2dn”,x,y,n);func();16以下程序的运行结果是 #include #define MAX 10int aMAX,i;void sub2( ) int aMAX,i,max;max=5;for(i=0;imax;i+)ai=i;void sub1( )for(i=0;iMAX;i+)ai=i+i;void sub3(int a) int i;for(i=0;iMAX;i+)printf(“%d”,ai);printf(“n”);void main( )sub1( );sub3(a);sub2( );sub3(a);三、编程题(共40分,每题8分)1已有变量定义和函数调用语句:int x=57; isprime(x);函数isprime()用来判断一个整型数是否为素数,若是素数,函数返回1,否则返回0。请编写isprime函数。2以下函数p的功能是用递归方法计算x的n阶勒让德多项式的值。已有调用语句p(n,x);请编写p函数。递归公式如下:float p(int n,int x)3请编写函数void fun(int m,int k,int xx),该函数的功能是:将大于整数m且紧靠m的k个素数存入xx所指的数组中。在main函数中输出这些数。例如,若输入m=17,k=5,则应输出:19,23,29,31,37。4设有一数列,包含10个数,已按升序排好。现要求编一程序,它能够把从指定位置开始的n个数按逆序重新排列并输出新的完整数列。进行逆序处理时要求使用函数实现。5编写一个函数insert(s1,s2,ch),实现在字符串s1中的指定字符ch位置处插入字符串s2。(如果ch不在s1中则函数返回0否则返回1, 如果ch出现多次,以第一次出现位置为准)*6编写一个函数实现:(1)将字符串str1和字符串str2合并;(2)合并后的字符串按其ASCII码值从小到大进行排序;(3)相同的字符在新字符串中只出现一次。1.int isprime(int n)/*此函数用于判别素数*/int i;int k=sqrt(n)for(i=2;i=k) return 1;elsereturn 0;2.float p(int n,int x) if(n=0) return 1; else if(n=1) return x; elsereturn (2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x)/n; 3.void fun(int m,int k,int xx) int s=0; for(m=m+1;k0;m+) if(isprime(m) xxs+=m; k-;void main() int i,k,m,a100;printf(输入m:);scanf(%d,&m);printf(输入k:);scanf(%d,&k); fun(m,k,a);5.int insert(char s1,char s2,char ch) int i,j,k;int pos=-1;/*找到ch第一次出现位置 pos,s1的长度i*/for(i=0;s1i!= 0;i+) if(s1i=ch &pos=-1) pos=i; if(pos=-1) return 0;/*求出s2的长度j, 也可以用strlen(s2)*/ for(j=0;s2j!= 0;j+); /*s1从pos开始的字符后移j个位置*/ if(j0) for(k=i;k=pos;k-) s1k+j=s1k; /*插入s2*/ for(k=0;kj;k+) s1pos+k=s2k; return 1; for(i=0;ik;i+)printf(%d ,ai);if(i+1)%10=0)printf(n);4.例如:原数列为2,4,6,8,10,12,14,16,18,20,如果求把从第4个数开始的5个数按逆序重新排列,则新数列为2,4,6,16,14,12,10,8,18,20)void invert(int a, int pos, int n) /*数列a,pos为指定位置,n为个数*/ int i,t; for(i=0;in/2;i+) t=apos+i; apos+i=apos+n-1-i; apos+n-1-i=t; #include stdio.hvoid main() int a10,i,m,n; printf(请输入10个数:);for(i=0;i10;i+) scanf(%d,&ai);printf(请输入开始位置(M)和位数(N):);scanf(%d%d,&m,&n);invert(a,m,n);for(i=0;i=s1i的字符*/for(j=0;j=s1i) break; if(j=k|s3js1i) /*都s1i (j=j;m-) s3m+1=s3m; s3j=s1i; k+; /* s2中字符逐个插入到s3, 如果s3中已存在则不插入,插入后仍保持s3有序 */ for(i=0;s2i!= 0;i+) /*在s3中寻找=s2i的字符*/ for(j=0;j=s2i) break; if(j=k|s3js2i) /*都s2i (j=j;m-) s3m+1=s3m; s3j=s2i; k+; s3k= 0;第八部分宏 定 义一、选择题(共30分,每题2.5分)1在宏定义 #define PI 3.14159中,用宏名PI代替一个D。A常量B单精度数C双精度数D字符串2C语言的编译系统对宏命令的处理是D。A 在程序运行时进行的B 在程序连接时进行的C 和C程序中的其它语句同时进行编译的D 在对源程序中其它成份正式编译之前进行的3以下有关宏替换的叙述不正确的是D。A宏替换不占用运行时间B宏名无类型C宏替换只是字符替换D宏名必须用大写字母表示4以下叙述中不正确的是C。A 预处理命令行都必须以#号开始B 在程序中凡是以#号开始的语句行都是预处理命令行C C程序在执行过程中对预处理命令行进行处理D 以下是正确的宏定义#define IBM_PC5以下叙述中正确的是C。A 在程序的一行上可以出现多个有效的预处理命令行B 使用带参的宏时,参数的类型应与宏定义时的一致C 宏替换不占用运行时间,只占编译时间D 在以下定义中CR是称为“宏名”的标识符#define CR 0456若有宏定义: #define MOD(x,y) x%y 则执行以下语句后的输出为B。int z,a=15,b=100;z=MOD(b,a);printf(“%dn”,z+);A11B10C6D宏定义不合法7用宏替代计算多项式4*x*x+3*x+2之值的函数f,正确的宏定义是A。A#define f(x) (4*(x)*(x)+3*(x)+2)B#define f 4*x*x+3*x+2C#define f(a) (4*a*a+3*a+2)D#define (4*a*a+3*a+2) f(a)8以下在任何情况下计算平方数时都不会引起二义性的宏定义是D。A#define POWER(x) x*xB#define POWER(x) (x)*(x)C#define POWER(x) (x*x)D#define POWER(x) (x)*(x)9对下面程序段,正确的判断是B。#define A 3#define B(a) (A+1)*a)x=3*(A+B(7);A 程序错误,不许嵌套宏定义B x=93C x=21D 程序错误,宏定义不许有参数10在“文件包含”预处理语句的使用形式中,当#include后面的文件名用“ ”(双引号)括起时,寻找被包含文件的方式是B。A 直接按系统设定的标准方式搜索目录B 先在源程序所在目录搜索,再按系统设定的标准方式搜索C 仅仅搜索源程序所在目录D 仅仅搜索当前目录11以下正确的描述是C。A C语言的预处理功能是指完成宏替换和包含文件的调用B 预处理指令只能位于C源程序文件的首部C 凡是C源程序中行首以“#”标识的控制行都是预处理指令D C语言的编译预处理就是对源程序进行初步的语法检查12C语言提供的预处理功能包括条件编译,其基本形式为:#XXX 标记符程序段1#else程序段2#endif这里XXX可以是D。Adefine或includeBifdef或includeCifdef或ifndef或defineDifdef或ifndef或if二、填空题(共50分,每题5分)1 (1) 设有以下宏定义:#define WIDTH 80#define LENGTH WIDTH+40则执行赋值语句:v=LENGTH*20; (v为int型变量)后,v的值是 880。(v=LENGTH*20; = v= WIDTH+40*20; = v= 80+40*20;)(2) 设有以下宏定义:#define MUL(z) (z)*(z)则执行语句:printf(“%dn”,MUL(1+2)+3); 的结果是12 。MUL(1+2)+3 = (1+2)*(1+2)+32以下程序的运行结果是 sum=10 。#include “stdio.h”#define ADD(x) x+xvoid main()int m=1,n=2,k=3;int sum=ADD(m+n)*k;printf(“sum=%d”,sum);ADD(m+n)*k = m+n+m+n*k3以下程序的运行结果是 12 。#include #define FUDGE(y)2.84+y#define PR(a)printf(“%d”,(int)(a)#define PRINT1(a)PR(a); putchar(n)void main()int x=2;PRINT1(FUDGE(5)*x);4以下程序的运行结果是 5 。#include “stdio.h”#define DOUBLE(r) r*rvoid main()int x=1,y=2,t;t=DOUBLE(x+y);printf(“%dn”,t);5以下程序的输出结果是 1 2 3 ok! 。#include “stdio.h”#define PR(a) printf(“%dt”,(int)(a)#define PRINT(a) PR(a); printf(“ok!”)void main()int i,a=1;for(i=0;i3;i+)PRINT(a+i);printf(“n”);6下面程序执行FOR循环时,j的初值是 3 ,终值是 0 。#include “stdio.h”#define BOT (-2)#define TOP (BOT+5)#define PRI(arg) printf(“%dn”,arg)#define FOR(arg) for(;(arg);(arg)-)void main()int i=BOT,j=TOP;FOR(j)switch(j)case 1: PRI(i+);case 2: PRI(j); break;default: PRI(i);7下面程序的运行结果是 1121231234TABLE 。#include “stdio.h”#define PRI printf#define NL “n”#define D “%d”#define D1 D NL#define D2 D D NL#define D3 D D D NL#define D4 D D D D NL#define S “%s”void main()int a,b,c,d;char string=“TABLE”;a=1; b=2; c=3; d=4;PRI(D1,a);PRI(D2,a,b);PRI(D3,a,b,c);PRI(D4,a,b,c,d);PRI(S,string);8设有以下程序,为使之正确运行,请填入应包含的命令行。/* a.c */ #include #include “myfile.txt” void main()try_me();/* 函数调用 */* myfile.txt */ 注:try_me()函数在myfile.txt中有定义void try_me()char c;if(c=getchar()!=n)try_me();putchar(c);9以下程序的运行结果是 c=2 。#include “stdio.h”#define DEBUGvoid main()int a=20,b=10,c;c=a/b;#ifndef DEBUGprintf(“a=%o,b=%o,”,a,b);#endifprintf(“c=%dn”,c);10以下程序的输出结果为 c language 。#include “stdio.h”#define LETTER 0void main()char str20=“C Language”,c;int i=0;while(c=stri+)!=0)#if LETTERif(c=a&c=A&c=Z)c=c+32;#endifprintf(“%c”,c);三、编程题(共20分,每题10分)1输入两个整数,求它们相除的余数。用带参的宏来编程实现。2试定义一个带参的宏swap(x,y),以实现两个整数之间的交换,并利用它将一维数组a和b的值进行交换。1.#define MOD(x,y) (x)%(y)#include stdio.hvoid main()int a,b,c;scanf(%d,%d,&a,&b);c=MOD(a,b);printf(mod(%d,%d)=%dn,a,b,c);2.#define swap2(x,y)int s=x;x=y;y=s; #include void main() int a13=1,2,3; int a23=11,12,13; int i;printf(交换前 a1:n); for (i=0;i3;i+) printf(%d ,a1i); printf(n); printf(交换前 a2:n); for (i=0;i3;i+) printf(%d ,a2i); printf(n);for(i=0;i3;i+) swap2(a1i,a2i); printf(交换后 a1:n); for (i=0;i3;i+) printf(%d ,a1i); printf(n); printf(交换后 a2:n); for (i=0;i3;i+) printf(%d ,a2i); printf(n);第九部分指 针一、选择题(共20分,每题1分)1若已定义:int *p,a;,则语句p&a;中的运算符“&”的含义是D。A位与运算B逻辑与运算C取指针内容D取变量地址2若有定义int a10,*p=a; ,则p+5表示A。A元素a5的地址B元素a5的值C元素a6的地址D元素a6的值3若有定义int a5,*p=a; ,则对a数组元素的正确引用是D。A*&a5Ba+2C*(p+5)D*(a+2)4下列选项中正确的语句组是_D_。Achar s8; s=Beijing; Bchar *s; s=Beijing;Cchar s8; s=Beijing; Dchar *s; s=Beijing;5若有说明:int i, j=2,*p=&i; ,则能完成i=j赋值功能的语句是B。Ai=*p;B*p=j;Ci=&j;Di=&p;6若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是D。Aa,point,*&aB&*a,&a,*pointC*&point,*point,&aD&a,&*point ,point7若有定义:int a23, 则对a数组的第i行j列元素地址的正确引用为D。A.*(ai+j)B.(a+i)C.*(a+j)D.ai+j8有以下函数,该函数的返回值是C。int fun(int *p) return*p;A不确定的值 B形参p中存放的值C形参p所指存储单元中的值 D形参p的地址值9若已定义:int a =0,1,2,3,4,5,6,7,8,9,*p=a,i;其中 0i9, 则对a数组元素不正确的引用是D。A.ap-aB.*(&ai)C.piD.a1010定义一个函数实现交换x和y的值,并将结果返回。能够实现此功能的是C。Avoid swapa(int x,int y) Bvoid swapb(int *x,int *y) int temp; int temp;temp=x;x=y;y=temp; temp=x;x=y;y=temp; Cvoid swapc(int *x,int *y) Dvoid swapd(int *x,int *y) int temp; int *temp;temp=*x;*x=*y;*y=temp; temp=x;x=y;y=temp; 11若有以下定义和语句: int s45,(*ps)5; ps=s; 则对s数组元素的正确引用形式是C。Aps+1B*(ps+3)Cps02D*(ps+1)+312若有定义:int *p3;,则以下叙述中正确的是B。A定义了一个基类型为int的指针变量p,该变量具有三个指针B定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针C定义了一个名为*p的整型数组,该数组含有三个int类型元素D定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素13说明语句 int (*p)( ); 的含义是C。Ap是一个指向一维数组的指针变量Bp是指针变量,指向一个整型数据Cp是一个指向函数的指针,该函数的返回值是一个整型D以上都不对14设有说明int (*p)4;其中的标识符p是C。A4个指向整型变量的指针变量B指向4个整型变量的函数指针C一个指向具有4个整型元素的一维数组的指针D具有4个指向整型变量的指针元素的一维指针数组15在说明语句:int *f( );中,标识符f代表是D。A一个用于指向整型数据的指针变量B一个用于指向一维数组的行指针C一个用于指向函数的指针变量D个返回值为指针型的函数名16已知:char a310=BeiJing,ShangHai,TianJin;不能正确显示字符串ShangHai的语句是C。Aprintf(%s,a+1); Bprintf(%s,*(a+1);Cprintf(%s,*a+1); Dprintf(%s,&a10);17已知:int a=1,2,3,4, y, *p=a;则执行语句y = (*+p)-;后, 数组a各元素的值变为_B_。A0,1,3,4 B1,1,3,4 C1,2,2,4 D1,2,3,3变量y的值是B。A1 B2 C3 D4 18不合法的main函数命令行参数表示形式是C。Amain(int a,char *c )Bmain(int arc,char *arv) Cmain(int argc,char *argv)Dmain(int argv,char *argc )19设有定义: char *cc2=“1234”,”5678”;则正确的叙述是A。Acc数组的两个元素中各自存放了字符串“1234”和“5678”的首地址Bcc数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址Ccc是指针变量,它指向含有两个数组元素的字符型一维数组Dcc数组元素的值分别是“1234”和“5678”20已有函数max(a,b),为了让函数指针变量p指向函数max正确的赋值方法是A。Ap=maxB*p=max Cp=max(a,b)D*p=max(a,b)二、填空题(共50分,每题2.5分)1若有定义:int a35,i,j;( 0i3,0j5),则数组元素可用以下五种形式引用:(1) aij、(2) *(ai+j)、(3) *(*(a+i)+j )、(4) (*(a+i)j、 (5) *( &a00 +5*i+j)2以下程序的运行结果是 6,2 。#include “stdio.h”int func(int *a) int b=2;b+= *a+; return(b);void main( ) int a=2,res=2;res+= func(&a);printf(%d,%d n,res,a);3以下程序的输出结果为 4,5,5 。 # include stdio.hvoid f(int *x,int y) int t; if(*xy) t=*x;*x=y;y=t;void main() int a=4,b=3,c=5;f(&a,b);f(&b,c);f(&c,a);printf(%d,%d,%dn,a,b,c);4以下程序的运行结果是 -1 (=A&ch=Z)ch=ch-A+a;return ch;void main() char s=RST+rst=xyzXYZ,*p=s;while(*p) *p=cchar(*p);p+;printf(%sn,s);6以下程序的运行结果是 5,4,3,2,1,6,7,8,9,10, 。 # include “stdio.h” # define N10 void func(int b,int n)int *p=b,*t=b+n-1,tmp;for(;pt; p+,t-) tmp=*p; *p=*t; *t=tmp; voidmain()int a=1,2,3,4,5,6,7,8,9,10,*p; func(a,N-5); for(p=a;pa+N;p+) printf(%d,*p);7以下程序的输出结果是 Afgd 。#include “stdio.h”#includestring.hvoid main( )char *p1,*p2,str50=ABCDEFG;p1=abcd; p2=efgh;strcpy(str+1,p2+1);strcpy(str+3,p1+3);printf(%s,str);8以下程序的输出结果为 0,1,2,3,5,6,7,8, 。 # include “stdi
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!