c打印资料070608A3.doc_第1页
c打印资料070608A3.doc_第2页
c打印资料070608A3.doc_第3页
c打印资料070608A3.doc_第4页
c打印资料070608A3.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

考点一: 1、下列叙述中正确的是 DA) C语言编译时不检查语法 B) C语言的子程序有过程和函数两种 C) C语言的函数可以嵌套定义 D) C语言所有函数都是外部函数2、一个算法应该具有确定性等5个特性,下面对另外4个特性的描述中错误的是A) 有零个或多个输入 B) 有零个或多个输出 C) 有穷性 D) 可行性3、以下叙述中正确的是A) C语言的源程序不必通过编译就可以直接运行B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令C) C源程序经编译形成的二进制代码可以直接运行D) C语言中的函数不可以单独进行编译4、以下4个选项中,不能看作一条语句的是()A) ; B) a=0,b=0,c=0; C) if(a0); D) if(b=0) m=1;n=2;5、用C语言编写的代码程序A) 可立即执行 B) 是一个源程序C) 经过编译即可执行 D) 经过编译解释才能执行6、结构化程序由三种基本结构组成,三种基本结构组成的算法A) 可以完成任何复杂的任务 B) 只能完成部分复杂的任务C) 只能完成符合结构化的任务 D) 只能完成一些简单的任务7、以下叙述正确的是 A) C语言比其他语言高级 B) C语言可以不用编译就能被计算机识别执行 C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D) C语言出现的最晚、具有其他语言的一切优点 8、C语言中用于结构化程序设计的三种基本结构是 A) 顺序结构、选择结构、循环结构 B) if、switch、break C) for、while、do-while D) if、for、continue 9、在一个C语言程序中 A) main函数必须出现在所有函数之前 B) main函数可以在任何地方出现 C) main函数必须出现在所有函数之后 D) main函数必须出现在固定位置 10、结构化程序设计所规定的三种基本控制结构是 A) 输入、处理、输出 B) 树形、网形、环形 C) 顺序、选择、循环 D) 主程序、子程序、函数 11、要把高级语言编写的源程序转换为目标程序,需要使用 A) 编辑程序 B) 驱动程序 C) 诊断程序 D) 编译程序 12、以下叙述中正确的是 A)C程序中注释部分可以出现在程序中任意合适的地方用/*/对程序任何部分做解释 B)花括号和只能作为函数体的定界符 C)构成C程序的基本单位是函数,所有函数名都可以由用户命名 main函数不可以由用户命名D)分号是C语句之间的分隔符,不是语句的一部分 分号是C语言的必要组成部分13、能将高级语言编写的源程序转换成目标程序的是 A) 编辑程序 B) 编译程序 C) 解释程序 D) 链接程序 14、以下叙述中正确的是 A) 构成C程序的基本单位是函数 B) 可以在一个函数中定义另一个函数 C) main()函数必须放在其它函数之前 D) 所有被调用的函数一定要在调用之前进行定义 当主函数放在末尾时,被调用的函数可以不必定义考点02 标识符1、下列选项中,合法的C语言关键字是 A) VAR B) cher C) integer D) default 2、以下4组用户定义标识符中,全部合法的一组是A)_main B)If C)txt D)int enclude -max REAL k_2 sin turbo 3COM _0013、下列选项中,不能用作标识符的是A) _1234_ B) _1_2 C) int_2_ D) 2_int_4、下列关于C语言用户标识符的叙述中正确的是 A) 用户标识符中可以出现下划线和中划线(减号) B) 用户标识符中不可以出现中划线,但可以出现下划线 C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头 D) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头 5、以下叙述正确的是 A) 可以把define和if定义为用户标识符 B) 可以把define定义为用户标识符,但不能把if定义为用户标识符 C) 可以把if定义为用户标识符,但不能把define定义为用户标识符 D) define和if都不能定义为用户标识符 6、 以下有4组用户标识符,其中合法的一组是 A) For B) 4d C) f2_G3 D) WORD -sub DO IF void Case Size abc define 7、以下不能定义为用户标识符的是 A)scanf B)Void C)_3com_ D)int 8、以下选项中合法的用户标识符是_。 A) long B) _2Test C) 3Dmax D) A.dat 考点03 数据类型1、下列叙述中正确的是 DA) C语言中既有逻辑类型也有集合类型 B) C语言中没有逻辑类型但有集合类型 C) C语言中有逻辑类型但没有集合类型 D) C语言中既没有逻辑类型也没有集合类型 2、以下定义语句中正确的是 DA) char a=“A”,b=“B”; 字符串不能存到字符型中 B) float a=b=10.0;定义时不能出现连等符号C) int a=10,*b=&a; 地址不能存入指针变量中D) float *a,b=&a;3、以下选项中不属于C语言的类型的是 A) signed short int B) unsigned long int C) unsigned int D) long short 考点04 整型常量变量1、在16位C编译系统上,若定义long a; ,则能给a赋40000的正确语句是 DA) a=20000+20000; B) a=4000*10; C) a=30000+10000; D) a=4000L*10L; ;L是长整型2、在C语言中,合法的长整型常数是 AA) OL 代表0占了四个字节 B) 4962710后面没有LC) 324562& D) 216D 书写不规范3、以下选项中可作为C语言合法整数的是 A)10110B B)0386 八进制C)0Xffa D)x2a2 4、以下程序的输出结果是 【 0 】 。 main() unsigned short a=65536; int b; printf(“%dn”,b=a); 取值范围是:0655355、以下所列的C语言常量中,错误的是 A) 0xFF B) 1.2e0.5 C) 2L D) 72 指的是对应的ACII值为58的字母7、有以下程序main( ) int x=102,y=012; printf(%2d,%2dn,x,y);执行后输出结果是A)10,01 B)002,12 C)102,10 D)02,10%2表示宽度,不足2位的会补充,但多余的2位不能截取8、有以下程序main() int m=0256,n=256;printf(%o %on,m,n);程序运行后的输出结果是C 0在打印的时候不出现A)0256 0400 B)0256 256 C)256 400 D)400 4009、以下程序段的输出结果是【 11 】 int i=9;printf(%on,i);10、以下程序运行后的输出结果是【 252137 】注: 没有空格main() int a,b,c;a=25;b=025;21c=0x25;pntf(%d%d%dn,a,b,c);11、 若有以下程序段(n所赋的是八进制数) int m=32767,n=032767; printf(%d,%on,m,n); 执行后输出结果是 AA) 32767,32767 B) 32767,032767 C) 32767,77777 D) 32767,077777 12、 若有以下程序段 int m=0xabc,n=0xabc; m-=n; printf(%Xn,m); 执行后输出结果是 CA) 0X0 B) 0x0 C) 0 D) 0XABC 13、以下程序的输出结果是【 261main() int a=177; printf(%on,a); 14、 十进制数397的十六进制值为 AA) 18D B) 18E C) 277 D) 361 15、与十进制511等值的十六进制数为 AA) 1FF B) 2FF C) 1FE D) 2FE 16、设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是 BA) printf(x=%dn,x); B) printf(x=%ldn,x); C) printf(x=%8dLn,x); D) printf(x=%LDn,x); 17、下列程序执行后的输出结果是 C 补码参与运算A) -32767 B) FFFE C) -1 D) -32768 main() char x=0xFFFF; printf(%d n,x-); 18、有以下程序 Bmain() unsigned int a;int b=-1;a=b;printf(%u,a);程序运行后的输出结果是A)-1 B)65535 C)32767 D)-32768考点05 实型常量变量1、以下选项中合法的实型常数是 CA) 5E2.0 B) E-3 C) .2E0 D) 1.3E 2、以下符合C语言语法的实型常量是 CA)1.2E0.5 B)3.14.159E C).5E-3 D)E153、下列变量定义中合法的是 A 考查标示符的合法性A) short _a=1-.le-1; B) double b=1+5e2.5; C) long do=0xfdaL; D) float 2_and=1-e-3; 考点06 字符型常量变量1、已定义c为字符型变量,则下列语句中正确的是CA)c=97; B)c=97; C)c=97;相当于ACII值97 D)c=a;2、已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量101是 AA) 字符A B) 字符a C) 字符e D) 非法的常量 3、以下程序运行后的输出结果是 【 b 】 。main() char m;m=B+32; printf(%cn,m);4、ASCII码(含扩展)可以用一个字节表示,则可以表示的ASCLL码值个数为 BA) 1024 B) 256 C) 128 D) 8O 5、以下选项中合法的字符常量是 BA) “B” B)010 C) 68 D) D 6、若变量a是int类型,并执行了语句:a=A+1.6;,则正确的叙述是 DA) a的值是字符C B) a的值是浮点型 C) 不允许字符型和浮点型相加 D) a的值是字符A的ASCII值加上1。 7、英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为 DA) 50 B) 66 C) 52 D) 68 8、有以下程序 main() char a,b,c,*d; a=; b=xbc; c=0xab; d=0127; printf(%c%c%c%cn,a,b,c,*d); 编译时出现错误,以下叙述中正确的是 DA) 程序中只有a=;语句不正确 转义字符后面在有内容B) b=xbc;语句不正确 C) d=0127;语句不正确 D) a=;和 c=0xab;语句都不正确 9、有以下程序段 Aint m=0,n=0; char c=a; scanf(%d%c%d,&m,&c,&n); printf(%d,%c,%dn,m,c,n); 若从键盘上输入:10A10,则输出结果是: A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,0 10、有以下程序Amain() char a=a,b;printf(%c,+a);printf(%cn,b=a+);程序运行后的输出结果是A)b,b B)b,c C)a,b D)a,c11、已知字符A的ACSII码值为65,以下语句的输出结果是【 B 66 】 char ch=B; printf(%c %dn,ch,ch);12、若变量c为char类型,能正确判断出c为小写字母的表达式是 DA) a=c=a)|(c= z) C) (a=c) D) (c=a)&(cb)&(n=cd)运算后,n的值位为 A) 0 B) 1 C) 2 D) 3 6、有以下程序main() int a=1,b=2,m=0,n=0,k;k=(n=ba)|(m=a);printf(%d,%dn,k,m);程序运行后的输出结果是A)0,0 B)0,1 C)1,0 D)1,17、设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是A)x=x*100+0.5/100.0; B)x=(x*100+0.5)/100.0;C)x=(int)(x*100+0.5)/100.0; D)x=(x/100+0.5)*100.0;8、C语言中运算对象必须是整型的运算符是 A) %= B) / C) = D) = 9、能正确表示逻辑关系:“a10或a0”的C语言表达式是 A) a=10 or a=0|a=10 &a=10a=0 10、表示“整数x的绝对值大于5”时值为“真”的C语言表达式是 【 】 。 11、已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1&y+z/2的值是 A) 6 B) 0 C) 2 D) 1 12、设 int x=1, y=1; 表达式(!x|y-)的值是 A) 0 B) 1 C) 2 D) -1 13、若x为int类型,请以最简单的形式写出与逻辑表达式!x等价的C语言关系表达式 【 】 。 14、有如下程序段 int a=14,b=15,x; char c=A; x=(a&b)&(cbc); printf(%dn,d); 18、若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|10的是A) abs(x-y)-10&x-y10C) !(x-y)10 D) (x-y)*(x-y)10019、设x、y、t均为int型变量,则执行语句:x=y=3;t=+x|+y;后,y的值为 A) 不定值 B) 4 C) 3 D) 1 考点08 自增自减运算1、有以下程序main() int m=3,n=4,x;x=-m+;x=x+8/+n;printf(%dn,x);程序运行后的输出结果是A) 3 B) 5 C) -1 D) -22、下列关于单目运算符+、-的叙述中正确的是 A) 它们的运算对象可以是任何变量和常量 B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量 D) 它们的运算对象可以是char型变量、int型变量和float型变量 3、有以下程序 main() int i=10,j=1; printf(%d,%dn,i-,+j); 执行后输出的结果是 A) 9,2 B) 10,2 C) 9,1 D) 10,1 4、设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是 printf(”%d,%dn”,x-,-y); A) 10,3 B) 9.3 C) 9.2 D)10.2 5、有如下程序 main() int y=3,x=3,z=1; printf(“%d %dn”,(+x,y+),z+2); 运行该程序的输出结果是 A) 3 4 B) 4 2 C) 4 3 D) 3 3 6、以下选项中,与k=n+完全等价的表达式是_。 A) k=n,n=n+1 B) n=n+1,k=n C) k=+n D) k+=n+1 7、设有以下定义int a=0; double b=1.25;char c=A;#define d 2则下面语句中错误的是A) a+; B) b+ C) c+; D) d+;考点09 赋值运算及复合赋值运算1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是 A) -3 B) 9 C) -12 D) 6 2、以下程序的输出结果是 【 】 main() int a=1, b=2; a=a+b; b=a-b; a=a-b; printf(“%d,%dn”, a, b ); 3、下列程序的输出结果是16.00,请填空。 main() int a=9, b=2; float x= 【 】 , y=1.1,z; z=a/2+b*x/y+1/2; printf(“%5.2fn”, z ); 4、下列程序的输出结果是 A) 3 B) 3.2 C) 0 D) 3.07 main() double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(%d n, d*y); 5、下列程序执行后的输出结果是(小数点后只写一位) A) 6 6 6.0 6.0 B) 6 6 6.7 6.7 C) 6 6 6.0 6.7 D) 6 6 6.7 6.0 main() double d; float f; long l; int i; i=f=l=d=20/3; printf(%d %ld %f %f n, i,l,f,d); 6、若以下选项中的变量已正确定义,则正确的赋值语句是A) x1=26.8%3 B) 1+2=x2 C) x3=0x12 D) x4=1+2=3;7、以下合法的赋值语句是 A) x=y=100 B) d-; C) x+y; D) c=int(a+b); 8、以下程序的输出结果是 main() int a=3; printf(“%dn”,(a+=a-=a*a); A) 6 B) 12 C) 0 D) -12 9、以下选项中非法的表达式是A)0=x0; 14、若有以下程序: main() int k=2,i=2,m; m=(k+=i*=k); printf(%d,%dn,m,i); 执行后的输出结果是 A) 8,6 B) 8,3 C) 6,4 D) 7,4 15、语句:x+;+x; x=x+1;x=l+x; ,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同) 【 】 。16、以下程序的输出结果是【 】 。 main() int a=0; a+=(a=8); printf(%dn,a); 考点10 逗号运算符1、设有如下程序段:int x=2002, y=2003;printf(%dn,(x,y);则以下叙述中正确的是A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出B)运行时产生出错信息C)输出值为2002 D)输出值为20032、若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是 A) 1 B) 2 C) 2.0 D) 2.5 3、假定x和y为 double型,则表达式x=2,y=x+3/2的值是 A) 3.500000 B) 3 C) 2.000000 D) 3.000000 考点11 条件运算符1、y=(x0?1:x0) y=1; B) if(x=0) y=1;else if(x0)y=-1; else if(x0)y=1;if(x0) y=1; else y=-1;else if(x=0) y=0; else y=-1; 2、假定w、x、y、z、m均为int型变量,有如下程序段: w=1; x=2; y=3; z=4; m=(wx)?w:x; m=(my)?m:y; m=(mb?(ac?a:c):b); A) 5 B) 4 C) 6 D) 不确定 4、以下程序运行后的输出结果是 【 3 】 。main() int p=30;printf(%dn,(p/30 ? p/10 : p%3);5、以下程序段中与语句k=ab?(bc?1:0):0;功能等价的是()A)if(ab)&(bc) k=1; B) if(ab)|(bc) k=1 else k=0; else k=0;C)if(ab) k=1; else if(bc) k=1; else k=0; 考点12 不同数据间的混合运算由低级向高级转换1、设有以下变量定义,并已赋确定的值 char w; int x; float y; double z; 则表达式:w*x+z-y所求得的数据类型为 【double 】 。 2、若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为 A) 1.4 B) 1 C) 2.0 D) 2 3、有以下程序 main() int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); printf(%d %d %3.1f %3.1fn,a,c,f,x); 程序运行后的输出结果是 A)1 65 1 6.5 B)1 65 1.5 6.5 C)1 65 1.0 6.5 D)2 65 1.5 6.5 4、若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 先除再乘则执行后,c3中的值是 A) 0 B) 0.5 C) 1 D) 2 5、设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是 整型与实型的结果一定是实型A) 6.500000 B) 6 C) 5.500000 D) 6.000000 考点13 数学算式的C语言表示1、以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子 的C语言表达式是 A) x/y*z B) x*(1/(y*z) C) x/y*1/z D) x/y/z 2、设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式计算结果不相符的是A) (a+b)*h/2 B) (1/2)*(a+b)*h 1/2的结果是0再与任何数相乘都为0 C) (a+b)*h*1/2 D) h/2*(a+b)3、与数学式子对应的C语言表达式是 A) 3*xn/(2*x-1) B) 3*x*n/(2*x-1) C) 3*pow(x,n)*(1/(2*x-1) D) 3*pow(n,x)/(2*x-1) 考点14 scanf函数1、若变量已正确说明为float类型,要通过语句scanf(“%f%f%f ”,&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是: A) 10 B) 10.0,22.0,33.0 22 分隔符必须一至33 C) 10.0 D) 10 22 22.0 33.0 33 2、若有程序 main() int i,j; scanf(i=%d,j=%d,&i,&j); printf(i=%d,j=%dn ,i,j); 要求给i赋10,给j赋20,则应该从键盘输入【i=10,j=20 】。 3、若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是 输入格式必须一至A) scanf(%d%d%d,&a,&b,d); d的指针变量中存的就是c的地址B) scanf(%d%d%d,&a,&b,&d); &d指向指针的指针C) scanf(%d%d%d,a,b,d);D) scanf(%d%d%d,a,b,*d); 4、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); 5、有定义语句:int x, y;,若要通过scanf(%d,%d,&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是A)11 12 B)11, 12C)11,12 D)11,126、已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是 A) scanf(%2d%2d%2d,&i,&j,&k);宽度不匹配B) scanf(%d %d %d,&i,&j,&k); C) scanf(%d,%d,%d,&i,&j,&k); D) scanf(i=%d,j=%d,k=%d,&i,&j,&k); 7、设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是*a是取内容&a取地址A)scanf(%d,pa); B)scanf(%d,a);C)scanf(%d,&pa); D)scanf(%d,*pa);8、执行下列程序时输入:123456789,输出结果是 A) 123,456,789 B) 1,456,789 C) 1,23,456,789 D) 1,23,456 main() char s100; int c, i; scanf(%c,&c); scanf(%d,&i); scanf(%s,s); printf(%c,%d,%s n,c,i,s); %c接收一个字符;%i接收整型数,碰到空格回车,自动结束;%s接收字符串.9、有以下程序main() char a,b,c,d;scanf(%c,%c,%d,%d,&a,&b,&c,&d);printf(%c,%c,%c,%cn,a,b,c,d);若运行时从键盘上输入:6,5,65,66。则输出结果是A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6考点15 printf函数1、有以下语句段 int n1=10,n2=20; printf(【n2=%dnn2=%dn 】,n1.n2);要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。n1=10n2=202、有以下程序main() int a=666,b=888;printf(%dn,a,b);程序运行后的输出结果是A)错误信息 B)666 C)888 D)666,8883、以下程序段的输出结果是 int a=1234; printf(%2dn,a); 当实际宽度超过规定宽度时按实际宽度显示 A) 12 B) 34 C) 1234 D) 提示出错、无结果 4、若定义:int a=511,*b=&a;, 则printf(%dn,*b);的输出结果为 A) 无确定值 B) a的地址 C) 512 D) 511 5、下列程序的运行结果是 A) a=%2,b=%5 B) a=2,b=5 C) a=d, b=d D) a=%d,b=%d main() int a=2,c=5; printf(a=%d,b=%dn,a,c); 考点16 其它输入输出函数1、有以下程序getchar只接收一个字符#include main( ) char ch1,ch2; int n1,n2; ch1=getchar(); ch2=getchar(); n1=ch1-0; n2=n1*10+(ch2-0); printf(%dn,n2); 程序运行时输入:12,执行后输出结果是【 12 】。2、若输入字符串:abcde,则以下while循环体将执行 【 0 】 次。 while(ch=getchar()=e) printf(“*”); 若将= =改为!=则执行4次3、有以下程序: #include main() char c; while(c=getchar()!=?) putchar(-c); 程序运行时,如果从键盘输入:Y?N?,则输出结果为【 X 】。 第一个问号就把后面考点17 if-else 语句1、有如下程序 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); 该程序

温馨提示

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

评论

0/150

提交评论