[IT认证]C语言测试题.doc_第1页
[IT认证]C语言测试题.doc_第2页
[IT认证]C语言测试题.doc_第3页
[IT认证]C语言测试题.doc_第4页
[IT认证]C语言测试题.doc_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)2.1以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点正确答案: C2.2 以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前进行定义正确答案: A2.3 以下说法正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分正确答案: C2.4 C语言规定,在一个源程序中,main函数的位置A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后正确答案: C2.5 以下叙述不正确的是A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面正确答案: D2.6 下列叙述中正确的是A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言的函数可以嵌套调用正确答案: D2.7 以下叙述正确的是A)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符正确答案: D2.8 以下说法错误的是A)一个算法应包含有限个步骤B)在计算机上实现的算法是用来处理数据对象的C)算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现D)算法的目的是为了求解正确答案: C2.9 算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的是A)有零个输入或多个输入B)高效性C)有穷性D)确定性正确答案: B2.10 下列关于C语言的说法不正确的是A)C语言既具有高级语言的一切功能,也具有低级语言的一些功能B)C语言中的每一条执行语句都必须用分号结束,分号不是C语言的一部分,是语句之间的分隔符号C)注释可以出现在程序中任意合适的地方D)命令行后面不能加分号,命令行不是C语言的语句正确答案: B2.11 以下说法错误的是A)高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式B)计算机只能处理由0和1的代码构成的二进制指令或数据C)C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE的二进制文件D)每一种高级语言都有它对应的编译程序正确答案: C2.12 C语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-whileD)if,for,continue正确答案: A二、填空题(请将每一个空的正确答案写在答题卡相应序号后。)2.13 用高级语言编写的程序称为【1】程序,它可以通过解释程序翻译一句执行一句的方式执行,也可以通过编译程序一次翻译产生目标程序,然后执行。正确答案: 源程序2.14 C语言程序的注释可以出现在程序中的任何地方,一个注释以【2】作为开始和结束。正确答案: /*/第3章 数据类型运算符与表达式一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)3.1 C语言中最简单的数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型正确答案: B3.2 C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字和下划线中任一字符正确答案: C3.3 下列可用于C语言用户标识符的一组是A)void, define, WORDB)a3_b3, _123,CarC)For, -abc, IF CaseD)2a, DO, sizeof正确答案: B3.4 下面四个选项中,均是不正确的8进制数或16进制数的选项是A)0160x8f018B)0abc0170xaC)010-0x110x16D)0a127ff-123正确答案: D3.5 下列数据中,不合法的C语言实型数据的是A)0.123B)123e3C)2.1e3.5D)789.0正确答案: C3.6 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A)a=20000+20000;B)a=4000*10;C)a=30000+10000;D)a=4000L*10L;正确答案: D3.7 若有说明语句:char c=72;则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定正确答案: A3.8 有字符串如下,n407as1xabc,则字符串的长度为A)6B)7C)8D)9正确答案: D3.9 C语言中运算对象必须是整型的运算符是A)%=B)/C)=D)=正确答案: A3.10 若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1B)a=b=c+2C)int 18.5%3D)a=a+7=c+b正确答案: B3.11 若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a= =1B)+i;C)a=a+=5;D)a=int(i);正确答案: B3.12 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A)2.500000B)2.750000C)3.500000D)0.000000正确答案: A3.13 若有运算符,sizeof,&=,则它们按优先级由高至低的正确排列次序是A)sizeof,&=,B)sizeof,&=C),sizeof,&=D),&=,sizeof正确答案: B3.14 以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案: D3.15 已知int i,a;执行语句i=(a=3,a+,- -a,a+4,a+5,+a);后,变量i的值为A)2B)3C)4D)5正确答案: C3.16 设变量a是int型,f是float型,i是double型,则表达式10+a+i*f值的数据类型为A)intB)floatC)doubleD)不确定正确答案: C3.17 在C语言中,char型数据在内存中的存储形式是A)补码B)反码C)原码D)ASCII码正确答案: D3.18 字符型数据在机器中是用ASCII码表示的,字符5和7在机器中表示为A)10100011和 01110111B)01000101和01100011C)00110101和00110111D)01100101和01100111正确答案: C3.19 不能进行+和- -运算的数据类型为A)指针B)整型C)长整型D)常量正确答案: D3.20 设有int x=11;则表达式(x+*1/3)的值是A)3B)4C)11D)12正确答案: A3.21 以下程序的输出结果是main() int a=21,b=11;printf(%dn,- -a+b,- -b+a);A)30B)31C)32D)33正确答案: A3.22 假设整型变量a,b,c的值均为5,则表达式a+b+c+的值为A)17B)16C)15D)14正确答案: C3.23 已知int a=6; 则执行a+=a-=a*a;语句后,a的值为A)36B)0C)-24D)-60正确答案: D3.24 设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A)n=(n*100+0.5)/100.0B)m=n*100+0.5,n=m/100.0C)n=n*100+0.5/100.0D)n=(n/100+0.5)*100.0正确答案: B3.25 sizeof(float)是A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式正确答案: B3.26 在C语言中,int,char和short三种类型数据在内存中所占用的字节数A)由用户自己定义B)均为2个字节C)是任意的D)由所用机器的机器字长决定正确答案: D3.27 以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子xyz的C语言表达式是A)x/y*zB)x*(1/(y*z)C)x/y*1/zD)x/y/z正确答案: A3.28 下列关于复合语句和空语句的说法错误的是A)复合语句是由“”开头,由“”结尾的B)复合语句在语法上视为一条语句C)复合语句内,可以有执行语句,不可以有定义语句部分D)C程序中的所有语句都必须由一个分号作为结束正确答案: C3.29 下列关于字符串的说法中错误的是A)在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符0作为字符串结束标志B)0作为标志占用存储空间,计入串的实际长度C)在表示字符串常量的时候不需要人为在其末尾加入0D)在C语言中,字符串常量隐含处理成以0结尾正确答案: B二、填空题(请将每一个空的正确答案写在答题卡相应序号后。)3.30 以下程序的输出结果是【1】。int a=1234;printf (%2dn,a);正确答案: 12343.31 在计算机中,字符的比较是对它们的【2】进行比较。正确答案: ASCII码3.32 在内存中,存储字符x要占用1个字节,存储字符串X要占用【3】个字节。正确答案: 23.33 在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为4;一个double型数据在内存中所占的字节数为【4】。正确答案: 83.34 以下程序段的输出结果是【5】。main ()int a=2,b3,c=4;a*=16+(b+)-(+c);printf(%d,a);正确答案: 283.35 以下程序段的输出结果是【6】 。int x=17,y=26;printf (d,y/=(x%=6);正确答案: 53.36 下列y的值是 【7】 。int y; y=sizeof(2.25*4);正确答案: 83.37 以下程序的输出结果是 【8】 。main ()int i=010,j=10;pirntf (%d,%dn,i,j);正确答案: 8,103.38 已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=a+8-3的值为 【9】 。正确答案: f3.39 如下语句printf(%cn,B+40);在执行后的输出结果是 【10】 。正确答案: j3.40 定义int a=5,b=20;若执行语句printf(%dn,+a*- -b/5%13);后,输出的结果为 【11】 。正确答案: 9第4章 顺序程序设计一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)4.1 若变量已正确说明为float型,要通过语句scanf(%f%f%f,&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是A)102233B)10.0,22.0,33.0C)10.022.033.0D)102233正确答案: B4.2 现有以下程序段#include main() int a,b,c;scanf(a=%*d%d,b=%d%*d,c=%d,&a,&b,&c);printf(a=%d,b=%d,c=%dn,a,b,c); 若输出的结果为a=20,b=30,c=40,则以下能够正确输入数据的是A)a=1020,b=2030,c=40B)20,30,40C)a=20,b=30,c=40D)a=1020,b=3020,c=40注:“”表示空格,表示回车正确答案: D4.3 x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是A)INPUT x、y、z;B)scanf(%d%d%d,&x,&y,&z);C)scanf(%d%d%d,x,y,z);D)read(%d%d%d,&x,&y,&z);正确答案: B4.4 已有定义int a=-2;和输出语句 printf(%8lx,a);以下正确的叙述是A)整型变量的输出形式只有%d一种B)%x是格式符的一种,它可以适用于任何一种类型的数据C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度正确答案: D4.5 下列程序段的输出结果是:int a=1234;float b=123.456;double c=12345.54321;printf(%2d,%2.1f,%2.1f,a,b,c);A)无输出B)12,123.5,12345.5C)1234,123.5,12345.5D)1234,123.4,1234.5正确答案: C4.6 执行下列程序时输入:123456789 输出结果是main() char s100; int c, i;scanf(%c,&c); scanf(%d,&i); scanf(%s,s);printf(%c,%d,%sn,c,i,s);A)123,456,789B)1,456,789C)1,23,456,789D)1,23,456正确答案: D4.7 若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a=25&b-=2&c?printf(*a=%d,b=%d,c=%dn,a,b,c):printf(#a=%d,b=%d,c=%dn,a,b,c);程序输出的结果是A)*a=25,b=13,c=19B)*a=26,b=14,c=19C)# a=25,b=13,c=19D)# a=26,b=14,c=19正确答案: C4.8 请选出以下语句的输出结果printf(%dn,strlen(t065xffn);A)5B)14C)8D)输出项不合法,无正常输出正确答案: A4.9 下列程序的输出结果是main() double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf(%dn, d*y);A)3B)3.2C)0D)3.07正确答案: C4.10 调用gets和puts函数时,必须包含的头文件是A)stdio.hB)stdlib.hC)defineD)以上都不对正确答案: A4.11 阅读下面程序段#include stdio.hmain() char c;c=(z-a)/2+A;putchar(c);输出结果为A)MB)NC)OD)Q正确答案: A二、填空题(请将每一个空的正确答案写在答题卡相应序号后。)4.12 下列程序的输出结果是16.00,请填空。main()int a=9, b=2;float x=【1】, y=1.1,z;z=a/2+b*x/y+1/2;printf(%5.2fn, z );正确答案: 6.64.13 在使用putchar和getchar函数处理字符时,必须在程序的开头出现包含头文件的命令行是 【2】 。正确答案: #include4.14 下列程序的输出结果是 【3】 , 【4】 。#include main() float a=-1.3;b=1.3;printf(%f,%f,fabs(a),fabs(b);正确答案: 1.300 000正确答案: 1.300 0004.15 执行程序时的输入为123456789,则程序的运行结果为 【5】 。#include stdio.hmain()int a,b;scanf(%2d%*2d%1d,&a,&b);printf(%dn,a-b);正确答案: 7第5章 选择结构程序设计一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)5.1 在C程序中,判逻辑值时,用“非0”表示逻辑值“真”, 又用“0”表示逻辑值“假”。 在求逻辑值时,用()表示逻辑表达式值为“真”, 又用()表示逻辑表达式值为“假”。A)10B)01C)非0非0D)11正确答案: A5.2 已知int x=6,y=2,z;则执行表达式z=x=xy后,变量z的值为A)0B)1C)4D)5正确答案: B5.3 能正确表示逻辑关系:“a10或a0”的C语言表达式是A)a=10 or a=0|a=10 &a=10a=0正确答案: D5.4 若变量c为char类型,能正确判断出c为小写字母的表达式是A)a=c=a)|(c=z)C)(a=c)D)(c=a)&(c=z)正确答案: D5.5 设int x=1,y=1;表达式(!x|y- -)的值是A)0B)1C)2D)-1正确答案: B5.6 有如下程序段int a=14,b=15,x;char c=A;x=(a&b)&(cb)&(n=cd)后n的值是A)1B)2C)3D)4正确答案: B5.9 已知x,y,z均为整型变量,且值均为1,则执行语句+x|+y&+z;后,表达式x+y的值为A)1B)2C)3D)4正确答案: C5.10 表达式ab|(c&d)中运算符优先级最高的是A)|B)&C)12?x+10:x-12;printf(%dn,y);A)0B)22C)12D)10正确答案: A5.12 已知char ch=C;则以下表达式的值是ch=(ch=A& ch=Z)?(ch+32):ch;A)AB)aC)ZD)c正确答案: D5.13 若有条件表达式 (exp)?a+:b-,则以下表达式中能完全等价于表达式(exp)的是A)(exp=0)B)(exp!=0)C)(exp=1)D)(exp!=1)正确答案: B5.14 有以下程序main()int i=1,j=1,k=2;if(j+|k+)&i+)printf(%d,%d,%dn,i,j,k);执行后输出结果是A)1,1,2B)2,2,1C)2,2,2D)2,2,3正确答案: C5.15 请阅读以下程序:main() int a=5,b=0,c=0;if(a=b+c)printf(*n);else printf(n);以上程序A)有语法错不能通过编译B)可以通过编译但不能通过连接C)输出*D)输出正确答案: D5.16 若执行下述程序时,若从键盘输入6和8时,结果为main()int a,b,s;scanf(%d%d,&a,&b);s=a;if(ab)s=b;s*=s;printf(%d,s);A)36B)64C)48D)以上都不对正确答案: B5.17 有如下程序main()float x=2.0,y;if(x0.0)y=0.0;else if(x10.0)y=1.0/x;else y=1.0;printf(%fn,y);该程序的输出结果是A)0.000000B)0.250000C)0.500000D)1.000000正确答案: C5.18 以下4个选项中,不能看做一条语句的是A);B)a=5,b=2.5,c=3.6;C)if(a30?b:c;switch(d) case 30 : printf(%d,a);case 40 : printf(%d,b);case 50 : printf(%d,c);default : printf(#);则输出的结果是A)40,50,B)50,#C)40,#D)40,50,#正确答案: D5.21 现有如下程序段,此程序段编译有错误,则程序段的错误出在#include main()int a=30,b=40,c=50,d;d=a30?b:c;switch(d)case a:printf(%d,a);case b:printf(%d,b);case c:printf(%d,c);default:printf(#);A)default:printf(#);这个语句B)d=a30?b:c;这个语句C)case a:printf(%d,a); case b:printf(%d,b); case c:printf(%d,c);这三个语句D)switch(d)这个语句正确答案: C二、填空题(请将每一个空的正确答案写在答题卡相应序号后。)5.22 设y是int型,请写出y为奇数的关系表达式 【1】 。正确答案: (y%2)=1 或 (y%2)!=05.23 设int a=5,b=6,表达式(a= =b- -)?+a:-b的值是【2】。正确答案: 75.24 将以下程序写成三目运算表达式是【3】 。if(ab)max=a;else max=b;正确答案: max=(ab)?a:b;5.25 以下程序输出的结果是【4】。main() int a=5,b=4,c=3,d;d=(abc);printf(%dn,d);正确答案: 05.26 若从键盘输入58,则以下程序输出的结果是 【5】 。main()int a;scanf(%d,&a);if(a50)printf(%d,a);if(a40)printf(%d,a);if(a30)printf(%d,a);正确答案: 5858585.27 阅读下面语句,则程序的执行结果是 【6】 。#include stdio.hmain()int a=-1,b=1,k;if(+a0)&!(b- -=0)printf(%d,%dn,a,b);else printf(%d,%dn,b,a);正确答案: 1,05.28 阅读下面程序,则在执行时候的输出为 【7】 。#include stdio.hmain()int x=1,y=2,z=0;if(x=2)z=x,x=y,y=z;printf(%d,%dn,x,y);正确答案: 2,25.29 以下程序的输出结果是【8】。main() int x=100, a=10, b=20, ok1=5, ok2=0;if(a100)break;B)for(;);C)int k=10000;dok+;while(k10000);D)int s=36;while(s)-s;正确答案: D6.3 下面有关for循环的正确描述是A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来正确答案: D6.4 若int i,j;,则for(i=j=0;i10&j8;b=+k)printf(%d,%d,a- -,- -b);printf(n);A)10,10,10,0,B)10,9,9,0,C)10,10,9,1,D)9,9,9,1,考生答案:正确答案: B6.6 有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。下面程序是求这堆零件总数,请选择填空。#include main() int i;for(i=100;i200;i+)if(i-2)%4=0)if(!(i-3)%7)if(_)printf(%d,i);A)i%9=5B)i%9!=5C)(i-5)%9!=0D)(i-5)%9=0正确答案: D6.7 下列程序的输出结果是#include stdio.hmain()int i,a=0,b=0;for(i=1;i10;i+) if(i%2= =0)a+;continue; b+; printf(a=%d,b=%d,a,b);A)a=4,b=4B)a=4,b=5C)a=5,b=4D)a=5,b=5正确答案: B6.8 阅读下列程序,则执行结果是#include stdio.hmain()int a=0,b=0,c=0,i;for(i=0;i2;m- -)k=0;for(n=m;n1;n- -)k=k+m*n;printf(%fn,k);A)5.000000B)15.000000C)25.000000D)35.000000正确答案: B6.10 下面程序的运行结果是#include stdio.hmain() int j,i,k=0;for(j=50;j=60;j+)if(!(k%10)printf(n);for(i=2;i=j-1)printf(%d,j);k+;A)5359B)5953C)3595D)9535正确答案: A6.11 已知int t=0;while(t=1).则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对正确答案: B6.12 设有以下程序段int x=0,s=0;while(!x!=0)s+=+x;printf(%d,s);则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次正确答案: B6.13 下列程序的输出结果是#include stdio.hmain() int i=6;while(i- -)printf(%d,- -i);printf(n);A)531B)420C)654321D)死循环正确答案: B6.14 对下,两个语句描述正确的是.while(1).for(;)A)都是无限循环B)是无限循环,错误C)循环一次,错误D)以上答案都错正确答案: A6.15 以下程序段的描述,正确的是x=-1;dox=x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论