C程序设计期末考试习题(含答案)_第1页
C程序设计期末考试习题(含答案)_第2页
C程序设计期末考试习题(含答案)_第3页
C程序设计期末考试习题(含答案)_第4页
C程序设计期末考试习题(含答案)_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最正确答案,每题2分,共20分)1. 一个C程序的执行是从().A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序 main函数结束2. 以下选项中,不能用作标识符的是().A)_1234_B)_1_2C)int_2_ D)2_int_3. 以下定义语句中正确的选项是().A)chara='A'b='B'B)floata=b=10.0;C)inta

2、=10,*b=&a;D)float*a,b=&a;4. 设有以下定义:#defined2inta=0;doubleb=1.25;charc= ' A'那么下面语句中错误的选项是().A)a+;B)b+C)c+;D)d+;5. 以下4个选项中,不能作为一条 C语句的是().A);B)a=0,b=0,c=0;C)if(a>0);D)if(b=0)m=1;n=2;6. 有以下定义语句 doublea,b;intw;longc;假设各变量已正确赋值,那么以下选项中正确的表达式是().A)a=a+b=b+B)w%(int)a+b)C)(c+w)%(int)aD)w=

3、a=b;7. 设有定义:intn=0,*p=&n,*q=&p;那么以下选项中,正确的赋值语句是()A)p=1;B)*q=2;C)q=p; D)*p=5;8. 设有定义:inta,*pa=&a;以下scanf语句中能正确为变量a读入数据的是().A)scanf("d,pa);B)scanf("d,a);C)scanf("d,&pa);D)scanf("d,*pa);9. 假设有说明:char*language= " FORTR& N, " BASIC ," PASCAL,JAVA'

4、; , " C ;那么表达式 *language1>*language2 比拟的是().A)字符B和字符PB疗符用FORTRAN字符串BASICC)字符F和字符BD序符用BASIC和字符串PASCAL10. 执行语句for(i=1;i+<4;); 后变量i的值是().A)3B)4C)5D) 不定一、填空题(每空2分,共18分)1. 假设有定义:inta=7;floatx=2.5,y=4.7;那么表达式 x+a%3*(int)(x+y)%2/4I2. 有程序段:inta10=1,2,3,4,5,6,7,8,9,10,*p=&a3,b;b=p5;那么b中的值是.3.

5、函数swap(intx,inty) 实现对x和y值的交换.那么执行语句inta2=1,2;swap(a0,a1); 后,a0=,a1=.4. 设有以下宏定义:#definef(z)z*z ,执行赋值语句k=f(4 +4)/f(2 +2);(k为int型变量)后,k的值是.5. 书写语句求a,b两个数的最大值 ma* ?:;6. 假设x为int型变量,那么执行x=7;x+=x=x+x;语句后,x的值是.二、读程序写结果(每题6分,共24分)1. 有以下程序intf(inta)intb=0;staticc=3;b=b+1;c=c+1;return(a+b+c);voidmain()inta=2,i

6、;for(i=0;i<3;i+)printf(" 2d ,f(a);执行后输出的结果是.2. 有以下程序voidf(inty,int*x)y=y+*x;*x=*x+y;voidmain()intx=2,y=4;f(y,&x);printf("x=%d,y=%dri,x,y);)执行后输出的结果是.3. 有以下程序#defineLETTER1#include<stdio.h>voidmain()charstr20="CLanguage",c;inti=0;while(c=stri)!='0') i+;#ifdefL

7、ETTERif(c>='a'&&c<'z')c=c+1;elseif(c='z')c=c-25;#elseif(c>='B'&&c<='Z')c=c-1;elseif(c='A')c=c+25;#endifprintf("%c",c);执行后输出的结果是.4. 有以下程序voidfun(int*a,inti,intj)intt;if(i<j)t=ai;ai=aj;aj=t;i+;j-;for(i=0;i<4;i+

8、)printf("%2d",ai);fun(a,i,j);)voidmain()intx=2,6,1.8,i;fun(x,0,3);for(i=0;i<4;i+)printf("%2d",xi);printf("n");执行后输出的结果是.四、程序填空(每空1分,共8分)下面程序的功能是:计算从命令行中输入的第2个参数开始的所有参数中是回文字符串的参数个数.(顺读和倒读都一样的字符串称为“回文,如“ level 就是回文)请填空.#include<stdio.h>【1】intsumhw(char*p,intn);ch

9、arjughw(char*str);voidmain(intargc,char*argv)ints;if(argc<2)printf("请输入有效参数");elses=sumhw(,argc-1);printf("共有阶回文用n",s);intsumhw(char*p,intn)charflag;inti,sum=0;for(i=0;i<n;i+)flag=jughw(【3】);if(14】)sum+;)returnsum;)charjughw(char*str)char*p1,*p2;intn;n=strlen(str);p1=str;p2

10、=【5】;while(【6】)if(*p1!=*p2)break;elsep1+;【7;)if(【8】)return('N');elsereturn('Y');五、编程题(30分)1. 用指针和数组两种方法 实现如下功能:将一个字符串按逆序存放.(18要求(1)主函数中完成输入和输出字符串.(2)逆序存放功能用子函数完成.2. 一个整型数组有10个元素,编写程序删除所有值为 n的元素.(12分)要求(1)主函数完成n的输入,数组元素输入以及删除后数组元素的输出.(2)删除功能用子函数完成.C语言模拟试卷一参考答案一、单项选择题(选择一个最正确答案,每题2分,共2

11、0分)1、A2、D3、C4、B5、D6、C7、D8、A9、A10、C二、填空题每空2分,共18分1、2.5000002、93、124、285、 a>b max=amax=b6、14三、读程序写结果每题6分,共24分1、7892、x=8,y=43、CLbohvbhf4、 86128612四、程序填空每空1分,共8分1 #include<string.h>2 argv+13 *p+i4 flag= ' Y'5 str+n-16 p1<p27 p28 p1<p2五、编程题共30分1 .1数组法9分#include<string.h>#incl

12、ude<stdio.h>#defineN20voidinvcharstr口,intn;voidmaincharstrN;gets(str);inv(str,strlen(str);puts(str);)voidinv(charstr,intn)inti,j,temp;for(i=0,j=n-1;i<=j;i+,j-)temp=stri;stri=strj;strj=temp;)(2)指针法(9分)#include<string.h>#include<stdio.h>#defineN20voidinv(char*str,intn);voidmain()c

13、harstrN;gets(str);inv(str,strlen(str);puts(str);voidinv(char*str,intn)char*i,*j,temp;for(i=str,j=str+n-1;i<=j;i+,j-)temp=*i;*;-*;i=j;*j=temp;2 . (12 分)#include<stdio.h>intm;voiddel_element(intnum,intn);voidmain()intnum10;inti,n;m=10;for(i=0;i<10;i+)scanf("%d,&numi);printf("

14、pleaseinputnn");scanf("%d",&n);del_element(num,n);for(i=0;i<m;i+)printf("%d",numi);voiddel_element(intnum,intn)inti,j;for(i=0;i<m;i+)if(numi=n)for(j=i+1;j<m;j+)numj-1=numj;m-;i-;c语言程序设计期末试题B (含答案)一单项选择题(每题1分,共10分)1 .以下4组用户定义标识符中,全部合法的一组是()A)_totalclu_1sumB)if-ma

15、xturbC)txtREAL3COMD)intk_2_0012 .以下程序的输出结果是()#include<stdio.h>main()inta=1,b=2,c=3;printf("d ,c>b>a);A)2B)1C)0D)33 .以下正确的表达是()A)在C语言中,main函数必须位于文件的开头B)C语言每行中只能写一条语句C)C语言本身没有输入、输出语句D)对一个C语言进行编译预处理时,可检查宏定义的语法错误4 .设有定义:inta,*pa=&a;以下scanf语句中能正确为变量a读入数据的是()A)scanf("%d",pa)

16、;B)scanf("%d",a);C)scanf("%d",&pa);D)scanf("%d",*pa);5 .假设有以下程序段,intc1=1,c2=2,c3;c3=1.0/c2*c1;那么执行后,c3中的值是()A)0B)0.5C)1D)26 .能正确表示逻辑关系:“ a>=10或a&0的C语言表达式是()A)a>=10ora<=0B)a>=0|a<=10 C)a>=10&&a<=0D)a>=10 II a<=07 .执行下面的程序时,将1、2、

17、3、4分别赋给a、b、c、d,正确的输入是() main()(inta,b,c,d;scanf( "d,%d,%d%d ,&a,&b,&c,&d);A) 1234B)123, 4C)1, 2, 3, 4D)1, 2, 348 .有以下程序段main()(intk=0;while(k=1)k+;那么while循环执行的次数是()A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次9 .以下程序的输出结果是()#include<stdio.h>main()(inta=5,b=4,c=6,d;printf("d ,d=a>

18、b?(a>c?a:c):b);A)5B)4C)6D)不确定10 .下面是对数组a的初始化,其中不正确的选项是()A)a5 ="ABCD"B)a5 ='A' , 'B' , 'C' , 'D'C)a5 =""D)a5 ="ABCDE"二、填空题(每空2分,共32分)1 .结构化程序设计中的三种根本结构是1L、2L、3.2 .C程序的根本组成单位是 双3 .标识符的第一个字符必须是5或6.4 .实常数123.457的标准化指数表示形式是7.5 .表达式7/2的结果是8.

19、表达式7%2的结果是9.6 .定义一个整型数组a10,那么下标最大的数组元素为10.o13 07 .在函数的递归调用过程中,要使递归过程不是无限制进行下去,必须具有118 .C语言提供了 12L命令用来实现“文件包含的操作.9 .:charc= "china "将字符数组c中整个字符串一次输出的语句书写格式为10 .表达式 4>3&&7<5-!0 的值为14.11 .根据变量在函数中作用域不同,可以将变量分为 15和16.三、计算题(要求写出步骤)(每题 4分,共8分)12 设inta=12 ,求出表达式a+=a-=a*a运算后a的值.13 设

20、a=2,b=3,x=3.5,y=2.5求算术表达式(float)(b-a)/2+(int)x%(int)y的值四、读以下程序,写出程序的运行结果(4X 3=12)1 .字符A的ACSII码值为65,写出以下语句的输出结果main()charch= 'A'printf("%c,%d",ch,ch+3);2 .main()inta=10;printf("d ,+a);printf("d ,a -);3 . main()intt=1;for(i=1;i<5;i+) t=t*i;printf("%d",t);)4.f(i

21、nt*a,intb)b=b+*a;*a=*a+b;main()intx=2,y=4;int*p;p=&x;f(p,y);printf("%d , %d",x,y);五、程序填空(每空2分,共14分)1.以下程序段以函数swap()调用的形式实现两个变量值的互换,请填空完善程序 swap(int*m,int*n)inttemp;temp=1;I21L*n=(3kmain()intx,y;scanf( "d,%d ,&x,&y);swap(4);printf(%d,%d ",x,y);2.下面程序是计算1-3+5-7+-99+101的

22、值,请填空完善程序.main()inti,m,t=1,s=0;for(i=1;i<=101;5)6;s=s+m;7;printf "d n,s;六、编程题:共24分1 .编程求1!+2!+3!+5 0 !的值.6分2 .用函数的递归调用方法求以下函数式的值要求n由用户输入,递归公式为:8分一 1n=1totaln=totaln-1+n+1n>13 .编写程序输出以下形式的杨辉三角形的前10行.10分111121133114641C语言模拟试卷二答案及评分标准一、单项选择题每题1分1.A2.C3.D4.A5.B6.D7.D8.A9.C10.D二、填空题每空2分1. 顺序结构

23、、选择结构、循环结构.2. 函数3. 字母、下划线4. 1.23457e2 或 1.23457E25. 3、16. a97. 使递归结束的条件8. #include9. printf"§,c10.11. 全局变量、局部变量三、计算题要求写出步骤每题 4分1.a-=a*aa=a-a*aa=12-144=-132a+=-132a=a+(-132)a=-132-132=-2642.1.0/2+3%2=0.5+1=1.5四、读以下程序,写出程序的运行结果每题3分1 .1 .A,682 .2 .11113 .3 .2 44 .4.8,4五、程序填空:(每空2分)1.*m2.*m=*n

24、3.temp4.x,y5.i=i+26.m=i*t7.t=-t六、编程题main()inti;floatt=1,s=0;for(i=1;i<=5 0 ;i+)t=t*i;s=s+t;printf("s=%en",s);2 .total(intn)intc;if(n=1)c=1;elsec=total(n-1)+n+1;return(c);)main()intn;scanf("d ,n);printf( "d ,total(n);)3 .main()inta1010,i,j;for(i=0;i<10;i+)for(j=0;j<=i;j+)

25、if(j=0)|(i=j)a皿=1;elseaij=ai-1j-1+ai-1j;printf("%d",aij);)printf("n");)选择练习题1、C语言中最简单的数据类型包括BA、整型,实型,逻辑型B、整型,实型,字符型C、整型,字符型,逻辑型口整型,实型,逻辑型,字符型2、C语言中,运算对象必须是整型数的运算符是 A.A % B /G % 口/D *3、为表小关系x<y<z,应使用C语百表达式A oA x<y&& y<z B、x<yAND y< zG x<y<zD> x&l

26、t;y& y<z4、C语言程序的根本单位是CoA、程序行B、语句G函数D字符5、C语言的程序一行写不下时,可以D.A、用逗号换行R用分号换行G用回车符换行D在任意一空格处换行标识符由字母,数字和 下划线组成且第一个字符必须6、下述标识符中,C是合法的用户标识符A A&BB void C、 student D> ab* 7、在C语言中,字符型数据在内存中以B形式存放A、补码B ASCII码C、反码D原码8、一个程序由假设干文件组成,共用同一变量,那么此变量的存储类别应该 为B.A autoB、extern C、staticD、Register9、以下关于switch语

27、句和break语句的描述中,只有A、在switch语句中必须使用break语句B、在switch语句中,可以根据需要使用或不使用break语句G break语句只能用于switch语句中D> break语句是switch语句的一局部10、C语言规定:调用一个函数时,实参变量和形参变量之间的数据传递 是B.A、地址传递B、值传递C、由实参传给形参,并由形参传回给实参D由用户指定传递方式11、下述C语言转义符中D是非法的.A 'b'B、037'C、0xfD '''12、为了要计算 s=10! 10的阶乘,那么以下对 s的定义正确的选项是 D.A

28、 intsB、unsignedsC、shorts D、longs13、判断变量ch中的字符是否为大写字母,最简单的正确表达式是AA ch > ='A'&&ch < ='z' B、A< =ch < =ZC、'A' <=ch<='z'D、ch>=A&&chc=z14、在C语言中,能表示无符号长整型常数的是D.A OLB 4962710UC 912374uD 2UL15、能正确表示C语言的字符常量的是C.A '0x41'B > '&#

29、39;A'' C、''0' D ''0''16、C语言中逻辑表达式的值为A.A 0 或 1B、非零值或零值 C、true 或 falseD、'true'或'false'17、C语言提供的根本数据类型关键字是CoA、integerB、FLOAC、unsigned EX Double18、假设定义语句:intb= 11,2,3,4,5 ,*P=b ;那么表达式*p+的值是AA、1B、2 C 、b0的地址 D b1的地址19、在以下选项中,不正确的表达式是C.A、a> bB> c-,+

30、b,a+=1 C、a=c+b> n-m=kD> p+20、假设有以下定义:inta= 1,2,3,4,5,6,7;charcl="b' , c2='2';那么数值不为2的表达式是D.A、a1B、'd'-clC 、a'3'-c2 D c2-025、下述对C语言字符数组的描述中 错送的是C.A、字符数组可以存放字符串B、字符数组中的字符串可以整体输入、输出C、可以在赋值语句中通过赋值运算符m="对字符数组整体赋值D不可以用关系运算符对字符组中的字符串进行比拟27、以下程序的输出结果是Aomain inti=01

31、0,j=10,k=ox10;printf"%d,%d,%dn",i,j,k;A、8,10,16 B、8,10,10 C 、10,10,10D、10,10,1628、以下程序的输出结果是Bo#include <stdio.h >main ()printf (''%dn'', NULL;A、不确定的值(因变量无定义)R 0 C 、-1D、129、以下程序的输出结果是(B).main ()charc1='6' , c2='0';printf (''%d , %d %dn''

32、 , c1 , c2, c1-c2);A、因输出格式不合法,输出出错信息B、54, 48, 6G 6.0 , 7n 6, 0, 632、下述对C语言字符数组的描述中错误的选项是(C).A、字符数组可以存放字符串B、字符数组中的字符串可以整体输入、输出C、可以在赋值语句中通过赋值运算符'=''对字符数组整体赋值D不可以用关系运算符对字符组中的字符串进行比拟33、TurboC中,对于以下程序(A).main ()intx,y;y=creat(&x);printf(''%dn'',y);creat(inta)returna+; A、编译

33、时会给出错信息B、顺利进行编译、连接、执行;不报任何错误C、顺利通过编译、连接、但不能执行D顺利通过编译,但连接出错34、设有如下定义:intx=10,y=4,z;那么语句:printf("dn,z=(x%y,x/y);的输出结果是(C).A 1R 0C、2D 335、下述程序段的输出结果是(D).main ()intx=10,y=10;printf(d,%dn,x+,+y);A 10, 10R 11, 11 C 、11, 10D 10, 1136、定义如下变量和数组:intj;intx33=1,2,3,4,5,6,7,8,9;那么下面语句的输出结果是(C)for(i=0;i <

34、;3;i+)printf(''%d'',xi2-i);A、159B 147 C、357D 36937、假设要求在if后一对圆括号中表示a不等于0的关系,那么不能正确表 示这一关系的表达式为(C).A、ao0B> !aC、a=0D> a38、假设m,y,z均为int型变量,那么执行下面语句后 m值是(A).m=1; x=2; y=3; z=4;m= (m<x)?m:x ;m= (m< y)?m:y;m= (m< z)?m:z;A、1B、2 C 、3D 439、假设有定义:inta=7 ; floatx=2.5 , y=4.7 ,那么表

35、达式 x+a%3*(int ) (x+y) %2/4 的值是(A).A、2.500000R 2.750000 C 、3.500000D、0.00000040、如下说法不正确的选项是(C).A、c>a+b等效于 c> ( a+b)B、假设a, b均为真,那么a|b为真G表达式'c'&&'d'的值为0D逻辑运算符!比逻辑运算符|的优先级高41、putchar ()函数可以向终端输出一个(B).A、整型变量表达式值 R字符G字符串D、实型变量值42、表达式18/4*sqrt (4.0) /8值的数据类型为(C).A、intB、float C

36、、double D 不确定43、假设已定义a为整型变量:a=-2L;printf("dn, a);那么以上语句(B)oA赋值不合法R输出值为-2 C、输出为不确定值D、输出值为245、假设int类型数据占两个字节,那么以下语句的输出为(D).intk=-1;printf(d,%un,k,k);A -1 , -1B、-1 , 32767 C 、-1 , 32768D -1 , 6553546、字母a的ASCII码十进制值为97,那么执行以下语句后的输出为 (C).yhgchara='a'a-;printf(d,%cn,a+2-'0',a+'3&#

37、39;-'0');A、b,cB、a一运算不合法,故有语法错C、98,cD格式描述和输出项不匹配,输出无定值47、下面语句中(B)是C语言的正确赋值语句.A a=1,b=2B、I+; G a=b=5D y=int(x);A中声明变量并初始化时:inta=1,b=5;但是,只赋值时是不能这样写的,应该写成a=1;b=2;C无分号,不 政注意整的语句,D中x没有定义,如果是 脚内容22八48、设有以下说明语句 structstu页inta;floatb;stutype;那么下面的表达不正确的选项是(C).A、struct是结构体类型的关键字B、structstu是用户定义的结构体类C

38、、stutype是用户定义的结构体类型名 D a和b都是结构体成员名49、能正确表示:当x的取值范围在1,10或100 , 110内为真,否那么 为假的表达式是(C)A(x>=1)&&(x<=10)&&(x>=100)&&(x< = 110)B、(x>=1)|(x<=10)|(x>=100)|(x< = 110)C、(x>=1)&&(x<=10)|(x>=100)&&(x< = 110)DX(x>=1)|(x<=10)&&a

39、mp;(x>=100)&&(x< = 110)50、设n为整型变量,那么循环语句for(n=10;n >0;n-)的循环次数为(A)A 10B、9G 11DX 1251、在对文件进行操作时,假设要求文件的位置指针回到文件的开头,那么 应当调用的库函数是(D).A fopen()B、fseek()C、fclose() D rewind()52、以下哪个数组定义是正确的(D).A inta5.5;B、INTa10;C、intan; D inta3+2;53、一个变量的指针就是(A.A、变量白地址 R变量的值C、变量白名称 D变量的类型55、以下正确的说法是(C).

40、A、宏替换是在程序运行时进行的B、函数调用是在程序编译时进行的C、宏替换时,如果实参是表达式,应先求表达式的值,再替换D函数调用时,如果实参是表达式,应先求表达式的值,再替换56、对于数学式4/2a,下面正确的C语言表达式是(D).A sqr(x)/2aB、sqr(x)/2*aC、sqrt(x)/(2*a) D sqrt(x)/2*a57、假设int类型数据占2字节,那么以下语句的输出为(D).intk=32768;printf(''%d,%un'',k,k);A -1 , 65535R -1 , 32767 C >-1,-1, D -32768 , 32

41、76859、下面程序中(B)有错误.1) #include <stdio.h >2) main()3) 4) inta3=0,0,0;5) inti;6) for(i=0;i<3;i+ )scanf(''%D'',&ai);7) for(i=1;i<3;i+)a0=a0+ai;8) printf(''%dn'',a0; A、第4行B、第6行C、第7行D第8行60、下面程序的运行结果(C) omain()unsigneda=3,b=10;5printf(''%dn''a

42、 << 2|b >> 1 =;)A、3R 10C、13D 14%m.ncRfe示最大场宽m,小数位为n位,整 数位那么为m-n-1位,够m位右对齐.-m.nf可以 限制输出左对齐61、已定义x为float 型变量 x=213.82631;Printf(''%-4.2fn'',x); 那么以上程序(A).A、输出格式描述符的域宽不够,不能输出B、输出为213.83C 输出为213.82D、输出为-213.8262、设已定义整型变量K,那么下面的程序输出为(D).k=017; s=111;printf(''%d'

43、9; , +k);printf(''%xn'', s+);A、156fB、1670 C 、1571D 166f63、不能正确表示a*b/c*d的C语言表达式是(C).A、a*b/c*dB、a/(c*d)*b C、a*b/c/d D a*b/(c*d)64、以下(C)表达式不满足;当x的值为偶数时值为“真,为奇数时 值为“假.A、x%2=0B !x%2!=0 C、x/2*2-x=0 D !(x%2)65、设已定义k为int型变量,那么下面 while循环执行(C)次.k=10;while(k=0)k=-1 ;A、执行10次B、无限循环C、一次也不执行D执行一次67

44、、用高级语言编写的程序称之为(A) oA、源程序B、目标程序C、汇编程序D命令程序69、有以下程序的输出结果为(B).main()chara=0x95,b,c;b=(a&0xf) <<4;c=(a&0xf0) >>4;a=b|c;printf("xn,a);A、24B、59 C 、34D 5670、下述程序段的输出结果是(A)ointa=3;b=4;intc=aAb > > 3;printf(d,c)A、3B、4 C 、5D、673、设int型变量在内存中占用两个字节存储单元,定义如下结构体:structstudentcharnam

45、e10;charsex;intage;structintyear;intmonth;intday;birth;stul;那么表达式sizeof(stul)的值是().A、5R 8 C 、2D、2675、下述程序段的运行结果是(B)o#include<stdio.h>main()intm=7,n=4;floata=38.4,b=0.4,x;x=m/2+n*a/b+1/2;printf("fn,x);A 22B、387.000000 C 、27D 2676、下面程序的运行结果是(C)omain()intcl=2,c2=0;while(!c2-) printf('

46、9;%d%d",cl-,c2);)A、陷入死循环R不输出任何内容C、输出2-1 D输出2077、下面程序的运行结果是(B).intm=4,n=6;max(intx,inty)intmax;max=x>y?x:y;return(max);)main()intm=10;printf(''%dn'',max(m,n);)A 4B、10 C 、6D 578、下面程序的运行结果是(B)ofun(intp)intk=1;statict=2;k=k+1;t=t+1;return(p*k*t);)main()intx=4;fun(x);printf('&

47、#39;%dn'',fun(x);)A、4B、32 C 、30D 1679、阅读下面的程序:main()charch;scanf(''%c'',&ch);if(ch>='a'&&ch<='z')ch=ch-32;printf(''%c'',ch);)假设输入字符为:e,那么程序运行结果为(A).A、田、AG eD z80、下面程序的运行结果是(B).main()staticinta33=3,2,1,(4,5,6),-2,9,1;inti,j,sum

48、=0;for(i=0;i<3;i+)for(j=0;j<3;j+)if(i=j)sum=sum+aiJj;)printf(''sum=%d'',sum);)A、sum=10B sum=9 C 、9D 1084、下述程序的运行结果是(A).#include<stdio.h>voidfun(intx)putchar('0'+(x%10);fun(x/10);)main()printf(''n'');fun(1234);)A 4321B、321 C 、21D 186、设已定义i和k为int类型变量

49、,那么以下for循环语句(B)for(i=0,k=-1;i+,k+)printf(''*n'');A、判断循环结束的条件不合法 R是无限循环C、循环一次也不执行 D循环只执行一次87、以下程序段选择项中,使i的运行结果为4的程序段是(D)A inti=0,j=0;B 、inti=1,j=70;(i=3,(j+)+i);j=i=(i=3)*2);C、inti=0,j=1; D inti=1,j=1;(j=1)?(i=1):(i=3);i+=j+=2;89、阅读以下程序(最左边是附加的行号).1) #include<stdio.h>2) main()3)

50、 30ats5;4) inti,k=0;5) for(i=0;i<5;i+)6) scanf(''%d'',s+i);7) for(i=0;i<5;i+)8) k=si;9) printf(n%f',(float)k);10) 此段程序(A) oA没有错误B、第4行错误G第6行错误D第9行错误90、以下程序中有三个是完全相同的功能,只有(B)所完成的功能与其 他程序不同.A、s=0; B、s=0;i=0; i=1;while(i<=100) while(i+<100)s+=i+; s+=i;G s=0;D、s=0;i=0;i=0;

51、while(i<=100)while(+i<=100)s+=+i;s+=i;92、执行下面的程序后,a的值为(D).main()inta,b;for(a=1,b=1;a<=100;a+)if(b>=20)break;if(b%3=1)b+3;continue;b-=5;A 7R 8 C 、口 1093、下面的程序中(C)有错误.1) #include<stdio.h>2) main()3) 4) floata3=0.0;5) inti;6) for(i=0;i<3;i+)7) scanf(D,&ai);8) for(i=1;i<3;i+)

52、a0=a0+ai;9) printf("fn,a0);A、第4行B、第6行C、第7行D第8行94、以下程序的输出结果是(C).#include<stdio.h>main()inti;for(i=1;i<5;i+)if(i%2)printf("+")elsecontinue;printf(“-")printf('' $ n'');)A、+-+-+- $ B> -+-+-+ $ C、+-+- $ D> -+-+ $95、下述程序段的输出结果是(C)ointx=3;doprintf('

53、9;%d'',x-=2);while(!(-x);A 1R 30 C、1-2 D 死循环96、定义如下变量:intn=10;那么以下循环的输出结果是(A.while(n>7)n-;printf(''%d'',n);A 1098B、 987 C 、 10987R 9876100、两次运行下面的程序,如果键盘上分别输入6和4,那么输出结果是(A).main()intx;scanf("%d'',&x);int(x+>5)printf(''%dn'',x-);)A、7 和 5B

54、、6 和 3 C 、7 和 4D> 6 和 4101、运行下段程序的结果是(D).#include<stdio.h>main()intx;for(x=1;x<=100;x+)if(+x%=0)if(+x%3=0)if(+x%5=0)printf(''%d'',x);)A 31,61,91B、30,60,90G不输出任何内容D 29,59,89102、运行下述程序段后,i值为4的是(B)cA inti=1,j=0;B、inti=1 , j=1;i=j=(i=3)+);i+=i+=2;C、inti=0,j=0;D、inti=0 , j=1;(

55、i=2,i+(j=2);(j=1)?i+=3:i=2;104、以下程序的输出结果是(D).main()inta=-1,b=4,k;k=(+a,0)&&!(b-<=0);printf(''%d,%d,%dn'',k,a,b);)A、1,0,4B、1,0,3 C 、0,0,3 D 0,0,4105、以下程序的输出结果是(A).main()intx=3,y=0,z=0;if(x=y+z)printf(''*'');elseprintf(''#'');)A #B、*C、1D 4106、

56、以下程序的输出结果是(A).intm=13;intfun2(intx,inty)intm=3;return(x*y-m);)main()inta=7,b=5;printf(''%dn'',fun2(a,b)/m);)A、2B、3 C 、7D、5112、阅读程序:#include<stdio.h>main()intm,n,w;scanf(''%d,%d'',&m,&n);while(n)w=m%n;m=n;n=w;)printf(''%d'',m);)如果输入10,6 ,那

57、么输出结果是(D)oA 60R 120 C 、2D 10113、以下程序执行后输出的结果是(A#include<stdio.h> f(inta)intb=0;staticc=2;a=c+,b+;return(a+b);)main()inta=2,i,k;for(i=0;i<2;i+);k=f(a+);printf("dn,k);)A、3B、0 C 、4D 5115、以下程序的运行结果是(B).main()staticinta34=1,2,3,4,5,6,7,8,9,10,11,12;inti,j,sum=0;for(i=0;i<3;i+)for(j=0;j&l

58、t;4;j+)if(j>i)sum+=aij;printf(sum=%dn,sum);A、40B、36 C 、24D 30120、阅读以下程序:main()intn3,i,j,k;for(i=0;i<3;i+)ni=0;k=2;for(i=0;i<k;i+)for(j=0;j<k;j+)nj=ni+1;for(i=0;i<3;i+)printf(d,ni);printf(n);运行该程序,其输出结果是(B)oA 230R 330 C 、123H 321123、下述程序段的运行结果是(B)omain()staticinta33=1,2,3,4,5,6,7,8,9;intb32,i,j;for(i=0;i<3;i+)for(j=0;j<3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论