C语言 复旦大学版.doc_第1页
C语言 复旦大学版.doc_第2页
C语言 复旦大学版.doc_第3页
C语言 复旦大学版.doc_第4页
C语言 复旦大学版.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

复习一、填空题1. C语言源程序的是一个。文本_文件,其扩展名为_ .c_。文本,.c/.cpp2. 把C语言源程序翻译成机器语言程序的操作称为_。编译3. 一个完整的C语言源程序是由一个或多个_构成,其中必须有一个_函数.函数,main4. 逻辑上,一个 C语言程序总是从_ 函数中第一个_语句开始执行。Main, 可执行5. C语言中标识符(定义一个函数)的首字符必须是_ 。下划线或字母6. C语言程序中,数值123.451012写作。 123.45E+127. C语言程序中,十进制整数26的十六进制表示是,八进制表示是_.0x1A,0328. .设int x; float y; double j ,则表达式1.0+a+x*y+j值的数据类型是_。double型9. C语言中,变量是指_;常量是指_ _程序执行过程中可以改变的量; 程序执行过程中不能改变的量 10. 设整型变量a的当前值是2,b的当前值是3;,执行语句a+=b+;后,a的值为_,b的值为_。5, 411.设整型变量a的当前值是3, b的当前值是4,执行语句“b+=+a;”后,b的值将变成_。812. 设int y=-2;,则关系运算表达式-3y-1的值是_。 013. C语言约定字符串在内存中的的结束符的ASCII值为_。 014. 如果C语言源程序中如果使用了如同printf()、scanf()一类的标准输入输出函数,需要在程序的前面写:#include _ /”stdio.h”15. 如果在程序中引用了数学标准库函数思念sin(),则要在源程序前面要求加上#include _。/”math.h”16. 如果在程序中引用了字串处理标准库函数strcmp(),则要在源程序前面要求加上 #include _。/”string.h”17. 字符 a占用_字节,字符串“a”占_字节。1,218. char s120=”ABC”;执行语句:strcat(s1,12345); 后,s1的值为_ _。 ”ABC12345”19. 在switch结构中,如果一个分支的语句序列的最后一条语句是break;则执行完该分支的语句序列后,控制转移到 该swicth控制结构体后 继续执行。20. 对于用while语句控制的循环,其循环体的执行次数可以是_次。对于用do-while语句控制的循环,其循环体的执行次数至少_次。0,121. 循环体执行次数可以在循环结构执行之前计算确定的循环语句结构是_;for22. 在for循环体中,如果执行语句break;则控制转移到_ 继续执行。for循环体后23. static int x10=1,2,3; 则a5的值为_, a0的值为_.0,124. 若函数没有返回值,则其类型应该定义为_。void25. 给定函数声明char func(float x, int z);则该函数的返回值类型是_。char26. 给定函数声明int func(float x, char y);则该函数的返回值类型是_。int27. 一维数组作为函数的参数时,通常要交给函数两个数据:一个是该数组的 ,另一个是该数组的_。名字,长度28. 设int x10,*p=型x+1; 则p+5指向数组x的元素_。x629. 设char y35;,则y数组中最后一个数组元素是_。y2430. char a=123456 ,则数组a的长度是_。731. 执行语句:k=strlen(a.nx=1.123Pn); 后,整型量k将被赋值为_。1232. 设 int x=1,*q=&x;,现要求通过指针变量q使变量x的值加1,相应赋值语句是_。(*q)+33. 使用指针类型作为函数的形参,可以实现实参的传 调用。 地址二、单项选择题1C语言中有效的数据类型保留字是_C_。A) Double B) Float C) int D) Char2.下选项中_D_不是C语言的基本数据类型。A)signed int B)unsigned long B)unsigned D)signed float3. 在C语言中,数值常量0x2a是一个_B_。A)八进制数 B)十六进制数 C)十进制数 D)无效数4. 在C语言中,数值常量012是一个_A_。A)八进制数 B)十六进制数 C)十进制数 D)非法数5在C语言中,把数值3.14159定义为符号常量PI的正确写法是A。(A) #define PI 3.14159(B) #define PI = 3.14159(C)#define 3.14159 PI(D) #define PI , 3.141596在C语言中,1.23E+2表示B。(A) 整型数123(B) 实型数123.0(C)计算表达式1.23E加2(D) 实型数1.23007. 下列语句中,符合语法的赋值语句是_C_ 。A)a=1+b+c=a+x; B)a=7+b+=a+7;C)a=(2+b,b+,a+3); D)a=(2+b,c)=a+1;8在C语言中,要求运算对象的值类型必须是整型的运算符是_C_ 。A)/ B)* C)% D) =9把字符型变量ch中所存字符的ASCII 码值输出显示到屏幕上,正确写法是:C(A) putchar(ch);(B) printf(“%c”,ch);(C) printf(%d,ch);(D) printf(ch);10把字符型变量ch中所存字符输出显示到屏幕上,正确写法是:B(A) getchar(ch);(B) printf(“%c”,ch);(C) printf(%d,ch);(D) printf(ch);11 若int k=5,x=9;则以下表达式值不为4的是_D_ 。A)x%=(k%=6) B)x%=(kk%5)C)x%=k D)(x%=k)(k%=x)12. 若w=4,x=3,y=2,z=1,则条件表达式(wx? w :(yz?y:z)的值是_D_。A)4 B)3 C)2 D)113为表示数学命题“x属于闭区间1,2”,在C语言中对应的表达式是 _C_。(A) 1.0x2.0(B) 1=x=2(C) (1.0=x)&(x=2.0)(D) (1.0=x)|(x=2.0)14为表示数学命题“x不属于闭区间0,1”,在C语言中对应的表达式是 _C_。(A) x0.0,1.0x(B) xx)|(1.0x)&(x1.0)15. C语言对嵌套if语句的规定是:else总是与_D_ 。A)其之前最近的if配对 B)第一个if配对C)缩进位置相同的if配对 D)其之前最近的且尚未配对的if配对16. 设int i;执行循环语句for(i=1;i5;i+); 后,变量i的值是_C_。A)3 B)4 C)5 D)不确定17. 若i,j已定义为int类型,则以下程序段执行后将输出_B_个字符*。 for (i=3;i;i-) for(j=0;j5;j+)putchar(*); A)10 B)15 C)20 D)3018. 语句for(;!E;); 中的表达式!E等价于 A 。A)E= =0 B)E!=1 C)E!=0 D)E= =119. 设int x= -3;执行语句do x=x*x; while (x0);则该循环体_C_。 A)执行无限次 B)执行2次 C)执行1次 D)不执行20.C语言规定,函数返回值的类型是由_D_决定的。A)return语句中的表达式类型 B)调用该函数时的主调函数类型C)调用该函数时由系统临时 D)在定义函数时所指定的函数类型21.C语言规定:基本数据类变量做函数实参时,它和对应的形参之间的数据传递方式是_B_。A)地址传递 B)值传递C)由形参传给实参 D)由用户指定传递方式22C源程序中,如果一个函数的调用出现在该函数定义之前,则应该在该函数调用之前写上_A_。(A) 函数声明(B) 函数定义(C) 函数说明(D) 函数体23C语言中,指针的含义是A。(A) 变量的地址(B) 存储变量地址的变量(C) 常量的地址(D) 存储外存地址的变量24C语言中,指针变量的含义是B。(A) 变量的地址(B) 存储变量地址的变量(C) 程序的地址(D) 存储外存地址的变量25.设int *a,b;,则_C_。A)a是int型变量,b是指针变量B)a和b都是int型指针变量C)a是int型指针变量,b是int型变量D)a和b都是int型变量26.若有定义:int a5,x=5; 则对数组a中元素的正确引用是_D_。A)a5 B)ax-6 C)a(5) D)ax-527. 语句“p=*q;”没有语法错误,则p和q的类型可能是B。(A) p和q都是字符型变量(B) p是字符型变量,q是字符型指针变量(D) p和q都是整型变量 (C) p是字符型指针变量,q是字符型变量28 语句“*p=q;”没有语法错误,则p和q的类型可能是B。(A) p和q都是字符型变量(B) p是字符型变量,q是字符型指针变量(C) p和q都是整型变量 (D) p是字符型指针变量,q是字符型变量29定义一个3行4列的二维整型数组a,应该用以下写法中的int a34。(A) int a3,4;(B) int a23;(C) int a45;(D) int a34;30某函数体内,给定变量说明语句 static int x;表示D。(A) x的值在该函数运行中不再变化(B) 程序运行过程中x的值是静止的(C) x的值在程序运行结束后仍然保留(D) x的值在该函数调用结束后仍然保留31_D_能够把若干不同类型的数据分量组成一个整体。(A) 数组(B) 字符串(C) 指针(D) 结构体32. C程序中,如果一个数组元素的下标表达式值大于或者等于该数组定义的下标上界,则C。(A) 该程序存在语法错误(B) 该程序运行一定出错(C) 该程序运行可能出错(D) 该程序不能生成目标代码33.某函数体内,给定变量说明语句 int x;表示C。(A) x的类型在该函数运行中可以变化(B) x对应的存储单元在程序运行开始时确定(C) x对应的存储单元在该函数调用时确定,函数调用结束时归还给系统(D) x对应的存储单元在该函数调用时确定,函数调用结束后仍然保留34C源程序中,如果一个函数定义出现在该函数调用之前,则不需要写_A_。(A) 函数声明(B) 函数定义(C) 函数说明(D) 函数体35_A_能够把若干相同类型的数据分量组成一个整体。(A) 数组(B) 字符串(C) 指针(D) 结构体三、简答题1列举C语言的关系运算符和它们的优先级答:,=,; =,!=2列举C语言的二元算术运算符和它们的优先级答:*,/,%,; +,-3设x和y是double型的变量,用scanf()写一条语句,该语句能够把键盘上输入的两个数(两个数之间用逗号分隔)分别存放到x和y中。答:scanf(“%lf,%lf”,&,x,&y);4设x和y是long型的变量,用scanf()写一条语句,该语句能够把键盘上输入的两个数(两个数之间用逗号分隔)分别存放到x和y中。答:scanf(“%ld,%ld”,&,x,&y);5定义一个名为a的整型数组,该数组共有10个元素,前3个元素依次是9,18,70,其余元素为0。写出相应的变量定义语句。答:static int a10=9,18,70;6说明以下程序段实现什么功能for(i=0;i6;i+) printf(“%c”, a+i);答:输出 abcdef7简要说明C语言中while循环和dowhile的主要区别答:8定义一个名为a的整型数组,该数组共有4个元素,其中第3个元素初始值是9,其余元素初始值不确定,写出相应的变量定义语句。答:int a4=,9;9说明以下程序段实现什么功能for(i=0;i=90)grand=A; else if(c=70)grand=B; else if(c=60)grand=C; else grand=D;答:switch c/10 case 10: case 9: grand=A;break; case 8: case 7: grand=B;break;case 6: grand=C;break; default : grand=D;13以下程序求100+101+200,请用for语句改写下面的程序段,实现相同的功能。s=0;i=100;while(i=200) s=s+i; i+;答: for(s=0,i=100;i=200;i+)s+=i;14用C语言表达式实现下面的数学计算,其中x、y视作已定义的变量。 答: sqrt(x+y)/(3x-y)15设char op;,将以下if程序段改用switch结构实现。 if(op=*)x=a*b; else if(op=/)x=a/b; else if(op=+)x=a+b; else if(op=-)x=a-b; else x=-1111;答:switch op case *:x=a*b;break; case /: x=a/b;break; case +: x=a+b; break; case -: x=a-b; break;default : x=1111;四、程序理解1#include void main(void)char v1=a,v2=B; int v3,v4; v1+; v3=v1-v2; v4=(v3-)%4;printf(v1=%c , v2=%cn,v1,v2);printf(v3=%d , v4=%dn,v3,v4);程序执行结果为:v1=b, v2=Bv3=31, v4=02#include void main(void)int x,i; char s10; x=8765; for (i=0;x0;i+) si= 0+x%10; x=x/10;si=0;printf(x=%dn,x);printf(s=%sn,s);程序执行结果为:x=8765s=56783.#include #define N 8void main(void)int x=1,20,2,4,9,1,6,4,k,i,j,c; for(i=0;iN;i+) k=i; for (j=i+1;jN;j+)if(xkxj)k=j; if(k!=i) c=xi;xi=xk;xk=c; printf(%d,xi); 程序执行结果为:1,1,2,4,4,6,9,204#include void fun(char *a) int i; for(i=0;*(a+i)!=0;i+)if (ai= a)&( ai= z)ai=ai-32;void main(void) char s=xYz123aBcd; fun(&s3); printf(%sn,s);程序执行结果为:xYz123ABCD5#include void main(void)int x,i; char s10; x=129; for (i=0;x0;i+) si=x%16;x=x/16;printf(x=%dn,x);printf(s=);for (;i=0;i-) if (si10) si=si+ 0; else si=si-10+A; printf(%c,si);程序执行结果为:x=0s=816.#include #define N 8void main(void)int x=2,4,9,1,6,4,3,8,k,i,j,c; for(i=0;iN;i+) k=i; for (j=i+1;jxj)k=j; if(k!=i) c=xi;xi=xk;xk=c; printf(%d,xi); 程序执行结果为:9,8,6,4,4,3,2,17#include void fun(int *a,int n) int i; for(i=0;in;i+)if (ai%2=1)ai=-ai;void main(void) int s=1,3,2,4,6,7,8,i; fun(&s3,4); for(i=0;i7;i+)printf(%d,si);程序执行结果为:1,3,2,4,6,-7,88#include stdio.hmain ( ) int x ; for (x=1 ; xxi)m=i;t=xi; *loc=m; return (t);void main() char ch,s=hellox321XYZ; int x; ch=min(s,&x); printf(s%d=%cn,x,ch);程序运行结果:s5=x11.#includevoid main() struct int a;char *b;a=1,”abcde”,2,”fgh”;printf(%sn ,a1.b); printf(%dn ,a0.a+); printf(%sn ,aa0.a-1 .b+1); printf(%cn ,a0.ba0.a); 程序运行结果:abcde1ghc12.#include#includemain()int a,b,c,x; a=b=1; x=30; if(a+b)x-; c=a;a=b;b=c; printf(x=%dn,x); printf(a=%d,b=%dn,a,b);程序运行结果:x=29a=2,b=113.#define F(x) (x)*xmain( ) int a=6,b=2,c; c=f(a+b)/f(b); printf(%d n,c);程序运行结果:1214.#include stdio.hmain() char s10=abcdefg; char *p=s; p+=3; printf(%sn,p);程序运行结果:defg15.#includestruct ksint a;char *b;as=5,abcd,6,efgh;main() struct ks *p; p=&as0; printf(%dn ,as1.a); printf(%dn ,p-a+); printf(%dn ,as0.a); printf(%sn ,p-b); 程序运行结果:656abcd五、程序设计1排列P(n,m)=n!/(n-m)!,(0mn, n!表示n的阶乘)。编程求P(8,5)的值。#include long fac(int n) int t=1L,i; for (i=1;i=n;i+)t*=i; return t;long P(int,n,int m) if (m=n) return(fac(n)/fac(n-m); else return 0;void

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论