




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实用文档 文案大全 期末总复习(基础知识+程序设计部分) 一 填空 1已知char ch='A' 则下列表达式的值是: a Ch=(ch>='A' && ch<='Z')? (ch+32):ch; 2. 若x=1,y=2,z=3, 则表达式z+=+x+y+之值是 7 3 若x=2,y=3,则x%=y+3之值为 2 4. 若有定义int y=3; float z=5.2, x=4.8; 则表达式y+=(int)x+x+z的值为 17 5. 设x,y,z为int型变量,且x=3,y=-4,z=5,请写出下列各表达式的值 1
2、)(x&&y)=(x|z) 1 2) !(x>y)+(y!=z)|(x+y)&&(y-z) 0 3)x+-y+(+z) 13 6. 设x,y,z为int型变量,请用C语言表达式描述下列命题 1)x和y中有一个小于z (x<z&&y>z|x>z&&y<z )=1 2) x,y和z中有两个为负数 (x<0&&y<0&&z>=0|z<0&&y<0&&x>=0|y<0&&x<0&am
3、p;&z>=0)=1 3)y是奇数y%2 !=0 7. 下面for循环语句最多可执行 4 次 For (x=0,y=0 ;(y !=99)&&(x<4) ;x+) 8. 设i,j,k均为int型变量,则执行以下for语句后,k的值是 10 for (i=0,j=10 ;i<=j ;i+,j-) k=i+j ; 9若已知x,y,z,m,n均为int 型变量,则执行下面语句后,x的值为 7 y的值为 9 z的值为 7 m=10 ; n=5; x=(-m=n+)? -m : +n; y=m+; z=n; 10. 若有说明语句: w=1,x=2,y=3,z=4
4、; 则表达式w>x? w:z>y? z:x值是 4 11. 若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符 void 12. 凡在函数中未指定存储类型的变量,其隐含的存储类别为 动态存储 13. 在C语言中,一个函数直接或间接地调用自身,编构成函数的 递归 14. 如果被调用的自定义函数和调用函数不再同一个文件中,则在应以函数的文件中应将该文件的存储类型定义成 型,在调用函数的文件中将该函数说明为 型。 15. 对于所定义的二维数组a23,元素a12是数组的第 6 个元素。N*j+m+1 16.若有定义:char *str=”I am a student.”; 则字符
5、串在存储单元中占 16 个字节。 17. 在执行4;语句后,a12的值是 0 。 18. 调用strlen(“abc0ef0g”)的返回值是 3 。0为停止符 19. 设有定义:char s12=“string”; 则printf(“%dn”,strlen(s);的输出值是 6 20. 执行下列程序段后,*p等于 3 int a5=1,3,5,7,9; *p=a;p+; 实用文档 文案大全 二 判断(true or false) 1. 调用函数时,实参的类型、个数和顺序与函数定义时形参的类型、个数和顺序完全一致。T 2. 函数可以嵌套定义F 3. 函数必须有返回值,否则不能正确作用F 4. C
6、程序中有调用关系的所有函数必须放在同一源程序文件中。F 5. 全局变量与函数体内定义的局部变量重名时,局部变量不起作用。F 6. 函数定义时可以不制定形参的类型,函数调用时由实参的类型决定形参的类型F 7. 当函数定义放在main()函数前面时,可以缺省函数声明。T 8. C语言中允许函数嵌套调用T 9. 局部静态变量是在编译时赋初值的,即只赋一次初值。T 10. 外部变量必须定义在文件的开头部分F 11. 字符'0'是字符串的结束标记,其ASCII码为0.T 12. 若有说明 :int a34=0;则数组a中每个元素的初值都为0.T 13. 若有说明 :int a24=0,0
7、;则只有a00和a01的初值为0, 其余元素的初值均不为0. F 14. 若有说明 :int a34;则数组a中各元素可在程序的编译阶段达到初值0.F 15. 若用数组名作为函数调用时的实参,则实际上传递给形参的是数组的第一个元素值。F 16. 在两个字符串的比较中,字符个数多的字符串比字符少的字符串大。F 17. 当需要接受用户从键盘上输入的含有空格的字符串时,应使用gets()函数。T 18. 在C语言中,二维数组元素在内存中的存放顺序可以随意调整变化。F 19. &b指的是变量b的地址处所存放的值;F 20. 指针变量可用于保存同类型变量的地址值;F 21. 存放地址的变量同其他
8、类型的变量一样,可以存放任何类型的数据;F 22. 指向同一数组的两指针p1,p2相减的结果与所指元素的下标相减的结果是相同的。F 23. 如果定义函数时参数是指针变量,那么,调用函数时的参数就可以是同类型的指针变量,数组名或简单变量的地址T 24. char *name5定义了一个一维指针数组,它有5个元素,每个元素都是指向字符数据的指针型数据。F 25. 语句y=*p+;和y=(*p)+;是等价的。F 26. 函数指针指向的是函数的入口地址。T 27. int *p;定义了一个指针变量,其值是整型的。F 28. 用指针作为函数参数时,采用的是“地址传送”方式.T 三、 选择题 1 下列变量
9、名中哪些是合法的? ? 2a a# C$ t3 _var ? int 2语言中用 _表示逻辑值“真”。 A) true B) 整型值 C) 非零整数值 D) T 3. 下列合法的字符常量为_。 A) a B) 'n' C) 'china' D) a 实用文档 文案大全 4. 设有语句char c='72' 则变量c_。 A) 包含1个字符 B)包含2个字符 C) 包含3个字符 D) 不合法 5. 字符串tNameAddressn的长度为_。 A) 19 B) 15 C) 18 D) 不合法 6. 设a,b,c 为 int 型变量,且a = 3 ,
10、b = 4 , c = 5,下面表达式值为的是_。 A) 'a' && 'b' B) a <= b C) a | b+c && b-c D) !(a<b) && !c | 1) 7. 若有以下定义: char a ; int b ; float c ; double d ; 则表达式 a * b + d c 的值的类型为_ A) float B) int C) char D) double 8. 设有语句int a = 3; 执行了语句a += a -= a * a; 后,变量a的值是_。 A) 3 B
11、) 0 C) 9 D) -12 9. 设有语句int a = 3; 执行了语句printf(%d, -a +); 后,输出的结果是_C_,变量a的值是_D_。 A) 3 B) 4 C) -3 D) -2 10. 将下列数学表达式表示为合法的C语言表达式。 (1 ) cba222? (2) 2)(?dcba (3) 2/)sin(lnyx? (4) r?2 (5) x111? (6) xxyye?22)30sin(? 12 下列可作为C语言赋值语句的是:_。 A) x = 3, y = 5 B) a = b = c C) i - ; D) y = int ( x ) ; 13. 以下程序的输出结
12、果为:_。 main() int a = 2, c = 5; printf(a = %d, b = %dn, a, c); A) a = %2, b = %5 B) a = 2, b = 5 C) a=%d, b=%d D) a=%d, b=%d 14. 在下面的条件语句中,只有一个在功能上与其它三个语句不等价(其中s1和s2表示它是C语句),这个不等价的语句是: 。 A) if (a) s1; else s2; B) if (!a) s2; else s1; C) if (a != 0) s1; else s2; D) if (a = 0) s1; else s2; 15. 设有声明语句:i
13、nt a=1,b=0;则执行以下语句后输出为: 。 switch (a) case 1: switch (b) 实用文档 文案大全 case 0: printf(*0*);break; case 1: printf(*1*);break; case 2: printf(*2*);break; A) *0* B) *0*2* C)*0*1*2* D)有语法错误 16 在while (x)语句中的x 与下面条件表达式等价的是: 。 A) x = 0 B) x = 1 C) x != 1 D) x != 0 17. 若int x;且有下面的程序片断,则输出结果为: 。 for (x=3; x<
14、6; x+) printf(x%2)=0? *%d : #%dn, x); A) *3 B) #3 C) #3 D) *3#4 #4 *4 *4#5 *5 *5 #5 18. 以下能对外部的一维数组a( 含有10个元素)进行正确初始化的语句是: 。 A) int a10 = (0,0,0,0,0); B) int a10 = ; C) int a = 0; D) int a10 = 10*1; 19. 以下能对外部的二维数组a进行正确初始化的语句是: 。 A)2,3; B)2,3; C)2; D) 3; 20. 若二维数组a有 m 列,则在aij之前的元素个数为: 。 A) j*m+i B)
15、i*m+j C) i*m+j-1 D) i*m+j+1 21. 已知:static int a34;则数组a 中各元素 。 A) 可在程序运行阶段得到初值0 B) 可在程序编译阶段得到初值0 C) 不能得到确定的初值 D) 可在程序的编译或运行阶段得到初值 0 22. 判断字符串s1是否大于字符串s2,应当使用: 。 A) if (s1 > s2) B) if (strcmp(s1, s2) C) if (strcmp(s2, s1) > 0) D) if (strcmp(s1, s2) > 0) 23. .若用数组名作为函数调用时的实参,则实际上传递给形参的是: 。 A)
16、数组的首地址; B) 数组的第一个元素值; C) 数组中全部元素的值; D) 数组元素的个数。 24. 在函数调用时,以下说法中正确的是: 。 A) 在C语言中,实参与其对应的形参各占独立的存储单元; B) 在C语言中,实参与其对应的形参共占同一个存储单元; C) 在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元; D) 在C 语言中,形参是虚拟的,不占存储单元。 25. C语言中形参的缺省存储类别是: 。 A) 自动(auto) B) 静态(static) C) 寄存器(register)D)外部实用文档 文案大全 (extern) 26. C语言规定:简单变量做实参时, 它
17、和对应形参之间数据的传递方式为: 。 A) 地址传递; B) 单向值传递; C) 由实参传给形参,再由形参传回给实参; D) 由用户指定传递方式。 27. (1) 阅读程序,选择程序的运行结果。 #include <stdio.h> int Try(int n) if (n > 0) return(n*Try(n-2); else return 1; main() int x x = Try(5); printf(%dn, x); A. 15 B. 120 C. 1 D. 前面三个答案都是错的 (2)下面的函数f两次进行调用,请选择程序的运行结果。 #include <
18、stdio.h> int Fun(int m) static int n = 0; m /= 2; m =m * 2; if (m) n *= m; return(Fun(m-2); else return n; main() int a,i,j; 实用文档 文案大 for (i=0; i<2; i+) a = Fun(4+i); printf(%dn,a); 第一次输出的结果 A. 8 B. 0 C. 64 D. 4 第一次输出的结果 A. 8 B. 0 C. 64 D. 4 28. 设有语句:int a10, *p=a ;,则在下面语句中,不正确的是 A) P=P+1 B)P0
19、=*P+1 C)a0= a0+1 D)a=a+1 29. 指向变量的指针,其含义是指该变量的 A)值 B)地址 C)名 D)一个标志 30. 若int(*p )5 ;,则其中p的含义是 A) 5个指向整形变量的指针 ; B) 指向5个整形变量的函数指针; C)一个指向具有5个整形元素的一维数组的指针; D)具有5个指针元素的一维数组指针,每个元素都只能指向整型量; 31. 设有定义:int a=3,b,*p=&a; 则下列语句中使b不为3的语句是 A) b=*&a; B)b=*P; C)b= a; D)b=*a; 32. 设char *s;则以下表达式中,正确的是 A) s=
20、”computer”; B) *s=”computer”; C) *s=”computer”; D)*s='s' 33 . 设 char s10, *p=s;,以下表达式中不正确的是 A) p=s+5; B)s=s+p; C)s2=p4; D)*p=s0; 34. 执行下列程序段后,*p等于 int a5=1,3,5,7,9, *p=a; p+ A) 1; B)3; C)5; D)7; 程序设计题 1. 编程计算1*2*3 + 3*4*5 + 99*100*101的值。 #include <stdio.h> int main() int i,j,k,sum=0; f
21、or(i=1,j=2,k=3;i<100,j<101,k<102;i+=2,j+=2,k+=2) sum=sum+i*j*k; printf(%dn,sum); 实用文档 文案大全 2. 编程计算 a + aa + aaa + . + aa.a (n个a)的值,n和a的值由键盘输入。 #include <stdlib.h> Void main() int n,a,i; int sum,na; printf(Please input n and a:); scanf(%d %d,&n,&a); sum=0; na=a; for(i=1;i<=n
22、;i+) sum+=na; na=na*10+a; printf(sum=%dn,sum); 3. 利用.7656543432122?前100项之积计算。 #include <stdio.h> int main() float a=2,b=1; double num=1; int i; for (i=1;i<=100;i+) num*=a/b; if(i%2=0)a+=2; else b+=2; num*=2; printf(=%.16lfn,num); 4. 按如下格式打印100以内整数的平方根表。 实用文档 文案大全 950.9899.9849.9798.9747.9695.9644.9592.9539.9487.9
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 煤粉管道测厚施工方案
- 保安临保合同范本
- 北京橡胶围堰施工方案
- 地下室和楼梯施工方案
- 小学门萨测试题及答案
- 满包加固管道施工方案
- 播州建筑打桩施工方案
- 椒江区窗台拆除施工方案
- 协议离婚合同范例
- 暑期实习工作总结模版
- 新教材人教A版高中数学必修第二册全册-教学课件()
- 2024-2030年中国沙棘行业市场发展趋势与前景展望战略分析报告
- 反贿赂与反腐败管理制度
- 大型酒店项目多测合一测绘技术服务 投标方案(技术方案)
- 2024届北京市海淀区小学英语五年级第二学期期末质量检测试题含解析
- 化疗药物溢出处理
- G -B- 43630-2023 塔式和机架式服务器能效限定值及能效等级(正式版)
- 教科版科学五年级下册第一单元《生物与环境》测试卷【预热题】
- QC/T 1091-2023 客车空气净化装置 (正式版)
- 2024年节水知识竞赛考试题及答案
- 2024年江苏医药职业学院单招职业适应性测试题库完整
评论
0/150
提交评论