版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2次作业一、单项选择题(本大题共40分,共 20 小题,每小题 2 分)1. 对于下面的文件内容和程序,正确的结论是( )。 /以下是文件mydoc.txt的内容 int s; s=100; /以下是C程序内容 #include <stdio.h> void main() #include "mydoc.txt" printf("s=%dn",s); A. 程序有错,文件包含语句写在主函数体内B. 程序没有错误,输出是:s=100C. 程序没有语法错误,但没有输出数据D. 程序有错,两个文件包含预处理语句使用了不同的括号括住文件
2、名2. 在C程序中,可以定义全局变量位置是( )。A. 所有函数的外面B. 主函数内部C. 主函数形式参数表中D. 前两个函数之间3. 下面程序执行后的输出结果是( )。 #include <stdio.h> #include <math.h> void ptr1(); void ptr2(); void main() printf("000"); ptr1(); ptr2(); printf("n"); void ptr1() printf("111"); ptr2(); void p
3、tr2() printf("222"); A. 000222111222B. 111222000222C. 000111222222D. 2222220001114. 数学公式x1/2+x4+lg(x)+ex的正确C表达式书写形式是( )。A. x*(1/2)+pow(x,4)+lg10(x)+exp(x)B. sqrt(x)+pow(4,x)+lg10(x)+exp(x)C. sqrt(x)+pow(x,4)+lg(x)+pow(x)D. sqrt(x)+pow(x,4)+lg10(x)+exp(x)5. 设有定义:double (*f)(int a,floa
4、t b,double c);,那么能够被指针变量f指向函数的原型是( )。A. double fun1(int a,int b,int c);B. double fun2(float a,int b,double c);C. int fun3(int a,float b,double c);D. double fun4(int ,float,double);6. 设有C语句序列:int a5,b10; int p2=a,b;,那么不能够表示b数组3号元素值的是( )。A. b3B. *(b+3)C. p13D. p037. 设有C语句序列:float x; double
5、 y;,如果将变量y的值赋值给变量x,( )。A. 当y值本身的精度没有超过float能够表达的精度时,赋值结果会损失精度B. 无论变量y的值如何,变量x都可以正确地接受赋值C. 无论变量y的值如何,变量x都不能正确地接受赋值D. 当y值本身的精度已经超过了float能够表达的精度时,赋值结果会损失精度8. 下面程序执行后的输出结果是( )。 #include <stdio.h> int main() int a=0x3030,b=0x6060; int mask1=0x00ff,mask2=0xff00; a&=mask1; b|=mask2; p
6、rintf("a=0X%x,b=0X%xn",a,b); return 0; A. a=0Xff30,b=0Xff60B. a=0X30,b=0X60C. a=0Xff30,b=0X60D. a=0X30,b=0Xff609. 下面程序执行后输出的结果是( )。 #include<stdio.h> void main() int a10=1,2,3,4,5,6,7,8,9,10; int i,*p=&a3; *p=a0+a9; p=&a0; for(i=0;i<10;i+,p+) printf("%3d",*
7、p); printf("n"); A. 1 2 3 10 5 6 7 8 9 10B. 1 2 11 4 5 6 7 8 9 10C. 1 2 3 11 5 6 7 8 9 11D. 1 2 3 11 5 6 7 8 9 1010. 下面程序执
8、行后的输出结果是( )。 #include <stdio.h> struct T int a; int b; ; void swap(struct T *v); void main() struct T x2=10,20,30,40; swap(x); printf("%d,%d,%d,%dn",x0.a,x0.b,x1.a,x1.b); void swap(struct T *v) struct T t; t=*v; *v=*(v+1); *(v+1)=t; A. 10,20,30,40B. 20,10,40,30C. 40,30,20,10D.
9、30,40,10,2011. C语言中,要表达整型变量x能够被3整除时条件成立语义,应该使用( )。A. x%3B. !(x%3)C. x%3=1D. x%3=212. C语言中,表达式18/4*sqrt(4.0)/8的数据类型是( )。A. intB. floatC. doubleD. 不确定的13. 以下对数组的初始化方法中,正确的是( )。A. int x5=0,1,2,3,4,5;B. int x=0,1,2,3,4,5;C. int x5=5*A/B;D. int x=(0,1,2,3,4,5); 14. 下面程序
10、的功能是( )。 #include <stdio.h> #include <stdlib.h> #include <time.h> void main() int x,sum=0; int i; srand(unsigned)time(NULL); for(i=0;i<20;i+) x=rand()%100; if(x%2) sum+=x; printf("%lfn",(double)sum/20); A. 随机产生20个2位以内的整数,并计算其中偶数的平均值B. 随机产生20个2位整数,并计算其中偶数的平均值C. 随机
11、产生20个2位以内的整数,并计算其中奇数的平均值D. 随机产生20个2位整数,并计算其中奇数的平均值15. 下面程序段中要实现的功能是( )。 int n; for(n=1000;n>=1;n-) if(n%3=0&&n%5=0) break; A. 找出1,1000中能够被3整除的最大数B. 找出1,1000中能够被5整除的最大数C. 找出1,1000中能够被3和5同时整除的最大数D. 找出1,1000中能够被3和5同时整除的最小数16. 下面程序执行后的输出结果是( )。 #include <stdio.h> void ptr1(i
12、nt n); void main() ptr1(-2014); printf("n"); void ptr1(int n) if(n<0) putchar('-'); n=-n; if(n/10) ptr1(n/10); printf("%d",n%10); A. 2014B. -4102C. 2014D. -201417. 下面程序执行后的输出结果是( )。 #include <stdio.h> void swap(int *x,int y); void main() int a=5,b=10; print
13、f("%d,%d",a,b); swap(&a,b); printf(",%d,%dn",a,b); void swap(int *x,int y) *x=*x+y; y=*x-y; *x=*x-y; A. 5,10,10,5B. 10,10,10,10C. 5,10,10,10D. 5,10,5,1018. 下面程序段执行时,语句c+=1;执行的次数是( )。 int i,j,c=0; for(i=5;i;i-) j=4; while(j-) c+=1; A. 5次B. 9次C. 20次D. 24次19. 若用下面程序段判断整型变量
14、a能否被5整除,那么( )。 if(a%5!=0); printf("%d不能被5整除!n",a); else printf("%d能够被5整除!n",a); A. 能够正确实现功能B. 没有语法错误,但不能正确实现功能C. 有警告出现,但能够正确实现功能D. 有语法错误出现20. 对于下面程序段,可以得到的结论是( )。 int a=-123,b=0; while(a) b+=a; a+=2; A. 存在语法错误B. 没有语法错误,能够正确执行并退出循环C. 没有语法错误,a值为0是退出循环D. 没有语法错误,但会陷入死循环二、
15、判断题(本大题共60分,共 20 小题,每小题 3 分)1. 下面代码段可以列举出所有能够被3整除且含有数码5的2位整数。 int n; for(n=10;n<100;n+) if(n%3=0&&(n%10=5|n/10=5) printf("%3d",n); 2. 数学中的方程或者函数,在程序设计语言中就是一个数据,应该定义一个变量来表示。3. for循环结构与while循环结构执行过程相同,都是先判断条件,当条件成立时执行循环体。4. C语言中,*=和+=两个复合赋值运算符是同级运算。5. 在实现循环嵌套时,为了提供执行效率,内层循环的控制变量最好
16、和外层控制变量同名。6. 下面代码段可以列举出所有的2位偶数。 int a,b,n; for(a=1;a<=9;a+) for(b=0;b<=8;b+=2) n=a*10+b; printf("%3d",n); 7. 在C语言中,else关键字不能单独出现,在其前面必须由对应的if配合使用。8. 由于空语句不进行任何有效的操作,所以空语句在程序中没有任何用处。9. 对于do-while循环结构,其循环体肯定会执行一次。10. 对于while循环结构来说,循环体无论有多少条C语句,都可以不使用复合语句。11. 只要使用了指针变量做函数的形式参数,无论在函数中如何使
17、用这些指针形参,都可以通过它们修改对应实际参数的值。12. 省略for循环控制中的表达式1和表达式3,则其控制过程与while循环结构一致。13. do-while循环结构与while循环结构执行过程相同,都是先判断条件,当条件成立时执行循环体。14. 在计算机程序设计中,无论问题多么复杂,只要归结为迭代算法解决的问题,那么程序的总体结构上就必然是循环结构。15. 假定已经知道了整型变量x存放的起始位置是:1234567,那么程序中可以使用指针变量定义语句:int *y=1234567;是的y指向x。16. 分支结构中,当控制条件满足时只能执行一个基本操作,或者是为某个变量赋值的操作;或者是输出某个数据对象的操作。17. 空语句不但可以用在循环结构中表示循环体部分,也常用于分支结构中,表示条件成立时执行的语句。18. 在C语言中,与其它分支结构图一样,switch控制结构中的条件也可以是任意的表达式。19. C语言中,复合语句只能书写在函数体内部,而且在复合语句中还可以定义变量。20. C语句序列:int a=-5; a/=a+=a*a;执行后,变量a的值是1。答案:一、单项选择题(40分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024离婚协议要点及范本
- 2024石材矿山荒料资源整合与开发合同3篇
- 2025年度鸭苗繁育基地建设与运营管理合同3篇
- 2025年度船舶船员体检与健康保险合同3篇
- 二零二五年搬家物流运输合同样本6篇
- 2024版建设工程施工合同ef0203
- 二零二五年度房地产项目土地置换合同3篇
- 2025年草原生态保护与草原旅游开发一体化合同3篇
- 2024版深圳股权转让合同协议书范本
- 2025年度高空楼顶广告设计与施工一体化服务合同4篇
- 深圳2024-2025学年度四年级第一学期期末数学试题
- 中考语文复习说话要得体
- 《工商业储能柜技术规范》
- 华中师范大学教育技术学硕士研究生培养方案
- 医院医学伦理委员会章程
- xx单位政务云商用密码应用方案V2.0
- 风浪流耦合作用下锚泊式海上试验平台的水动力特性试验
- 高考英语语法专练定语从句含答案
- 有机农业种植技术操作手册
- 【教案】Unit+5+Fun+Clubs+大单元整体教学设计人教版(2024)七年级英语上册
- 2020年的中国海外工程示范营地申报材料及评分标准
评论
0/150
提交评论