您的当前位置:首页正文

青岛理工大学C语言期末复习题库

2022-11-25 来源:客趣旅游网
 - - 第1章 程序设计及C语言概述 一、单选题 1)一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是()。 A)有零个或多个输入B)有零个或多个输出 C)有穷性D)可行性 2)以下叙述中正确的是()。 A)C语言的源程序不必通过编译就可以直接运行 B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令 C)C语言源程序经编译形成的二进制代码可以直接运行 D)C语言中的函数不可以单独进行编译 3)用C语言编写的代码程序()。 A)可立即执行B)是一个源程序 C)经过编译即可执行D)经过编译解释才能执行 4)结构化程序由三种基本结构组成,三种基本结构组成的算法()。 A)可以完成任何复杂的任务 B)只能完成部分复杂的任务 C)只能完成符合结构化的任务 D)只能完成一些简单的任务 5)以下叙述中正确的是()。 A)用C程序实现的算法必须要有输入和输出操作 B)用C程序实现的算法可以没有输出但必须要有输入 C)用C程序实现的算法可以没有输入但必须要有输出 D)用C程序实现的算法可以既没有输入也没有输出 第2章 C语言基础 一、单选题 1)假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 1 的表达式是()。 abcA)1/a*b*c B)1/(a*b*c) C)1/a/b/(float)c D)1.0/a/b/c 2)以下能正确定义且赋初值的语句是() A)int n1=n2=10; B)char c=32; C)float f=f+1.1; D)double x=12.3E2.5; 3)以下不能定义为用户标识符的是() A)scanfB)Void C)_3_ D)int 4)设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32+z)后,x的值为() A)4B)16 C)48 D)32 5)设有 int x=11,则表达式(x++ * 1/3)的值是()。 A)3B)4C)11D)12 6)以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子x的C语言表达式是()。 yz- A)x/y*zB)x*(1/(y*z)) C)x/y*1/zD)x/y/z 7)有以下程序 main() { char a1='M', a2='m'; printf(\"%c\\n\以下叙述中正确的是() A)程序输出大写字母M B)程序输出小写字母m C)格式说明符不足,编译出错 D)程序运行时产生出错信息 8)以下程序运行后的输出结果是() main() { char p[]={'a', 'b', 'c'}, q[]=\"abc\"; printf(\"%d %d\\n\ } A)4 4 B)3 3 C)3 4 D)4 3 9)以下叙述中错误的是() A)用户所定义的标识符允许使用关键字 B)用户所定义的标识符应尽量做到“见名知意” C)用户所定义的标识符必须以字母或下划线开头 D)用户定义的标识符中,大、小写字母代表不同标识10)在C语言中,下列属于构造类型的是() A)整型 B)字符型 C)实型 D)数组类型 11)下列字符串属于标识符的是() A)INT B)5_student C)2ong D)!DF 12)C语言中能用来表示整常数的进制是() A)十进制、八进制、十六进制 B)十二进制、十进制 C)六进制、八进制 D)二进制、十进制 13)在C语言中,回车换行符是() A)\\n B)\ C)\\v D)\\b 14)在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码() A)大32 B)大64 C)小32 D)小64 .可修编-

- - 15)设d为字符变量,下列表达式不正确的是()。 A)d=97 B)d='a' C)d=\"a\"D)d='g' 16)设d为字符变量,下列表达式正确的是()。 A)d=678 B)d='a' C)d=\"d\" D)d='gjkl' 17)已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为()。 main() { char x, y; x='0'; y='9'; printf(\"%d,%d\\n\ } A) 因输出格式不合法,输出错误信息 B)48,57 x=1,y=x+3/2的值为()。 A)1 B)2C)2.0D)2.5 29)下列程序的执行结果是()。 #include #define sum 10+20 main() {int b=0,c=0; b=5; c=sum*b; printf(\"%d\} A)100B)110C)70D)150 C)0,9 D)48,58 18)已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为()。 main() { char c='A'; int i=10; c=c+10; i=c%i; printf(\"%c,%d\\n\ } A)75,7 B)75,5 C)K,5 D)因存在非图形字符,无法直接显示出来 19)已知在ASCII集中,字母A的序号为65,下面程序的输出结果为()。 main() { char c1='B', c2='Y'; printf(\"%d,%d\\n\ } A)输出格式不合法,输出错误信息 B)67,88 C)66,89 D)C,X 20)C语言中,运算对象必须是整型数的运算符是() 。 A)% B)\\ C)% 和 \\ D)** 21)下列常数中,合法的C 常量是()。 A)-0. B) '105' C)'AB'D)\"35\" 22)下列常数中,合法的C 常量是()。 A)\"x-y\" B) '105' C)'Be' D)7ff 23)下列常数中,合法的C 常量是()。 A)'\\n'B)e-310 C)'DEF' D)'1234' 24)下列常数中,不合法的C 常量是()。 A)-0x2a B)lg3C)' [' D)\"CHINA\" 25)下列常数中,不合法的C 常量是()。 A)-0x3b B)123e+2.3C)'}' D)6e+7 26)下列符号中,可以作为变量名的是()。 A)+a B)12345e C)a3BD)5e+0 27)下列符号中,可以作为变量名的是()。 A)+c B)*X C)_DAYD)next day 28)若已定义x和y为double类型,则表达式: - 30)下列程序的执行结果是()。 #include #define sum(10+20) mian() {int a=0,b=0,c=0; a=sum; b=5; c=sum*b; printf(\"%d\} A)100B)110C)70D)150 31)表达式(int)2.1416的值为()。 A)2B)2.1C)0D)3 32)表达式(double)(20/3)的值为()。 A)6B)6.0C)2D)3 33)假设所有变量均为整型, 则表达式( a=5,b=2, a++, a+b ) 的值是()。 A)8 B)7 C)6 D)5 34)C语言规定标识符由()等字符组成. A)字母 数字 下划线B)中划线 字母 数字 C)字母 数字 逗号 D)字母 下划线中划线 35)已知ch是字符型变量,下面不正确的赋值语句是()。A)ch='\\0' B)ch='a+b'C)ch='7'+'9' D)ch=7+9 36)若x和y都为float型变量,且x=3.6, y=5.8 执行下列语句后输出结果为()。 printf(\"%f\A)3.600000 B)5.800000 C)3.600000,5.800000 D)输出符号不够,输出不正确值 37)设整型变量a值为9,则下列表达式中使b的值不为4的表达式()。 A)b=a/2 B)b=a%2 C)b=8-(3,a-5) D)b=a>5?4:2 二、填空题 1)写出下列程序段的执行结果 int a, b, c; a=b=c=5; a=++b+(c--); .可修编-

- - 变量a,b,c的值为【1】 2)若有如下程序段: int a=10, b=9, c=8; c=(a-=(b-5)); c=(a%11)+(b=5); 顺序执行上述语句后,变量b的值为【2】 3)设有以下变量定义,并已赋确定的值 char w; int x; float y; double z; 则表达式:w*x+z-y所求得的数据类型为【3】。 4)C语言基本数据类型包括【4】、【5】、【6】、【7】。 5)C语言在定义变量的同时说明变量的【8】,系统在编译时就能根据变量定义及其【9】为它分配相应数量的存储空间。 6)在C语言中,标识符只能由【10】、【11】和【12】三种字符组成,且第一个字符必须【13】或 【14】。 7)实型变量分为【15】和【16】,即float和double型。 8)C语言中规定,在变量定义的同时也可以给变量赋初值,叫做【17】。 9)C的字符串常量是用【18】括起来的字符序列。 10)在C 语言中,系统在每一个字符串的结尾自动加一个“字符串结束标志符”即【19】,以便系统据此数据判断字符串是否结束。 11)下面的程序 mian() {float x; int i; x=3.6; i=(int)x; printf(\"x=%f,i=%d\} 运行结果为【20】。 第3章 顺序结构 一、单选题 1)设x为int型变量,则执行以下语句后,x的值为()。 x=10; x+=x-=x-x; A)10 B)20 C)40 D)30 2)下列可作为C语言赋值语句的是()。 A)x=3,y=5 B)a=b=6 C)i--; D)y=int(x); 3)设x,y,z,t均为int型变量,则执行以下语句后,t的值为()。 x=y=z=1; t=++x||++y&&++z; A)不定值 B) 2 C)1 D)0 4)若以下选项中的变量已正确定义,则正确的赋值语句是()。 A)x1=26.8%3B)1+2=x2 C)x3=0x12; D)x4=1+2=3; 5)设有以下定义 int a=0; double b=1.25; - char c='A'; #define d 2 则下面语句中错误的是()。 A)a++; B)b++; C)c++;D)d++; 6)有以下程序 main() { int x=102, y=012; printf(\"%2d,%2d\\n\ } 执行后输出的结果是()。 A)10,01 B)02,12 C)102,10 D)02,10 7)有以下程序 main() { int m=3, n=4,x; x=-m++; x=x+8/++n; printf(\"%d\\n\ } 程序运行后的输出结果是()。 A)3 B)5 C)-1D)-2 8)有以下程序 main() { char a='a',b; printf(\"%c,\printf(\"%c\\n\ } 程序运行后的输出结果是( )。 A)b,b B)b,cC)a,b D)a,c 9)有以下程序 main() { int m=0256,n=256; printf(\"%o %o\\n\ } 程序运行后的输出结果是( )。 A)0256 0400 B)0256 256 C)256 400 D)400 400 10)有以下程序 main() { char a,b,c,d; scanf(\"%c,%c,%d,%d\printf(\"%c,%c,%c,%c\\n\} 若运行时从键盘上输入:6,5,65,66。则输出结果是()。A)6,5,A,BB)6,5,65,66C)6,5,6,5 D)6,5,6,6 11)数字字符0的ASCII值为48,若有以下程序 main() { char a='1',b='2'; printf(\"%c,\ printf(\"%d\\n\ .可修编-

- - } 程序运行后的输出结果是( )。 A)3,2 B)50,2 C)2,2 D)2,50 12)有以下程序 main() { int m=12,n=34; printf(\"%d%d\printf(\"%d%d\\n\} 程序运行后的输出结果是( )。 A)12353514 B)12353513 C)12343514 D)12343513 13)有以下程序 main() {int m,n,p; scanf(\"m=%dn=%dp=%d\…… } 若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()。 A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 789 14)有以下程序 main() { int a,b,d=25; a=d/10%9; b=a-1; printf(\"%d,%d\\n\} 程序运行后的输出结果是( )。 A)6,1 B)2,1 C)6,0 D)2,0 15)以下叙述中错误的是()。 A)C语句必须以分号结束 B)复合语句在语法上被看作一条语句 C)空语句出现在任何位置都不会影响程序运行 D)赋值表达式末尾加分号就构成赋值语句 16)以下叙述中正确的是()。 A)调用printf函数时,必须要有输出项 B)使用putchar函数时,必须在之前包含头文件stdio.h C)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出 D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码 17)有以下程序 #include main() - { char c1='1',c2='2'; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); } 当运行时输入:a<回车> 后,以下叙述正确的是()。 A)变量c1被赋予字符a,c2被赋予回车符 B)程序将等待用户输入第2个字符 C)变量c1被赋予字符a,c2中仍是原有字符2 D)变量c1被赋予字符a,c2中将无确定值 二、填空题 1)已知字符A的ASCII码值为65,以下语句的输出结果是【1】。 char ch='B'; printf(\"%c %d\\n\ 2)有以下语句段: int n1=10,n2=20; printf(\"【2】\ 要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。 n1=10 n2=20 3)有以下程序: #include \"stdio.h\" main( ) {char ch1,ch2; int n1,n2; ch1=getchar(); ch2=getchar(); n1=ch1-'0'; n2=n1*10+(ch2-'0'); printf(\"%d\\n\ } 程序运行时输入:12<回车>,执行后的输出结果是【3】。 4)以下程序段的输出结果是【4】。 int i=9; printf(\"%o\\n\5)以下程序运行后的输出结果是【5】。 main() {int a,b,c; a=25; b=025; c=0x25; printf(\"%d %d %d\\n',a,b,c); } .可修编-

- - 6)以下程序运行时,若从键盘输入:10 20 30<回车>,输出的结果是【6】。 #include\"stdio.h\" main() { int i=0, j=0, k=0; scanf(\"%d%*d%d\printf(\"%d%d%d\\n\} 7)已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是【7】。 #include\"stdio.h\" main() { char a, b; a=getchar(); scanf(\"%d\a=a-'A'+'0';b=b*2; printf(\"%c %c\\n\} 8)以下程序运行后的输出结果是【8】。 main() {int x=0210; printf(\"%x\\n\ 9)以下程序运行后的输出结果是【9】。 main() {char c; int n=100; float f=10; double x; x=f*=n/=(c=50); printf(\"%d %f\\n\ } 10)已知字母A的ASCII码为65。以下程序运行后的输出结果是【10】 。 main() {char a, b; a='A'+'5'-'3'; b=a+'6'-'2' ; printf(\"%d %c\\n\ a, b); } - 第4章 选择结构 一、单选题 1)若变量c为char类型,能正确判断出c为小写字母的表达式是() A)'a'<=c<='z'B)(c>= 'a')||(c<= 'z') C)('a'<=c)and ('z'>=c) D)(c>= 'a')&&(c<= 'z') 2)设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是( ) A)(!a==1)&&(!b==0)B)(a=10 or a<=0B)a>=0|a<=10 C)a>=10 &&a<=0D)a>=10‖a<=0 4)下列运算符中优先级最高的是()。 A)> B)+ C)&& D)!= 5)以下关于运算符优先级的描述中,正确的是()。 A)!(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算 B)&&(逻辑与)>算术运算>关系运算>赋值运算 C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算 D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或) 6)逻辑运算符的运算对象的数据类型()。 A)只能是0或1 B)只能是.T.或.F. C)只能是整型或字符型 D)任何类型的数据 7)以下程序的运行结果是()。 main( ) { int c, x, y; x=1; y=1; c=0; c=x++||y++; printf(\"\\n%d%d%d\\n\ } A)110 B)211 C)011 D)001 8)以下程序的运行结果是()。 main( ) {int c, x, y; x=0; y=0; c=0; c=x++&&y++; printf(\"\\n%d%d%d\\n\ } A)100 B)211 C)011 D)001 9)判断字符型变量ch为大写字母的表达式是()。 A)'A'<=ch<='Z' B)(ch>='A') & (ch<='Z') .可修编-

- - C)(ch>='A')&&(ch<='Z') D)(ch>='A') AND (ch<='Z') case 1+2:printf(\"* *\\n\"); } 15)以下关于运算符优先顺序的描述正确的是()。 A)关系运算符<算术运算符<赋值运算符<逻辑运算符 B)逻辑运算符<关系运算符<算术运算符<赋值运算符 C)赋值运算符<逻辑运算符<关系运算符<算术运算符 D)算术运算符<关系运算符<赋值运算符<逻辑运算符 10)判断字符型变量ch为小写字母的表达式是()。 A)'a'<=ch<='z' B)(ch>=a) && (ch<=z) C)(ch>='a') || (ch<='z') D)(ch>='a') && (ch<='z') 11)以下if语句书写正确的是()。 A)if(x=0;) B)if(x>0) printf(\"%f\ {x=x+1; printf(\"%f\else printf(\"%f\ else printf(\"%f\C)if(x>0); D)if(x>0) {x=x+1;printf(\"%f\ {x=x+1; printf(\"%f\else printf(\"%f\ else printf(\"%f\12)分析以下程序: main( ) { int x=5, a=0, b=0; if(x=a+b) printf(\"** **\\n\"); else printf(\"## ##\\n\"); } 以上程序()。 A)有语法错,不能通过编译 B)通过编译,但不能连接 C)输出** ** D)输出## ## 13)写出下面程序的执行结果()。 main( ) { int x, y=1; if(y!=0) x=5; printf(\"%d\\ if(y==0) x=3; else x=5; printf(\"%d\\\n\} A)1 3 B)1 5 C)5 3 D)5 14)若有以下变量定义: float x; int a,b; 则正确的switch语句是()。 A)switch(x) {case1.0:printf(\"*\\n\"); case 2.0:printf(\"* *\\n\"); } B)switch(x) {case 1,2:printf(\"*\\n\"); case 3:printf(\"* *\\n\"); } C)switch(a+b) {case 1:printf(\"*\\n\"); case2*a:printf(\"* *\\n\"); } D)switch(a+b) {case 1:printf(\"*\\n\"); - 16)能正确表示a>=10或a<=0的关系表达式是()。 A)a>=10 or a<=0 B)a>=10 | a<=0 C)a>=10 && a<=0 D)a>=10 || a<=0 17)以下不正确的if 语句形式是()。 A)if(x>y && x!=y) ; B)if(x==y) x+=y ; C)if(x!=y) scanf(\"%d\", &x) else scanf(\"%d\", &y); D)if(xy || xz) z=x; x=y; y=z; A)x=50, y=80, z=80 B)x=50, y=30, z=30 C)x=30, y=50, z=80 D)x=80, y=30, z=50 22)已知 int x=30, y=50, z=80;以下语句执行后变量x、y、z的值分别为()。 if(x>y || xz) { z=x; x=y; y=z; } A)x=50, y=80, z=80 B)x=50, y=30, z=30 C)x=30, y=50, z=80 D)x=80, y=30, z=50 23)以下程序的输出结果是()。 main( ) .可修编-

- - {int x=2, y=-1, z=2; if(x=y>=z,应使用C语言表达式()。 A)(x>=y)&&(y>=z) B)(x>=y)AND(y>=z) C)(x>=y>=z) D)(x>=y)&(y>=z) 28)下面程序的输出结果是()。 main() {int x=40, y=4, z=4; x=y==z; printf(\"%d\ x=x==(y-z); printf(\"%d\ } A)4 0 B)4 1 C)1 1 D)1 0 29)若x=3, y=z=4,则下列表达式的值分别为()。 (1)(z>=y>=x)?1:0 (2)z>=y && y>=x A)0 1 B)1 1 C)0 0 D)1 0 30)若x=3, y=z=4,则下列表达式的值分别为()。 (1)(z>=y>=x)?1:0 (2)y+=z,x*=y A)0 24 B)1 8 C)0 8 D)1 12 二、填空题 1)下列程序段执行后,变量k、x、y、z的值依次为【1】 int k, x, y, z; x=y=z=0; k=x++&&y++||++z; 2)以下程序运行后的输出结果是【2】 main() { int a,b,c; a=10; b=20; c=(a%b<1)||(a/b>1); - printf(\"%d %d %d\\n\} 3)以下程序运行后的输出结果是【3】。 main() {int a=1,b=3,c=5; if(c=a+b) printf(\"yes\\n\"); else printf(\"no\\n\"); } 4)若x为int类型,请以最简单的形式写出与逻辑表达式!x等价的C语言关系表达式 【4】。 5)以下程序段的运行结果是【5】。 int x=1,y=0; switch(x) {case 1: switch(y) { case 0:printf(\"x=1 y=0\\n\");break; case 1:printf(\"y=1\\n\");break; } case 2:printf(\"x=2\\n\"); } 6)输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母,则变成大写字母;其它字符不变。请在()填入缺省的容。 main( ) { char ch; scanf(\"%c\ if (【6】) ch=ch+32; else if(ch>='a'&&ch<='z')【7】; printf(\"%c\\n\7)以下程序的运行结果是【8】 main() { int a=2, b=3, c; c=a; if(a>b) c=1; else if(a==b) c=0 ; else c= -1; printf(\"%d\\n\} 8)mian() {int x,y,z; x=3;y=z=4; printf(\"%d\printf(\"%d\} 运行结果为【9】 第5章 循环结构 一、单选题 .可修编-

- - 1)设x和y均为int型变量,则执行以下的循环后,y值为() for(y=1,x=1;y<=50;y++) { if(x==10)break; if(x%2==1) { x+=5; continue;} x-=3; } if(a%2==1){a+=3;continue;} a-=2; } printf(\"%d\\n\ } 程序运行后的输出结果是() 。 A)3 B)4 C)0D)2 7)有以下程序段 int n,t=1,s=0; A)4 B)5C)6 D)7 2)假定a和b为int型变量,则执行以下语句后b的值为()。 a=1; b=10; do { b-=a; a++; } while (b--<0); A)9 B)-2 C)-1 D)8 3)设j为int型变量,则下面for循环语句的执行结果是()。 for( j=10;j>3;j--) { if(j%3)j--; --j; --j; printf(\"%d \} A)6 3 B)7 4 C)6 2 D)7 3 4)有以下程序: main( ) { char k; int i; for(i=1;i<3;i++) {scanf(\"%c\ switch(k) { case '0': printf(\"another\\n\"); case '1': printf(\"number\\n\"); } } } 程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是()。 A. anotherB. anotherC. anotherD. number number number number numberanothernumber 5) 变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是()。 A.) for(i=1,p=1;i<=5;i++) p*=i; B)for(i=1;i<=5;i++){ p=1; p*=i;} C)i=1;p=1;while(i<=5){p*=i; i++;} D)i=1;p=1;do{p*=i; i++; }while(i<=5); 6)有以下程序 main() { int a=1,b; for(b=1;b<=3; b++) { - scanf(\"%d\ do{ s=s+t; t=t-2; }while (t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是() A)任意正奇数 B)任意负偶数 C)任意正偶数 D)任意负奇数 二、填空题 1)有以下程序: main( ) {int t=1,i=5; for(;i>=0;i--) t*=i; printf(\"%d\\n\ } 执行后的输出结果是【1】。 2)以下程序运行后的输出结果是【2】。 main() { int p=11, i=0, j=0; while(i<7 && p%2==1) { j+=p; i++; p=p*i;} printf(\"%d\\n\ } 3)以下程序的功能是计算:s=1+12+123+1234+12345。请填空。 main() { int t=0,s=0,i; for( i=1; i<=5; i++) { t=i+ 【3】; s=s+t; } printf(\"s=%d\\n\ } 第6章 函数 一、单选题 .可修编-

- - 1)有如下函数调用语句 func(recl, rec2+rec3, (rec4,rec5)); 该函数调用语句中,含有的实参个数是()。 A)3 B)4 C)5 D)有语法错误 2)有如下程序 int func(int a, int b) { return(a+b); } main() {int x=2, y=5, z=8, r; r=func(func(x, y), z); printf(\"%d\\n\ } 该程序的输出结果是()。 A)12 B)15 C)14 D)13 3)以下关于函数的叙述中正确的是() A)每个函数都可以被其它函数调用(包括main函数)B)每个函数都可以被单独编译 C)每个函数都可以单独运行 D)在一个函数部可以定义另一个函数 4)在C语言程序中,有关函数的叙述正确的有()。 A)函数的定义可以嵌套,但函数的调用不可以嵌套 B)函数的定义不可以嵌套,但函数的调用可以嵌套 C)函数的定义和调用均不可以嵌套 D)函数的定义和调用均可以嵌套 5)以下程序的输出结果是()。 long fib(int n) {if(n>2) return(fib(n-1)+fib(n-2)); else return(2); } main() {printf(\"%d\\n\A)2 B)6 C)4 D)8 6)下列各函数首部定义正确的是()。 A)void play(var:ineger,var b:integer) B)double play(int a, b) C)float play(int a, int b) D)sub play(a as integer, b as integer) 7)以下程序运行后的输出结果是()。 #define N 20 fun(int a[],int n,int m) { int i,j; for(i=m;i>=n;i--)a[i+1]=a[i]; - } main() {int i,a[N]={1,2,3,4,5,6,7,8,9,10}; fun(a,2,9); for(i=0;i<5;i++)printf(\"%d\ } A)10234 B)12344 C)12334D)12234 8)在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。 A)地址传递B)单向值传递 C)由实参传给形参,再由形参传回实参 D)传递方式由用户指定 9)设有以下函数: f(int a) { int b=0; static int c=3; b++;c++; return(a+b+c); } 如果在下面的程序中调用该函数,则输出结果是()。 main() { int a = 2, i; for(i=0;i<3;i++) printf(\"%d,\} A)7,8,9,B)7,9,11,C)7,10,13, D)7,7,7, 10)以下函数值的类型是()。 fun(float x) { float y; y=3*x-4; return y; } A)int B)不确定C)voidD)float 11)以下函数定义正确的是()。 A) double fun(int x, int y) B) double fun(int x; int y) C) double fun(int x, int y) ; D) double fun(int x ,y) 12)C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是()。 A)地址传递; B)单向值传递; C)双向值传递; D)由用户指定传递方式 13)以下关于C语言程序中函数的说确的是()。 .可修编-

- - A)函数的定义可以嵌套,但函数的调用不可以嵌套; B)函数的定义不可以嵌套,但函数的调用可以嵌套; 该函数调用语句中,含有的实参个数是()。A) 3B) 4 C) 5 D) 有语法错 C)函数的定义和调用均不可以嵌套; D)函数的定义和点用都可以嵌套。 14)以下正确的函数形式是()。 A)double fun(int x,int y) {z=x+y;returnz;} B)fun(int x,y) {int z;return z;} C)fun(x,y) {int x,y; double z; z=x+y; return z;} D)double fun(int x,int y) {double z; z=x+y; return z;} 15)以下说法不正确的是()。 A)实参可以是常量、变量或表达式 B)形参可以是常量、变量或表达式 C)实参可以是任意类型 D)形参应与其对应的实参类型一致 16)C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()。 A)float型B)int 型C)long 型 D)double 型 17)以下错误的描述是()。函数调用可以 A)出现在执行语句中 B)出现在一个表达式中 C)做为一个函数的实参 D)做为一个函数的形参 18)若用数组名作为函数调用的实参,传递给形参的是()。A)数组的首地址B)数组第一个元素的值 C)数组中全部元素的值D)数组元素的个数 19)以下不正确的说法为()。 A)在不同函数中可以使用相同名字的变量 B)形式参数是局部变量 C)在函数定义的变量只在本函数围有效 D)在函数的复合语句中定义的变量在本函数围有效 20)下面程序的正确运行结果是()。 main( ) {int a=2, i; for(i=0; i<3; i++) printf(\"%4d\ } f(int a) { int b=0; static int c=3; b++; c++; return (a+b+c); } A)7 7 7 B)7 10 13C)7 9 11D)7 8 9 21)有如下函数调用语句 func(rec1,rec2+rec3,(rec4,rec5); - 22)有如下程序 int runc(int a,int b) { return(a+b);} main( ) { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(\"%\\d\\n\ } 该程序的输出的结果是()。A) 12 B) 13 C) 14 D) 15 23)有以下程序 main() { char s[]=\"\\n123\\\\\"; printf(\"%d,%d\\n\} 执行后输出结果是()。 A) 赋初值的字符串有错 B) 6,7 C) 5,6 D) 6,6 24)以下对C语言函数的有关描述中,正确的是()。 A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B)C函数既可以嵌套定义又可以递归调用 C) 函数必须有返回值,否则不能使用函数 D) C程序中有调用关系的所有函数必须放在同一个源程序文件中 25)以下函数值的类型是()。 fun(float x) { float y; y= 3*x-4; return y; } A) int B) 不确定 C) void D) float 26)下面程序的输出结果是()。 int m=13; int fun( int x, int y) { int m=3; return( x*y-m); } main( ) {int a=7, b=5; printf(“%d\\n”, fun(a, b)/m); } A)1 B)2 C)7 D)10 27)若有说明语句:static int a[3][4]={0};则下面叙述正确的是()。 A)只有a[0][0]元素可得到初值0; B)数组a中每个元素均可得到初值0。 C)数组a中各元素都可得到初值,但值不一定为0; .可修编-

- - D)此说明语句不正确 28)以下程序的运行结果是()。 main( ) { int a=2, i ; for(i=0;i<3;i++) printf(\"%4d\f(int a) { int b=0, c=3; b++; c++; return(a+b+c); } A)7 10 13 B)7 7 7 C)7 9 11 D)7 8 9 二、填空题 1)以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果。请填空。 int fun( int n) { int m=0,f=1,i; for(i=1; i<=n; i++) { m+= i *f; f=【1】; } return m; } main() { printf(\"m=%d\\n\2)以下程序运行后的输出结果是【2】。 fun(int a) { int b=0; static int c=3; b++;c++; return(a+b+c);} main() { int i,a=5; for(i=0;i<3;i++) printf(\"%d%d\ printf(\"\\n\");} 3)以下程序运行后的输出结果是【3】 void swap(int x,int y) { int t; t=x;x=y;y=t; - printf(\"%d %d \} main() { int a=3, b=4; swap(a, b); printf(\"%d %d\ } 4)以下函数的功能是:求x的y次方,请填空。 double fun( double x, int y) { int i;double z; for(i=1, z=x; i- - for(cc=1;cc<4;cc++) fun();printf(\"\\n\"); } 9)以下程序的输出结果是【10】。 #include void f(int c) { int a=0; static int b=0; a++; b++; printf(\"%d: a=%d, b=%d\\n\} void main() { int i; for(i=1;i<=2;i++)f(i); } 10)以下程序的输出结果是【11】。 #include void increment(void); void main(void) { increment(); increment(); } void increment(void) { static int x=8; x++; printf(\"x = %d\\n\} 11)若有以下程序,执行后输出结果是【12】。 int f(int x,int y) {return ((y-x)*x);} main() { int a=3,b=4,c=5,d; d=f(f(3,4),f(3,5)); printf(\"%d\\n\} 12)下面程序的运行结果是【13】。 func(int a) { int b=0, c=3; b++;c++; return(a+b+c);} main( ) { int a=2,i; for(i=0; i<3; i++) printf(\"%d\第7章 编译预处理 一、单选题 1)有以下程序: #define f(x) x*x main( ) - { int i; i=f(4+4)/f(2+2); printf(\"%d\\n\ } 执行后的输出结果是()。 A)28B)22C)16D)4 2)以下叙述中正确的是()。 A)预处理命令行必须位于源文件的开头 B)在源文件的一行上可以有多条预处理命令 C)宏名必须用大写字母表示 D)宏替换不占用程序的运行时间 二、填空题 1)以下程序运行后的输出结果是【1】。 #define S(x) 4*x*x+1 main() { int i=6,j=8; printf(\"%d\\n\} 2)以下程序运行后的输出结果是【2】。 # define f(x) (x)*(x) main() { int i1, i2; i1=f(10)/f(5) ; i2=f(6+6)/f(3+3) ; printf(\"%d, %d\\n\ } 第8章 数组 一、单选题 1)以下程序程序运行后的输出结果是( )。 #include \"stdio.h\" main() {char p[20]={ 'a', 'b', 'c', 'd'}, q[]={\"abc\char r[]=\"abcde\"; strcpy(p+strlen(q), r); strcat(p, q); printf(\"%d %d\\n\} A)20 9 B)9 9 C)20 11 D)11 11 2)不能把字符串Hello!赋给数组b的语句是( )。 A)char b[10]={'H','e','l','l','o','!'}; B)char b[10];b=\"Hello!\"; C)char b[10];trcpy(b,\"Hello!\"); D)char b[10]=\"Hello!\"; .可修编-

- -

3)执行下面的程序段后,变量k中的值为()。

int k=3,s[2];

s[0]=k; k=s[1]*10;

A)不定值B)33 C)30 D)10 4)以下程序执行后输出结果是()。

main()

{ int x[8]={8,7,6,5, 4, 3},*s; s=x+3;

printf(\"%d\\n\}

A)随机值B)3C)5 D)6 5)以下程序的输出结果是()。 A)18B)19C)20D)21 main()

{ int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0; for(i=1;i<3;i++)

for(j=0;j<=i;j++)s+=a[i][j]; printf(\"%d\\n\}

6)以下程序的输出结果是()。

main()

{ char w[][10]={ \"ABCD\for(k=1;k<3;k++) printf(\"%s\\n\}

A) ABCDB)ABCD

FGH EFG KL IJ M

C)EFG D)EFGH JK IJKL O

7)以下不能正确进行字符串赋初值的语句是()

A)char str[5]=\"good!\";B)char str[]=\"good!\";C)char *str=\"good!\";D)char str[5]={'g','o','o','d'}; 8)给出以下定义:

char x[]=\"abcdefg\";

char y[]={'a','b','c','d','e','f','g'}; 则正确的叙述为

A)数组X和数组Y等价 B)数组x和数组Y的长度相同

C)数组X的长度大于数组Y的长度 D)数组X的长度小于数组Y的长度 9)若有以下说明:

int a[12]={1,2,3,,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是

A)a[g-c] B)a[4]C)a['d'-'c'] D)a['d'-c] 10)执行下面的程序段后,变量k中的值为 - int k=3,s[2]; s[0]=k; k=s[1]*10; A)不定值 B)33 C)30 D)10 11)在C语言中,引用数组元素时,其数组下标的数据类型允许是()。

A)整型常量 B)整型常量或整型表达式 C)整型表达式 D)任何类型的表达式 12)以下对一维整型数组a的正确说明是()

A)int

B)int n=10,a[n];

C)int n; scanf(\"%d\D ) #define SIZE 10 int a[SIZE];

13)以下能对一维数组a进行正确初始化的语句是()。A)int a[10]=(0,0,0,0,0); B)int a[10]={}; C)int a[ ]={0}; D)int a[10]={10*1}; 14)下列定义正确的是()。

A)static int a[]={1, 2, 3, 4, 5} B)int b[1]={2, 5} C)int a(10) D)int 4e[4]

15)设有char str[10],下列语句正确的是()。 A)scanf(\"%s\ B)printf(\"%c\C)printf(\"%s\ D)printf(\"%s\

16)假设array是一个有10个元素的整型数组,则下列写法中正确的是()。

A)array[0]=10 B)array=0

C)array[10]=0 D)array[-1]=0 17)分析下列程序

main()

{int n[3],i,j,k; for(i=0;i<3;i++) n[i]=0; k=2;

for(i=0;i上述程序运行后,输出的结果是()。

A)2 B)1 C)0 D)3 18)若有如下定义:

int a[3][3]={1,2,3,4,5,6,7,8,9},i ; 则下列语句的输出结果是()。

for (i=0; i<=2; i++) printf(\"%d\A)3 5 7 B)3 6 9 C)1 5 9 D)1 4 7 19)下列字符串赋值语句中,不能正确把字符串C program赋给数组的语句是()。

A)char a[]={'C', '', 'p', 'r', 'o', 'g', 'r', 'a', 'm' , '\\0'}; B)char a[10]; strcpy(a, \"C program\");

.可修编-

- - C)char a[10]; a=\"C program\"; D)char a[10]={\"C program\; 20)下面程序的运行结果是()。 char c[5]={ 'a', 'b', '\\0', 'c', '\\0'}; printf(\"%s\A)'a''b' B)ab\\0c\\0 C)ab c D)ab 21)若有如下定义和语句: char s[12]= \"a book!\"; printf(\"%d\则输出结果是()。 A)12 B)10 C)7 D)6 22)若有说明:int a[3][4]={0};则下面正确的叙述是()。 A)只有元素a[0][0]可以得到初值0 B)此说明语句不正确 C)数组a中每个元素均可得到初值0 D)数组a每个元素均可得到初值,但值不一定为0 二、填空题 1)以下程序运行后的输出结果是【1】 main() { int i,n[]={0,0,0,0,0}; for(i=1;i<=4;i++) { n[i]=n[i-1]*2+1; printf(\"%d \ } } 2)以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。 main() { int i,a[20],sum,count; sum=count=0; for(i=0;i<20;i++)scanf(\"%d\【2】); for(i=0;i<20;i++) { if(a[i]>0) { count++;sum+=【3】;} } printf(\"sum=%d,count=%d\\n\} 3)对与数组a[m][n]来说,使用数组的某个元素时,行下标的最大值是【4】,列下标的最大值是【5】。 4)下面程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行3个元素输出数组b。请填空。 main( ) { int a[10], b[10], i for(i=0; i<10; i++) scanf(\"%d\ for(i=1;【6】; i++) b[i]=【7】; for(i=1; i<10; i++) - { printf(\"%3d\ if (【8】) printf(\"\\n\"); } } 5)以下程序是求矩阵a , b的和,结果存入矩阵c中并按矩阵形式输出。请填空 main( ) { int a[3][4]={{ 7, 5, -2, },{1, 0, -3, 4 },{6, 8, 0, 2 }}; int b[3][4]={{ 5, -1, 7, 6 },{-2, 0, 1, 4 },{2, 0, 8, 6}}; int i, j, c[3][4]; for(i=0; i<3; i++ ) for(j=0; j<4; j++ ) c[i][j]=【9】; for(i=0; i<3; i++ ) { for(j=0; j<4; j++ ) printf(\"%3d\【10】; } } 6)下列程序的运行结果是【11】。 main() {int a[]={1,2,3,4},i,j,s=0; j=1; for(i=3;i<=0;i--) {s=s+a[i]*j; j=j*10; } printf(\"s=%d\\n\} 第9章 指针 一、单选题 1)设有如下定义: int arr[]={6,7,8,9,10}; int *ptr; 则下列程序段的输出结果为()。 ptr=arr; *(ptr+2)+=2; printf(\"%d,%d\\n\ A) 8,10 B)6,8 C)7,9 D)6,10 2)执行以下程序段后,m的值为( )。 int a[2][3]={{1,2,3},{4,5,6}}; int m,*p; p=&a[0][0]; m=(*p)*(*(p+2))*(*(p+4)); A)15 B)14 C)13 D)12 3)有以下程序段 char arr[]=\"ABCDE\"; char *ptr; .可修编-

- - for(ptr=arr;ptr=0;i--) sum(&aa[i]); printf(\"%d\\n\ } 执行后的输出结果是( )。 A)4 B)3 C)2D)1 7)以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )。 A)char s[10]=\"abcdefg\";B)char t[]=\"abcdefg\ C)char s[10];s=\"abcdefg\";D)char s[10];strcpy(s,\"abcdefg\"); 8)设有定义语句 int x[6]={2,4,6,8,5,7},*p=x,i; 要求依次输出x数组6个元素中的值,不能完成此操作的语句是( )。 A)for(i=0;i<6;i++) printf(\"%2d\ B)for(i=0;i<6;i++) printf(\"%2d\ C)for(i=0;i<6;i++) printf(\"%2d\ D)for(i=0;i<6;i++) printf(\"%2d\ 9)有以下程序 #include main() {int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL; *q=*(p+5); printf(\"%d %d\\n\} 程序运行后的输出结果是( )。 - A)运行后报错 B)6 6 C)6 11 D)5 10 10)有以下程序 main() {char str[]=\"ChinaBeijing\printf(\"%s\\n\ } 程序运行后的输出结果是( )。 A)China B)Bejing C)ng D)ing 11)有以下程序 void f(int *x,int *y) { int t; t=*x;*x=*y;*y=t; } main() { int a[8]={1,2,3,4,5,6,7,8},i,*p,*q; p=a;q=&a[7]; while(p- - printf(\"%c\ } 程序运行后的输出结果是( )。 A)15 B)16 C)12 D)59 15)有以下程序 point(char *p){p+=3;} main() { char b[4]={'a','b','c','d'},*p=b; point(p);printf(\"%c\\n\ } 程序运行后的输出结果是()。 A)a B)b C)c D)d 16)设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是( )。 A)*p=*q; B)p=q; C)*p=&n1; D)p=*q; 17)若有定义:int x=0, *p=&x;,则语句printf(\"%d\\n\的输出结果是()。 A)随机值 B)0 C)x的地址 D)p的地址 18)有以下程序 main() {int a=7,b=8,*p,*q,*r; p=&a;q=&b; r=p; p=q;q=r; printf(\"%d,%d,%d,%d\\n\} 程序运行后的输出结果是( )。 A)8,7,8,7 B)7,8,7,8C)8,7,7,8D)7,8,8,7 第10章 结构体与共用体 一、单选题 1)以下选项中不能正确把cl定义成结构体变量的是()A)typedef struct B)struct color cl { int red; { int red; int green; int green; int blue; int blue; } COLOR; }; COLOR cl; C)struct color D)struct { int red; { int red; int green;int green; int blue;int blue; } cl; } cl; 2)在VC++编译环境下,如下定义的变量a所占存字节数是() union U - { char st[4]; int i; long l; }; struct a { int c; union U u; }a; A)4 B)5 C)6 D)8 3)下列程序段执行后的结果为() main() {union { char c[2]; int k; }r; r.c[0]= '4'; r.c[1]= '5'; r.k=34; printf(\"%d,%d,%d\\n\} A)34,3,4 B)45,4,5 C)34,34,0 D)34,34,34 4)设有以下定义: struct sk {int a; float b;} data,*p; 若有“p=&data;”,则对data中的a域的正确引用是()。A)(*p).data.a B)(*p).a C)p->data.a D)p.data.a 5)下列程序的输出结果是() A)5B)6 C)7D)8 struct abc { int a, b, c; }; main() { struct abc s[2]={{1,2,3},{4,5,6}};int t; t=s[0].a+s[1].b; printf(\"%d\\n\} 6)设有如下定义: struct sk {int a; float b; }data; int *p; 若要使p指向data中的a域,正确的赋值语句是() A)p=&a; B)p=data.a; C)p=&data.a;D)*p=data.a 7)在说明一个结构体变量时系统分配给它的存储空间是()。 A)该结构体中第一个成员所需存储空间 .可修编-

- - B)该结构体中最后一个成员所需存储空间 C)该结构体中占用最大存储空间的成员所需存储空间 定义,能输出字母M的语句是()。 A)prinft(\"%c\\n\ D)该结构体中所有成员所需存储空间的总和 8)若有以下说明和语句: struct worker { int no; char﹡name; }work,﹡p=&work; 则以下引用方式不正确的是() A)work.no B)(﹡p).no C)p->noD)work->no 9)有如下定义: struct date{ int year, month, day; }; struct worklist{ char name[20]; char sex; struct date birthday; }person; 对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是() A)year=1958B)birthday.year=1958 C)person.birthday.year=1958 D)person.year=1958 10)以下对结构体类型变量的定义中不正确的是()。 A)#define STUDENT struct student B)struct student STUDENT { int num; { int num; float age; float age; }std1; }std1; C)struct D)struct { int num; { int num; float age; float age;} student; }std1; struct student std1; 11)设有以下说明语句 struct stu { int a; float b;}stutype; 则下面的叙述不正确的是() A)struct是结构体类型的关键字 B)struct stu是用户定义的结构体类型 C)stutype是用户定义的结构体类型名 D)a和b都是结构体成员名 12)在VC++编译环境下,以下程序的运行结果是()。 #include main( ) { struct date { int year, month, day; }today; printf(\"%d\\n\A)6 B)8 C)10 D)12 13)有如下定义 struct person{char name[9]; int age;}; struct person class[10]={ \"Johu\, \"Mary\根据上述- B)pfintf(\"%c\\n\ C)prinft(\"%c\\n\ D)printf(\"%c\\n\",class[2].name[0]); 14)设有如下定义 struct ss { char name[10]; int age; char sex; } std[3], *p=std; 下面各输入语句中错误的是()。 A)scanf(\"%d\B)scanf(\"%s\ C)scanf(\"%c\D)scanf(\"%c\15)设有以下说明语句,则下面的叙述中不正确的是()。 struct ex{int x;float y;char z;} example; A)struct结构体类型的关键字 B)example是结构体类型 C)x,y,z都是结构体成员名 D)struct ex是结构体类型 二、填空题 1)有如下定义: struct{int x; int y; }s[2]={{1,2},{3,4}},﹡p=s; 则表达式 ++p->x 的结果是【1】。表达式 (++p)->x 的结果是【2】。 2)在VC++编译环境下,设有以下结构类型说明和变量定义,则变量a在存所占字节数是【3】。 struct stud { char num[6]; int s[4]; double ave; } a,*p; 3)以下程序的运行结果是【4】。 struct n{int x; char c;}; main( ) { struct n a={10, 'x '}; func(a); printf (\"%d,%c\func(struct n b) {b.x=20; b.c= 'y '; } 4)以下程序的运行结果是【5】。 main( ) { struct EXAMPLE{ struct {int x; int y; }in; inta; int b;}e; e.a=1; e.b=2; e.in.x=e.a*e.b; e.in.y=e.a + e.b; printf(\"%d,%d\第11章 位运算 .可修编-

- - 一、单选题 1)有以下程序: main( ) { unsigned char a,b; a=4|3; b=4&3; printf(\"%d %d\\n\ } 执行后的输出结果是( )。 A)7 0 B)0 7 C)1 1 D)43 0 2)以下程序的功能是进行位运算 main() {unsigned char a, b; a=7^3; b= ~4 & 3; printf(\"%d %d\\n\ } 程序运行后的输出结果是( )。 A)4 3 B)7 3 C)7 0 D)4 0 二、填空题 1)以下程序运行后的输出结果是【1】。 main() { short a=10,b=20,c; a=a>>2; b=b&4; c=a|b; printf(\"%d %d %d\\n\} 第12章 数据文件 一、单选题 1)下述关于C语言文件的操作的结论中,正确的是()。A)对文件操作必须先关闭文件 B)对文件操作必须先打开文件 C)对文件操作顺序无要求 D)对文件操作前必须先测文件是否存在,然后再打开文件。2)若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是() A)EOF B)0 C)非零值D)NULL 3)如果要打开一个已经存在的非空文件\"FILE\"进行修改,正确的打开语句是( )。 A)fp=fopen(\"FILE\)fp=fopen(\"FILE\C)fp=fopen(\"FILE\ D)fp=fopen(\"FILE\4)当已存在一个abc.txt文件时,执行函数fopen (“abc.txt”, “r++”)的功能是()。 A)打开abc.txt文件,清除原有的容 B)打开abc.txt文件,只能写入新的容 - C)打开abc.txt文件,只能读取原有容 D)打开abc.txt文件,可以读取和写入新的容 5)以下叙述中不正确的是()。 A)C语言中的文本文件以ASCII码形式存储数据 B)C语言中对二进制位的访问速度比文本文件快 C) C语言中,随机读写方式不使用于文本文件 D) C语言中,顺序读写方式不使用于二进制文件 6)以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。 #include main() { FILE *fout; char ch; fout=fopen('abc.txt', 'w'); ch=fgetc(stdin); while(ch!='#') { fputc(ch, fout); ch =fgetc(stdin); } fclose(fout); } 出错的原因是()。A) 函数fopen调用形式有误 B) 输入文件没有关闭 C) 函数fgetc调用形式有误 D) 文件指针stdin没有定义 二、填空题 1)C语言中根据数据的组织形式,把文件分为【1】和【2】两种。 2)feof(fp)函数用来判断文件是否结束,如果遇到文件结束,函数值为【3】,否则为【4】。 .可修编-

- - 答案: 第1章 一、单选题 1~5:BBBAC 第2章 一、单选题 1 ~ 5:DBDCA 6~10:ABCAD 11~15:AAAAC 16~20:BBCBA 21~25:DAABB 26~30:CCCBD 31~35:ABAAB 36~37:BB 二、填空题 【1】11 6 4 【2】5 【3】double 【4】整型 【5】字符型 【6】实型 【7】枚举类型 【8】数据类型 【9】数据类型 【10】字母 【11】数字【12】下划线【13】字母【14】下划线 【15】单精度 【16】双精度 【17】变量初始化 【18】双引号 【19】’\\0’ 【20】x=3.600000,i=3 第3章 一、单选题 1 ~ 5:BCCCD 6~10:CDACA 11~15:CAABC 16~17:BA 二、填空题 【1】B 66 【2】n1=%d\\nn2=%d\\n 【3】12 【4】11 【5】25 21 37 【6】10030 【7】1 B【8】88 【9】2 20.000000 【10】67 G 第4章 一、单选题 1 ~ 5:DADBA 6~10:DBACD 11~15:BDDDC 16~20:DCADA 21~25:ACBDD 26~30:BADAA 二、填空题 【1】1 1 0 1 【2】10 20 0 【3】yes【4】x==0 【5】 x=1 y=0 x=2 - 【6】ch>=A’ && c<=’Z’ 【7】ch=ch-32 【8】-1 【9】01 第5章 一、单选题 1 ~ 5:CDBCB 6~7:CD 二、填空题 【1】0 【2】22 【3】t*10 第6章 一、单选题 1 ~ 5:ABBBC 6~10:CCBAA 11~15:ABBDB 16~20:BDADD 21~25:ADCAA 26~28:BBB 二、填空题 【1】–f 【2】0 101 112 12 【3】4 3 3 4 【4】x 【5】void fun(double b[ ]) 或void fun(double *b) 【6】j 【7】str[j-1] 【8】A+B=9【9】246 【10】1:a=1,b=1 2:a=1,b=2 【11】x=9 x=10 【12】9 【13】777 第7章 一、单选题 1 ~ 2:AD 二、填空题 【1】81 【2】100, 144 第8章 一、单选题 1 ~ 5:CBABA 6~10:DACDA 11~15:BDCAD 16~20:ADACD 21~22:CC 二、填空题 【1】1 3 7 15 【2】&a[i] 或 a+i 【3】a[i] 或 *(a+i) 【4】m-1 【5】n-1 【6】i<10 【7】a[i]-a[i-1] 【8】i%3= =0 【9】a[i][j]+b[i][j] 【10】printf(“\\n”) 【11】s=0第9章 一、单选题 1 ~ 5:DADAC 6~10:ACDAC 11~15:DDDAA 16~18:ABC 第10章 一、单选题 1 ~ 5:BDCBB 6~10:CDDCD 11~15:CDDBB 二、填空题 .可修编-

- -

【1】2 【2】3

【3】30【4】10,x 【5】2,3 第11章 一、单选题 1 ~ 2:AA 二、填空题 【1】2 4 6 第12章 一、单选题

1 ~ 6:BCDDDA 二、填空题

【1】文本文件 【2】二进制文件 【3】非零值 - 【4】0

.可修编-

因篇幅问题不能全部显示,请点此查看更多更全内容