C语言全部考试系统题库含答案.docx
C语言考试系统题库第一聿C语言基础知识(C语言概述、算法、数据类型运算符表达式、位运算)一、判断题(正确的填A,错误的填B)R1.在C语言中,逗号运算符的优先级最低。(八)2 .在C语言可执行程序的开始执行点是程序中第一个函数。(B)3 .5chw是合法的变量名。(B)4 .C语言程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。(八)5 .当输入数据时,必须指明变量的地址,如SCaniT'%F'4f)(八)N6.表达式i+与+i在任何场合功能完全相同。(B)7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。(八)R8.C语言程序中,语句以逗号结尾。(B)9 .在C程序中,APH和aph代表不同的变量。(A)10 .a-=7等价于a=a-70(A)N11.Printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按原字符长从左向右全部输出。(A)12 .如果x>y为真或a<b为真,表达式(x>y)&&(a<b)就为真。(B)13 .C语言程序的变量必须先定义再使用。(A)14 .若a和b是同类型变量,在执行了赋值语句a=b;后b中的值将放入a中,b中的值将丢失。(B)15 .程序的执行总是从main函数开始,在程序的最后一个函数中结束。(B)16 .变量的三个属性是指变量的名字、变量的值和变量在内存中的地址。(八)17 .运算符优先顺序:赋值运算符<逻辑运算符<关系运算符<算术运算符(B)18 .对应float类型的变量,也可以用等号“=”进行数值的判断。(B)19 .表达式:1&&3.14和1&3的值一样大。(B)20 .为了正确计算表达式既要考虑运算符的优先级,也要考虑其结合性。(八)21、任何C程序都是从main函数开始和结束;(八)22 .在C程序中,使用分号“;”表示语句的结束。(A)23 .C程序中的必须要有至少一个main的函数,可以有多个。(B)24 .在C程序中,无论是整数还是实数,都能准确无误的表示。(B)25 .在C程序中,赋值运算符的优先级最低。(B)26 .当输入数值数据时,对于整型变量只能输入整型值:对于实型变量只能输入实型值。(B)27 .在C程序中,变量可以一边定义一边使用。(B)28 .C程序中的注释部分可有可无,可以省略。(八)29 .字符型变量可以存放多个字符。(B)30 .在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(B)5.在C程序中,无论是整数还是实数,都能被准确无误地表示。(B)1.一个C程序的执行是从本程序的main函数开始,到main函数结束。(八)3.O4.运算符优先顺序:赋值运算符逻辑运算符关系运算符算术运算符(B)单项选择题Rk以下标识符中,不能作为合法的C用户定义标识符的是:()A.a3_b3B.voidC.J23D.abcR2、C语言规定:在一个源程序中,main函数的位置()。A.必须在最后B.必须在系统调用的库函数的后面。C.必须在最开始。D.可以任意R3、下列说法中正确的是()oA. C程序书写时,不区分大小写字母B. C程序书写时,一行只能写一个语句C. C程序书写时,一个语句可分成几行书写D. C程序书写时每行必须有行号4、?已知Ch是字符型变量,下面不正确的赋值语句是()oA.ch=5+9;B.ch三,a+b,;C.ch="0'D.ch=,7,+'6'5、?若有定义:inta=7;floatx=2.5,y=4.7;则表达式X+a%3*(int)(x+y)%2/4的值是()。A.2.750000B.0.00000C.3.500000D.2.5000006.已知Ch是字符型变量,下面正确的赋值语句是()0A.ch='123';B.ch='08,;C.ch='xff';D.ch二"";1 .以下标识符中,不能作为合法的C用户定义标识符的是:oA)a3J3B)voidC)J23D)abc2 .C语言中,运算对象必须是整型的运算符是oA)%B)/C)%和/D)*7.在C程序中,用表示逻辑值“真二A)1B)非0的数C)非1的数D)大于0的数N8.设intc=5和inta;a=2+(c+=c,c+8,+c),则a=A)15B)14C)13D)169 .C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符A)必须为字母或下划线。B)必须为下划线。C)必须为字母D)可以是字母、数字和下划线中的任一种字符。10 .若变量已正确定义并赋值,表达式不符合C语言语法。A)a*bc;B)3.14%2C)2,bD)a/b/c11 .下列说法中正确的是oA) C程序书写时,不区分大表达式小写字母B) C程序书写时,一行只能写一个语句C) C程序书写时,一个语句可分成几行书写D) C程序书写时每行必须有行号12 .为表示数学关系x2y2z,正确的C语言表达式是B) (x>=y) AND (y>=z)D) (x>=y) & (y>=z)C) 077D)01D s i zeofA)(x>=y)&&(y>=z)C)(x>=y>=z)13 .不合法的八进制数是A)0B)02814、以下不能定义为用户标识符是AMainB_0C_int15.若x=5,y=4则y*=x+5;V的值为(A.40B.20CB.15D.3016、组成C语言程序的基本单位是()oA)过程?B)子程序C)函数?D)主程序和子程序17.下列哪个标识符是C语言合法的标识符()oA)a*bB)-XyZC)ba2D)5iN18若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)4的值是()<>A)2.75?B)3.5?C)2.5?D)019.设intm=1,n=2;则+m=n的结果是()A、0B、1C、2D、3N20.若变量已定义并赋值,下列符合C语法的表达式是:()A、a:=b+1B、a=b=c+2C、int18.5%3D、a=a+7=c+bR(3)在C程序中,设一表达式中包含有int,long,unsigned和char类型的变量和数据,则表达式最后的运算结果类型是()A.intB.charC.unsignedD.longR21.C语言中基本的数据类型包括oA)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型N22.若定义X和y为double类型,则表达式:x=2,y=x+52的值是A)4B)4.5C)4.0D)3.023 .在以下运算符中,优先级最高的运算符是A)?:B)+C)&&D)+=24 .C语言中基本的数据类型不包括A)整型B)字符串型C)字符型D)实型25 .若定义intx=7,y=5,z;则表达式:z=x+52*y的值是A)7B)7.5C)17D)19.56.以下说法中正确的是()A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分(1)设inta=2,b;则执行b=a&&1;语句后,b的结果是()A.OB.1C.2D.3N(2)逗号表达式(a=3*5,a*4),a+15的值是()A.15B.60C.30D.757 .若已经定义了一个字符型变量为a,下面哪个表达式的含义跟其余表达式不同:A)a!=0B)a!='0,C)aD)!a8 .在以下运算符中,优先级最高的运算符是A),B)C)&&D)+=9 .在C语言中,逻辑值“真”用表示。A)trueB)大于0的数C)非0的整数D)非0的数10 .表达式是满足:当C的值为1、3、5三个数中任意一个时值为“真”,否则值为“假”的表达式A)(c=1)|(c=3)|(c=5)B)(c!=1)&&(c!=3)&&(c!=5)C)(C=I)&&(c=3)&&(c=5)D)(c=1)11(c=3)11(c=5)1 .C语言中,int类型数据占2个字节,则IOng类型数据占()A、1个字节 B、2个字节C、3个字节 D、4个字节2 .下列字符串是合法的标识符的是()。A、_HJB、9_studentC、IongD>LINE13 .下列说法中正确的是()oA、C程序书写时,不区分大小写字母B、C程序书写时,一行只能写一个语句C、C程序书写时,一个语句可分成几行书写D、C程序书写时每行必须有行号4 .在C语言中,要求参加运算的数必须是整数的运算符是()oA、/B、!C、%D、二二5 .C语言中,逻辑“其”等价于()oA、大于零的数B、大于零的整数C、非零的数D、非零的整数6.假设在程序中a,b,c均被定义为整型,并且已赋大于1的值,则下列能正确表示代数式1/abc的表达式是()oAx1a*b*cC、1ab(float)c1 .下列合法的字符常量是(B、1(a*b*c)D、1.0abc )oD. "0,A、,084,B、,×43,C、,ab,A、switch B、cher C、CaseD、 sturct2 .在C语言提供的合法的关键字是()3 .若已定义X和y为d。UbIe类型,则表达式:x=1,y=x+32的值是A、2B、1C、2.0D、2.5三、程序填空题1以下程序不用第三个变量实现两个数对调的操作。#includ“stdio.h"main()inta,b;scanf("%d,%d",&a,&b);a=<a+b>(三个字符)b=<a-b>(三个字符)a=a-b;printf("%d,%d",a,b);2、选择程序的运行结果。main()intx=1,y=2,z,a,b,c,d;z=+x+y;printf("x=%dn",x);printf("y=%dn",y);*输出结果<y=2>(三个字符)*/a=-1;b=-2;c=+a&&b+;printf("b=%dn",b);/*输出结果<b=-2>(三个字符)*/3以下程序的结果为main()(unsignedinta=3,b=10;printf(w%dn",a<<2b>>1);/*输出结果<14>/printf("%dn",a«2&b»1);/*输出结果0*/14若x=3,y=z=4,则下列表达式的值是。(1)?(z=y=x)?1:0/*值为0*/(2)?z=y&&y=x/*值为1*/5已知fIoatx=4.3,inty;执行语句y=(int)X后,X为int型(填写小写英文字母),且y=4(填写阿拉伯数字);6表达式'c'&&'d,的值为1(填写阿拉伯数字),'c,&&'d'|!(3+4)的值为1(填写阿拉伯数字)。7若X为int类型,则与逻辑表达式“x”等价的