C语言选择题(1-4章期末复习).docx

上传人:豆**** 文档编号:23889710 上传时间:2022-07-02 格式:DOCX 页数:66 大小:161.66KB
返回 下载 相关 举报
C语言选择题(1-4章期末复习).docx_第1页
第1页 / 共66页
C语言选择题(1-4章期末复习).docx_第2页
第2页 / 共66页
点击查看更多>>
资源描述

《C语言选择题(1-4章期末复习).docx》由会员分享,可在线阅读,更多相关《C语言选择题(1-4章期末复习).docx(66页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC语言选择题(1-4章期末复习)C语言选择题(1-4章期末复习)第1章1. 以下叙述不正确的是( )。A、C程序的基本组成单位是函数B、在C程序中,注释说明只能位于一条语句的后面C、一个C源程序必须包含一个main函数D、一个C源程序可由一个或多个函数组成2. C语言的注释定界符是( )。A、* *B、 C、 D、/* */3. C语言规定,在一个源程序中,main函

2、数的位置( )。A、必须在最开始B、必须在系统调用的库函数的后面C、必须在最后D、可以任意4. 一个C程序的执行是从( )。A、本程序文件的第一个函数开始,到本程序main函数结束B、本程序的main函数开始,到main函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束5. 以下叙述中正确的是( )。A、C程序中注释部分可以出现在程序中任意合适的地方B、分号是C语句之间的分隔符,不是语句的一部分C、花括号“和”只能作为函数体的定界符D、构成C程序的基本单位是函数,所有函数名都可以由用户命名6. 以下叙述正确的是(

3、)。A、在对一个C程序进行编译的过程中,可发现注释中的拼写错误B、C语言本身没有输入输出语句C、在C程序中,main函数必须位于程序的最前面D、C程序的每行中只能写一条语句7. C语言源程序的基本单位是( )。A、子程序B、过程C、函数D、标识符8. 下列标识符中,不合法的C语言用户自定义标识符是( )。A、printfB、sinC、enumD、_9. 下列四个选项中,均是C语言关键字的选项是( )。A、if struct typeB、switch typedef continueC、signed union scanfD、auto enum include10. 以下叙述中错误的是( )A、

4、用户所定义的标识符应尽量做到见名知意B、用户所定义的标识符允许使用关键字C、用户定义的标识符中,大、小写字母代表不同标识D、用户所定义的标识符必须以字母或下划线开头11. 下列字符序列中,可用作C标识符的一组字符序列是( )。A、#md,&12x,month,student_n!B、D56,r_1_2,name,_st_1C、S.b,sum,average,_aboveD、class,day,lotus_1,2day12. 下面四个选项中,均是不合法的用户标识符的选项是( )。A、_123 temp intB、A P_0 doC、b-a goto intD、float la0 _A13. 下列

5、四组选项中,均不是C语言关键字的选项是( )。A、file IF typeB、include scanf caseC、while go powD、getc char printf14. 下列字符序列中,不可用作C语言标识符的是( )。A、symbolB、#abC、a_1D、b7015. C语言中不合法的字符串量是( )A、”121”B、y=C、”ABCDx6d”D、”nn”16. 下列数据中,为字符串常量的是( )。A、$abcB、houseC、AD、How do you do.17. C语言中不合法的字符常量是( )A、65B、xffC、028D、&18. 设有语句char a= 172;,

6、则变量a( )A、说明不合法B、包含2个字符C、包含1个字符D、包含3个字符答案:C19. 以下常量中,能够代表逻辑“真”值的常量是( )。A、0B、0C、0D、NULL20. 以下所列的C语言常量中,错误的是( )。A、0xFFB、2LC、72D、1.2e0.521. 以下数据中,不正确的数值或字符常量是( )。A、10B、0xff00C、8.9e1.2D、82.522. 以下数据中,不正确的数值或字符常量是( )。A、0xaaB、66C、cD、5023. 与十进制数97不等值的字符常量是( )A、101B、x61C、141D、a24. 已知大写字母A的ASCII码是65,小写字母a的ASC

7、II码是97,则用八进制表示的字符常量101是( )A、非法的常量B、字符aC、字符eD、字符A25. 不合法的八进制数是( )A、01B、0C、07700 D、02826. 要将字符a赋给变量c,下列语句中正确的是( )。A、c=a;B、C=97;C、c=a;D、c=97;27. 设C语言中,int类型数据占2个字节,则long类型数据占( )。A、8个字节B、2个字节C、1个字节D、4个字节28. 设C语言中,int类型数据占2个字节,则short类型数据占( )。A、1个字节B、2个字节C、8个字节D、4个字节29. 以下关于long、int和short类型数据占用内存大小的叙述中正确的

8、是( )A、由C语言编译系统决定B、均占4个字节C、由用户自己定义D、根据数据的大小来决定所占内存的字节数30. C语言中,字符(char)型数据在微机内存中的存储形式是( )A、反码B、EBCDIC码C、ASCII码D、补码31. C语言中,char类型数据占( )。A、2个字节B、8个字节C、4个字节D、1个字节32. 设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为( )。A、0255B、02147483647C、032767D、0-6553533. C语言中,double类型数据占( )。A、4个字节B、1个字节C、2个字节D、8个字节34.

9、 设有说明:char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为( )A、floatB、intC、doubleD、char35. C语言中要求对变量作强制定义的主要理由是( )。A、便于移植B、便于确定类型和分配空间C、便于编辑预处理程序的处理D、便于写文件36. 若变量已正确定义且 k 的值是 4,计算表达式 ( j =4, k-) 后,j和k的值为( )A、j=3, k=3B、j=4, k=4C、j=3, k=4D、j=4, k=337. 设有 int x=11; 则表达式 (x+ * 1/3) 的值是( )。A、3B、4C、11D、12

10、38. 以下选项中,与k=n+完全等价的表达式是( )。A、k=+nB、k+=n+1C、k=n,n=n+1D、n=n+1,k=n39. 执行下列语句后变量x和y的值是( )。y=10;x=y+;A、x=10,y=10B、x=11,y=10C、x=11,y=11D、x=10,y=1140. 经过以下语句定义后,表达式z+=xy?+x:+y的值为( )。 int x=1,y=2,z=3;A、6B、3C、2D、541. 设 int x=1, y=1; 表达式(!x|y-)的值是( )。A、-1B、0C、2D、142. 若变量已正确定义并赋值,下面符合C语言语法的表达式是( )。A、int 18.5%

11、3B、a:=b+1C、a=a+7=c+bD、a=b=c+2答案:D43. 如果p是一个整型数,下列表达式始终为真的是( )。A、p & pB、p | pC、p & !pD、p | !p44. 能正确表示逻辑关系: a10或a0 的C语言表达式是( )A、a=0 & a=10 or a=10 & a=10 | a=D、(类型)46. 下列运算符中优先级别最高的是( )A、!B、%C、-=D、&47. 以下关于运算符优先顺序的描述中正确的是( )。A、赋值运算符逻辑运算符关系运算符算术运算符B、算术运算符关系运算符赋值运算符逻辑运算符C、逻辑运算符关系运算符算术运算符赋值运算符D、关系运算符算术运

12、算符赋值运算符0;C、n=(i=2,+i);D、+(i+1);50. 以下不符合C语言语法的赋值语句是( )。A、a=b=5;B、a=1,b=2C、+j;D、y=(a=3,6*5);51. 如果int a=2,b=3,c=0,下列描述正确的是( )A、a|(b=c)执行后b的值为0B、ab!=c和a(b!=c)的执行顺序是一样的C、a&bc的结果为假D、!a!=(b!=c)表达式的值为152. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 & y+z/2的值是( )A、6B、1C、0D、253. 若给定条件表达式(M)?(a+):(a-),则其中表达式M( )。A、

13、和(M!=1)等价B、和(M=1)等价C、和(M!=0)等价D、和(M=0)等价54. 用下列语句定义a,b,c,然后执行b=a、c=b+b,则b,c的值是( )。long a=3; int b; char c;A、2和101B、3和101C、3和100D、3 和9955. 表达式18/4*sqrt(4.0)/8值的数据类型为( )。A、不确定B、doubleC、intD、float56. 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是( )。A、9B、-12C、6D、-357. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下

14、不能满足要求的表达式是( )。A、!(A%2)B、A%2=1C、!(A%2=0)D、A%258. 判断char型变量cl是否为小写字母的正确表达式是( )。A、(cl=a)&(cl=z)B、a=cl=cl)|(z=a)&(clb)&(n=cd)运算后,n的值为( )。A、3B、0C、1D、261. 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( )。A、1B、2.0C、2.5D、262. 已知year为整型变量,不能使表达式(year%4=0&year%100!=0)|year%400=0的值为“真”的数据是( )。A、1992B、1990C、2000D、19966

15、3. 能正确表示逻辑关系:10a0的C语言表达式是( )。A、a=0|a=10a=0C、a=0D、a=10&a5) printf(“%d”,x);else printf(“%dn”,x - -);A、7和5B、6和3C、7和4D、6和44. 为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( )组成配对关系。A、缩排位置相同的ifB、在其之前未配对的ifC、在其之前未配对的最近的ifD、同一行上的if5. 下列程序段的输出结果是( )int x=0;while(+x3) printf(%4d,x);A、4B、0 1 2 C、1 2 D、36. 循环结束后,

16、count 的值是( )count=1;while(count=145) a=a+7; count+;A、1B、144C、145D、1467. 有如下程序片段:int i = 0;while(i+ = 2); printf(%d, i);则正确的执行结果是( )A、2B、3C、4D、以上都不对8. 在下面的条件语句中(其中S1和S2表示C语言的语句),只有一个在功能上与其他3条语句不等价,它是( )A、if(a) S1; else S2;B、 if(a=0) S2; else S1; C、if(a!=0) S1; else S2;D、if(a=0) S1; else S2;9. 执行下列代码后

17、的输出是 ( ).int a=1,b=0;switch (a) case 1: switch(b) case 0: printf(*0*); break; case 1: printf(*1*); break; case 2: printf(*2*); break; A、*0*B、*0*2*C、*0*1*2*D、运行出错10. 执行下列语句后,sum 的值是( )。sum=0;for(count=1;county) z=x; else z=y; return(z); A、18B、27C、45D、7225. 以下程序的输出结果为( )。main()int a=1,b=2,c=3,d=4,e=5;

18、 printf(%dn,func(a+b,b+c,c+a),(d+e); int func(int x,int y) return(x+y); A、15B、9C、13D、函数调用出错26. 下列存储类别中,( )的可见性与生存期不一致。A、外部变量B、自动变量C、静态变量D. 寄存器变量27. 以下函数的类型是( )。fff(float x) return 5; A、无法确定B、int类型C、与参数x的类型相同D、void 类型28. 下列说法不正确的是( )。A、在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效B、形式参数是局部变量C、不同函数中,可以使用相同名字的变量D

19、、主函数main中定义的变量在整个文件或程序中有效29. 以下关于变量beta的说法正确的是( )。void fun(int a) static int beta=25; A、当首次调用函数时被初始化一次。B、每次调用函数时都要进行初始化。C、在函数中不能改变它的值。D、A和C都对30. 全局变量的定义不可能在( )。A、函数内部B、文件外面C、最后一行D、函数外面31. 以下不正确的说法是:C语言规定( )。A、实参可以为任何类型B、形参可以是常量,变量或表达式C、形参应与其对应的实参类型一致D、实参可以是常量,变量或表达式32. 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使

20、用的全局变量,则该变量需要使用的存储类型是( )A、staticB、registerC、autoD、extern33. 以下对C语言函数的描述中,正确的是( )。A、C函数既可以嵌套定义又可以递归调用B、C程序必须由一个或一个以上的函数组成C、函数必须有返回值,否则不能使用函数D、C程序中有调用关系的所有函数必须放在同一个程序文件中34. 以下正确的函数原型为( )。A、func (int x ; int y); B、void (x , y);C、void (int x , y); D、void func (int , int);35. 有如下函数原型和变量定义:void fix(int, f

21、loat &);int someInt;float someFloat;下列最适合的函数调用是( )。A、fix(24,6.85);B、sumeFloat=0.3*fix(someInt,6.85);C、fix(somInt, someFloat);D、以上都不对36. 使用重载函数编程序的目的是( )。A、使用相同的函数名调用功能相似的函数 B、共享程序代码C、提高程序的运行速度 D、节省存储空间37. C+中,关于参数默认值的描述正确的是( )。A、只能在函数定义时设置参数默认值B、设置参数默认值时,应当全部设置C、设置参数默认值时,应当从右向左设置D、设置参数默认值后,调用函数不能再对参

22、数赋值38. 已知程序中已经定义了函数test,其原型是inttest(int,int,int);则下列重载形式中错误的是( )A、chartest(int, int, int); B、doubletest(int, int, double);C、inttest(int, int); D、floattest(int, int, float=3.5F);39. 以下描述中,正确的是( )。A、预处理是指完成宏替换和文件包含中指定的文件的调用B、预处理指令只能位于C源文件的开始C、C源程序中凡是行首以#标识的控制行都是预处理指令D、预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析

23、作准备40. 以下程序的输出结果是( )#define MIN(x, y) (x) (y) ? (x) : (y)main() int i , j, k; i = 10; j = 15; k = 10 * MIN(i, j); printf(%dn, k);A、10B、150C、15D、10041. 下列程序运行结果为:( )#define P 3#define S(a) P*a*amain() int ar; ar=S(3+5); printf(n%d,ar); A、192B、25C、29D、2742. C程序中的宏展开是在( )。A、编译前预处理时进行的B、编辑时进行的C、编译时进行的D、

24、程序执行时进行的43. 宏定义#define PI 3.14中的宏名PI代替( )A、不确定类型的数B、一个单精度实数C、一个字符串D、一个双精度实数第4章1. int a4=5,3,8,9;其中 a3的值为( )。A、5 B、3 C、8 D、9 2. 以下对一维整型数组a的正确说明是( )。A、int n; scanf(%d,&n); int an;B、#define SIZE 10 (换行) int aSIZE;C、int a(10);D、int n=10,an;3. 若有以下说明,则数值为 4 的表达式是( )。 int a12 =1,2,3,4,5,6,7,8,9,10,11,12;

25、char c=a, d, g ; A、ag-c B、a4 C、ad-c D、ad-c 4. 数组定义为 int a32=1,2,3,4,5,6,值为6的数组元素是( )。 A、a32 B、a21 C、a12 D、a23 5. 若用数组名作为函数调用时的实参,则实际上传递给形参的是( )。A、数组的第一个元素的值B、数组的首地址C、数组中全部元素的值D、数组元素的个数6. 以下( )能将数组元素初始化为10,20和30?A、int data3=10,20,30;B、int data =10,20,30;C、int data3=10 20 30;D、A和B都可以7. 对以下说明语句 int a10

26、=6,7,8,9,10; 的正确理解是( )。A、将5个初值依次赋给a1至a5B、将5个初值依次赋给a6至a10C、因为数组长度与初值的个数不相同,所以此语句不正确D、将5个初值依次赋给a0至a48. int a10; 给数组a的所有元素分别赋值为1、2、3、的语句是( )。A、for(i=1;i11;i+)a0=1;B、for(i=1;i11;i+)ai=i;C、for(i=1;i11;i+)ai+1=i;D、for(i=1;i11;i+)ai-1=i;9. 若有说明:int a10;则对a数组元素的正确引用是( )。A、a(5)B、a3,5C、a10-10D、a1010. 假定int类型变

27、量占用两个字节,其有定义:int x10=0,2,4;,则数组x在内存中所占字节数是( )。A、10B、3C、20D、611. 下列说法中错误的是( )A、数组的名称其实是数组在内存中的首地址B、一个数组只允许存储同种类型的变量C、如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值D、当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改12. 若使用一维数组名作函数实参,则以下正确的说法是( )。A、必须在主调函数中说明此数组的大小B、实参数组类型与形参数组类型可以不匹配C、实参数组名与形参数组名必须一致D、在被调用函

28、数中,不需要考虑形参数组的类型13. 以下对二维数组a的正确说明是( )。A、float a(3,4);B、int a3;C、float a(3)(4);D、double a14;14. 以下正确的数组定义语句是( )A、int y14=1,2,3,4,5;B、float x3=1,2,3;C、long s23=1,1,2,1,2,3;D、double t3=0;15. 若有说明: int a4=0,0;则下面不正确的叙述是( )。A、数组a的每个元素都可得到初值0B、有元素a00和a01可得到初值0,其余元素均得不到初值0C、二维数组a的第一维大小为1D、因为二维数组a中第二维大小的值除以初

29、值个数的商为1,故数组a的行数为1因为二维数组a中初值的个数不能被第二维大小的值整除,则第一维的大小等于所得商数再加1,故数组a的行数为116. 若二维数组a有m列,则在aij之前的元素个数为:( )。A) j*m+i B) i*m+j C) i*m+j-1 D) i*m+j+1 17. 对两个数组a和b进行如下初始化:char a = “ABCDEF”;char b = A,B,C,D,E,F;则以下叙述正确的是( )A、a与b中都存放字符串B、a数组比b数组长度长C、a与b长度相同D、a与b完全相同18. 设有数组定义: char array =China; 则数组 array所占的空间为

30、( )。A、5个字节B、7个字节C、4个字节D、6个字节19. 下列数组说明中,正确的是( )。A、static char str; str=China;B、static char str=China;C、static char str15,str2=China; str1=str2;D、static char str1,str2;str2=China; strcpy(str1,str2);20. static char str10=China;数组元素个数为( )。A、5B、10C、6D、921. 若有定义语句:char c5=a,b,0,c,0;, 则执行语句pritnf(“%s”, c);的结果是( )A、ab

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

当前位置:首页 > 教育专区 > 小学资料

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

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