期末试卷(含答案)
- 格式:docx
- 大小:63.13 KB
- 文档页数:11
注意事项: 江苏大学试题 课程名称 计算机基础及C语言(U) 开课学院 计算机学院 使用班级 考试日期
1•闭卷考试。考试时间为 2.答案均请用铅笔涂在答题卡上。 3•请将答题卡、试卷都写上班级、
120分钟。 将答题卡上的试卷类型涂 学号、 A (补考则涂B )。 姓名、任课教师。考试结束
分别交予监考老师。
、选择题(30分,每小题 1分, 请涂写在答题卡上
)
以下常量中正确的是 A. 'abc' B. '\x123' C.3.145E-1.2 D. "a" 以下选项中, A. 1234 不能用作变量名的是
B. 1 2 C.int 2 D.2 int 设有“ int a; A. 10
以下不能正确表达
C. a>10&&a<15 10
B. A==11||a==12||a==13||a==14
D.!(a<=10)&&! (a>=15) 已知数据类型定义和变量声明如下: struct sk {int a; float b;}data[2], * p ; 若有p=data,则以下对data[0]中成员a的引用中错误的是 A. data[0]->a B. data->a C. p->a 下列程序的程序输出结果为 _____ A #defi ne X(a) a*a main ()
{ printf( A.29 “r%d,X(4+5))
;}
B.18 C.20
enum seq{mouse, cat, dog, rabbit=0, 旦 若有定义“
"printf( “ %d”,cat+sheep+cow);” 后输出的结果是 B.7 A. 6 B.7 C.8
以下能将字符串"good! ”正确地存放在字符数组 的是 ______ D
A 。 D. (* p).a
D.25 sheep, cow=6, tiger}; ” 则执行语句 C D. 9 s中, 或使指针s能指向这个字符串
A. char s[4]={ ‘ g' , ‘ o' , ‘ dB.qharsd5l;s=
C. int s[5]= “ good! ” ; D. char *s;s=
'! ' “}good! ”
“good! ”; 8. 设有说明: union data { int i ;float f; struct{ int x;char y;}s; double d; }a; 则变量a在内存中所占字节数为 _A 。 A. 8 B.17 C.9 D.15
9. 设已有非空文本数据文件 filel.dat,要求能读出文件中原有的全部数据,并在文件原有数据 之后添加新数据,则用 FILE *fp=fope n( "file1.dat" , D )打开该文件。 A. "w" B. " w+" C. "r+" D. "a+" 10. 以下关于if语句的错误描述是 B 。 A. 条件表达式可以是任意表达式 B. 条件表达式只能是关系表达式或逻辑表达式 C. 条件表达式的括号不可以省略 D. 与else配对的if语句是其之前最近的未配对的 if语句 11. 在以下不致造成死循环的语句是: A 。 A. 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= --i ; 12. 设有定义:“float y=3.45678;int x; ”,则以下表达式中能实现将 y中数值保留小数点后 2 位,第3位四舍五入的表达式是: B 。
A. y=(y*100+0.5)/100.0 B. x=y*100+0.5,y=x/100.0 C. y=y*100+0.5/100.0 D.y=(y/100+0.5)*100.0 13. 以下程序段输出结果是: —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,13 B. 1,11,10,13 C. 0,11,10,12 D.1,11,10,12 14. ____________________________________________________________ 设有"char s[ ]= “Program” ,*p=s;”,则以下叙述中正确的是: ________________________ C 。 A. 数组s的内容与指针变量 p中内容相同 B. 数组s的长度与strlen(p)的值相等 C. p[5]的值等于s[5]的值 D. sizeof(s)等于 sizeof(*p) 15. 下列程序段执行后变量 j的值是: 。 int j; char *s="x\045\""; for(j=0;*s++;j++); 若有定义语句"static char str[4][20]={ "thank", "you","very","much! "}; 的数组元素有: D 个。
void f(int x, int *y) { *y=x*x*x;} mai n() { int j,c[4]={1,2,3,4},s[4]={0}; for(j=0;j<4;j++) { ________________ printf( “ %d' ,s[j]); }
A. 7 B. 3 C. 4 D. 5
A. 0 B. 17 C. 21 D. 63 17. F列正确的声明说明语句是
A. float m=15 ,n=4,q=m% n; B. int n=10, y[n];
18. char p[2][ ]={ "DOS","WINDOWS"};
char *p[ ]={ "DOS","WINDOWS","UNIX"}; 设有函数f的定义如下:
C. D.
19. 20.
} 若在main函数中欲调用函数 f,
A. f(c,s); C. f(*(c+i), &s[i]);
执行以下程序段后,x,w的值为 int x=0,y=1,z=2,w; if(x++)
w=x; else if(x++&&y>=1) w=y;
else if(x++&& z>1) w=z;
则正确的调用语句是 B. f(c[i ],s[i]); D. f(c+i ,s+i );
A. 0,1 B. 1,1 C. 2,1 D.3,2 已知有声明语句"int a[5]={1,2,3,4,5},*p,i; ”,以下语句中不能正确输出 a数组全部元素值的
是 C 。 A. for(p=a,i=0;i<5;i++) prin tf("%d",*(p+i)); B. for(p=a;p
C. for(p=a,i=0;ptf("%d", D. for(p=a;pprin
tf("%d",p[0]);
p[i]);
16. 则str数组中存储'\0' /*调用f函数* / 21. 该程序运行后,输出 x的值是 ____________ int x=1; mai n() { int y,k; y=f(3); prin tf("%d\n%d",x,y);} in t f(i nt x) { if(x==3) { int x=2; retur n x; } else return x; } A. 0,1 B. 1,1
22. 当程序读写数据文件时,需要有声明语句 _____ B
typedef struct NODE { int num; struct NODE *n ext;} OLD;
则以下叙述中正确的是 ______ D
if语句的控制表达式时,有一个选项与其它三个选项含义不同,
C. (k%2)!=0 D. !k%2==1 printf("%d\n",*p);的输出结果是 C. x的地址 D. p的地址 _B _______ 。 C. float f=f+1.1; D. double x=12.3E2.5; 则以下选项中错误的表达式是 C C. k%i nt(f) D. k>=f>=m B C. 7 5 D. 6 2 main ()
C. math.h A. strin g.h B. stdio.h 23. 在文件中,以符号常量 EOF作为文本文件的结束标记, A. -2 B.-1 24. 若有声明“ double a[2][3]={1,2,3,4,5,6}; C 。 D.ctype.h
EOF代表的值是 D.1 C. 0
”,则下列表达式中不能正确引用 a[1][1]值的是
A. *(a[0]+4) 25.有以下程序段 B. *(a[1]+1) C. *(*(a+3)+1) D. *(*a+4)
,y的值是 C. 2,1 D.1,2 FILE *fp ;”,在该声明语句之前必须包含头文件
A.以上的说明形式非法 B. NODE是一个结构体类型 C. OLD是一个结构体类型 D. OLD是一个结构体变量 26.当把以下四个表达式用作 这个选项是 _____ D ________________ < A. k%2 B. k%2==1
27. 若有定义:int x=0, *p=&x;,则语句 A.随机值 B. 0 28. 以下能正确定义且赋初值的语句是 A. int n1= n2=10; B. char c=32; 29. 设有定义:int k=1,m=2; float f=7;, A.k=k>=k B. -k++ 30. 以下程序运行后的输出结果是: _