江苏大学大一c语言期末复习题汇总(29页).doc

上传人:1595****071 文档编号:36394153 上传时间:2022-08-26 格式:DOC 页数:29 大小:152.50KB
返回 下载 相关 举报
江苏大学大一c语言期末复习题汇总(29页).doc_第1页
第1页 / 共29页
江苏大学大一c语言期末复习题汇总(29页).doc_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《江苏大学大一c语言期末复习题汇总(29页).doc》由会员分享,可在线阅读,更多相关《江苏大学大一c语言期末复习题汇总(29页).doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-选择题1. 下列字符序列中,不可用作C语言标识符的是( )。Aabc123 Bno.1 C_123_ D_ok 2. 请选出可用作C语言用户标识符的一组标识符( )。 Avoid Ba3_b3 CFor D2adefine _123 -abc DOWORD IF Case sizeof3. 不属于C语言关键字的是( )。 Aint Bbreak Cwhile Dcharacter 4. 以下不能定义为用户标示符的是( )。 Ascanf BVoid C_3com_ Dint 5. C语言程序的基本单位是( )。 A程序行 B语句 C函数 D字符6. 以下说法中正确的是( )。 AC语言程序总

2、是从第一个定义的函数开始执行B在C语言程序中,要调用的函数必须在main( )函数中定义CC语言程序总是从main( )函数开始执行DC语言程序中的main( )函数必须放在程序的开始部分7. 以下选项中,合法的用户标识符是( )。 Along B_2abc C3dmax DA.dat8. 已知大写字母A的ASCII码值是65, 小写字母a的ASCII码是97,则用八进制表示的字符常量101是( )。 A字符A B字符a C字符c D非法的常量9. 以下选项中,正确的字符常量是( )。 A”F” B CW D10. 下列变量定义中合法的是 Ashort _a=1-.le-1; Bdouble

3、b=1+5e2.5; Clong do=0xfdaL; Dfloat 2_and=1-e-3;11. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。A缩排位置相同的ifB在其之前未配对的ifC在其之前未配对的最近的ifD同一行上的if12. 下列运算符中优先级最高的是()。 A B& C+ D!=13. 判断char型变量s是否为小写字母的正确表达式是()。 Aa = s=a) & (s=a) & (s=z) D(a=s)14. 已知 x=45, y=a, z=0; 则表达式(x=z & y0) y=1;else if (x=0) y=0; else y=

4、 -1;By=0; if (x0) y=1; else if (x=0) if(x0) y=1; else y= -1;Dif (x=0) if (x0) y=1; else y=0; else y= -1;16. 已知int a=1,b=2,c=3; 以下语句执行后a,b,c的值是()。if(ab)c=a; a=b; b=c;Aa=1, b=2, c=3 Ba=2, b=3, c=3Ca=2, b=3, c=1 Da=2, b=3, c=217. 以下程序的运行结果是()。#include ”stdio.h”main() int a=1;if (a+1) printf(”%dn”, a);e

5、lse printf(”%dn”, a-);A0 B1 C2 D318. 执行以下程序段后,变量x,y,z的值分别为()。 int a=1,b=0, x, y, z;x=(-a=b+)?-a:+b;y=a+;z=b;Ax=0,y=0,z=0 Bx= -1,y= -1,z= 1Cx=0,y=1,z=0 Dx= -1,y= 2, z= 119. 以下程序的输出结果是()。#include ”stdio.h”main()int a=5, b=4, c=6, d; printf(”%dn”, d=ab? ac?a:c :b);A5 B4 C6 D不确定20. 执行下列程序,输入为3的数出结果是()。#

6、include ”stdio.h”main() int k; scanf(”%d”, &k); switch(k) case 1: printf(”%dn”, k+); case 2: printf(”%dn”, k+); case 3: printf(”%dn”, k+); case 4: printf(”%dn”, k+);break; default: printf(”Full!n”);A3 B4 C3 D45 421. 有如下程序,写出该执行结果()。#include ”stdio.h”main() float x=2.0, y; if (x0.0) y=0.0;else if (x1

7、00) break; B. for ( ; ;);C.int k=1000;do +k;while (k=10000);D.int s=36;while (s) ;-s;25. 下面程序的运行结果为( )。main() int n;for(n=1;n0|E0) C.(E=0) D.(E!=0) 27. 下列程序的输出是( )。#includemain() int i;char c;for(i=0;i=5;i+)c=getchar();putchar(c);程序执行时从第一列开始输入以下数据,代表换行符。uwxstaA.uwxsta B.u C.u D.u w w w x xs xsta28.

8、在C语言中,为了结束while语句构成的循环,while后一对圆括号中表达式的值应该为( )。A.0 B.1 C.true D.非029. 在C语言中,为了结束由do-while语句构成的循环,while后一对圆括号中表达式的值应为( )。A.0 B.1 C.true D.非030. 下列程序的输出为( )。#includemain()int i=0,j=0,a=6;if(+i0)|(+j0)a+;printf(i=%d,j=%d,a=%dn,i,j,a);A.i=0,j=0,a=6 B.i=1,j=1,a=7 C.i=1,j=0,a=7 D.i=0,j=1,a=731. 下列程序段的输出结果

9、为( )。main()int x=3;do printf(%3d,x-=2);while(!(-x);A.1 B.3 0 C.1 -2 D.死循环32. 以下程序运行后,输出结果是( )。 main() int n5=0,0,0,i,k=2;for(i=0;ik;i+) ni=ni+1;printf(%dn,nk);A. 不确定的值 B. 2 C. 1 D. 033. 以下程序运行后,输出结果是( )。 main()int a10, a1 =1,3,6,9,10, a2 =2,4,7,8,15,i=0,j=0,k;for(k=0;k4;k+)if(a1ia2j) ak=a1i+;else ak

10、=a2j+; for(k=0;k4;k+) printf(%d,ak); A. 1234 B. 1324 C. 2413 D. 432134. 以下程序运行后输出结果是( )。 main( ) int n3,i,j,k;for(i=0;i3;i+) ni=0;k=2;for (i=0;ik;i+)for (j=0;jk;j+) nj=ni+1;printf(%dn,n1); A. 2 B. 1 C. 0 D. 335. 若有以下的定义:int t54;能正确引用t数组的表达式是( )。A. t24 B. t50 C. t00 D. t0,036. 下述对C语言字符数组的描述中错误的是( )。

11、A. 字符数组可以存放字符串B. 字符数组中的字符串可以整体输入、输出C. 可以在赋值语句中通过赋值运算符=对字符数组整体赋值D. 不可以用关系运算符对字符数组中的字符串进行比较37. 下述对C语言字符数组的描述中正确的是 ( )。A. 任何一维数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占存储空间B. 一维数组的元素在引用时其下标大小没有限制C. 任何一个一维数组的元素,可以根据内存的情况按照其先后顺序以连续或非连续的方式占用存储空间D. 一维数组的第一个元素是其下标为1的元素38. 下列语句中,不正确的是( )。A. static char a2=1,2; B. sta

12、tic char a2= 1, 2;C. static char a2= 1, 2, 3; D. static char a2= 1;39. 设有static char str =Beijing;则执行printf(%dn, strlen(strcpy(str,China);后的输出结果为 ( )。 A. 5 B. 7 C. 12 D. 1440. 以下说法中正确的是( )。A.C语言程序总是从第一个的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分41. 一个函数返回值

13、的类型是由( )决定的。A.return语句中表达式的类型B.在调用函数时临时指定C.定义函数时指定的函数类型D.调用该函数的主调函数的类型42. 在C语言中,形参的缺省存储类是( )。A. auto B. register C. static D. extern43. 24有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5);该函数调用语句中,含有的实参个数是( )。A. 3 B. 4 C. 5 D. 有语法错44. 以下函数值的类型是( )。fun (float x) float y;y= 3*x-4;return y;A. int B. 不确定 C. void

14、 D. float45. 以下程序的输出结果是( )。f( int b , int m, int n) int i,s=0;for(i=m;in;i=i+2) s=s+bi;return s; main()int x, a =1,2,3,4,5,6,7,8,9;x=f(a,3,7); printf(%dn,x);A. 10 B. 18 C. 8 D. 1546. 若定义:int a=511, *b=&a;,则printf(%dn, *b);的输出结果为: A 无确定值 B a的地址 C 512 D 51147. 变量的指针,其含义是指该变量的()。A 值 B 地址 C 名 D 一个标志48.

15、若已定义int a=5; 下面对(1)、(2)两个语句的正确解释是()。(1) int *p=&a; (2) *p=a;A 语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值。B (1)和(2)语句的执行结果,都是把变量a的地址值赋给指针变量p。C (1)在对p进行说明的同时进行初始化,使p指向a;(2)变量a的值赋给指针变量p。D (1)在对p进行说明的同时进行初始化,使p指向a; (2)将变量a的值赋予*p。49. 以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是()。 #include main() int *p, *q, a, b;p=&a;printf

16、(input a:);scanf(%d, *p);A *p表示的是指针变量p的地址B *p表示的是变量a的值,而不是变量a的地址C *p表示的是指针变量p的值D *p只能用来说明p是一个指针变量50. 以下不能正确进行字符串赋初值的语句是()。A. char str5= good!; B char *str=good!;C. char str=good!; D char str5=g, o,o, d;51. 若有说明语句:char s=it is a example, *t=it is a example.;则以下不正确的叙述()。A s表示的是第一个字符i的地址,s+1表示的是第二个字符t的

17、地址B t指向另外的字符串时,字符串的长度不受限制C t变量中存放的地址值可以改变D s中只能存放16个字符52. 下列程序的输出结果是()。#include stdio.hmain() int a=1,2,3,4,5,6,7,8,9,0, *p; p=a; printf(%dn, *p+9);A 0 B 1 C 10 D 953. 以下不是C语言的特点的是( )。A 语言简洁紧凑 B 能够编制出功能复杂的程序 C C语言可以直接对硬件操作 D C语言移植性好54. 正确的C语言标识符是 ( )。A_buy_2 B2_buy C?_buy Dbuy?55. 下列符号中,不属于转义字符的是( )

18、。 A B0xAA Ct D056. 是C语言提供的合法关键字的是( )。 AFloat Bsigned Cinteger DChar57. 一个C程序是由( )。 A 一个主程序和若干子程序组成E 一个或多个函数组成B 若干过程组成C 若干子程序组成58. 下列说法中,错误的是( )。 A每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B每个函数都有一个函数头和一个函数体,主函数也不例外C主函数只能调用用户函数或系统函数,用户函数可以相互调用D程序是由若干个函数组成的,但是必须有、而且只能有一个主函数59. C编译程序是( )。 AC程序的机器语言版本 B一组机器语言

19、指令 C将C源程序编译成目标程序 D由制造厂家提供的一套应用软件60. 以下选项中,合法的实型常数是( )。 A5E2.0 BE-3 C2E0 D1.3E61. 以下选项中, 合法转义字符的选项是( )。 A B018 Cxab Dabc62. 以下选项中可作为C语言合法整数的是 A10110B B0386 C0Xffa Dx2a263. 与数学式子对应的C语言表达式是( )。 A9*xn/(2*x-1) B9*x*n/(2*x-1) C9*pow(x,n)*(1/(2*x-1) D9*pow(n,x)/(2*x-1)64. 设a=5,b=6,c=7,d=8,m=2,n=2, 则执行(m=ab

20、) & (n=cd)后n的值为()。A1 B2 C3 D465. 逻辑运算符两侧运算对象的数据类型()。 A只能是0或1 B只能是0或非0正数 C只能是整型或字符型数据 D可以是任何类型的数据66. 能正确表示“当x的取值在-58,-40和40,58范围内为真,否则为假”的表达式是()。 A(x= -58) & (x=40) & (x= -58) | (x=40) | (x= -58) & (x=40) & (x= -58) | |(x=40) | (x=58)67. 若希望当x的值为奇数时,表达式的值为“真”,x的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是()。 Ax%2=

21、1 B!(x%2=0) C!(x%2) Dx%268. 指出下列程序段所表示的逻辑关系是()。if(ab)if(c=d)x=10;else x=-10;A BCD69. 请阅读以下程序:该程序()。#include ”stdioh”main() int x=-10, y=5, z=0;if (x=y+z) printf(”*n” );else printf(”$n”);A有语法错不能通过编译 B可以通过编译但不能通过连接C输出* D输出$70. 当a=1,b=2,c=4,d=3时,执行完下面一段程序后x的值是()。 if (ab)if (cd) x=1;else if (ac) if (bd)

22、 x=2; else x=3;else x=4;else x=5;A1 B2 C3 D471. 若a、b、c、d、w均为int类型变量,则执行下面语句后的w值是()。a=1;b=2;c=3;d=4;w=(ab)?a :b;w=(wc)?w :c;w=(wd)?w :d;A1 B2 C3 D472. 若a、b、c1、c2、x、y均为整型变量,正确的switch 语句是()。Aswitch (a+b); Bswitch a case 1: y=a+b; break; case c1: y=a-b; break;case 0: y=a-b; case c2: x=a*d; break; break;

23、 default: x=a+b; Cswitch (a*a+b*b) Dswitch(a-b) case 3: default: y=a*b; break;case 1: y=a+b; break; case 3: x=a+b; break;case 3: y=b-a; break; case 10: case 11: y=a-b; break; 73. 以下程序的运行结果是()。#include ”stdio.h”main() int a=2,b= -1,c=2;if (ab)if (b0) c=0;else c+; printf(”%dn”,c);A0 B1 C2 D374. 有以下程序,

24、若输入为字符s,则程序运行结果为()。#include ”stdio.h”main() char ch;ch=getchar();switch (ch) case a: printf(”a=%cn”,ch); default: printf(”end!n”); case b: printf(”b=%cn”,ch);case c: printf(”c=%cn”,ch);Aend! Bend! C有语法错误 Da=sb=s end!c=s75. 当执行以下程序段时。 x=-1;do x=x*x;while (!x);A.循环体将执行一次 B.循环体将执行两次C.循环体将执行无数多次 D.系统将提示

25、有语法错误76. 列程序运行的情况是( )。main() int i=1,sum=0;while(i10)sum=sum+1;i+;printf(i=%d,sum=%d,i,sum);A.i=10,sum=9 B.i=9,sum=9 C.i=2,sum=1 D.运行出现错误77. 标有/*/的语句的执行次数是( )。int y,i;for(i=0;i20;i+)if(i%2=0)continue;y+=i;/*/A.20 B.19 C.10 D.978. 执行下面语句的输出为( )。int i=-1;if(i=0)printf(“* * * *n”);else printf(“% % % %

26、n”);A.* * * * B.% % % % C.% % % % c D.有错,执行不正确79. 下列程序的输出为( )。#includemain()int i,j,k=0,m=0;for(i=0;i2;i+) for(j=0;j3;j+)k+;k-=j; m=i+j; printf(k=%d,m=%dn,k,m);A.k=0,m=3 B.k=0,m=5 C.k=1,m=3 D.k=1,m=580. 在C语言中,为了结束由do-while语句构成的循环,while后一对圆括号中表达式的值应为( )。A.0 B.1 C.true D.非081. 下列程序的输出为( )。#includemain

27、()int i=0,j=0,a=6;if(+i0)|(+j0)a+;printf(i=%d,j=%d,a=%dn,i,j,a);A.i=0,j=0,a=6 B.i=1,j=1,a=7 C.i=1,j=0,a=7 D.i=0,j=1,a=782. 以下关于数组的描述正确的是( )。 A. 数组的大小是固定的,但可以有不同的类型的数组元素B. 数组的大小是可变的,但所有数组元素的类型必须相同C. 数组的大小是固定的,所有数组元素的类型必须相同D. 数组的大小是可变的,可以有不同的类型的数组元素83. 假定int类型变量占用两个字节,其有定义:int x10=0,2,4;,则数组x在内存中所占字节数

28、是( )。 A. 3 B. 6 C. 10 D. 2084. 以下程序的输出结果是( ) 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. 36985. 以下程序运行后,输出结果是( )。 main() int y=18,i=0,j,a8; do ai=y%2; i+; y=y/2; while(y=1); for(j=i-1;j=0;j-) printf(%d,aj); printf(n);A. 10000 B. 10010 C. 00110 D. 1010086.

29、 若二维数组c有m列,则计算任一元素cij在数组中的位置的公式为( )。(假设c00位于数组的第一个位置)A. i*m+j B. j*m+i C. i*m+j-1 D. i*m+j+187. 若有数组定义: char array =China; 则数组 array所占的空间为( )。 A. 4个字节 B. 5个字节 C. 6个字节 D. 7个字节88. 若有定义和语句: char s10;s=abcd;printf(%sn,s);则结果是(以下代表空格)( )。A. 输出abcd B. 输出a C. 输出abcd D. 编译不通过89. 下面程序运行后,输出结果是( )。 main()char ch7= 65ab21;int i,s=0;for(i=0;chi= 0&chi= 9;i+=2)s=10*s+chi- 0;printf(%dn,s);A. 12ba56 B. 6521 C. 6 D. 6290. C语言是由( )构成。A.主程序和子程序B.主函数和若干子函数C.一个主函数和一个其他函数D.主函数和子程序91. 关于return语句,下列正确的说法是( )。A.在主函数和其他函数中均要出现B.必须在每个函数中出现C.可以在同一个函数中出现多次D.只能在除主函数之外的函数中出现一次92. 在C语言的函数中,下列正确的说法是( )。A.必须有形参B

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁