已阅读5页,还剩83页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计专升本练习题 (学习资料仅供练习)第 86 页目 录专升本C语言练习题一1专升本C语言练习题二9专升本C语言练习题三17专升本C语言练习题四24专升本C语言练习题五31专升本C语言练习题六41专升本C语言练习题七47专升本C语言练习题八57专升本C语言练习题九64专升本C语言练习题十71专升本C语言练习题一6 10专升本C语言练习题二专升本C语言练习题三一、单项选择题1. C语言源程序文件经过编译连接之后生成一个后缀为_C_的文件。 A.”.c” B.“.obj” C.“.exe” D.“.bas”2. 以下选项中不正确的整型常量是_C_。 A. 12L B. -10 C. 1,900 D. 123U3. 表达式_C_的值是0。A.3%5 B.3/5.0 C.3/5 D.30|y0) 等价于_D_。A.!x0|!y0 B.!(x0)|!(y0) C.!x0&!y0 D.!(x0)&!(y0)5. 若变量已正确定义并赋值,表达式_D_不符合C语言语法。A.4&3 B.+a C.a=b=5 D.int(3.14)6. 若变量已正确定义,执行语句scanf(%d%d%d ,&k1,&k2,&k3);时,_B_是正确的输入。 A.2030,40 B.20 30 40 C.20, 30 40 D.20, 30,407. 执行语句 printf(” _D_”, 2); 将得到出错信息。A.%d B.%o C.%x D.%f8. 设变量定义为“int s =hellonworldn;”,则数组s中有_B_个元素。A.12 B.13 C.14 D.159. 设变量定义为“int a2=1,3, *p=&a0+1;”,则*p的值是_B_。A.2 B.3 C.4 D.&a0+110. 若变量已正确定义并赋值,表达式 -k+ 等价于_A_。A.-(k+) B.(-k)+ C.-(k+1) D.-(+k)11. 在C 语言程序中,在函数内部定义的变量称为_D_。A.全局变量 B.全程变量 C.外部变量 D.内部变量12. 若x是整型变量,表达式 (x=10.0/4.0) 的值是_D_ 。A.2.5 B. 2.0 C. 3 D.213. 对于以下的变量定义,表达式_A_是正确的。struct node char s10; int k; p4;A.p-k=2 B.p0.s=“abc” C.p0-k=2 D.p-s=a14. 下列运算符中,优先级从高到低依次为_D_。A.&,!,| B.|,&,! C.&,|,! D. !,&,|15. 下列程序段的输出结果是_B_。 int *p, *q, k = 1, j=10 ; p=&j; q = &k ; p = q ; (*p)+;printf(%d,*q);A.1 B.2 C.10 D.1116以下各选项企图说明一种新的类型名,其中正确的是水量 (C)A. typedef v1 int; B. typedef v2=int;C. typedefv1 int v3; D. typedef v4: int;17. 以下选项中,非法的字符常量是 (C)A. t B. 17 C)“n” D. xaa18. 以下程序的输出结果是 (C)main() int i, a10;for(i=9;i=0;i-) ai=10-i;printf(“%d%d%d”,a2,a5,a8);A. 258 B. 741 C. 852 D. 36919. 以下程序的输出结果是(B)main() char st20= “hello0t”;printf(%d %d n”,strlen(st),sizeof(st);A. 9 9 B. 5 20 C. 13 20 D. 20 2020. 以下程序的输出结果是 (D)main() int a, b;for(a=1, b=1; a=10) break;if (b%3= =1) b+=3; continue; printf(“%dn”,a);A. 101 B. 6 C. 5 D. 421. 以下程序的输出结果是 (D)union myun struct int x, y, z; u; int k; a;main() a.u.x=4; a.u.y=5; a.u.z=6;a.k=0;printf(%dn”,a.u.x);A. 4 B. 5 C. 6 D. 022. 以下程序段的输出结果是 (A)char s=141141abct;printf (%dn,strlen(s);A. 9 B. 12 C. 13 D. 1423. 以下程序的输出结果是 (B)main() char ch35=AAAA,BBB,CC;printf(%sn,ch1);A. AAAA B. BBB C. BBBCC D. CC24. 不合法的main函数命令行参数表示形式是 (C)A. main(int a,char *c) B. main(int arc,char *arv)C. main(int argc,char *argv) D. main(int argv,char *argc)25. 有以下程序执行后输出结果是 (C)main() char *s=one,two,three,*p; p=s1; printf(%c,%sn,*(p+1),s0); A. n,two B. t,one C.w,one D. o,two26. 设有如下说明typedef struct int n; char c; double x;STD;则以下选项中,能正确定义结构体数组并赋初值的语句是 (A)A. STD tt2=1,A,62,2, B,75;B. STD tt2=1,A,62,2, B,75;C. struct tt2=1,A,2, B;D. structtt2=1,A,62.5,2, B,75.0;27. 若变量c为char类型,则能正确判断出c为小写字母的表达式是( D )。A. a=c= a)|(c= z)C. (a=c) D. (c= a)&(c=A&ch,=Z)|(ch=a&ch0)y=1;else if(x=0)y=0;else y=-1;_。 1 x0y= 0 x=0 -1 x03.表达式 !5的值是_1_。4.下列程序段的输出结果是_12_。printf(%xn, (0x19 1) & 0x17); 5.下列程序段的输出结果是_ k=4 s=6_。 int k, s; for(k=0, s=0; kk) break ; else s += k; printf(k=%d s=%d, k, s);6.下列程序段的输出结果是_15_。 #define MIN(x,y) (x)(y)?(x) : (y) printf(%d,10*MIN(10,15);7.下列程序在运行时可能会出错,原因是_指针变量s未赋初值_。# include void main( ) char *s; gets(s); puts(s); 8.下列程序段的输出是_6 0_。# include int f(int m) static int k=0; int s=0; for(; k*s ) s=p;return(*s);void main() int x5=12,21,13,6,18;printf(%dn,findmax(x,5);三.程序(段)填空题1设变量x, y, z已正确定义和赋值,请仔细阅读程序段,然后在程序段中填入正确的内容,使程序段和程序段有相同的功能。程序段A 程序段Bx=x+y; y=x-y; x=x-y; z=x+y; z=x ; x=y ; y=z; z=x+y;2请仔细阅读函数f1,然后在函数f2中填入正确的内容,使函数f1和函数f2有相同的功能。char *f1(char s , char t) int k; for(k=0; tk!= ; k+) sk=tk; sk= ; return s; 专升本C语言练习题四一、 填空題(每空1分,共20分)1. 是C程序的基本单位,一个C程序总是从 开始执行。2.C语言规定标识符只能由字母、 和 3种字符组成,且第一个字符必须为字母或 。3.著名计算机科学家沃思提出的一个公式:数据结构 程序4.Turbo C+中,若有语句:unsigned int a;则a的范围是0 5.C中的转义符“r”表示: 。6.表达式 21 / 4 的值为 。7.C语言中没有专门的字符串变量,如果想将一个字符串存放在变量中以便保存,必须使用 。8.已知a=12.789,则表达式 (int)a 的值为 。9.表达式 3 | 2 的值是 。10.若a=5,经a-=3;后a= 。11.已知ch=a,则表达式【(ch=A & ch56.设下列表达式中所涉及的变量均已正确定义,则不符合C语言语法的是( )A.4|3 B.a+=4 C.a=3,b=5 D.char(65)7.设变量定义为【int a3=1,3,5, *p=a+1; 】,则*p的值是( )A. 2 B. 3 C. 4 D. a+18.在C 语言程序中,在函数内部定义的变量称为( )A. 全局变量 B. 外部变量 C. 全程变量 D. 局部变量9.经过以下的变量定义后,正确的表达式是(A ) struct node char s10; int k; p4;A. p-k=21 B. p0-k=21 C. p(0)-k=21D. p-s=Mary10.若变量c为char类型,则能正确判断出c为大写字母的表达式是( )A. (c= A)|(c= Z)B. A=c= A)&(c= Z)D. (A=c)11.C语言中以“只写”方式打开文件,应选择的参数是( )A. o B. w C. a D. r12.变量定义为【int a23=1,2,3,4,5,6, *p=&a10; 】,则p的值是 )A. 数组a的首地址 B. 数组a的第1个元素的地址C. 数组a的第“1”行第“0”列的地址 D. 数组a的第“1”列的首地址13.用链表表示线性表的优点是( )A. 便于插入和删除操作 B. 花费的存储空间较顺序存储少C. 便于随机存取 D. 数据元素的物理顺序与逻辑顺序相同14.结构化程序设计主要强调的是( C )A. 程序的规模 B. 程序设计语言的先进性C. 程序结构的规范化 D. 程序的效率15.以下表达式中,不正确的浮点数常量是( C )A. 2e2 B. 2.2 C. 2c2 D. 2E216. 若int x=12,*p=x;则正确的赋值表达式是( )A. p=*&xB. *p=&x C. &p=xD. *p=x17.设有如下程序段:int i=15; for(;i=10;)i-; 执行完这段程序后,i的值是( D)A. 5 B. 4 C. 10 D. 918.设有如下程序段:int i=15; while(i15)i-; 则以下描述中正确的是( C )A. 循环体语句执行15次B. 这是一个死循环C. 循环体语句一次也不执行D. 循环体语句只执行一次19.设有如下程序段:char a26=abcde,uvwxy,*p=&a02; printf(n%s,p);这段程序执行后,屏幕输出的结果是( B )A. wxy B. cde C. w D. c20.设有如下程序段:union int i; char c; a; a.c=A; a.i=12; printf(n%d,a.i);这段程序执行后,屏幕输出的结果是(C )A. A B. 97 C. 12 D. 65三、 程序填空(每空3分,共15分)1.以下程序的功能是输出杨辉三角形前10行,请在下划线处填上正确的内容,使程序能正确运行。#include #define N 11main()int i,j,aNN; for(i=1;iN;i+) ai1= ; aii= ; for(i=3;iN;i+) for(j=2;j=i-1;j+) aij= ; for(i=1;iN;i+) for(j=1;j=i;j+) printf(%6d, aij ); printf(n); 2.以下程序的功能是利用函数求100-200间素数(质数)的个数,请在下划线处填上正确的语句,使程序能正确运行。#include int isprime(int n) int i,f; f=1; for(i=2;in/2;i+) if( ) f=0; i=n; return(f);main()int i=100,n=0; for(;i200;i+) if( )n+; printf(Numbers of prime:%d,n);四、 写出以下程序运行结果(每题4分,共12分)1.以下程序输出的结果是:#include stdio.hvoid main() char s=hello; printf(%s,s); 2.以下程序输出的结果是:#include stdio.hvoid main()int a=12,b=13; a=a+b; b=a-b; a=a-b; printf(%d,%d,a,b); 3.以下程序输出的结果是:#include stdio.hvoid main() char ch=I love Great Wall of China!; printf(%c,*(ch+5); 五、 编程题(第1题5分,第2题8分,共13分)1.百钱百鸡问题:公元前5世纪,我国古代数学家张丘建在算经一书中提出了百鸡问题:鸡翁一值钱五、鸡母一值钱三、鸡雏三值钱一,百钱买百鸡,问鸡翁、母、雏各几何? 试编程输出所有的买法。注意:每一种鸡至少要一只。2.编程输出所有玫瑰花数。(一个四位数等于它每一位数字的4次方之和.那么我们称这个四位数为玫瑰花数)专升本C语言练习题四参考答案一、 填空題(每空1分,共20分)1函数主函数 或 main函数2数字下划线下划线3算法4655355回车657字符数组81293 10211a 或 97 12#define E 2.7182813地址传递 或 传址14&|157二、 单项选择题(每题2分,共40分) 12345678910BCDBADBDAC11121314151617181920BCACCDDCBC三、 程序填空(每空3分,共15分)111ai-1j-1+ai-1j2n%i=0isprime(i)=1四、 写出以下程序运行结果(每题4分,共12分)1.运行结果:hello2运行结果:13,123. 运行结果:e五、 编程题(第1题5分,第2题8分,共13分)1.参考程序:#include stdio.hvoid main()int cock,hen,chick; for(cock=1;cock20;cock+) for(hen=1;hen33;hen+) chick=100-cock-hen; if(cock*5+hen*3+chick/3=100)printf(cock:%d hen:%d chick:%dn,cock,hen,chick); 评分标准:程序结构正确得3分,算法正确得2分2. 参考程序:#include stdio.hvoid main() int i,g,s,b,q,m; for(i=1000;i B. + C. & D. =3.表达式!(x0&y0)等价于 (A) 。A. ! (x0) | ! (y0) B. !x0 | !y0 C. !x0 & !y0 D. !(x0) & ! (y0)4. 有以下程序运行后的输出结果是(B) main() int a=666,b=888; printf(%dn,a,b); A.错误信息 B.666 C.888 D.666,888 5. 有以下程序运行后的输出结果是(C)main() int i; for(i=0;i3;i+) switch(i) case 0:printf(%d,i); case 2:printf(%d,i); default:printf(%d,i); A.022111 B.021021 C.000122 D.012 6. 若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|10的是 (C)A.abs(x-y)-10& x-y10C.!(x-y)10 D.(x-y)*(x-y)k=2; B. (*p).k=2; C. x . k=2 D. x-k=29. 不正确的赋值或赋初值的方式是 (B) 。A. char str =”string”; B.char str10; str=”string”;C. char *p=”string”; D.char *p; p=”string”;10. 设程序中不再定义新的变量,写出以下程序中可以使用的所有变量( B ) #include int z; int p(int x) static int y; return (x+y); void main( ) int a,b; printf(“%dn”, p(a); A. a,b B. a,b,z C. a,b,y,z D. a,b,x,y,z11.有以下程序运行后的输出结果是(D)main() int i=0,x=0; for (;) if(i=3|i=5) continue; if (i=6) break; i+; s+=i; ; printf(%dn,s); A.10 B.13 C.21 D.程序进入死循环 12.以下程序若运行时从键盘上输入:6,5,65,66。则输出结果是( A )main() char a,b,c,d; scanf(%c,%c,%d,%d,&a,&b,&c,&d); printf(c,%c,%c,%cn,a,b,c,d); A.6,5,A,B B.6,5,65,66 C.6,5,6,5 D.6,5,6,6 13.s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是(D)A. if(s1s2)S; B. if(strcmp(s1,s2)S;C. if(strcmp(s2,s1)0)S; D. if(strcmp(s1,s2)0)S; 14.有以下定义和语句 int a32=1,2,3,4,5,6,*p3; p0=a1;则*(p0+1)所代表的数组元素是 (C)A. a01 B. a10 C. a11 D. a1215.程序中对fun函数有如下说明void *fun();此说明的含义是:(C) A. fun了数无返回值B. fun函数的返回值可以是任意的数据类型C. fun函数的返回值是无值型的指针类型D.针fun指向一个函数,该函数无返回值16.有以下程序运行后的输出结果是 ( C )void fun(int *a,int i,int j) int t; if(iJ) t=a;a=aj;aj=t; i+; j-; fun(a,i,j); main() int x=2,6,18,i; fun(x,0,3); for(i=0;inum B.p-num C.(*p).num D.stu3.age18.已定义ch为字符型变量,以下赋值语句中错误的是 (A)A.ch=; B.ch=62+3; C.ch=NULL; D.ch=xaa;19.以下选项中不能正确把cl定义成结构体变量的是 (B)A)typedef struct B)struct color cl int red; int red;int green; int green;int blue; int blue; COLOR; ;COLOR cl;C)struct color D)struct int red; int red;int green; int green;int blue; int blue; cl; cl;20.有以下程序fun(int a, int b) if(ab) return(a);else return(b);main() int x=3, y=8, z=6, r;r=fun(fun(x,y), 2*z);printf(%dn, r);程序运行后的输出结果是 (D)A.3 B.6 C.8 D.1221.有以下程序段main() int a=5,*b,*c;c=&b; b=&a;程序在执行了c=&b;b=&a;语句后,表达式:*c的值是 (C)A.变量a的地址 B.变量b中的值 C.变量a中的值 D.变量b的地址22. 设有 int x=11; 则表达式 (x+ * 1/3) 的值是 (A) A. 3 B. 4 C. 11 D. 1223. 下列程序的输出结果是 (C) A. 3 B. 3.2 C. 0 D. 3.07 main() double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(%d n, d*y); 24. 下列变量定义中合法的是 (A) A. short _a=1-.le-1; B. double b=1+5e2.5; C. long do=0xfdaL; D. float 2_and=1-e-3;25. 以下循环体的执行次数是 (C) A. 3 B. 2 C. 1 D. 0 main() int i,j; for(i=0,j=1; i=j+1; i+=2, j-)printf(%d n,i); 26. 以下叙述正确的是 (D) A. do-while语句构成的循环不能用其它语句构成的循环来代替。 B. do-while语句构成的循环只能用break语句退出。 C. 用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D. 用do-while语句构成的循环,在while后的表达式为零时结束循环。27. 下列程序执行后的输出结果是(A) A. G B. H C. I D. J main() int x=f; printf(%c n,A+(x-a+1); 28. 下列程序执行后的输出结果是 (A) A. 6 B. 7 C. 8 D. 9 void func(int *a,int b) b0=*a+6; main() int a,b5; a=0; b0=3; func(&a,b); printf(%d n,b0); 29. 下列程序的运行结果是 (B) A. a=%2,b=%5 B. a=2,b=5 C. a=d, b=d D. a=%d,b=%d #include main() int a=2,c=5; printf(a=%d,b=%dn,a,c); 30. 设有数组定义: char array =China; 则数组 array所占的空间为 (C) A.4个字节 B. 5个字节 C.6个字节 D. 7个字节31. 下列程序的输出结果是 (B) A. 5 B. 6 C. 7 D. 8 struct abc int a, b, c; ; main() struct abc s2=1,2,3,4,5,6; int t; t=s0,a+s1,b; printf(%d n,t); 32. 若有以下调用语句,则不正确的fun函数的首部是 (C) A. void fun(int m, int x) B. void fun(int s, int h41) C. void fun(int p, int *s) D. void fun(int n, int a) main() int a50,n; fun(n, &a9); 33. 设已有定义: char *st=how are you; 下列程序段中正确的是 (A) A. char a11, *p; strcpy(p=a+1,&st4); B. char a11; strcpy(+a, st); C. char a11; strcpy(a, st); D. char a, *p; strcpy(p=&a1,st+2);34. 下列程序执行后的输出结果是 (A) A. you&ne B. you C. me D. err mai() char arr24; strcpy(arr,you); strcpy(arr1,me); arr03=&; printf(%s n,arr); 35. 下列程序执行后的输出结果是 (B) A. 6 B. 8 C. 10 D. 12 #define MA(x) x*(x-1) main() int a=1,b=2; printf(%d n,MA(1+a+b);36. 变量a所占内存字节数是 (C) A. 4 B. 5 C. 6 D. 8 union U char st4; int i; long l; ; struct A int c; union U u; a;二、填空题1. 表达式1015) 的值是 0 。2. 设变量已正确定义,在程序段B中填入正确的内容,使程序段 A 和程序段B等价。 程序段 A for(k=s=0;k=10;s+=ak+) if(ak0) break; 程序段B for(k=0,s=0; ; s+=ak+) if( ak10 ) break;3. 下列程序的输出结果是 100 。 #define T 10 #define MD 3*T printf(“%d”,30/MD);4. 下列程序的输出结果是 k=5, s=15 。 int k,s; for(k=s=0;k10&s=10;s+=k) k+; printf(“k=%d,s=%d”,k,s);5. 下列程序的输出结果是 5,9 。 #include int f(int m) static int k=2; k+; retur
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年随州辅警协警招聘考试备考题库及答案详解(必刷)
- 2023年鹤壁辅警协警招聘考试真题及答案详解(各地真题)
- 2023年酒泉辅警协警招聘考试真题附答案详解(轻巧夺冠)
- 2023年石嘴山辅警协警招聘考试真题附答案详解(黄金题型)
- 2024年克州辅警招聘考试题库及参考答案详解1套
- 2024年吉安辅警招聘考试真题(含答案详解)
- 2024年周口辅警协警招聘考试备考题库含答案详解(轻巧夺冠)
- 2024年宿州辅警协警招聘考试备考题库附答案详解(考试直接用)
- 2024年临夏州辅警招聘考试真题含答案详解(综合卷)
- 2024年丽江辅警协警招聘考试真题及参考答案详解1套
- 2025年短视频创意策划合同协议
- 老年人运动系统
- 空调包工安装合同范本
- 2025北京语言大学出版社有限公司招聘5人笔试历年典型考点题库附带答案详解3套试卷
- 2025文山市卫生健康系统选调工作人员(10人)考试笔试备考试题及答案解析
- 2025年生石灰行业分析报告及未来发展趋势预测
- 2025-2026学年上学期高一物理教科版期中必刷常考题之实验:用打点计时器测量小车的速度
- 2025新版生产安全事故应急预案参考模板
- 日式皮肤专业知识培训班课件
- 《学校食堂大宗食材采购验收管理工作指引》 专题培训
- 企业拆迁补偿的申请书
评论
0/150
提交评论