




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
考试时选择题部分需要涂答题卡,请带2B铅笔考试题型:单项选择: 30*1填空题: 8*2读程序: 6*4程序填空: 3题:7*2编写程序:3题:5+5+6一、单项选择:1. C语言程序的基本单位是 A 。 A. 函数B. 过程 C. 子程序D. 子函数 2C语言规定:在一个源程序中,main函数的位置 D 。A必须在最后B必须在最开始C必须在系统调用的函数的后面 D可以任意3每个C语言程序必须有且只有一个( C)。A、库函数B、空函数C、main函数D、自定义函数4一个C程序的执行是从(A)。A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束5设int a=2,b;则执行b=a & 1;语句后,b的结果是( B)。A、0B、1C、2D、36. 在C语言中,复合语句 C 。A. 必须出现在循环或分支中 B. 必须包含多条语句C. 必须使用将有关语句括起来 D. 以上三种都对7下面正确的字符常量是(C)。A、“c”B、C、WD、8下列C常量中合法的是 B 。 A. 097 B. 5 C. 1e-0.1 D. 10-19. C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符( C )。A)必须为字母 B)必须为下划线C)必须为字母或下划线10. 在C语言中,变量所分配的内存空间大小 C 。A. 均为一个字节 B. 由用户自己定义 C. 由变量的类型决定 D. 任意的11如果在用户的程序中要使用C库函数中的数学函数时,应在该源文件中使用的include命令是(B)。A、#include B、#include C、#include D、#include 12. 在C语言中,要求参加运算的数必须是整数的运算符是 C 。A. / B. !C. % D. = =13设变量a是整型,f是实型,i是双精度型,则表达式10ai*f的值的数据类型为 C 。AfloatBintCdoubleD不确定14. 下列表达式的值为0的是 C 。 A. 35 B. 3/5.0 C. 3/5 D. 3%515设int a=12; ,则执行完语句a*=2+3后,a的值为( A )。A、60B、27C、12D、516逗号表达式(a=3*5,a*4),a+15的值是( C)。A、15B、60C、30D、7517以下能正确地定义整型变量a,b和c并为它们赋初始值5的语句是( A )。A、int a=5, b=5, c=5;B、int a , b , c=5;C、a=5 , b=5 , c=5;D、a=b=c=5;18putchar函数可以向终端输出一个 D 。A字符串B整型变量表达式值C实型变量值D字符或字符型变量值19语句printf (“a=%4d, b=%4dn”, 123, 12345);执行后输出的结果是(D)。(说明:表示空格)A、a=123,b=1234B、a=123,b=12345C、a=123,b=2345D、a=123,b=1234520若有以下程序段:int x1=1, x2=2, x3=3;x3=x1/x2;printf(“%dn”,x3);执行后输出的结果是( C)。A、0.5B、1/2C、0D、321有输入语句:scanf ( a=%d,b=%d,c=%d,&a,&b,&c); ,为使变量a的值为1,b的值为3,c的值为2;从键盘输入数据的正确形式应当是( D )。A、132B、1,3,2C、a=1b=3c=2D、a=1,b=3,c=222C语言用(C )表示逻辑真。At BTrue C非0 D023在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式( B)A、只能用逻辑表达式B、可用任意表达式C、只能用逻辑表达式或关系表达式D、只能用关系表达式24语句if(i) i+;中的条件表达式i等价于( C )。A、i = =0B、i != 1C、i != 0D、 -125设 int x,y,z; 执行语句 x=y=z=0;+x&+y|+z;后,x,y,z的值依次为 B 。 A. 1,0,0 B. 1,1,0 C. 1,0,1 D. 1,1,126. 若有说明:int w=1,x=2,y=3,z=4;则执行下列语句后的m值是 A 。m=(wx)? w:x;m=(my)?m:y; m=(m=A)&(ch=Z)BA=ch=A)&(ch=Z)D(A=ch)29. 执行下面的程序段后,变量 k 的值是 B 。 int k=5; switch(k-) case 4: k+=2; case 5: k+=3; case 6: k+=4; break; default: k+=10; A. 9 B. 11 C. 12 D.1330假设a=1,则执行完下面语句后,a的值为( C )。switch ( a ) case 0: a=a+1; case 1: a=a+2; case 2: a=a+3; break; case 3: a=a+4; break; default: a=a+5;A、1B、3C、6D、1531. 下列循环结构至少能执行一次循环体的是 ( B ) A. while B. do-while C. for D. if-goto32设有程序段则下面描述中正确的是 C 。int k10;while (k=0) kk1;A循环是无限循环Bwhile循环执行10次C循环体语句一次也不执行D循环体语句执行一次33以下程序段 C 。x=-1;do x=x*x; while (!x);A是死循环B循环执行二次C循环执行一次D有语法错误34有以下程序段:int s=0, i=10;do s=s+i;while(i10);循环体执行的次数是( B )。A、0 B、1 C、10 D、无限次35下面程序的运行结果是( B )。#include void main()int a=1,b=10;dob - =a;a+;while(b-0);printf(a=%d,b=%dn,a,b);A、a=3,b=11 B、a=2,b=8 C、a=1,b=-1 D、a=4,b=936执行下面程序段后屏幕的显示结果是 A 。int i=1; while(i) printf(“%d”, i - - ) ;A1 B0 C无显示 D死循环37. 若i为整型变量,则以下循环执行次数是 D 。 for(i=2;i= =0;i+) printf(“%d”,i-); A. 无限次 B. 2次 C. l次 D. O次38执行语句for(i=1; i +4; ); 后变量i的值是 C 。A3B4 C5D不定39对for(表达式1;表达式3)可理解为( B )。A、for(表达式1;0;表达式3)B、for(表达式1;1;表达式3)C、for(表达式1;表达式1;表达式3)D、for(表达式1;表达式3;表达式3)40以下错误的描述是( A)A、break语句和continue语句的作用是一样的B、break语句可用于do while语句C、在循环语句中使用break语句是为了跳出循环,提前结束循环D、在循环语句中使用continue语句是为了结束本次循环,而不终止整个循环41. 以下对一维数组a的正确定义是 D 。A. int n=5; int an ; B. int n; int an ;C. int n; scanf(“%d”,n) ; int an;D#define N 5int aN;42若有定义 int a10; 则下面有问题的赋值语句是( D)。A、a0=0;B、a2*3=2*3C、a9=2.5D、a10=10;43若有整型数组 int a = 2,4,6,8,10,则a4的值为( D )。A、4B、6C、8D、1044若要定义c为23的二维数组,正确的定义语句是(A)。A、float c23B、float c2,3C、float c(2,3)D、float c(2)(3)45. 设 int a4=1,2,3,4,5,6,7,8,9,10;则数组a的第一维的大小是 ( B ) A. 2 B. 3 C. 4 D. 无确定值46以下对二维数组a的正确说明是:CA. float a(3,4) B. int a 3 C. double a24 D. int a(5)(5)47. 下面程序段的显示结果是 C 。static int a34=3,8,9,10,2,5,-3,5,7,0,-1,14;int i, sum=0;for(i=0; i3; i+) sum+=ai2;printf(“%d”, sum);A13 B6 C5 D048已知int a3=0,1,2,3,4,5,6,7;则a21的值是 C 。A B C6 D49有数组定义int num3=0,1,2,3; num有 B 个元素。A3 B6 C9 D不确定50. C程序的函数内 A 。 A. 不可以嵌套定义函数 B. 可以嵌套定义过程 C. 可以嵌套定义函数和过程 D. 可以嵌套定义函数51. C语言规定,函数返回值的类型由_C_。A. return语句中的表达式类型决定。 B. 由调用该函数的函数类型决定。 C由定义函数时指定的函数类型决定。 D. 由调用该函数的表达式形式决定。52. 按照语言规定,以下不正确的是 B 。A实参可以是常量、变量或表达式B. 形参可以是常量、变量或表达式C. 实参可以为任意类型 D. 形参应与其对应的实参类型一致53以下程序的运行结果是( A )。#include void swap(int a, int b)int t;t=a; a=b; b=t;void main( )int i=3, j=5;printf(“%d,%d,”,i,j);swap(i,j);printf(“%d,%dn”,i,j);A、3,5,3,5B、3,5,5,3C、3,3,5,5D、5,5,3,354以下程序的运行结果是( B )。#include void main()int fun(int a,int b);int x=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf(%dn,r);int fun(int a,int b)if(ab) return (a+b);elsereturn(a-b);A、-16 B、-17 C、17 D、1655. 以下叙述不正确的是( D )。A一个C源程序可由一个或多个函数组成B. 一个C源程序必须包含一个main函数C. C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面56. 下面不正确的字符串常量是( A )。 A. abc B.“1212” C.“0” D.“57. 以下表达式值为3的是( B )。A16-13%10 B. 2+3/2C. 14/3-2 D.(2+6)/(12-9)589. 若有代数式3ae/(bc),则不正确的C语言表达式是( C )。A. a/b/c*e*3 B. 3*a*e/b/cC. 3*a*e/b*c D. a*e/c/b*359. 若x、i、j和k都是int型变量,则执行下面表达式后x的值为( C )。x=(i=4,j=16,k=32)A. 4 B. 16 C. 32 D. 5260. 执行表达式a=12,a=a+13,a+20后a的值为( C )。A. 45 B. 12 C. 25 D. 1361. 设 int x=1,y=2, z=3;, 则表达式 x= =z | x+y z 的值是( A ) 。 A0 B1 C2 D362. 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=A+6-3;后,c2中的值为( D )。63. 设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为( C )。A. intB. float C. double D. char64. printf函数中用到格式符5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式( B )。A. 从左起输出该字串,右补空格B. 按原字符长从左向右全部输出C. 右对齐输出该字串,左补空格D. 输出错误信息65. 已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( D )。int a1,a2; char c1,c2;scanf(“%d%d”,&a1,&a2);scanf(“%c%c”,&c1,&c2);A. 1020AB B. 10 20ABC. 10 20 AB D. 10 20AB66. 有输入语句:scanf(“%d%d%d”,&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是( C )。( _ 表示空格) A132B1,3,2C1 3 2Da=1,b=3,c=267. 以下说法正确的是( D )。A. 输入项可以为一实型常量,如scanf(“%f”,3.5);B. 只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);C. 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);D. 当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);68. 若有以下定义,则正确的赋值语句是( B ) 。 int a,b; float x;Aa=1,b=2Bb+;Ca=b=5Db=int (x);69. 以下关于运算符优先顺序的描述中正确的是( C )。A. 关系运算符算术运算符赋值运算符逻辑与运算符B. 逻辑与运算符关系运算符算术运算符赋值运算符C. 赋值运算符逻辑与运算符关系运算符算术运算符D. 算术运算符关系运算符赋值运算符逻辑与运算符70. 表示图中坐标轴上阴影部分的正确表达式是( C )。X a b cA. (x=b)&(x=c)B. (x=a)|(b=x=c)C. (x=b)&(x=c)D. (x=a)&(b=x=c)71. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是( C )。A. A%2=1 B. !(A%2=0) C. !(A%2) D. A%272. 设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是( D )。A x&y B. x=yC x|y+z&y-z D. !(x=y & chx)&(by z);A5B0 C2D175. 以下程序的运行结果是( B )。#include “stdio.h”main()int a,b,d=241;a=d/100%9;b=(-1)&(-1);printf(“%d,%d”,a,b); A. 6,1 B. 2,1 C. 6,0 D. 2,076. 以下if语句语法正确的是( B)。A. if(x0) printf(“%f”,x)else printf(“%f”,-x);B. if(x0) x=x+y; printf(“%f”,x);else printf(“%f”,-x);C. if(x0) x=x+y; printf(“%f”,x);else printf(“%f”,-x);D. if(x0) x=x+y; printf(“%f”,x)else printf(“%f”,-x);77. 以下不正确的if语句形式是( C)。A. if(xy&x!=y); B. if(x=y) x+=y;C. if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y); D. if(xy) z=x; x=y; y=z;A. x=10,y=20,z=30 B. x=20,y=30,z=30C. x=20,y=30,z=10 D. x=20,y=30,z=2078. 设以下变量均为int类型,则值不等于7的表达式是( C)。A. (x=y=6,x+y,x+1)B. (x=y=6,x+y,y+1)C. (x=6,x+1,y=6,x+y)D. (y=6,y+1,x=y,x+1)79. 已知int x=0,y=1.5;执行以下程序段以后,y的值为( D)。if(x!=0)if(x0) y=1;else y=-1;printf(“%d”,y);A. 0 B. -1 C. 1.5 D. 180. 若有条件表达式(exp)?a+:b-,则以下表达式中能完全等价于表达式(exp)的是( B )。 A. (exp=0)B. (exp!=0)C. (exp=1)D. (exp!=1)81. 下面程序段的运行结果是( C )。int n=0;while(n+=2); printf(“%dn”,n); A. 2 B. 3 C. 4 D. 有语法错82. 下面程序段的运行结果是( C )。a=1; b=2; c=1;while(abc) t=a; a=b; b=t; -c;printf(“%d,%d,%d”,a,b,c); A. 1,2,0 B. 2,1,0 C. 1,2,1 D. 2,1,183. 下面有关for循环的正确描述是( D )。A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C. 在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来84. 若i为整型变量,则以下循环执行次数是( B )。for(i=2;i=0;) printf(“%d”,i-); A. 无限次 B. 0次 C. 1次 D. 2次85. 在C语言中,引用数组元素时,其数组下标的数据类型允许是( C )。A. 整型常量 B. 整型表达式C. 整型常量或整型表达式 D. 任何类型的表达式86. 若有说明:int a10;则对a数组元素的正确引用是( D )。A. a10 B. a3.5 C. a(5) D. a10-1087. 对以下说明语句的正确理解是( B )。int a10=6,7,8,9,10;A. 将5个初值依次赋给a1至a5B. 将5个初值依次赋给a0至a4C. 将5个初值依次赋给a6至a10D. 因为数组长度与初值的个数不相同,所以此语句不正确88. 若有说明:int a34=0;则下面正确的叙述是( D )。A. 只有元素a00可得到初值0B. 此说明语句不正确C. 数组a中各元素都可得到初值,但其值不一定为0D. 数组a中每个元素均可得到初值089. 以下正确的说法是( B )。A. 用户若需调用标准库函数,调用前必须重新定义B. 用户可以重新定义标准库函数,若如此,该函数将失去原有含义C. 系统根本不允许用户重新定义标准库函数D. 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调90. 以下正确的说法是( B )。建立函数的目的之一是:A. 提高程序的执行效率 B. 有利于实现程序的模块化设计C. 强化程序功能 D. 减少程序文件所占内存91. 以下正确的函数声明形式是( A )。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);92. 以下正确的说法是( A )。在C语言中:A实参和与其对应的形参各占用独立的存储单元B实参和与其对应的形参共占用一个存储单元C只有当实参和与其对应的形参同名时才共占用存储单元D形参是虚拟的,不占用存储单元93. 若调用一个函数,且此函数中没有return语句,则正确的说法是( A )。A. 该函数没有返回值B. 该函数返回若干个系统默认值C. 该函数能返回一个用户所希望的函数值D. 该函数返回一个不确定的值94. C语言规定,简单变量作为实参时,它和对应形参之间的数据传递方式是( B )。A. 地址传递B. 单向值传递C. 由实参传递给形参,再由形参传回给实参D. 由用户指定传递方式96. 已知函数fun定义如下:则函数调用fun(fun(10) 的值是( C )。int fun(int n) int x; x=n-3; return (x); A10 B7 C4 D1 二、阅读分析下列程序,按指定的格式写出程序运行的结果1以下程序的运行结果是_5,9_。#include void main()int m=5,n=10;printf(%d,%dn,m+,-n);2当a=1、b=3、c=5、d=4时,执行以下程序段后x的值是_2_。if(ab)if(cd) x=1;elseif(ac)if(bd) x=2;else x=3;else x=6;else x=7;3main() 结果: int a=10,b=4,c=3; 10,4,3 if (ab) a=b;if(ac) a=c;printf(“%d,%d,%d”,a,b,c); 4以下程序的输出结果是_ x=5The value of x is unknow _。#include stdio.hmain()int x,y;x=5;switch(x)case 1: case 2: case 3: case 4:printf(x5n); case 5:printf(x=5n,x); default:printf(The value of x is unknow.n);5main() 运行结果 int x=1,a=0,b=0;a=2,b=1switch (x) case 0: b+; case 1: a+; case 2: a+;b+; printf(“a=%d,b=%dn”,a, b);6. main () int m,n,r,bs; printf(输入正整数 m,n=?);scanf(%d,%d,&m,&n); 程序运行时,输入m,n的值分别是8、12 bs=m*n; r=m%n; while (r!=0) m=n; n=r; r=m%n; printf(max gys=%dn,n); max gys=4 printf(min gbs=%dn,bs/n); min gbs=24 7. main() int i,j,s=1;i=11 j=6 s=101for(i=1;i=10;i+) for(j=1;j=5;j+) s=s+2;/* s=s+2 */printf(“i=%dtj=%dts=%dn”,i,j,s); 8. #include “math.h”3 5 7 main ()sum=15 int i,j,s=0; for(i=3;i=10;i+=2) for(j=3;jsqrt(i) s=s+i; printf(“%dt”,i); printf( “nsum=%dn”,s); 9以下程序的输出结果是_ sum=81_ _。#includevoid main( )int a3=36, 25, 20,;(相加) int sum=0; for( i=0 ; i 3 ; i+) sum=sum+ai;printf ( sum=%dn, sum );12.main() int i,j; before sort: int a5= 3, 1,4,7,6; 3 1 4 7 6printf(“ before sort:n”); after sort: for(i=0;i5;i+) 7 6 4 3 1 printf(“ %dt”,ai); printf(“ n”); sort(a,5); printf(“ after sort:n”); for(i=0;i5; i+) printf(“ %dt”,ai); printf(n); sort(int x,int n) int i,j,p,t; for(i=0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉字笔画课件演示
- 辽宁省七校协作体2025-2026学年高三上学期开学考试英语模拟试题(含解析)
- 2025年山西省临汾市中考物理模拟试卷(含答案)
- 3D打印技术与应用知到智慧树答案
- 互联网医疗机构经营模式分析
- 内衣行业市场趋势预测
- 2025双方合作经营教育公司合同范本
- 军事理论-国家安全环境强化版知到智慧树见面课答案
- 汉字书写与鉴赏课件
- 水粉陶罐基础知识培训课件
- TCAPC 016-2024 院外呼吸慢病健康管理规范
- 露天矿山安全知识培训课件
- 《中小企业员工激励机制存在的问题及完善对策研究》4000字
- 第1章 汽车4S店概述
- 呼兰河传完整版课件
- 医疗器械监管实务
- 旅游景区反恐防爆应急预案
- 实验室隐患排查培训
- 浪潮iqt在线测评题及答案
- 中外运社招在线测评题
- GB/T 18802.331-2024低压电涌保护器元件第331部分:金属氧化物压敏电阻(MOV)的性能要求和试验方法
评论
0/150
提交评论