付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、江苏大学试题第1页课程名称计算机基础及C语言(R ) 开课学院计算机学院使用班级 考试日期 .注意事项:1 .闭卷考试。考试时间为120分钟。2 .答案均请用铅笔涂在答题卡上。将答题卡上的试卷类型涂A (补考则涂B)。3 .请将答题卡、试卷都写上班级、学号、姓名、任课教师。考试结束分别交予监考老师。一、选择题(30分,每小题1分,请涂写在答题卡上)1 . 以下常量中正确的是 D 。A. 'abc' B. 'x123'C.3.145E-1.2 D. "a"2 .以下选项中,不能用作变量名的是D qA. _1234_B._1_2C.int_2_D
2、.2_int_3 . 设有“ int a;以下不能正确表达 10<a<15的表I大式是A 。A. 10<a<15B. A=1111a=1211a=1311a=14C. a>10&&a<15D.!(a<=10)&&!(a>=15)4 .已知数据类型定义和变量声明如下:struct skint a; float b;data2, * p ;若有p=data,则以下对data0中成员a的引用中错误的是 A 。A. data0->a B. data->aC. p->a D. (* p).a5 .下列程序的
3、程序输出结果为 A。#define X(a) a*amain() printf("r% d,X(4+5);A.29B.18C.20D.256 .若有定义“enum seqmouse, cat, dog, rabbit=0, sheep, cow=6, tiger;“ 贝U执行语句“printf( "%d” ,cat+sheep+cow);“后输出的结果是 C。A. 6B.7C.8D. 97 .以下能将字符串“ good!”正确地存放在字符数组s中,或使指针s能指向这个字符串的是 D。A. char s4='g' ,'o','密 cha
4、r sd5;s= ' ! ' "g ood!”;C. int s5= "good! ” ;D. char *s;s="good!";8.设有说明:union data int i float f;struct int x;char y;s;double d; a;则变量a在内存中所占字节数为 A 。A.8B.17C.9D.159 .设已有非空文本数据文件filel.dat ,要求能读出文件中原有的全部数据,并在文件原有数据之后添加新数据,则用 FILE *fp=fopen("file1.dat" , D)打开该文件。A
5、. "w"B. " w+"C. "r+"D. "a+"10 .以下关于if语句的错误描述是 B qA.条件表达式可以是任意表达式B.条件表达式只能是关系表达式或逻辑表达式C.条件表达式的括号不可以省略D.与else配对的if语句是其之前最近的未配对的if语句11 .在以下不致造成死循环的语句是:A QA. for(y=0,x=1; x>+y; x=i +) i =x;B. for(; ;x+=i );C. while(x=8) x-;D. for(i =10,sum=0; sum<=i ;) sum=
6、-i ;12 .设有定义:“float y=3.45678;int x;",则以下表达式中能实现将y中数值保留小数点后2位,第3位四舍五入的表达式是:B 。A. y=(y*100+0.5)/100.0B. x=y*100+0.5,y=x/100.0C. y=y*100+0.5/100.0D.y=(y/100+0.5)*100.013 .以下程序段输出结果是:C 。int a=10,b=11,c=12,s;s=a+<=10&&b-<=2&&c+;printf(" %d,%d,%d,%d” ,s,a,b,c);A. 0,11,10,1
7、3 B. 1,11,10,13 C. 0,11,10,12D.1,11,10,1214 .设有“char s = "Program" ,*p=s;",则以下叙述中正确的是: C 。A.数组s的内容与指针变量p中内容相同B.数组s的长度与strlen(p)的值相等C. p5的值等于s5的值D. sizeof等于 sizeof(*p)15 .下列程序段执行后变量j的值是:B。int j; char *s="x045"" for(j=0;*s+;j+);A. 7B. 3C. 4D. 516 .若有定义语句"static char
8、str420= "thank", "you","very","much!""则 str 数组中存储'0的数组元素有:D 个。A. 0B.17C.21D. 6317 .下列正确的声明说明语句是 D 。A. float m=15,n=4,q=m%n;B. int n=10, yn;C. char p2 = "DOS","WINDOWS"D. char *p = "DOS","WINDOWS","UNIX"
9、;18 .设有函数f的定义如下:void f(int x, int *y) *y=x*x*x; main() int j,c4=1,2,3,4,s4=0;for(j=0;j<4;j+) /*调用f函数*/printf(" %d' ,sj); 若在main函数中欲调用函数f,则正确的调用语句是 C。A. f(c,s);B. f(ci ,si);C. f(*(c+i),&si);D. f(c+i ,s+i );19 .执行以下程序段后,x,w的值为 C。int x=0,y=1,z=2,w;if(x+) w=x;else if(x+&&y>=1)
10、 w=y;else if(x+&&z>1) w=z;A. 0,1B. 1,1C. 2,1D.3,220 .已知有声明语句"int a5=1,2,3,4,5,*p,i; ",以下语句中不能正确输出a数组全部元素值的A. for(p=a,i=0;i<5;i+)printf("%d",*(p+i);B. for(p=a;p<a+5;p+)printf("%d",*p);C. for(p=a,i=0;p<a+5;p+,i+) printf("%d",pi);D. for(p=a;p&
11、lt;a+5;p+)printf("%d",p0);江苏大学试题第3页21 .该程序运行后,输出 x的值是, y的值是 D。int x=1;main() int y,k; y=f(3); printf("%dn%d",x,y);int f(int x) if(x=3) int x=2; return x; else return x;A. 0,1B. 1,1C. 2,1D.1,222 .当程序读写数据文件时,需要有声明语句“ FILE *fp ;",在该声明语句之前必须包含头文件 B oA. string.hB. stdio.hC. math.
12、hD.ctype.h23 .在文件中,以符号常量 EOF作为文本文件的结束标记,EOF代表的值是 B。A. -2B. -1C. 0D.124 .若有声明“ double a23=1,2,3,4,5,6; ",则下列表达式中不能正确引用a11值的是C. *(*(a+3)+1) D. *(*a+4)C 。A. *(a0+4)B. *(a1+1)25 .有以下程序段typedef struct NODE int num; struct NODE *next; OLD;则以下叙述中正确的是 DA.以上的说明形式非法B. NODE是一个结构体类型C. OLD是一个结构体类型D. OLD是一个结
13、构体变量26.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,A. k%2B. k%2=127 .若有定义:int x=0, *p=&x;,则语句A.随机值B. 028 .以下能正确定义且赋初值的语句是A. int n1=n2=10;B. char c=32;29 .设有定义:int k=1,m=2; float f=7;, A.k=k>=kB. -k+30 .以下程序运行后的输出结果是: A. 2 2B. 7 2这个选项是 D。C. (k%2)!=0D. !k%2=1printf("%dn",*p);的输出结果是C. x的地址
14、D. p的地址B oC. float f=f+1.1;D. double x=12.3E2.5;则以下选项中错误的表达式是CC. k%int(f)D. k>=f>=mBC. 7 5D. 62main() char a7= "a00a00" int i, j;i=sizeof(a); j=strlen(a);printf("%d %d",i,j);江苏大学试题第5页二、 填空题(40分)(每空2分,请涂写在答题卡上)1.设有说明"int j=5,m=2,k=7,n;”,则执行语句"n+=m*=n=j*k;”后,n和m的值分别
15、为_B _和 _C _。31. A. 75B. 105C. 120D. 13032. A. 30B. 50C. 70D. 902.以下程序运行时输出结果是Ao#include < stdio.h >main() char a = 256;int d = a;printf("%d",d+1);33. A. 1B. 257C. 0D. -13.卜列程序的程序输出的第一行是_A第二行 B ,第三行 B 。#include<stdio.h>main() int a=1,b=2,x1,x2,x3;x1=add(a,b);x2=add(add(a,b),b);x
16、3=add(a,b);printf(" %d n”,x1,x2,x3);int add(int x,int y) static int z=1;z=x+y+z;return(z);34. A.4B.5C.6D.735. A.14B.16C.18D.2036. A.17B.19C.21D.234.以下程序运行时输出结果的第一行是C ,第二行是D ,第三行是C 。int c=0;void fl (int x, int *sum) int y=0;x+; y+; c=c+y;*sum=(x+y)/c;main() int a, b= 100;for(a=0;a<3;a+ ) fl(a
17、,&b); printf("%d %d %d n",a,b,c);37. A.0 1 2B.0 2 3C.0 2 1D.1 2 138. A.0 1 2B.0 2 3C.2 2 4D.1 1 239. A. 1 2 3B.2 4 3C. 2 1 3D.1 4 3江苏大学试题第#页5 .以下程序运行时输出的两个数分别是 main() int x=1,y,k; for(k=0;k<5;k+) int x=1;x+;if(k=4) y=x;printf("%d,%d",x,y);40. A. 0B. 141. A. 0B. 1C. 2C. 2D.
18、 3D. 36 .以下程序运行时输出第一个数是B,第二个数是 C ,第三个数是 D#include <math.h>main() static int a33=0,i,j;for(i=0;i<3;i+) for(j=0;j<3;j+) switch(abs(i-j) case 0:if(i=0|i=2) aij+=3; else aij+;break;case 1:aij+=2;break;case 2:aij+=3;printf("%d,%d,%d",a11,a12,a20);42. A. 0B.1C.2D.343. A. 0B.1C.2D.344
19、. A. 0B.1C.2D.37. 下列程序输出的两个数分别是D 和 B qmain() static int x33=1,2,5,6,7,8,9,(*p)3;p=x;printf("%; d,(*(p+1)1p00);45. A. 0B. 2C. 5D. 646. A. 0B. 1C. 2D. 3江苏大学试题第9页8. 下列程序的程序输出结果为 C 、 B 、D void swap(int a,int b) int t=0;if(a>b)t=a;a=b;b=t; main() int x=15,y=12,z=20; if(x>y)swap(x,y); if(x>z
20、)swap(x,z); if(y>z)swap(y,z); printf( “dn” ,x,y,z);47.A. 0B. 12C. 15D. 2048.A. 0B. 12C. 15D. 2049.A. 0B. 12C. 15D. 209. 若有函数定义:int f() int x =4, y=3, z=2;return x, y, z;则调用函数f后的返回值是D Q50. A. 4, 3, 2B. 4C. 3D. 2一、 完善程序题(30分,每空2分,请涂写在答题卡上)1、用递推法计算某一级数的近似值,直到 n取一值使得:| x(2n+1)/n! |<1e-6为止。级数如下: x-
21、x3/(3*1!)+x 5/(5*2!)-x 7/(7*3!)+.+x+1)/(2n+1)*n!)+#include<stdio.h>#include<math.h>float g(float x) float t=x,sum=t,s=1;int n=0;while(A >1e-6) n+;s=-s;t=t* -C ;sum=sum+s*t/ B;return sum;main() float x;scanf( " %f" ,&x);printf( "s=%f" ,g(x);51. A. fabs(t)B. fabs
22、(n)C. sumD. n52. A. x*xB. x*x/(n+1)C. x*x/nD. x*x/(2*n+1)53. A. n*(2*n+1) B. (2*n+1)C. n*(2*n-1) D. n*2*(n+1)2、输入一个不包含空格的字符串,判断输入的字符串是否为回文,是回文则输出“ Right!”,不是则输出"Wrong!”。回文是相对于中心左右对称的字符串。如:字符串"abcba"和"abddba”是回文,而字符串“ abcAa”不是回文。#include<stdio.h>int f(char *p) char *p1,*p2;p
23、1=p2=p;while(*p2+); B ;while( C ) if(B ) return 0;p1+; p2-;return 1;main() char s200;printf( please input the string"); scanf("%s" ,s);if( D ) printf( "Right!”); else printf( "Wrong!");54. A. p2=p2-2B. p2=p2-1C.p2=p2+1D.p2=p2+255. A. p1>=p2B. p1>p2C. p1<=p2D. p
24、1<p256. A. p1=p2B. p1!=p2C.p1>p2D. p1<p257. A. si!= ''0'B. si= ''0'C. f(s)=0D. f(s)3.以下程序实现将a数组中后8个元素用递归的方法进行从大到小排序的功能。 void sort(int *x,int n);main() int a12=5,3,7,4,2,9,8,32,54,21,6,43Ksort( _ _C_ _ ,8);for(k=0;k<i2;k+jprintf("%d",ak);void sort(int *x,int n) int j,t;if(n=1)return;for(j= _A_ ;j<n;j+)if( A) t=x0;x0=xj;xj=t;sort(x+1, A );58. A. aB. a+1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 股骨干骨折切开复位内固定术后护理查房
- 健康安全防范措施承诺书(3篇)
- 品牌推广与传播执行方案
- 营销活动策划书内容与执行清单
- 安全操作运行岗位责任承诺书范文8篇
- 企业内训师授课技巧及内容模板
- 售后服务标准化服务流程顾客满意度调查
- 浙江省绍兴市上虞实验中学2026年下学期初三英语试题联考试卷含解析
- 四川省乐山市井研县重点达标名校2025-2026学年中考英语试题考前特训30天含解析
- 湖北省武汉市市新观察市级名校2026届初三下第二次联考语文试题试卷含解析
- 2025年山东省委党校在职研究生招生考试(政治理论)历年参考题库含答案详解(5卷)
- 拔牙术拔牙并发症
- 选派援疆医疗卫生人才协议书
- XB/T 405-2016铈铁合金
- GB/T 9966.16-2021天然石材试验方法第16部分:线性热膨胀系数的测定
- GB/T 3733.2-1983卡套式端直通接头体
- GA/T 1133-2014基于视频图像的车辆行驶速度技术鉴定
- 钢管工艺焊接方案
- 中石油公司油库管理制度与工作流程汇编
- 光纤熔接机培训方案
- 系统解剖动脉和静脉
评论
0/150
提交评论