专升本C语言试卷2_第1页
专升本C语言试卷2_第2页
专升本C语言试卷2_第3页
专升本C语言试卷2_第4页
专升本C语言试卷2_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、C 语言程序设计试卷(二)130 题每小题 1 分, 3145 题每小题 2 分,共 60 分)1. 以下合法的用户自定义标识符是( D ) 。A、 b-bB 、 floatC 、 <fr>D 、_isw2.若变量已正确定义并赋值,以下不符合C 语言语法的表达式是( B ) 。A、 a*b/c;B、 3.14%2C、 2, bD 、 a/b/c3.下列不正确的字符常量是( C )A、 'n'B、 '1'C、 "a"D、 '101'4.在 C 语言中,表示逻辑值“真”用( B)A 、 1B 、非 0 的数C、非1的数

2、D 、 大于 0 的数5.把x、y定义成float类型变量,并赋同一初值3.14是(C)A、 float x, y=3.14;B 、 float x, y=2*3.14;C、 float x=3.14, y=x=3.14;D、 float x=y=3.14;6. 若变量已正确定义,值不为 2 的表达式是( C )A、2&3 B、 1<<1C、a=2D、 1A37. 若变量已正确定义,和语句“A、 k=(a>b)?1:0;C、 k=a<=b;if(a>b) k=0; else k=1; ”等价的是(C)B、 k=a>b;D、 a<=b ? 0 :

3、 1;8. 设变量定义为“ int a, b;” ,执行下列语句时,若a和b的值都是10,则应输入D)scanf("a=%d, b=%d",&a, &b) ;A、 10 10B、 10, 10C、 a=10 b=10 D、 a=10, b=109. 下列程序的输出结果是( D )fun(int a, int b, int c) c =a*b;void main( ) int c;fun(2,3,c); printf( ” %dn” ,c);A、 0B、 1C、 6D 、无法确定10. 在 C 程序中,若对函数类型未加说明,则函数的隐含类型为( A )A 、

4、intB、 double C、 void D、 char11. 表达式 strlen( " hellO勺值悬(B)A 、 4B、 5C、 6D 、712. 设变量定义为“ int a4; ” ,则不符合 C 语言语法的表达式是( D) A、 *aB、 a0C、aD、a+13. 设变量定义为“ int x, *p=&x; ” ,则 &*p 相当于( A )A、 pB、 *pC、 xD、 *&x14. 若变量已正确定义,不能使指针 p 成为空指针的是( A )A、 p=EOF B、 p=0C、 p= D、 p=NULL15. 对于以下的变量定义,不符合 C 语言语

5、法的表达式是( D ) struct node int len; char *pk; x = 2, "right", *p = &x;A、p->pk B、*p.pk16.有如下程序C、 *p->pkD、*x.pkint runc(int a,int b) return(a+b); main0 int x=2,y=5,z=8,r;r=func(func(x,y),z);printf( " n” ,r);该程序的输出的结果是(D)(C)A) 12 B) 13 C) 14 D) 1517 .对于基类型相同的两个指针变量之间,不能进行的运算是A) &l

6、t; B) = C) + D)-18 .有如下程序long fib(int n) if(n>2) return(fib(n-1)+fib(n-2);else return(2);main0 printf("dn”,fib(3);该程序的输出结果是(B)A 2 B 4 C 6 D 819 .有如下定义struct personchar name9; int age;strict person class10=“Johu”,17,“Paul”,19“Mary”,18,“Adam 16,;根据上述定义,能输出字母 M的语句是(D)A) prinft("cn”,class3.

7、mane);B) pfintf("cn”,1);C) prinft("cn”,1);D) printf("Acn",0);20 .以下所列的C语言常量中,错误的是(B)A) 0xFF B) 1.2e0.5 C) 2L D) 72'21 .有以下程序段int k=0while(k=1)k+;while循环执行的次数是(A)A)无限次B)有语法错,不能执行C) 一次也不执行D)执行1次22 .以下程序的输出结果是(C)A) 0 B) 29 C) 31 D) 无定值 fun(int x,

8、 int y, int z) z=x*x+y*y; main() int a=31;fun(5,2,a);printf("d ,a);23 .下列程序段的输出结果是(A)A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2 void fun(int *x, int *y) printf( "d %d , *x, *y); *x=3; *y=4; main() int x=1,y=2;fun(&y,&x);printf( "d %d ,x, y);24 .当调用函数时,实参是一个数组名,则向函数传送的是(B)A)数组

9、的长度B)数组的首地址C)数组每一个元素的地址 D)数组每个元素中的值25 .以下程序的输出结果是(A)A) 1 B) 2 C) 3 D) 4long fun( int n) long s;if(n= =1 | n= =2) s=2;else s=n-fun(n-1);return s;main() printf( "ld n”,fun(3); 26 .以下程序的输出结果是(B)A) 16 B) 2 C) 9 D) 1#define SQR(X) X*X main() int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); printf( "d

10、n” ,a);27 .有以下程序main() int m=3,n=4,x;x=-m+;x=x+8/+n;printf("%dn",x);程序运行后的输出结果是:(D)A)3 B)5 C)-1 D)-228 .以下叙述中正确的是:(A)A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C) main()函数必须放在其它函数之前D)所有被调用的函数一定要在调用函数之前进行定义29 .以下选项中非法的表达式是:(D )A) 0<=x<100B) i=j=0C) (char)(65+3)D) x+1=x+130 .下列条件语句中,功能与其他语句不同的是:(

11、D)A) if(a) printf("%dn",x); else printf("%dn",y);B) if(a=0) printf("%dn",y); else printf("%dn",x);C) if (a!=0) printf("%dn",x); else printf("%dn",y);D) if(a=0) printf("%dn",x); else printf("%dn",y);31 .以下不能定义为用户标识符的是:(D

12、)A) scanf B) Void C) _3com_ D) int32 . C语言中用于结构化程序设计的三种基本结构是:(A)A)顺序结构、选择结构、循环结构B) if、switch、breakC) for 、while、do-while D) if 、for、continue33 .若有说明语句:int a,b,c,*d=&c ;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是:( A )A) scanf("%d%d%d",&a,&b,d);B) scanf("%d%d%d",&a,&b,&d

13、);C) scanf("%d%d%d”,a,b,d);D) scanf("%d%d%d”,a,b,*d);34 .若有定义:int aa 8;。则以下表达式中不能代表数组元aa1的地址的是:( C )A) &aa0+1B) &aa1C) &aa0+D) aa+135 .有以下程序main()char str口10="China","Beijing",*p=str;printf("%sn",p+10); 程序运行后的输出结果是:(B)A) China B)Bejing C)ng D)ing36

14、 .以下程序的输出结果是:( A ) main() int a=0,i; for(i=1;i<5;i+) switch(i) case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5; printf("%dn",a);A) 31 B) 13 C) 10 D) 2037. 有以下程序#include <string.h>main(int argc ,char *argv ) int i,len=0;for(i=1;i<argc;i+=2) len+=strlen(argvi);printf(“n”5d,len

15、);经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行ex abcd efg h3 k44执行后输出结果是: ( D )A)14B)1238. 下列选项中正确的语句组是A) char s8; s="Beijing"C) char s8; s="Beijing"39. 有以下程序main() int a33,*p,i;p=&a00;for(i=0;i<9;i+) pi=i+1;printf("%d n",a12);程序运行后的输出结果是: (A) 3B) 640. 以下符合 C 语言语法的实型常量是

16、:A) 1.2E0.541. 以下程序段中与语句C)8DD)6)B ) char *s; s="Beijing"D ) char *s; s="Beijing"B )C) 9D) 2( C )D) E15A )B) 3.14.159EC) .5E-3k=a>b?(b>c?1:0):0 ;功能等价的是:A)if(a>b)&&(b>c) k=1;else k=0;C)if(a<=b) k=0;else if(b<=c) k=1;42. 若程序中定义了以下函数double myadd(double a,dou

17、ble b)B) if(a>b)|(b>c)k=1;else k=0;D)if(a>b) k=1;else if(b>c) k=1;else k=0; return (a+b);并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是: ( A )A)double myadd(double a,b);B)double myadd(double,double);C)double myadd(double b,double a); D)double myadd(double x,double y);43. 若 fp 已正确定义并指向某个文件,当未遇到

18、该文件结束标志时函数 feof(fp) 的值为: (A )A) 0B ) 1C) -1D )一个非 0 值44.下列关于C语言数据文件的叙述中正确的是:(D )A文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 45.有以下程序main()int aa44=123,4,5,6,7,8,3,9,10,2,429,6;int i,s=0;for(i=0;i<4;i+) s+=aai1;printf(&q

19、uot;%dn",s);程序运行后的输出结果是:(B )A) 11B) 19C) 13D)20二、填空题(每题 2分,共30分)1.表示 “x > y > z” 的 C 表达式是 x>=y && y>=z2.下列程序段的输出是 1printf("%on", 010<<1A1);3.下列程序段的输出是 6,90int k;float s;for (k=0, s=0; k < 7; k +) s += k/2;printf("%d, %fn", k, s);4.下列程序段的输出是 5,25。

20、5.#define f(a, b, x) printf("%d, %dn", 卜列程序段的输出是a*x+bf(3,2,1), f(6, 5, f(3, 2, 1);*#*#。main() int k;for(k=1; k<5; k+) if(k % 2) printf("*"); else continue;printf("#");6.下列程序段的输出是_5_8# include <stdio.h> int f(int x) static y=1;y+;x += y;return x;void main() int

21、k;k=f(3); printf("%d %dn", k, f(k);7 .下列程序段的输出是 5 oint *p, *q, k = 5 , j = 6 ; q = &k;p = q; q = &j ; printf("%d", *p);8 .函数void f(char s , char t) int k=0;while (sk=tk)k+;等价于void f(char *s, char *t) while ( *s+=*t+);9 .下列程序段的输出是 ne,s。char *a2="one", "two&q

22、uot;, *p=a;printf("%s,", *(p+)+1);printf("%cn", *p-1);10 .下列程序编译后生成t.exe,运行t input output zoo oil的输出结果是 zoovoid main(int argc, char * argv) int k;char *p=argv1;for(k=2; k<argc; k+) if(strcmp(argvk, p)>0) p=argvk;printf("%sn", p);11 .以下程序段的输出结果是11int i=9;printf("%on",i);12 .以下程序输出的结果是0main() int a=5,b=4,c=3,d;d=(a>b>c);printf("%dn",d);13 .以下程序中给指针p分配三个double型动态内存单元,请填空。# include <stdlib.h>main () double *p;p=(double * ) malloc( 3*sizeof(double); p0=15P1=25P2=3.5;printf("%f%f%f ,p0,p1,p2);14 .有以下程序vo

温馨提示

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

评论

0/150

提交评论