资源描述:
《c语言程序设计题目及解答》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、判断题 (20分)1.在C源程序中,/*与*/之间的注释信息也被编译,但对程序运行运果不发生影响。2分2.对C语言中用到的任何一个变量都要规定其类型。2分3.字符型数据和整数之间是不可以通用的。2分4.对整型常量可进行自加或自减运算,而对变量或表达式不可以。2分5.表达式1/4+2.75的值是3。2分6.复合语句是由多条语句组成的,因此它不是一条语句。2分7.程序进行编译时,不为形式参数分配存储空间.2分8.return后面括号里的表达式的值即是此函数的值。2分9.函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是52分10.intn
2、=10;inta[n];则数组a有10个元素。2分二、选择题 (20分)1.下列可用于C语言用户标识符的一组是(). [B]2分A.void,define,WORD B.a3_b3,_123,Car C.For,-abc,IFCase D.2a,DO,sizeof2.有以下程序:#includeintmain(){inti=1,j=1,k=2;if((j++
3、
4、k++)&&i++)printf("%d,%d,%d",i,j,k);return0;}执行后输出结果是: [C]2分A.1,1,2 B.2,2,1 C.2,2,2
5、 D.2,2,33.已知inta;floatb;所用的scanf调用语句格式为:scanf("a//%d,b=%f",&a,&b);为了将数据3和25.08分别赋给x和y,正确的输入应当是()。 [B]2分A.3,25.08 B.a//3,b=25.08 C.a=3,b=25.08 D.a//3b=25.084.若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是()。[B]A.(exp==0) B.(exp!=0) C.(exp==1) D.(exp!=1)5.C语言规定,在一个源程序中,m
6、ain函数的位置()。 [C]2分A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后6.现在有以下定义,inta;doubleb;floatc;chark;则下面的表达式a/b+c-k值的类型为:()。 [B]2分A.int B.double C.float D.char7.设有语句inta=3;则执行了语句a+=a-=a*a;后,变量a的值是______。 [D]2分A.3 B.0 C.9 D.-128.以下非法的赋值语句是______。 [C]2分A.n=(i=2,+
7、+i); B.j++; C.++(i+1); D.x=j>0;9.若有数组定义语句“inta[4][5];”,则对a中数组元素的正确引用是()。[D]2分A.a[4][1] B.a[2,1] C.a[4][5] D.a[4–1][5–5]10.有数组定义语句“chara[20];”,则正确的输入语句为()。 [D]2分A.scanf("%s",&a); B.scanf("%s",a[]); C.gets(a[20]); D.gets(a);三、程序填空题 (20分)1.功能:输出1到100之间每位数的乘积大于每位
8、数的和的数。例如:数字26,数位上数字的乘积12大于数字之和8。4分#includevoidmain(){intn,k=1,s=0,m;for(n=1;n<=100;n++){k=1;s=0;m=n;while(0s)printf("%d",n);}}(1)答案2分k*=m%10(2)答案2分s+=m%102.功能:求100-999之间的水仙花数说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。(例如:153=1^3+5^3+3^3)。8分#includeintfun(intn)
9、{inti,j,k,m;m=n;__(1)__;for(i=1;i<4;i++){__(2)__;m=(m-j)/10;k=k+j*j*j;}if(k==n)__(3)__;elsereturn(0);}intmain(){inti;for(i=100;i<1000;i++)if(__(4)__==1)printf("%disok!",i);}(1)答案2分k=0(2)答案2分j=m%10(3)答案2分return(1)(4)答