




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、单项选择题(每小题2分,共40分)二、填空题(每空2分,共20分)三、程序填空题(每小题5分,共20分)四、编程题(每小题10分,共20分)1、C语言源程序文件经过C编译程序编译连接之后生成一个后缀为( C )的文件。A.”.c” B.“.obj” C.“.exe” D.“.bas” 2、以下叙述不正确的是( C )。A. 一个C源程序可由一个或多个函数组成B. 一个C源程序必须包含一个main函数C. 在C程序中,一行只能写一个语句D. 在C程序中,注释说明对程序功能不产生影响3、一个C语言程序是由( B )。A.一个主程序和若干子程序组成 B. 函数组成C.若干过程组成 D. 若干子程序组成4、用C语言编写的代码程序( B )。A.可立即执行 B. 是一个源程序C.经过编译即可执行 D. 经过编译解释才能执行 5、一个C语言源程序只有一个函数,那么这个函数的名称为( C )。A.math B.stdio C.main D.abs 6、以下不正确的C语言标识符是( A )。A. void B. a3_b3 C. ablexe D. _x7、以下选项中属于C语言的数据类型是( C )。A. 复数型 B. 逻辑型 C. 双精度型 D. 集合型8、若有说明和语句:int a=5; a+; 则此处表达式a+的值是( C )。A.7 B.6 C.5 D.49、在C语言中,以下叙述不正确的是( A )。A. 在C程序中,无论是整数还是实数,都能被准确无误的表示B. 在C程序中,变量名代表存储器中的一个位置C. C语言中的变量名只能由字母,数字和下划线三种字符组成D. C语言中变量必须先定义后引用10、设以下变量均为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) 11、与数学式对应的C语言表达式是( 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)12、若x和y都是int型变量,x=100,y=200,程序片段:printf(%d,(x,y);的输出结果是( A )。A. 200 B. 100C. 100 200 D. 输出格式符不够,输出不确定的值13、以下程序的输出结果是( D )。#includevoid main()int a=12, b=12;printf(%d,%dn,-a,+b);A. 10,10 B. 12,12 C. 11,10 D. 11,1314、若有定义: int a=7; float x=2.5,y=4.7; 则表达式“ x+a%3*(int)(x+y)%2/4 ”的值是( A )。A. 2.500000 B. 2.750000 C. 3.500000 D. 0.00000015、字符(char)型数据在微机内存中的存储形式是( D )。A. 反码 B. 补码 C. EBCDIC码 D. ASCII码16、已知i,j,k为int变量,若从键盘输入1,2,3,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是( C )。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);17、为表示关系xyz,应使用C语言表达式( A )。 A. (x=y)&(y=z) B. (x=y)AND(y=z)C. (x=y=z) D. (x=y) & (y=z)18、C语言中while 和do-while 循环的主要区别是( A )。A. do-while的循环体至少无条件执行一次B. while 的循环控制条件比do-while 的循环控制条件严格C. do-while 允许从外部转到循环体内D. do-while 的循环体不能是复合语句19、对于某个函数调用,不用给出被调用函数的原型的情况是( C )。A. 被调用函数是无参函数 B. 被调用函数是无返回值函数C. 函数的定义在调用处之前 D. 函数的定义在其他程序文件中20、有如下函数调用语func(rec1,rec2+rec3,rec4,rec5);该函数调用语句中,含有的实参个数是( B )。A. 3 B. 4 C. 5 D. 有语法错误21、一个C语言的执行是从( C )。A. 本程序的主函数开始,到本程序的主函数结束B. 本程序的第一个函数开始,到本程序的最后一个函数结束C. 本程序的主函数开始,到本程序的最后一个函数结束D. 本程序的第一个函数开始,到本程序的主函数结束 22、C语言程序的基本单位是( C )。A. 程序行 B. 语句 C. 函数 D. 字符23、一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是( B )。A. 有零个或多个输入 B. 有零个或多个输出 C. 有穷性 D. 有效性24、以下叙述中正确的是( C )。A. C语言比其他语言高级 B. C语言可以不用编译就能被计算机识别执行C. C语言以接近自然语言和数学语言作为语言的表达形式 D. C语言出现的最晚,具有其他高级语言的一切优点25、C语言源程序文件经过C编译程序编译之后生成一个后缀为( B )的文件。A.”.c” B.“.obj” C.“.exe” D.“.bas” 26、C语言提供的合法的数据类型关键字是( B )。A.Double B. short C. integer D. Char27、可用作用户标识符的选项是( B )。A. 2a B. CaseC. void D. -abc 28、以下不正确的叙述是( D )。A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,TOTAL和Total是两个不同的变量 C. 在C程序中,%是只能用于整数运算的运算符 D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值29、若变量a是int类型,并执行了语句 “a=A+1.6;” ,则正确的叙述是( D )。A. a的值是字符C B. a的值是浮点型 C. 不允许字符型和浮点型相加 D. a的值是字符A的ASCII值加上130、表达式( C )的值是0。A.3%5 B.3/5.0 C.3/5 D.30|y0) 等价于( D )。A.!x0|!y0 B.!(x0)|!(y0) C.!x0&!y0 D.!(x0)&!(y0) 32、设有如下定义: int x=10,y=3,z则语句 printf(%dn,z=(x%y,x/y);的输出结果是( D )。A. 1 B. 0 C. 4 D. 333、阅读下面的程序#includevoid main() int i,j,m,n; i=8;j=10; m=+i; n=j+; printf(%d,%d,%d,%d,i,j,m,n); 程序的运行结果是( C )。A. 8,10,8,10 B. 9,11,8,10 C. 9,11,9,10 D. 9,10,9,1134、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是( D )。A. 0 B. 2 C. 1.5 D. 135、下列运算符中,优先级从高到低依次为( D )。A. &,!,| B. |,&,! C. &,|,! D. !,&,|36、执行语句 printf(” ”, 2); 将得到出错信息。( D )A. %d B. %o C. %x D. %f37、能正确表示a和b同时为正或同时为负的逻辑表达式是( D )。A.(a=0|b=0)&(a0|b=0&b=0)&(a0&b0)&(a+b038、对下面程序段描述正确的是( B )。 int x=0,s=0; while (!x!=0) s+=+x; printf(%d,s);A. 运行程序段后输出0B. 运行程序段后输出1C. 程序段中的控制表达式是非法的D. 程序段循环无数次39、C语言中规定函数的返回值的类型是由( D )。A. return语句中的表达式类型所决定B. 调用该函数时的主调用函数类型所决定C. 调用该函数时系统临时决定D. 在定义该函数时所指定的类型所决定40、以下函数调用语句func(exp1,exp2),(exp3,exp4,exp5);中含有实参个数为( B )。 A. 1个 B. 2个 C. 4个 D. 5个41、以下说法中正确的是( C )。A. C语言程序总是从第一个函数开始执行 B. C语言程序中,要调用的函数必须在main函数中定义 C. C语言程序总是从main函数开始执行 D. C语言程序中的main函数必须放在程序的开始部分 42、用C语言编写的程序( B )。A. 可立即执行 B. 是一个源程序 C. 经过编译即可执行 D. 经过编译解释才能执行43、C编译程序是( A )。A.将C源程序编译成目标程序的程序 B. 一组机器语言指令C.将C源程序编译成应用软件的程序 D. C程序的机器语言版本 44、以下选项中不是C语句的是( C )。A. int i ; i+; printf(“%dn”,i); B. ;C. a=5,c=10 D. ; 45、通过文字编辑建立的C语言源程序文件的扩展名是 ( A )。A.”.c” B.“.obj” C.“.exe” D.“.bas” 46、以下选项中合法的用户标识符是( B )。A. n B. _2TestC. 3Dmax D. A.dat47、以下选项中合法的实型常数是( C )。A. 5E2.0 B. E-3 C. .2E0 D. 1.3E48、以下能正确地定义整型变量a、b和c并为其赋初值5的语句是( C )。A. int a=b=c=5,B. int a,b,c=5; C. int a=5,b=5,c=5; D. a=b=c=5;49、下列关于单目运算符+、-的叙述中正确的是( D )。A. 它们的运算对象可以是任何变量和常量B. 它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C. 它们的运算对象可以是int型变量,但不能是double型变量和float型变量 D. 它们的运算对象可以是char型变量、int型变量和float型变量50、设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=32)后,x的值为( C )。A.4 B.16 C.32 D.5251、设有定义int x=11;,则表达式(x+*1/3)的值是( A )。A.3 B.4 C.11 D.1252、执行下面程序中的输出语句后,输出结果是( B )。#includevoid main()int a; printf(%dn,(a=3*5,a*4,a+5);A.65 B.20 C.15 D. 1053、设有如下程序: #include void main() int y=3,x=3,z=1; printf(“%d %dn”,(+x,y+),z+2); 则运行该程序的输出结果是( D )。A. 3 4 B. 4 2C. 4 3 D. 3 3 54、已知有double型变量x=2.5,y=4.7,整型变量a=7,则表达式 x+a%3*(int)(x+y)%2/4 的值是( B )。A. 2.4 B. 2.5 C. 2.75 D. 055、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句 “c2=A+6-3 ; ”后,c2中的值为( A )。A. D B. 68 C. 不确定的值 D. C56、若变量已正确定义,执行语句scanf(%d %d %d ,&k1,&k2,&k3);时,( B )是正确的输入。 A. 2030,40 B. 20 30 40 C. 20, 30 40 D. 20, 30,4057、能正确表示“当x的取值在1,100和200,300范围内为真,否则为假”的表达式是( C )。A. (x=1)&(x=200)&(x=1)|(x=200)|(x=1)&(x=200)&(x=1)|(x=200)|(x=300)58、下面有关for循环的正确描述是( D )。A. for循环只能用于循环次数已经确定的情况。B. for循环是先执行循环体语句,后判断表达式。C.在for循环中,不能用break语句跳出循环体。D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来。59、以下对C语言函数的有关描述中,正确的是( A )。 A. 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B. C函数既可以嵌套定义又可以递归调用C. 函数必须有返回值,否则不能使用函数D. C程序中有调用关系的所有函数必须放在同一个源程序文件中60、函数定义中void的含义是( A )。A. 执行函数后,函数没有返回值 B. 执行函数后,函数不再返回C. 执行函数后,可以返回任意类型 D. 执行函数后,函数返回不确定值1、设a为整型变量,正确表达数学关系10a10&a15 。2、已知a=12,则表达式a-=a的结果是 0 。3、代数式的C语言表达式是 。4、执行程序段:x= -1;dox=x*x;while(!x);结果是循环执行 1 次 。5、运行下面程序时,若从键盘输入3,5,则程序的输出结果是 xy 。 #include void main( ) int x,y; scanf(%d,%d,&x,&y); if (x=y) printf(x=y); else if (xy) printf(xy); else printf(xy); 6、运行下面程序时,从键盘输入2.0,则输出结果是 0.500000(0.5) 。 #include void main( ) float a,b; scanf(%f,&a); if (a0.0) b=0.0; else if (a0.5) & (a!=2.0) b=1.0/(a+2.0); else if (a10.0) b=1.0/2; else b=10.0; printf(%fn,b); 7、以下程序的执行结果是 first third 。 #include void main( ) int x=1,y=0; switch (x) case 1: switch (y) case 0:printf(firstn);break; case 1:printf(secondn);break; case 2:printf(thirdn); 8、下面程序的输出结果是 #*#*# 。 #include void main( ) int i; for(i=1;i0 。12、设有以下语句:int x=10;x+=3+x%(3),则x的值是 14 。13、条件20x30或x20)&(x30)/x-100 。14、运行下面程序时,若从键盘输入数据为6,5,7,则输出结果是 7 。 #include void main( ) int a,b,c; scanf(%d,%d,%d,&a,&b,&c); if (ab) if (ac) printf(%dn,a); else printf(%dn,c); else if (bc) printf(%dn,b); else printf(%dn,c); 15、执行下面程序后,运行结果是 41 。 #include void main( ) int x=41,y=1; if (x%3=0 & x%7=0) y+=x;printf(y=%dn,y); else y=x;printf(y=%d,y); 16、执行如下程序,该程序的输出结果是 a=2,b=1 。 #include void main( ) int x=1,a=0,b=0; switch(x) case 0: b+; case 1: a+; case 2: a+;b+; printf(a=%d,b=%dn,a,b); 17、下面程序段的运行结果是 123 。 int n=0; while (n+=2) printf(%d,n);18、以下程序段的输出结果是 8 。int k,n,m;n=10;m=1;k=1;while (k=n) m*=2;k+=4;printf(%dn,m);19、有如下说明: int a10=0,1,2,3,4,5,6,7,8,9;则表达式a9-0的结果是 9 。20、以下程序输出的结果是 54321 。#include void main( ) int a =5,4,3,2,1,i,j; long s=0; for(i=0;i=y)&(y=z) 。 22、设 int a=12,则执行完语句a-=a*a后,a的值是 -132 。23、若变量c为char类型,能正确判断出c为小写字母的表达式是 (cz)&(cz) 。24、执行下面程序时,若从键盘输入2,则程序的运行结果是 2 。 #include void main( ) int k; char cp; cp=getchar( ); if (cp=0 & cp=a & cp=f) k=cp-a+10; else k=cp-A+10; printf(%dn,k); 25、下列程序执行后的输出结果是 6*5=300 。 #include void main( ) int a=5,b=60,c; if (ab) c=a*b;printf(%d*%d=%dn,b,a,c); else c=b/a;printf(%d/%d=%dn,b,a,c); 26、运行下面程序时,从键盘输入字母H,则输出结果是 Hello。 #include void main( ) char ch; ch=getchar( ); switch(ch) case H:printf(Hello!n);break; case G:printf(Good morning!n);break; default:printf(Bye_Bye!n); 27、执行下面程序段后,k的值为 36 。#includevoid main() int k=1,n=263; do k*=n%10; n/=10; while(n); printf(“%dn”,k);28、执行以下程序段后,m的值为 20 。 int i,j,m=0; for(i=1;i=15;i+=4) for(j=3;j=19;j+=4) m+; printf(%dn,m);29、在定义int a56;后,数组a中的第10个元素是 a13 。(设a00为第一个元素)30、以下程序输出的结果是 s=12345 。#include void main( ) int a =1,2,3,4,5,i,j,s=0; for(i=0;i5;i+) s=s*10+ai; printf(s=%dn,s); 31、下面程序的功能是计算1到10之间奇数之和及偶数之和,请填空。 #include void main()int a,b,c,i;a=0;c=0;for ( i=2; i=10;i+=2 ) a+=i; b= i-1; c+=b;printf(“偶数之和=%d,奇数之和=%dn”,a,c);32、下面程序是计算n个数的平均值,请填空。#include void main( ) int i,n; float x,avg=0.0; scanf(%d,&n); for(i=0;in;i+) scanf(%f,&x); avg= avg+x ; avg= avg/n ; printf(avg=%fn,avg); 33、输出100200之间既不能被3整除也不能被7整除的整数并统计这些整数的个数,要求每行输出8个数。#include #include #include #include void main() int i; int n=0; for(i=100;i=200;i+) if( i%3!=0&i%7!=0 ) if(n%8=0) printf(n); printf(%6d,i); n+ ; printf(nNumbers are: %dn,n);34、统计整数n的各个位上出现数字1、2、3的次数.例如,当n=123114350时,结果应该为:c1=3 c2=1 c3=2。#include main() int n=123114350;int c1,c2,c3;c1 = c2 = c3 = 0;int t;while (n) t=n % 10; switch(_ t ) case 1: c1+; break; case 2: c2+;break ; case 3: c3+; n=n/10 ; printf(nn=%d c1=%d c2=%d c3=%dn,n,c1,c2,c3); 35、求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注意:圆面积公式为:S=3.14159*r*r,在程序中定义的变量名要与公式的变量相同)。例如,输入圆的半径值:2.5,输出为s=9.817469。#include main() _float x; printf ( Enter x: ); scanf ( %f, _&x_);x=3.14159 * x*x/2.0 ; printf ( %f , x ); 36、以下函数的功能是:求x的y次方,请填空。 #include void main() int i,x,y; double z;scanf(%d %d,&x,&y); z=x; for ( i=1;iy;i+) z= z*x ; printf(xy=%en,z); 37、输入一个百分制成绩,打印出五级记分成绩。考试成绩在90分或90分以上为优秀,8089分为良好,7079为中等,6069为及格,低于60分为不及格。 #include #include #include #include void main() int score,t; printf(Please enter a score:); do scanf(%d,&score); while(score100); t=score/10; switch( t ) case 10: case 9:printf(优秀!n); break ; case 8:printf(良好!n);break; case 7:printf(中等!n);break; case 6:printf(及格!n);break; default :printf(不及格!n); 38、输出200300之间的所有素数,要求每行输出8个素数。#include #include main() int m,j,n=0,k; for(m=200;m=300;m+) for( i=2;i=m) if(n%8=0) printf(n); printf(%d,m ); n+; 39、按顺序读入10名学生4门课程的成绩,计算出每位学生的平均成绩并输出。程序如下,请填空。 #include void main() int n,k; float score, sum, ave; for(n=1;n=10;n+) Sum=0.0 ; for(k=1; k=4;k+) scanf(%f,&score); sum +=score; ave= sum/4.0; printf(NO%d:%fn,n,ave); 40、下面程序的功能是从3个红球,5个白球,6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案。#includevoid main() int i,j,k; for ( i=0; i=3;i+) for( j=1;j=5;j+ ) for(k=0;k=6;k+) if( i+j+k=8 ) printf(“%3d%3d%3dn”,i,j,k); 41、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入,请填空。#include void main( ) float x,amax,amin; scanf(%f,&x); amax=x; amin=x; while (x=0 ) if (xamax) amax=x ; if ( xamin ) amin=x; scanf(%f,&x); printf(namax=%fnamin=%fn,amax,amin); 42、计算并输出下列多项式的值。S = 1 + 1/(1+2) + 1/(1+2+3) + + 1/(1+2+3+n)。例如,若主函数从键盘给n输入50后,则输出为S=1.960784。 #include void main() int n,i,j; double t,sum=0.0; printf(nInput n: ); scanf(%d,&n);for(i=1;i=n;i+) t=0.0; for(j=1; j=i;j+ ) t+= j ; sum+= 1.0/t ; printf(%fn,sum);1、已知24有8个正整数因子(1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。问100,300之间有多少个能被其因子数目整除的数。答:#include void main() int m,i,s,n=0; /* n最终结果,i循环计数,s每个数的因子个数*/ for(m=100;m=300;m+) s=0;/*begin*/For(i=1;i=m;i+)If(m%i=0) s=s+1;If(m%s=0) n=n+1; /*end*/printf(%dn,n); 2、设某四位数的各位数字的平方和等于100,问共有多少个这种四位数?答: #include void main() int i,i1,i2,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教师招聘之《小学教师招聘》预测试题【模拟题】附答案详解
- 押题宝典教师招聘之《幼儿教师招聘》考试题库附参考答案详解(基础题)
- 第3课 古代印度
- 2025年法律职业资格考试(法考)考试题库(附答案和详细解析)
- 合肥市经济增长与环境质量耦合关系及协同发展路径探究
- 合作学习赋能:中职英语口语教学的创新与突破
- 公司实验室管理评审计划
- 甘肃省天水市秦安县2024-2025学年八年级下学期第二次月考英语试题及答案
- 教师招聘之《小学教师招聘》综合练习(a卷)附答案详解
- 教师招聘之《小学教师招聘》考前冲刺练习含答案详解【综合题】
- 2025年TCL集团校园招聘笔试模拟试题及答案解析
- 法考《行政法与行政诉讼法》试题及答案
- 2025-2026学年人教版小学劳动技术二年级上册教学计划及进度表
- 2025西藏日喀则市高级技工学校招聘专业实训指导教师和后勤保障人员20人备考练习题库及答案解析
- 危重患者安全转运指南
- 医院医患纠纷处理课件
- 2025-2026学年人教鄂教版(2024)小学科学三年级上册教学计划及进度表
- 手机行业知识培训课件
- 湖北省腾云联盟2026届高三8月联考物理(含答案)
- 教学资料管理制度
- 腭裂术后语音训练ppt课件
评论
0/150
提交评论