C语言学习知识程序设计集合试题及其规范标准答案解析.doc

上传人:小** 文档编号:2541774 上传时间:2020-04-19 格式:DOC 页数:94 大小:409.52KB
返回 下载 相关 举报
C语言学习知识程序设计集合试题及其规范标准答案解析.doc_第1页
第1页 / 共94页
C语言学习知识程序设计集合试题及其规范标准答案解析.doc_第2页
第2页 / 共94页
点击查看更多>>
资源描述

《C语言学习知识程序设计集合试题及其规范标准答案解析.doc》由会员分享,可在线阅读,更多相关《C语言学习知识程序设计集合试题及其规范标准答案解析.doc(94页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 C C 语言程序设计试题语言程序设计试题 第第 1 1、2 2、3 3 章章 概述、类型、表达式概述、类型、表达式 一、选择题一、选择题 1、一个 C 程序由若干个 C 函数组成,各个函数在文件中的位置顺序为:( ) A、任意 B、第一个函数必须是主函数,其他函数任意 C、必须完全按照执行的顺序排列 D、其他函数可以任意,主函数必须在最后 2、下列四个叙述中,正确的是:( ) A、C 程序中的所有字母都必须小写 B、C 程序中的关键字必须小写,其他标示符不区分大小写 C、C 程序中的所有字母都不区分大小写 D、C 语言中的所有关键字必须小写 3、下列四个叙述中,错误的是:( ) A、一个 C

2、 源程序必须有且只能有一个主函数 B、一个 C 源程序可以有多个函数 C、在 C 源程序中注释说明必须位于语句之后 D、C 源程序的基本结构是函数 4、下面不是 C 语言合法标识符的是:( ) A、abc B、5n C、_4m D、x3 5、以下叙述不正确的是:( ) A. 分号是 C 语句的必要组成部分 B. C 程序的注释可以写在语句的后面 C. 函数是 C 程序的基本单位 D. 主函数的名字不一定非用 main 来表示 6、 C 语言中允许的基本数据类型包括:( ) A. 整型、实型、逻辑型 B. 整型、实型、字符型 C. 整型、字符型、逻辑型 D. 整型、实型、逻辑型、字符型 7、 C

3、 语言中能用八进制表示的数据类型为:( ) A、字符型、整型 B、整形、实型 C、字符型、实型、双精度型 D、字符型、整型、实型、双精度型 8、 下列属于 C 语言合法的字符常数是:( ) A、 97 B、 ”A” C、 t D、 ”0” 9、 在 C 语言(VC 环境)中,5 种基本数据类型的存储空间长度的排列顺序为:( ) A、charint=long int =floatdouble B、char=intlong int =floatdouble C、charintlong int=float=double D、char=int=long int =floatdouble 10、在 C

4、语言中(VC 环境) ,一定是长整型常数的是:( ) A、0L B、4962710 C、0412765 D、0 xa34b7fe 11、若有以下定义语句 char c1=b, c2=e; printf(“%d,%cn”,c2-c1,c2- a+A);则输出结果是:( ) A、2,M B、3,E C、2,E D、输出项与相应的格式控制不一致,输出结果 不确定 12、以下合法的赋值语句是:( ) A、x=y=100 B、d-; C、x + y D、c = int(a+b); 13、设变量 t 为 int 型,下列选项中不正确的赋值语句是:( ) A、+t; B、n1=(n2=(n3=0); C、k

5、=i=m; D、a=b+c=1; 14、在以下一组运算符中,优先级最高的是:( ) A、=10 or a=10 | a=10 后,t 的值为 0 29. ( )若 a 和 b 类型相同,在计算了赋值表达式 a=b 后 b 中的值将放入 a 中,而 b 中的值不 变 30. ( )在 C 程序中,%是只能用于整数运算的运算符 31. ( )在 C 语言中,逻辑“真”等价于不等于 0 的数 32. ( )C 语言中字符型、整型、实型都能用八进制表示 33. ( )在 VC 语言中,5 种基本数据类型的存储空间长度的排列顺序为:charintlong int float5) printf(%d,x)

6、 else printf(%dn,x-); A) 7 和 5 B) 6 和 3 C) 7 和 4 D) 6 和 4 18、若执行下面的程序从键盘输入 3 和 4,则输出是:( ) main() int a,b,s; scanf(%d%d, s=a; if (ac) printf(%dn, d); else if ( (c-1 = d) =1) printf(%dn, d+1); else printf(%dn, d+2); 执行后输出结果是:( ) A)2 B)3 C)4 D)编译时有错,无结果 4. 有以下程序 main() int i=0,s=0; do if (i%2) i+; cont

7、inue; i+; s += i; while( ib?(ac?a:c):(b); A) 5 B) 4 C) 6 D) 不确定 6. 以下程序中,while 循环的循环次数是:( ) main() int i=0; while(i10) if(i1) continue; if(i=5) break; i+; A) 1 B) 10 C) 6 D) 死循环,不能确定次数 7. 以下程序的输出结果是:( ) main( ) int a=0,i; for(i=1;i5;i+) switch(i) case 0: case 3: a+=2; case 1: case 2: a+=3; default:

8、a+=5; printf(%dn,a); A) 31 B) 13 C) 10 D) 20 8. 以下程序的输出结果是:( ) main() int a=4,b=5,c=0,d; d=!a printf(%dn,d); A) 1 B) 0 C) 非 0 的数 D) -1 9. 以下程序的输出结果是:( ) #include main() int i=0,a=0; while(i20) for( ; ; ) if(i%10)=0) break; else i-; i+=11; a+=i; printh(%dn,a); A) 21 B) 32 C) 33 D) 11 10.阅读以下程序:( ) ma

9、in() int x; scanf(%d, if(x-5) printf(%dx); else printf(%dx+); 程序运行后,如果从键盘上输人 5,则输出结果是:( ) A)3 B) 4 C) 5 D) 6 11.假定 w、x、y、z、m 均为 int 型变量,有如下程序段: w=1; x=2; y=3; z=4; m=(wx)?w : x; m=(my)?m : y; m=(mz)?m: z; 则该程序运行后,m 的值是:( ) A) 4 B) 3 C) 2 D) 1 12.以下程序的输出结果是:( ) main() int a, b; for(a=1, b=1; a=10) br

10、eak; if (b%3=1) b+=3; continue; printf(%dn,a); A) 101 B) 6 C) 5 D) 4 13.若执行以下程序时从键盘上输入 9,则输出结果是:( ) main() int n; scanf (%d, if(n+10) printf (%dn,n); else printf(%dn,n-); A) 11 B) 10 C) 9 D) 8 14.有以下程序段 int k=0 while(k=1) k+; 则 while 循环执行的次数是:( ) A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行 1 次 15.以下程序执行后 su

11、m 的值是:( ) main() int i , sum; for(i=1;i6;i+) sum+=i; printf(%dn,sum); A)15 B)14 C) 不确定 D)0 16.有以下程序段 int x=3 do printf (%d,x -=2); while (!(-x); 其输出结果是:( ) A) 1 B) 3 0 C) 1 -2 D) 死循环 17.若变量 c 为 char 类型,能正确判断出 c 为小写字母的表达式是:( ) A) a=c= a)|(c= a) char ch ; while (ch=getchar()!=#) switch (ch ) case a: c

12、ase h: default:v1+; case 0:v2+; printf(“%d,%dn” ,v1,v2); A) 2,0 B)5,0 C) 5,5 D)2,5 24.设有如下定义: int a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=ab) for (i=0;i2;i+) x+; for(j=0;j3;j+) if (j%2) continue; x+; x+; printf(“x=%dn” ,x); A)x=4 B)x=8 C)x=6 D)x=12 26.设 x 和 y 均为 int 型变量,则执行以下的循环后,y 值为:( ) for(y=1,x=1;y5

13、? 8 :9 )后,变量 k 的值为:( ) A. 9 B. 8 C. 15 D. 1 32.以下程序运行后,如果从键盘上输人 5,则输出结果是:( ) main( ) int x; scanf(%d, for(k=2;k6;k+,k+) s=1; for (j=k;j6;j+) s+=j; printf(“%dn”,s); A)9 B)1 C)11 D)10 34.以下程序段的输出是:( ) int i,j,m=0; for (i=1;i=15;i+=4) for (j=3;j=19;j+=4) m+; printf(“%dn”,m); A)12 B)15 C)20 D)25 35.以下程序

14、段的输出结果是:( ) int i, sum; for(i=1;i6;i+) sum+=sum; printf(“%dn”,sum); A)15 B)14 C)不确定 D)0 36.下面程序的输出是:( D ) main() int x=3,y=6,a=0; while (x+!=(y-=1) a+; if (y7) n-; printf(%3d,n); A) 10 9 8 B) 9 8 7 C) 10 9 8 7 D) 9 8 7 6 38.以下程序段的输出结果是:( ) int x=3; do printf(%3d,x-=2; while (!(-x); A) 1 B) 3 0 C) 1

15、-2 D) 死循环 39.执行下面的程序后,a 的值为:( ) main() int a,b; for (a=1,b=1;a=20) break; if (b%3=1) b+=3; continue; b-=5; A) 7 B) 8 C) 9 D) 10 40.读程序: main() int num=0; while (num=2) num+; printf(%3d,num); 上面程序的输出结果是:( ) A) 1 B) 2 2 C) 1 2 3 D) 1 2 3 4 41.以下循环体的执行次数是:( ) main() int i,j; for(i=0,j=1;i=j+1;i+=2,j-)

16、printf(%d n,i); A) 3 B) 2 C) 1 D) 0 42.在 C 语言的循环语句 for,while,do-while 语句中,用于直接中断最内层循环的语句是: ( ) A) switch B) continue C) break D) if 二、判断题:二、判断题: 1. ( )用 1 作 while 循环的判断条件,则循环一次也不执行。 2. ( )for 循环表达式的括号内的 3 个表达式均不可以省略。 3. ( )语句 while(!E);中的条件!E 等价于 E=0。 4. ( )语句 while(E);中的条件 E 等价于 E!=0。 5. ( )若有 for(

17、 ; ; ),是指循环体执行 0 次。 6. ( )程序有死循环的时候,上机编译不能通过。 7. ( )强制终止死循环可以使用 CTRL+BREAK 组合键。 8. ( )执行 for(I=0;I=0) m=a; Dif (a=b;)=0) m=a; 3、 如果不加花括号表示 else 与 if 的配对关系,则 else 与 if 的匹配方法,不正确的是 Aelse 与它上面最远的 if 配对 Belse 与它上面最近的 if 配对 Celse 与离它最近的 if 配对 D.else 与它上面最近的且没有和其他 else 配对的 if 配对 4、 关于条件运算符的叙述正确的是 A条件运算符的优

18、先级别比关系运算符和算术运算符都低 B条件运算符是 C 语言中惟一的一个三目运算符 C条件运算符的结合方向是“自右至左” D条件运算符可以替代任何 if 语句的功能 5、 关于 switch 语句叙述正确的是 A语句中,case 的冒号后面允许没有语句。 Bswitch 语句中,每一个 case 的冒号后面都允许跟有多条语句。 C在与 switch 语句配套的 case 语句中所使用的表达式可以是变量或 常量 Dswitch 语句中,可以没有 default 语句。 6、 在计数循环 for(表达式 1;表达式 2;表达式 3)中,可以省略的表达式是:( ) A表达式 1 B表达式 2 C表达

19、式 3 D三个表达式都可以 E一个都不能少 7、 下列语句段是死循环的是( ) An=100; Bs=33; while(n) n=n%100+1; while(s+%2+s%2) s+; Cfor(;); Dfor(i=1;) if(-i)break; Ex=0; do x+; while(x=0); 第第 7 7 章章 数组数组 一、选择题一、选择题 1、若有以下说明语句: int a12=1,2,3,4,5,6,7,8,9,10,11,12; char c=a,d,g; 则数值为 4 的表达式是:( ) 。 A、ag-c B、a4 C、ad-c D、ad-c 2、假设 int 型变量占两

20、个字节的存储单元,若有定义: int x10=0,2,4; 则数组 x 在内存中所占字节数为:( ) A、3 B、6 C、10 D、20 3、下列合法的数组定义是:( ) A、int a=”string”; B、int a5=0,1,2,3,4,5; C、char a=”string”; D、char a=0,1,2,3,4,5; 4、若给出以下定义: char x=”abcdefg”; char y=a,b,c,d,e,f,g; 则正确的叙述为:( ) A、数组 x 和数组 y 等价 B、数组 x 和数组 y 的长度相同 C、数组 x 的长度大于数组 y 的长度 D、数组 y 的长度大于数组

21、 x 的长度 5、下面程序段的输出结果是:( ) int j; int x33=1,2,3,4,5,6,7,8,9; for (j=0;j3;j+) printf(“%d”,xj2-j); A、1 5 9 B、1 4 7 C、3 5 7 D、3 6 9 6、下列程序运行后的输出结果是:( ) main() int n3,t,j,k; for(t=0;t3;t+) nt=0; k=2; for(t=0;tk;t+) for(j=0;j3;j+) nj=nt+1; printf(“%dn”,n1); A、 2 B、 1 C、 0 D、3 7、有以下程序 main() int p7=11,13,14

22、,15,16,17,18, i=0,k=0; while(i7 i+; printf(%dn, k); 执行后输出结果是:( ) A、58 B、56 C、45 D、24 8、以下能正确定义数组并正确赋初值的语句是:( ) A、int N=5,bNN; B、int a12=1,3; C、int c2= 1,2,3,4; D、int d32=1,2,3,4; 9、有以下程序 main() int m3=1,4,7,2,5,8,3,6,9; int i,j,k=2; for(i=0; i3; i+) printf(%d ,mki); 执行后输出结果是:( C ) A、4 5 6 B、2 5 8 C、

23、3 6 9 D、7 8 9 10、以下能正确定义一维数组的选项是:( ) A、int num; B、int num0.100; C) #define N 100 D) int N=100; int numN; int numN; 11、下列选项中正确的语句组是:( ) A、char s8; s=Beijing; B、char *s; s=Beijing; C、char s8; s=Beijing; D、char *s; s=Beijing; 12、有以下程序段 int a10=1,2,3,4,5,6,7,8,9,10,*p= b=p5; b 中的值是:( ) A、5 B、6 C、8 D、9 1

24、3、有以下程序 main( ) char a=abcdefg,b10=abcdefg; printf(%d %dn,sizeof(a),sizeof(b); 执行后输出结果是:( ) A、7 7 B、8 8 C、8 10 D、10 10 14、有以下程序的输出结果是:( ) void swap1(int c) int t; t=c0;c0=c1;c1=t; void swap2(int c0,int c1) int t; t=c0;c0=c1;c1=t; main( ) int a2=3,5,b2=3,5; swap(a); swap2(b0,b1); printf(%d %d %d %dn,

25、a0,a1,b0,b1); A、5 3 5 3 B、 5 3 3 5 C、3 5 3 5 D、3 5 5 3 15、有以下程序 int f(int b4) int i,j,s=0; for(j=0;j2) i=3-j; s+=bij; return s; main( ) int a44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0; printf(%dn,f(a); 执行后的输出结果是:( ) A、12 B、11 C、18 D、16 16、有以下程序 void sort(int a,int n) in t i,j,t; for(i=0;in-1;i+=2) for(j=i+

26、2;jn;j+=2) if(aiaj) t=ai;ai=aj;aj=t; main() int aa10=1,2,3,4,5,6,7,8,9,10,i; sort(aa,10); for(i=0;i10;i+) printf(%d,aai); printf(n); 其输出结果是:( ) A、1,2,3,4,5,6,7,8,9,10, B、10,9,8,7,6,5,4,3,2,1, C、9,2,7,4,5,6,3,8,1,10, D、1,10,3,8,5,6,7,4,9,2, 17、有以下程序 void f(int a,int i,int j) int t; if(ij) t=ai; ai=aj;aj=t; f(a,i+1,j-1); main( ) int i,aa5=1,2,3,4,5; f(aa,0,4); for(i=0;i5;i+) print

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

当前位置:首页 > 教育专区 > 教案示例

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

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