《C程序设计期末考试习题(含答案).pdf》由会员分享,可在线阅读,更多相关《C程序设计期末考试习题(含答案).pdf(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、c 语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2 分,共 20分)1.一个C程序的执行是从()。A)本程序的main函数开始,到 main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是()。A)_1234_ B)_ 2 C)int_2_ D)2_int_3.以下定义语句中正确的是()。A)char a=Ab=B;B)float a=b=10.0;C)int a=10,*b=&a;D)float*
2、a,b=&a;4.设有以下定义:Sdefine d 2int a=0;double b=l.25;char c=A ;则下面语句中错误的是()。A)a+;B)b+C)c+;D)d+;5.以 下4 个选项中,不能作为一条C语句的是()。A);B)a=0,b=0,c=0;C)if(a0);D)if(b=O)m=l;n=2;6.有以下定义语句 double a,b;int w;long c;若各变量已正确赋值,则下列选项中正确的表达式是()。A)a=a+b=b+B)w%(int)a+b)C)(c+w)%(int)a D)w=a=b;7.设有定义:int n=0,*p=&n,*q=&p;则以下选项中,
3、正确的赋值语句是()。A)p=l;B)*q=2;C)q=p;D)*p=5;8.设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a 读入数据的是()。A)scanf(%d ”,pa);B)scanf(%d”,a);C)scanf(“d,&pa);D)scanf(“d ,*pa);9.若有说明:char language口 =FORTRAN,BASIC”,PASCAL,“JAVA“,C”;则表达式*languagel*language2比较的是()。A)字符B和字符P B)字符串FORTRAN和字符串BASICC)字符F和字符B D)字符串BASIC和字符串PASCAL1 0.
4、执行语句。16=1;1+4;);后变量1的值是()。A)3 B)4 C)5 D)不定一、填空题(每空2分,共18分)1.若有定义:int a=7;float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4 的 值 为。2.有程序段:int a10l,2,3,4,5,6,7,8,9,10),*p=&a3,b;b=p5;则 b 中 的 值 是。3.函数swap(int x,int y)实现对x和y值的交换。则执行语句int a2=l,2:swap(a0,al);后,a 0 =,a l =。4.设有以下宏定义:#define f(z)z*z,执行赋值语句k=f(4+4)/
5、f(2+2);(k为int型变量)后,k的值是.5.书写语句求a,b两个数的最大值max。?:;6.若x为int型变量,则执行x=7;x+=x =x+x;语句后,x的值是。二、读程序写结果(每题6分,共24分)1.有以下程序int f(int a)int b=0;static c=3;b=b+l;c=c+l;return(a+b+c);void main()int a=2,i;for(i=0;i3;i+)printf(%2d”,f(a);执行后输出的结果是 O2.有以下程序v o i d f(i n t y,i n t*x)y=y+*x;*X=*X+y;v o i d m a i n()i n
6、 t x=2,y=4;f(y,&x);p ri n tf(ax=%d,y=%d nv,x,y);执行后输出的结果是 o3.有以下程序S d e fi n e L E T T E R 1#i n c l u d e v o i d m a i n()c h a r s tr2 0=C L a n g u a g e”,c;i n t i=0;w h i l e(c=s tri)!=0 )i+;tti fd e f L E T T E Ri f(c=,a&c =B&c=,Z)C=C-1;e l s e i f(c二 二 A )c二c+2 5;S e n d i fpr int f c);执行后输出
7、的结果是 o4.有以下程序v o i d fu n(i n t*a,i n t i,i n t j)i n t t;i f(i j)t=a i ;a i=a j ;a j=t;i+;j;fo r(i=0;i 4;i+)p ri n tf(级2 d”,a i);fu n (a,i,j);)v o i d m a i n O i n t x =2,6,1,8 ,i ;fu n (x,0,3);fo r(i=0;i 4;i+)p ri n tf(%2 d ,x i);p ri n tf(n );)执行后输出的结果是 o四、程序填空(每空1 分,共 8 分)下面程序的功能是:计算从命令行中输入的第2
8、个参数开始的所有参数中是回文字符串的参数个数。(顺读和倒读都一样的字符串称为“回文”,如“l e v e l”就是回文)请填空。S i n c l u d e 【1】i n t s u m h w(c h a r*p,i n t n);c h a r j u g h w(c h a r*s tr);v o i d m a i n(i n t a rg c,c h a r*a rg v)i n t s;i f(a rg c 2)p ri n tf(请输入有效参数”);e l s e s=s u m h w(2 1 ,a rg c-1);p ri n tf(共有%d 个回文串n”,s);)i n
9、t s u m h w(c h a r*p,i n t n)c h a r fl a g;i n t i,s u m=0;fo r(i=0;i b)m a x=am a x=b6、-14三、读程序写结果(每题6 分,共 24分)1、7 8 92、x=8,y=43 C Lbohvbhf4、8 6 1 2 8 6 1 2四、程序填空(每空1分,共 8 分)1#include2 argv+13*(p+i)4 flag=Y5 str+n-16 plp27 p2-8 plp2五、编程题(共30分)1.数 组 法(9 分)S i n c l u d e S i n c l u d e#d e fi n e
10、 N 2 0v o i d i n v(c h a r s tr,i n t n);v o i d m a i n()c h a r s trN;g e ts(s tr);i n v(s tr,s trl e n(s tr);p u ts(s tr);)v o i d i n v(c h a r s tr,i n t n)i n t i,j,te m p;fo r(i=0,j=n-l ;i =j;i+,j)te m p=s tri;s tri=s trj;s trj=te m p;(2)指针法(9分)i n c l u d e tti n c l u d e#d e fi n e N 2 0v
11、 o i d i n v (c h a r*s tr,i n t n);v o i d m a i n()c h a r s trN;g e ts (s tr);i n v (s tr,s trl e n(s tr);p u ts (s tr);)v o i d i n v (c h a r*s tr,i n t n)c h a r*i,*j,te m p;fo r(i=s tr,j=s tr+n-l;i =j;i+,j-)te m p=*i;*i=*j;*j=te m p;)2.(1 2 分)S i n c l u d e i n t m;v o i d d e l _ e l e m e
12、n t(i n t n u m,i n t n);v o i d m a i n()i n t n u m 1 0;i n t i,n;m=1 0;fo r(i=0;i 1 0;i+)s c a n f(,z%dz,,&n u m E i);p ri n tf(p l e a s e i n p u t n n);s c a n f(%d ,&n);d e l _ e l e m e n t(n u m,n);fo r(i=0;i m;i+)p ri n tf(,z%d z,,n u m i);v o i d d e l _ e l e m e n t(i n t n u m,i n t n)
13、i n t i,j;fo r(i=0;i m;i+)i f(n u m i=n)(fo r(j=i+l;j m;j+)n u m j-l=n u m j;m-;i一;)c语言程序设计期末试题B(含答案)一 单项选择题(每小题1分,共1 0分)1 .以下4组用户定义标识符中,全部合法的一组是()A)_ to ta l c l u _ l s u mB)i f-m a x tu rbC)tx t R E A L 3 C 0 MD)i n t k_ 2 _ 0 0 12 .以下程序的输出结果是()#i n c l u d e m a i n()(i n t a =1,b =2,c =3;p ri n
14、 tf(%d”,c b a);)A)2 B)1 C)0 D)33 .以下正确的叙述是()A)在C语言中,m ai n函数必须位于文件的开头B)C语言每行中只能写一条语句0 C语言本身没有输入、输出语句D)对一个C语言进行编译预处理时,可检查宏定义的语法错误4 .设有定义:i n t a,*p a=&a;以下s c an f 语句中能正确为变量a 读入数据的是()A)s c an f (级d”,p a);B)s c an f a);C)s c an f (zz%dzz,&p a);D)s c an f *p a);5 .若有以下程序段,i n t c l=l,c 2=2,c 3;c 3=l.0/
15、c 2*c l;则执行后,c 3 中的值是()A)0 B)0.5 C)1 D)26 .能正确表示逻辑关系:“a2=1 0 或 a W O”的C 语言表达式是()A)a=1 0 or a=0|a=1 0&a=1 0|a=07 .执行下面的程序时,将 1、2、3、4 分别赋给a、b、c、d,正确的输入是()m ai n()(i n t a,b,c,d;s c an f (%d,%d,%d%d ,&a,&b,&c,&d);)A)1 2 3 4 B)1 2 3,4 C)1,2,3,4 D)1,2,3 48 .有以下程序段m ai n()(i n t k=0;whi l e(k=l)k+;)则whi l
16、 e 循环执行的次数是()A)无限次 B)有语法错,不 能 执 行 C)一次也不执行 D)执行1 次9 .以下程序的输出结果是()#i n c l ud e m ai n()i n t a=5,b=4,c =6,d;p ri n t f(%d ,d=a b?(a c?a:c):b);)A)5 B)4 C)6 D)不确定1 0.下面是对数组a的初始化,其中不正确的是()A)a 5 =ABCD B)a 5 =A,B,C,D C)a 5 =D)a 5 =ABCDE”二、填空题(每空2分,共3 2分)1.结构化程序设计中的三种基本结构是 1、3。2 .C程序的基本组成单位是 4 。3 .标识符的第一个
17、字符必须是 5 或 6 。4 .实常数1 2 3.4 5 7的规范化指数表示形式是.7 。5 .表达式7/2的结果是 8。表达式7%2的结果是 9 。6 .定义一个整型数组a 1 0 ,则下标最大的数组元素为 1 0 。7.在函数的递归调用过程中,要使递归过程不是无限制进行下去,必 须 具 有11。8 .C语言提供了 1 2 命令用来实现“文件包含”的操作。9 .已知:c harc-l =c hi n a”:将字符数组c中整个字符串一次输出的语句书写格式为 13。1 0 .表达式 4 3&7 5-!0 的值为 1 4 。1 1 .按照变量在函数中作用域不同,可以将变量分为 1 5 和 16。三
18、、计算题(要求写出步 骤)(每题4分,共8分)1 .设i n t a=1 2,求出表达式a+=a-=a*a运算后a的值.2 .设 a=2,b=3,x=3.5,y=2.5求算术表达式(f l oat)(b-a)/2+(i n t)x%(i n t)y 的值四、读下列程序,写出程序的运行结果(4 X3=1 2)1.已知字符A的A C S H码值为65,写出以下语句的输出结果m ai n()c harc h=A;p ri n t f(%c,%d ,c h,c h+3);)2.m ai n()(i n t a=1 0;p ri n t f(d ”,+a);p ri n t f(%d ”,a);3.m
19、ai n()i n t t=l;for(i=l;i5;i+)t=t*i;printf(n%d,t);4.f(int*a,int b)b=b+*a;*a=*a+b;main()(int x=2,y=4;int*p;p=&x;f(p,y);printf(%d,%d,x,y);)五、程序填空(每空2 分,共 14分)1.下列程序段以函数swap()调用的形式实现两个变量值的互换,请填空完善程序。swap(int*m,int*n)int temp;temp=1;:*n=3:)main()int x,y;scanf(%d,%d,&x,&y);s w a p(4 );printf(%d,%d,x,y);)
20、2.下面程序是计算1-3+5-7+-99+101的值,请填空完善程序。main()(int i,m,t=l,s=0;for(i=1 ;il)3.编写程序输出下列形式的杨辉三角形的前10行。(10分)11 11 2 11 3 3 11 4 6 4 1C 语言模拟试卷二答案及评分标准一、单项选择题(每小题1分)1.A 2.C 3.D 4.A 5.B 6.D 7.D 8.A 9.C 10.D二、填空题(每空2 分)1.顺序结构、选择结构、循环结构。2.函数3.字母、下划线4.1.23457e2 或 1.23457E25.3、16.a97.使递归结束的条件8.#include9.printf(s”,c
21、)10.011.全局变量、局部变量三、计算题(要求写出步骤)(每题4 分)1.a-=a*a a=a-a*a a=12-144=-132a+=-132 a=a+(-132)a=-132-132=-2642.1.0/2+3%2=0.5+l=1.5四、读下列程序,写出程序的运行结果(每题3分)1 .1 .A,6 82 .2.11 1 13 .3.2 44.4.8,4五、程序填空:(每空2 分)1.*m 2.*m=*n 3.temp 4.x,y 5.i=i+2 6.m=i*t 7.t=-t六、编程题1 .main()(int i;flo at t=l,s=0;fo r(i=l;i=5 0 ;i+)(t
22、=t*i;s=s+t;)printf(/zs=%enzz,s);)2.to tal(int n)int c;if(n=l)c=l;else c=to tal(n-1)+n+l;return(c);)main()int n;scanf(,n);printf(a%df,to tal(n);)3.main()int a1010,i,j;for(i=0;i10;i+)for(j=0;j=i;j+)if(j=0)|(i=j)aij=l;else a ij=a i-lj-l+a i-lj;printf(%d,a ij);)printf(n);选 择 练 习 题1、C 语言中最简单的数据类型包括(B)。A、
23、整型,实型,逻辑型 B、整型,实型,字符型C、整型,字符型,逻辑型 D、整型,实型,逻辑型,字符型2、C 语言中,运算对象必须是整型数的运算符是(A)。A、B、/C、和/D、*3、为表示关系xy z,应使用C 语言表达式(AA、(x y)&(y z)B、(x y)AND(y z)C、(x y z)D、(xy)&(y ints unsigned s C short s D、long s13、判断变量c h 中的字符是否为大写字母,最简单的正确表达式是(A)oA、ch=A&ch=,z,B、A=ch =A&ch 非零值或零值 C、true 或 false D、true或false17、C 语言提供的
24、基本数据类型关键字是(C).A、integer B、FLOAT C、unsigned D、Double18、若定义语句:intb=1,2,34,5,*P=b;则表达式*p+的 值 是(A)。A、1 B、2 C、b0的地址 D、bl的地址19、在下列选项中,不正确的表达式是(C)。A、ab B、c,+b,a+=l C、a=c+bn-m=k D、p+20、若有以下定义:int a=1,2,34,5,6,7;char cl=b c2=2;则数值不为2 的表达式是(D)。A、al B、d-cl C、a3-c2 D、c2-025、下述对C 语言字符数组的描述中转送的是(C)。A、字符数组可以存放字符串B
25、、字符数组中的字符串可以整体输入、输出C、可以在赋值语句中通过赋值运算符=对字符数组整体赋值D、不可以用关系运算符对字符组中的字符串进行比较27、以下程序的输出结果是(A)。main()int i=010,j=10,k=ox 10;printf(%d,%d,%dn,i,j,k);A、8,10,16 B、8,10,1028、以下程序的输出结果是(B)。C、10,10,10D、10,10,16#include main()printf(%dn,NULL);)A、不确定的值(因变量无定义)B、0 C,-129、以下程序的输出结果是(B)。main()char cl=6,c2=0:printf(%d,
26、%d,%dn,c l,c2,cl-c2);)A、因输出格式不合法,输出出错信息 B、54,48,6C、6.0,7 D、6,0,632、下述对C 语言字符数组的描述中错误的是(C)0A、字符数组可以存放字符串B、字符数组中的字符串可以整体输入、输出C、可以在赋值语句中通过赋值运算符=对字符数组整体赋值D、不可以用关系运算符对字符组中的字符串进行比较33、TurboC中,对于以下程序(A).main()int x,y;y=creat(&x);printf(%d n,y);)creat(int a)return a+;A、编译时会给出错信息B、顺利进行编译、连接、执行;不报任何错误C、顺利通过编译、
27、连接、但不能执行D、顺利通过编译,但连接出错D、134、设有如下定义:int x=1 0,y=4,z;则语句:printf(dn,z=(x%y,x/y);的输出结果是(C )oA、1 B、0 C、2 D、33 5、下述程序段的输出结果是(D )。main()int x=1 0,y=1 0;printf(n%d,%dn,x+,+y);A、1 0,1 0 B、1 1,1 1 C、1 1,1 0 D、1 0,1 13 6、定义如下变量和数组:intj;intx3 3=1 2 3,4,5,6,7,8,9 ;则下面语句的输出结果是(C )。f or(i=0;i 3;i+)printf(H%dn,xi2-
28、i);A、1 5 9 B、1 4 7 C、3 5 7 D、3 6 93 7、若要求在if后一对圆括号中表示a不等于0的关系,则不能正确表示这一关系的表达式为(C )。A、a 0 B、!a C、a=0 D、a3 8、若m,y,z均为int型变量,则执行下面语句后m值 是(A )。m=l;x=2;y=3;z=4;m=(m x)?m:x;m=(m y)?m:y;m=(m a+b 等效于 c (a+b)B、若a,b均为真,则a|b为真C、表 达 式 的 值 为0D、逻辑运算符!比逻辑运算符|的优先级高4 1、putchar()函数可以向终端输出一个(B )。A、整型变量表达式值 B、字符C、字符串 D
29、、实型变量值4 2、表达式1 8/4*sqrt(4.0)/8值的数据类型为(C)。A int B、f loat C double D、不确定4 3、若已定义a为整型变量:a=-2 L;printf (%dn,a);则以上语句(B )oA、赋值不合法 B、输出值为-2 C、输出为不确定值 D、输出值为24 5、若 血 类型数据占两个字节,则以下语句的输出为(D)。int k=-1;printf (d,%un”,k,k);A、-1,-1 B、-1,3 2 7 6 7 C、-1,3 2 7 6 8 D、-1,6 5 5 3 54 6、已知字母a的A S C I I码十进制值为97,则执行以下语句后的
30、输出为(C)。yhgchar a=af;a-;printf (d,%cn”,a+2-O,a+3-O);A、b,c B、a运算不合法,故有语法错C、9 8,c D、格式描述和输出项不匹配,输出无定值4 7、下面语句中(B )是C语言的正确赋值语句。C、a=b=5 D、y=int(x);A中声明变量并初始化时:inta=1,b=5;但是,只赋值时是不能这样写的,应该写成a=1;b=2;C无分号,不是完整的语句,D中x没有定义,如 果 是int x=3;int y;y=int(x);这样是对的A、a=l,b=2 B、I+;4 8、设有以下说明语句struct stu int a;f loat b;J
31、 stutype;则下面的叙述不正确的是(C).A、struct是结构体类型的关键字 B、struct stu是用户定义的结构体类型C、stulype是用户定义的结构体类型名 D、a 和 b 都是结构体成员名49、能正确表示:当 x 的取值范围在1,10或100,110内为真,否则为假的表达式是(C)。A、(x =1)&(x =100)&(x =l)|(x =100)|(x =l)&(x =100)&(x =l)|(x =10)&(x=100)&(x0;11-)的循环次数为(A)。A、10 B、9 C、11 D、1251、在对文件进行操作时,若要求文件的位置指针回到文件的开头,则应当调用的库函
32、 数 是(D)。A、fopen()B、fseek()C、fclose()52、下列哪个数组定义是正确的(D)。A、int a5.5;B、INTa10;53、一个变量的指针就是(A)。A、变量的地址 B、变量的值C、int an;C、变量的名称D、rewind()D inta3+2;D、变量的类型55、下列正确的说法是(C)。A、宏替换是在程序运行时进行的B、函数调用是在程序编译时进行的C、宏替换时,如果实参是表达式,应先求表达式的值,再替换D、函数调用时,如果实参是表达式,应先求表达式的值,再替换56、对于数学式J 7/2 a,下面正确的C 语言表达式是(D)。A、sqr(x)/2a B、sq
33、r(x)/2*a C sqrt(x)/(2*a)D、sqrt(x)/2*a57、若 int类型数据占2 字节,则以下语句的输出为(D)oint k=32768;printf(n%d,%unn,k,k);A、-1,65535 B、-1,32767 C、-I,-1,D、-32768,3276859、下面程序中(B)有错误。1)#include2)main()3)(4)int a3=0,0,0);5)int i;6)for(i=0;i3;i+)scanf(%DH,&ai);7)for(i=l;i3;i+)aO=aO+ai;8)printf(%dn,aO;A、第 4 行 B、第 6 行 C、第 7 行
34、 D、第 8 行60、下面程序的运行结果(C)。main()unsigned a=3,b=10;5printf(n%dnna 1=;B、10C、13D、1461、已定义x 为 float型变量。x=213.82631;%m.nd表示最大场宽m,小数位为n 位,整数位则为m-n-1Printf(%-4.2fi,x);位,够 m位右对齐。%-m.n f 可以控制输出左对齐则以上程序(A)。A、输出格式描述符的域宽不够,不能输出 B、输出为213.83C、输出为213.82D、输出为-213.8262、设已定义整型变量K,则下面的程序输出为(D)。k=017;s=lll;printf(%d,+k);
35、printf(*%xn,s+);A、15 6fB、16 70C、15D、16 6f63不能正确表示a*b/c*d的 C 语言表达式是(C)。A、a*b/c*d B、a/(c*d)*b C、a*b/c/d D、a*b/(c*d)64、下 列(C)表达式不满足;当 x 的值为偶数时值为“真二为奇数时值为“假工A、x%2=0 B、!x%2!=0 C、x/2*2-x=0 D、!(x%2)65、设已定义k 为 int型变量,则下面while循环执行(C)次。k=10;while(k=O)k=-l;A、执 行 10次 B、无限循环 C、次也不执行 D、执行一次67、用高级语言编写的程序称之为(A)oA、源
36、程序 B、目标程序 C、汇编程序 D、命令程序69、有以下程序的输出结果为(B)。main()char a=0 x95,b,c;b=(a&0 xf)4;a=b|c;printf(%xn;a);)A、24 B、59 C、34 D、5670、下述程序段的输出结果是(A)。int a=3;b=4;int c=aAb 3;printf(H%dH,c)A、3 B、4 C、5 D、673、设 int型变量在内存中占用两个字节存储单元,定义如下结构体:struct student char name10;char sex;int age;struct int year;int month;int day;b
37、irth;stul;则表达式sizeof(stul)的 值 是()。A、5 B、8 C 2 D、2675、下述程序段的运行结果是(B)o#include m a in()int m=7,n=4;float a=38.4,b=0.4,x;x=m/2+n*a/b+l/2;printf(M%in,x);)A、22 B、387.000000 C、27 D、2676、下面程序的运行结果是(C)omain()int cl=2,c2=0;while(!c2-)printf(H%d%dH,cl-,c2);)A、陷入死循环 B、不输出任何内容C 输出2-1 D、输出2077、下面程序的运行结果是(B)。int
38、m=4,n=6;max(int x,int y)int max;max=xy?x:y;return(max);)main()int m=10;printf(n%dn,max(m,n);)A、4 B、10 C、6 D、578、下面程序的运行结果是(B)。fun(int p)int k=l;static t=2;k=k+l;1=1+1;return(p*k*t);)main()int x=4;fun(x);printf(H%dnH,fun(x);)A、4 B、32 C、30 D、1679、阅读下面的程序:main()char ch;scanf(%c&ch);if(ch=,a,&ch z80、下面程
39、序的运行结果是(B)om a in()static int a33=3,2,1,(4,5,6),2,9,1;int ij,sum=0;for(i=0;i3;i+)for(j=0;j3;j+)if(i=j)s u m=s u m+a l i J j J;)p ri n t f(,s u m=%d,s u m);A、s u m=1 0 B、s u m=9 C 9 D、1 08 4、下述程序的运行结果是(A)o#i n c l u d e v o i d f u n(i n t x)(p u t c h a rC O +C x%1 0);f u n(x/1 0);)m a i n()(p ri n
40、t f(n nH);f u n(l 2 3 4);A、4 3 2 1 B、3 2 1 C、2 1 D、18 6、设已定义i和k为i n t类型变量,则以下f o r循环语句(B )。f o r(i=0,k=-l ;i+,k+)p ri n t f(*n );A、判断循环结束的条件不合法 B、是无限循环C、循环一次也不执行 D、循环只执行一次8 7、下列程序段选择项中,使i的运行结果为4的程序段是(D)。A、i n t i=0,j=0;(i=3,(j+)+i);C、i n t i=0,j=I;B、i n t i=l,j=7 0;j=i=(i=3)*2);D i n t i=l,j=l;0=D?(
41、i=D:(i=3);i+=j+=2;8 9、阅读以下程序(最左边是附加的行号)。1)#i n c l u d e 2)main()3)float s5J;4)int i,k=0;5)for(i=0;i5;i+)6)scanf(M%dn,s+i);7)for(i=0;i5;i+)8)k=si;9)printf(nn%f,(float)k);10)此段程序(A)oA、没有错误 B、第4行错误 C、第6行错误 D、第9行错误90、下列程序中有三个是完全相同的功能,只 有(B)所完成的功能与其他程序不同。A s=0;B、s=0;i=0;i=l;while(i=100)while(i+100)s+=i+
42、;s+=i;C、s=0;D、s=0;i=0;i=0;while(i=100)while(+i=100)s+=+i;s+=i;92、执行下面的程序后,a的 值 为(D)。main()int a,b;for(a=l,b=l;a=20)break;if(b%3=l)b+3;continue;b-=5;A、7B、8C、D、1093、下面的程序中(C)有错误。1)#include2)main()3)(4)float a3=0.0;5)int i;6)for(i=0;i3;i+)7)scanfC%D,&aliJ);8)for(i=1 ;i3;i+)a0=a0+ai;9)printf(n%fn,aOJ);)
43、A、第4行 B、第6行 C、第7行 D、第8行94、以下程序的输出结果是(C)。#includemain()int i;for(i=l;i7)n-;printf(%d,n);)A、1098 B、987 C、10987 D、9876100、两次运行下面的程序,如果键盘上分别输入6 和 4,则输出结果是(A)。main()int x;scanf(,%d,&x);int(x+5)A、7 和 5 B、6 和 3 C、7 和 4 D、6 和 4101、运行下段程序的结果是(D)。#includem a in()int x;for(x=l;x=100;x+)if(+x%=0)if(+x%3=0)if(+x
44、%5=0)printf(H%dn,x);)A、31,61,91 B、30,60,90C,不输出任何内容 D、29,59,89102、运行下述程序段后,i 值为4 的 是(B).A、inti=l,j=0;B、inti=l,j=l;i=j=(i=3)+);C、int i=0,j=0;D int i=0,j=l;(i=2,i+(j=2);(j=l)?i+=3:i=2;104、以下程序的输出结果是(D)omain()int a=-l,b=4,k;k=(+a,0)&!(b-=0);printf(H%d,%d,%dnM,k,a,b);A、1,0,4 B、1,0,3 C、0,0,3105、以下程序的输出结果
45、是(A)。D、0,0,4main()int x=3,y=0,z=0;if(x=y+z)printf(n*);elseprintfC1#);A、#B、*C、1 D、4106、以下程序的输出结果是(A)oint m=13;int fun2(int x,int y)int m=3;return(x*y-m);)m a in()int a=7,b=5;printf(%dnH,fun2(a,b)/m);A、2112、阅读程序:B、3C、7D、5#i n c l u d e m a i n()i n t m,n,w;s c a n f(%d,%d”,&m,&n);w h i l e(n)w=m%n;m=n
46、;n=w;)p r i n t f(H%dH,m);)如果输入1 0,6,则输出结果是(D )。A、60 B、120 C、2 D、10113、下列程序执行后输出的结果是(A )o#i n c l u d e f(i n t a)i n t b=0;s t a t i c c=2;a=c+,b+;r e t u r n(a+b);)m a i n()i n t a=2,i,k;f o r(i=0;i 2;i+);k=f(a+);p r i n t f C%d nn,k);)A、3 B、0 C、4 D、5115、下列程序的运行结果是(B )om a i n()s t a t i c i n t a
47、 3 4=(l,2,3,4,5,6,7,8,9,10,11,12);i n t i,j,s u m=O;f o r(i=0;i 3;i+)f o r(j=0;j 4;j+)ig)s u m+=a i j ;p r i n t f(ns u m=%d nn,s u m);A、40B、36C、24D、30120、阅读下列程序:m a i n()i n t n 3,i,j,k;f o r(i=0;i 3;i+)n i =0;k=2;f o r(i=0;i k;i+)f o r(j=0;j k;j+)n|j j=n i +l;f o r(i=0;i 3;i+)p r i n t f(n%dH,n i
48、);p r i n t f(M nH);)运行该程序,其输出结果是(B )oA、230B、330C、123D、321123、下述程序段的运行结果是(B )om a i n()s t a t i c i n t a 3 3=1,2,3,4,5,6,7,8,9 ;i n t b 3 2,i,j;f o r(i=0;i 3;i+)f o r(j=0;j 3;j+)b i j =a U i +a i U ;p r i n i f(5d”,b U j D;printf(nnn);A、2 4 72 10 83 6 18B、2 6 106 10 1410 14 18C、18 14 1014 10 610 6
49、 2D、18 2 34 10 27 4 2124、如果程序中有如下的说明和定义:struct s int x,y;)struct s x,y;则会发生的情况是(AA、编译出错B、能顺利编译和链接,但不能执行C、程序能顺利通过编译,但是链接时会出错D、程序能顺利编译,链接,执行127、对 C 语言的文件存取方式的论述中,正确的是文件(C)。A、只能顺序存取B、只能随机存取(也称直接存取)C、可以是顺序存取,也可以是随机存取D、只能从文件的开头存取填空练习题1、有以下定义:int x;float y;执行scanf(%3d%F,&x,&y);时,如果输入的数据为:12345 678,贝 U x 的
50、 值 为 123,v 的值为 这个、12345后有没为空格有关,到时候在着办吧(有空格就是4 5.0 0 0 0 0 0)。2、有定义语句:int x,y,z;,执行 x=(y=4,z=8,z=16)后,x 的值为 16 _。3、计算表达式b=25/3%3后,b 的值为。4、设有定义语句 int x=l,y=0;,则表达式 x-(y+x)?10:12y+?A:Z 的值是:65。5、请写出以下语句的输出结果1。p r i n t f(,%d,s t r l e n(,t,0 65 x f f a b n,);7、C语言规定:标识符只能由一字母、数字、下划线 三种字符组成。8、有定义语句:i n