C语言测试练习题库.pptx
C 语言测试练习题库基本概念题一个一个CC程序得执行就是从程序得执行就是从_。A)本程序得main 函数开始,到main 函数结束 B)本程序文件得第一个函数开始,到本程序文件得最后一个函数结束 C)本程序得main 函数开始,到本程序文件得最后一个函数结束 D)本程序文件得第一个函数开始,到本程序main 函数结束基本概念题CC语言规定语言规定:在一个源程序中在一个源程序中,main,main函数得位置函数得位置_。A)必须在最开始 B)必须在系统调用得库函数得后面 C)可以任意 D)必须在最后基本概念题以下叙述正确得就是以下叙述正确得就是_。A)在C 程序中,main 函数必须位于程序得最前面 B)C 程序得每行中只能写一条语句 C)C 语言本身没有输入输出语句 D)在对一个C 程序进行编译得过程中,可发现注释中得拼写错误基本概念题以下叙述不正确得就是以下叙述不正确得就是_。A)一个C 源程序可由一个或多个函数组成 B)一个C 源程序必须包含一个main 函数 C)C 程序得基本组成单位就是函数 D)在C 程序中,注释说明只能位于一条语句得后面基本概念题一个一个CC语言程序就是由语言程序就是由_、A)一个主程序与若干子程序组成 B)函数组成 C)若干过程组成 D)若干子程序组成2、以下叙述中,不正确得就是【】。(A A)一条 一条 C C 语句可以分写在多行中 语句可以分写在多行中(B B)一条 一条 C C 语句必须包含一个分号 语句必须包含一个分号(C C)单独一个分号不能构成一条 单独一个分号不能构成一条 C C 语句 语句(D D)在 在 C C 程序中 程序中,注释说明可以位于程序得任何位置 注释说明可以位于程序得任何位置【解析 解析】C C 语句中单独得一个分号构成空语句 语句中单独得一个分号构成空语句,故不正确得叙述就是选项 故不正确得叙述就是选项(C C)。基本概念题33、下面、下面【】就是合法得就是合法得 C C 语句语句、(A A)#define MY 100#define MY 100(B B)a=25;a=25;(C C)a=b=100 a=b=100(D D)/*m=100;*/*m=100;*/【解析 解析】选项 选项(A A)就是编译预处理命令 就是编译预处理命令,(,(C C)就是表达式 就是表达式,(,(D D)就是注释说 就是注释说明 明,它们均不就是 它们均不就是 C C 语句 语句;只有 只有(B B)就是合法得 就是合法得 C C 语句。语句。基本概念题55、下面叙述中、下面叙述中,正确得就是正确得就是【】。(A A)C C 程序中所有标识符都必须小写 程序中所有标识符都必须小写(B B)C C 程序中关键字必须小写 程序中关键字必须小写,其她标识符不区分大小写 其她标识符不区分大小写(C C)C C 程序中所有标识符都不区分大小写 程序中所有标识符都不区分大小写(D D)C C 程序中关键字必须小写 程序中关键字必须小写,其她标识符区分大小写 其她标识符区分大小写 基本概念题66、以下叙述中、以下叙述中,【】就是正确得。就是正确得。(A A)可以把 可以把 define define 与 与 if if 定义为用户标识符 定义为用户标识符(B B)可以把 可以把 define define 定义为用户标识符 定义为用户标识符,但就是不能把 但就是不能把 if if 定义为 定义为用户标识符 用户标识符(C C)可以把 可以把 if if 定义为用户标识符 定义为用户标识符,但就是不能把 但就是不能把 define define 定义为 定义为用户标识符 用户标识符(D D)define define 与 与 if if 都不能定义为用户标识符 都不能定义为用户标识符【解析 解析】define define 就是预处理命令 就是预处理命令,可以将其定义为用户标识符。可以将其定义为用户标识符。if if 就是关键 就是关键字 字,不能作为用户标识符使用。故上述叙述中只有选项 不能作为用户标识符使用。故上述叙述中只有选项(B B)就是正确 就是正确得。得。基本概念题77、下面四组字符串中、下面四组字符串中,【】均就是均就是 C C 语言得关键语言得关键字。字。(A A)double double、while while、if if(B B)goto goto、define define、switch switch(C C)for for、printf printf、break break(D D)include include、do do、sizeof sizeof【解析 解析】define define 与 与 include include 就是预处理命令 就是预处理命令,printf printf 就是用于输出数据得 就是用于输出数据得系统函数名 系统函数名,均不就是 均不就是 C C 语言得关键字。故只有选项 语言得关键字。故只有选项(A A)正确。正确。基本概念题大家有疑问的,可以询问和交流可以互相讨论下,但要小声点 可以互相讨论下,但要小声点88、下面四组字符串中、下面四组字符串中,均可用做用户标识符得就是均可用做用户标识符得就是【】。(A A)void void、define define、WORD WORD(B B)a3_b3 a3_b3、_123 _123、IF IF(C C)For For、_abc _abc、case case(D D)2a 2a、DO DO、sizeof sizeof【解析 解析】void void、case case 就是关键字 就是关键字,sizeof sizeof 就是运算符。故上述四组字符 就是运算符。故上述四组字符串中只有选项 串中只有选项(B B)均可用做为 均可用做为 C C 语言得用户标识符。语言得用户标识符。基本概念题99、若有定义若有定义 int a;char b;float c;int a;char b;float c;则表达式则表达式 a*b-c a*b-c 得类型就是得类型就是【】。(A A)float float(B B)int int(C C)char char(D D)double double【解析 解析】变量 变量 c c 就是 就是 float float 类型 类型,在参加表达式运算时 在参加表达式运算时,系统会自动将其转 系统会自动将其转换为 换为 double double 类型 类型,故表达式运算得结果也为 故表达式运算得结果也为 double double 类型。类型。基本概念题1010、设、设 t t 就是就是 double double 类型变量类型变量,表达式表达式 t=1,t+2,t+t=1,t+2,t+得值就是得值就是【】。(A A)4 4、0 0(B B)3 3、0 0(C C)2 2、0 0(D D)1 1、0 0【解析 解析】这就是一个逗号表达式。先计算 这就是一个逗号表达式。先计算 t=1 t=1,使变量 使变量 t t 得值为 得值为 1 1、0 0;再计 再计算 算 t+2 t+2,得到 得到 3 3、0 0,此时没有赋值 此时没有赋值,故 故 t t 仍然为 仍然为 1 1、0 0;最后计算 最后计算 t+t+,得到 得到 1 1、0 0,它也就是整个逗号表达式得值。它也就是整个逗号表达式得值。基本概念题1111、若实型变量、若实型变量 x x 与与 y y 已正确定义并赋值已正确定义并赋值,则下面则下面不合法得表达式就是不合法得表达式就是【】。(A A)+y,x-+y,x-(B B)y=(x%2)/10 y=(x%2)/10(C C)y/=x+2 y/=x+2(D D)x=y=0 x=y=0【解析 解析】变量 变量 x x 与 与 y y 就是实型数据 就是实型数据,不允许进行 不允许进行%运算。运算。基本概念题1212、若变量已正确定义并赋值、若变量已正确定义并赋值,下面合法得表达式就下面合法得表达式就是是【】。(A A)(int)a=b+7(int)a=b+7(B B)a=7+b+c,+a a=7+b+c,+a(C C)int(12 int(12、3%4)3%4)(D D)a=a+2=c+b a=a+2=c+b【解析 解析】选项 选项(A A)中 中(int)a(int)a 就是一个表达式 就是一个表达式,得到得结果就是一个整型数值而不就 得到得结果就是一个整型数值而不就是变量 是变量,不能出现在赋值号左边 不能出现在赋值号左边;(;(C C)中 中 int int 没有用括号括起 没有用括号括起,因此就是类型 因此就是类型标识符 标识符,不就是类型转换运算符 不就是类型转换运算符,此外实型数 此外实型数 12 12、3 3 也不能参加 也不能参加%运算 运算;(;(D D)就是多重赋值 就是多重赋值,等价于 等价于 a=(a+2=c+b)a=(a+2=c+b),要先计算 要先计算 a+2=c+b a+2=c+b,而它就是 而它就是一个非法得赋值表达式。只有 一个非法得赋值表达式。只有(B B)就是合法得逗号表达式。就是合法得逗号表达式。基本概念题1313、设、设 a a 就是整型变量就是整型变量,下面不能正确表达数学关下面不能正确表达数学关系系 10a15 10a15 得得 C C 语言表达式就是语言表达式就是【】。(A A)10a15 10a10&a10&a15(D D)!(a=15)!(a=15)【解析 解析】在 在 C C 语言中 语言中,关系表达式 关系表达式 10a15 10a15 表示 表示 10a 10a 比较得结果 比较得结果(不就 不就是 是 0 0 就就是 就就是 1 1)再与 再与 15 15 比较 比较,它不能正确表示数学关系 它不能正确表示数学关系 a a 得值在 得值在 10 10 到 到 15 15 之间 之间(注意 注意:无论 无论 a a 得值就是什么 得值就是什么,表达式 表达式 10a15 10a15 得 得值总为 值总为 1 1),),而其她选择则均可以表示这种关系。而其她选择则均可以表示这种关系。基本概念题1414、能够正确表示、能够正确表示 a a 不等于不等于 0 0 为真得关系表达式就为真得关系表达式就是是【】。(A A)a=0 a=0(B B)a0 a0(C C)a a(D D)!a!a【解析 解析】a=0 a=0 就是赋值表达式 就是赋值表达式,其值为 其值为 0 0;在 在 C C 语言中 语言中,没有 没有 运算符 运算符,故 故 a0 a0 就是无效得表达式 就是无效得表达式;!a!a 表示变量 表示变量 a a 等于 等于 0 0 为真 为真(即 即 a a 得值为 得值为 0 0 时 时,表达式 表达式 a a 为逻辑假 为逻辑假,!a!a 则为真 则为真););而只有当 而只有当 a a 得值不就是 得值不就是 0 0(即 即 a a 就是正数或负数 就是正数或负数)时 时,表达式 表达式 a a 为真。为真。基本概念题1515、下面语句中、下面语句中,错误得就是错误得就是【】。(A A)m=caa0;k=x,y0;(D D)w+=-m?0:1;w+=-m?0:1;【解析 解析】选项 选项(A A)就是赋值语句 就是赋值语句;(;(C C)就是逗号表达式语句 就是逗号表达式语句;(;(D D)就是条 就是条件表达式语句 件表达式语句;而 而(B B)就是不合法得变量定义语句。就是不合法得变量定义语句。基本概念题1616、能正确定义整型变量、能正确定义整型变量 a a 与与 bb,并为它们赋初值并为它们赋初值 5 5 得语句就是得语句就是【】。(A A)a=b=5;a=b=5;(B B)int a,b=5;int a,b=5;(C C)int a=b=5;int a=b=5;(D D)int a=5,b=5;int a=5,b=5;【解析 解析】选项 选项(A A)就是赋值语句 就是赋值语句,不就是变量定义 不就是变量定义;(;(B B)定义变量 定义变量 a a 与 与 b b,但 但仅对 仅对 b b 进行初始化 进行初始化;(;(C C)就是不合法得变量定义 就是不合法得变量定义;只有 只有(D D)定义 定义了变量 了变量 a a 与 与 b b,并分别为它们赋初值 并分别为它们赋初值 5 5。基本概念题1717、以下程序段得输出结果就是、以下程序段得输出结果就是【】。int u=020,v=0 x20,w=20;int u=020,v=0 x20,w=20;printf(%d,%d,%dn,u,v,w);printf(%d,%d,%dn,u,v,w);(A A)16,32,20 16,32,20(B B)20,20,20 20,20,20(C C)16,16,20 16,16,20(D D)32,16,20 32,16,20基本概念题1818、以下程序段得输出结果就是、以下程序段得输出结果就是【】。char c1=a,c2=c;char c1=a,c2=c;printf(%d,%cn,c2-c1,c2-a+C);printf(%d,%cn,c2-c1,c2-a+C);(A A)2,M 2,M(B B)3,E 3,E(C C)2,E 2,E(D D)格式控制与输出项不一致 格式控制与输出项不一致,结果不确定 结果不确定基本概念题19 19、下面程序在运行时、下面程序在运行时,若从键盘上输入 若从键盘上输入 98765432156 98765432156(表示回车 表示回车),则程序得输出结果就是 则程序得输出结果就是【】。main()main()int a;int a;float b,c;float b,c;scanf(%2d%3f%4f,&a,&b,&c);scanf(%2d%3f%4f,&a,&b,&c);printf(na=%d,b=%f,c=%fn,a,b,c);printf(na=%d,b=%f,c=%fn,a,b,c);(A A)a=98,b=765,c=4321 a=98,b=765,c=4321(B B)a=98,b=765 a=98,b=765、000000,c=4321 000000,c=4321、000000 000000(C C)a=98,b=765 a=98,b=765、0,c=4321 0,c=4321、0 0(D D)a=98,b=765 a=98,b=765、0,c=4321 0,c=4321、56 56【解析 解析】执行 执行 scanf scanf 语句 语句,将输入数据 将输入数据中得 中得 98 98 赋给变量 赋给变量 a a,765 765 赋给 赋给 b b,4321 4321 赋给 赋给 c c,忽略 忽略 5 5 以后得 以后得数字。输出时 数字。输出时,实型变量 实型变量 b b 与 与 c c 得小数部分自动取 得小数部分自动取 6 6 位。位。基本概念题20 20、设有定义语句、设有定义语句 int x;float y;int x;float y;当执行 当执行 scanf(“%3d%f”,&x,&y);scanf(“%3d%f”,&x,&y);语句时 语句时,从第一列输入数据 从第一列输入数据 12345 12345 678 678(表示空格 表示空格,表示回车 表示回车),),则 则 y y 得值就是 得值就是【】。(A A)123 123、0 0(B B)678 678、0 0(C C)45 45、678 678(D D)45 45、0 0【解析 解析】执行 执行 scanf scanf 语句时 语句时,将输入数据得前三位数字 将输入数据得前三位数字 123 123 赋给 赋给 x x,后面到 后面到空格前为止得两位数字 空格前为止得两位数字 45 45 赋给实型变量 赋给实型变量 y y,忽略空格后面得数字。忽略空格后面得数字。故 故 y y 得值就是 得值就是 45 45、0 0。基本概念题基本概念题若若x,i,jx,i,j与与kk都就是都就是intint型变量型变量,则执行下面表达式后则执行下面表达式后xx得值为得值为_。x=(i=5,j=10,k=20)x=(i=5,j=10,k=20)A)5 B)10 C)20 D)35基本概念题假设所有变量均为整型假设所有变量均为整型,则表达式则表达式(a=2,b=5,b+,a+b)(a=2,b=5,b+,a+b)得值就是得值就是_。A)7 B)8 C)6 D)2基本概念题 数字字符0 得ASCII 值为48,若有以下程序 main()char a=1,b=2;printf(“%c,”,b+);printf(“%d n”,b-a);程序运行后得输出结果就是 _。(A)3,2(B)50,2(C)2,2(D)2,50 2005 年4 月全国计算机等级考试二级笔试题21 21、下面程序得输出结果就是、下面程序得输出结果就是【】。main()main()double d;double d;float f;float f;long m;long m;int i;int i;i=f=m=d=20/3;i=f=m=d=20/3;printf(%d%ld%printf(%d%ld%、1f%1f%、1fn,i,m,f,d);1fn,i,m,f,d);(A A)6 6 6 6 6 6、0 6 0 6、0 0(B B)6 6 6 6 6 6、7 6 7 6、0 0(C C)6 6 6 6 6 6、0 6 0 6、7 7(D D)6 6 6 6 6 6、7 6 7 6、7 7【解析 解析】赋值表达式 赋值表达式 i=f=m=d=20/3 i=f=m=d=20/3 等价于 等价于 i=(f=(m=(d=20/3)i=(f=(m=(d=20/3)。20/3 20/3 得值就是 得值就是 6 6(注意不就 注意不就是 是 6 6、666 666),),赋给 赋给 double double 类型变量 类型变量 d d 就是 就是 6 6、0 0,再 再分别赋给 分别赋给 long long 类型变量 类型变量 m m、float float 类型变量 类型变量 f f 与 与 int int 类型变量 类型变量 i i,分别就是 分别就是 6 6、6 6、0 0 与 与 6 6。在。在 printf printf 语句 语句中变量 中变量 f f 与 与 d d 按 按%、1f 1f 格式输出时 格式输出时,输出为 输出为 6 6、0 0。基本概念题22 22、已知字母、已知字母 A A 得 得 ASCII ASCII 值为十进制数 值为十进制数 65 65,下面程序得输出 下面程序得输出就是 就是【】。main()main()char ch1,ch2;char ch1,ch2;ch1=A+5-3;ch1=A+5-3;ch2=A+6-3;ch2=A+6-3;printf(%d,%cn,ch1,ch2);printf(%d,%cn,ch1,ch2);(A A)67,D 67,D(B B)67,C 67,C(C C)B,C B,C(D D)C,D C,D【解析 解析】程序中表达式 程序中表达式 A+5-3 A+5-3 得值 得值就是 就是 67 67(等价于 等价于 65+53-51 65+53-51),),A+6-3 A+6-3得值就是 得值就是 68 68,分别赋给 分别赋给 ch1 ch1 与 与 ch2 ch2。按 按%d%d 与 与%c%c 格式输出它们得值时 格式输出它们得值时,分别就是 分别就是 67 67 与大写字母 与大写字母 D D。基本概念题2323、语句、语句 printf(“%dn”,!9);printf(“%dn”,!9);得输出结果就是得输出结果就是【】。(A A)0 0(B B)1 1(C C)9 9(D D)-9-9【解析 解析】表达式 表达式!9!9 等价于 等价于(!(!9)(!(!9)。!9!9 得值就是 得值就是 0 0(9 9 就是非 就是非 0 0 值 值,对其 对其进行逻辑非运算 进行逻辑非运算,得到 得到 0 0),),再进行 再进行!0!0 运算 运算,得到 得到 1 1。基本概念题2424、下列程序得执行结果就是、下列程序得执行结果就是【】。main()main()int a=100,b;int a=100,b;b=a+100?a+100:a+200;b=a+100?a+100:a+200;printf(%d%d,a,b);printf(%d%d,a,b);(A A)101 201 101 201(B B)101 301 101 301(C C)100 200 100 200(D D)100 300 100 300【解析 解析】表达式 表达式 b=a+100?a+10 b=a+100?a+100:a+200 0:a+200 等价于 等价于 b=(a+100)?b=(a+100)?(a+100):(a+200)(a+100):(a+200)。先计算条件表达式 先计算条件表达式 a+100 a+100,取 取 a a 得 得值 值(为 为 100 100)与 与 100 100 进行比较 进行比较,为 为 0 0,且 且 a a 自增为 自增为 101 101;再计 再计算 算 a+200 a+200,得到整个 得到整个条件表达式得值 条件表达式得值 301 301,赋给 赋给 b b。故输。故输出就是 出就是 101 101 与 与 301 301。基本概念题基本概念题在在CC语言中语言中(以以1616位位PCPC机为例机为例),5),5种基本数据类型种基本数据类型得存储空间长度得排列顺序为得存储空间长度得排列顺序为_。A)charint long int=floatdouble B)char=intlong int=floatdouble C)char int long int=float=double D)char=int=long int=floatdouble44、下面关于、下面关于 C C 源程序得函数得说法中源程序得函数得说法中,【】就就是正确得是正确得。(A A)函数体中可以不包含任何语句 函数体中可以不包含任何语句(B B)函数体可以使用花括号或圆括号括起来 函数体可以使用花括号或圆括号括起来(C C)如果没有参数 如果没有参数,函数名后面得圆括号可以省略 函数名后面得圆括号可以省略(D D)函数可以不需要定义函数名 函数可以不需要定义函数名 基本概念题