第一章1.选择题(1)C语言程序的基本单位是()A.程序行B.语句C.函数D.字符(2)在计算机系统中,可以直接执行的程序是()A.源程序B.汇编语言程序C.机器语言程序D.ASCII码(3)下列对C语言程序的书写格式的描述,()是正确的。A.C语言程序中,每行只能写一条语句B.C语言程序书写时通常采用“缩排”方式C.C语言程序的书写中要求每行都要以分号作结尾D.注释行必须放在程序的头或程序的尾(4)以下说法中正确的是()。A.C语言程序总是从第一个定义的函数开始执行B.C语言程序总是从main()函数开始执行C.C语言程序中的main()函数必须放在程序的开始部分D.一个C函数中只允许一对花括号(5)保存一个C语言源程序的快捷键是()A.F1B.F2C.F3D.F4(6)启动TCV2.0环境后,打开一个C语言源程序的快捷键是()A.F1B.F2C.F3D.F4(7)C语言源程序文件file.C经系统编译、连接后,生成的文件名为()A.file.CB.fileC.file.ObjD.file.Exe2.填空题(1)一个C语言程序有且仅有一个___________函数(2)C语言程序的执行,总是从_________函数开始,而不论其在程序中的位置。(3)C语言程序是由一个主函数main()和___________函数结合而成的,或仅由一个main()函数构成。(4)C语言程序总是从主函数main()开始执行,到___________函数执行完后结束(5)所有函数(包括主函数main())都是由___________和___________两部分组成。(6)执行一个C语言程序的一般过程是______________________(7)在TC集成环境下,存盘、编译与连接、运行、查看运行结果操作的快捷键分别是___________、___________、___________、___________。(8)C语言源程序经翻译成目标程序。第二章1.选择题⑴下列选项中,合法的C语言关键字是()。A.VARB.cherC.integerD.float⑵以下所列的C语言常量中,错误的是:A.0xFFB.1.2e0.5C.2LD.'\72'⑶以下变量x,y,t均为double类型且已正确赋值,不能正确表示数学式子zyx的C语言表达式是()。A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z⑷如下程序main(){inty,x=3,z=1;y=(++x)+(++x);printf("%d%d\n",(y),z+2);}运行该程序的输出结果是()。A.53B.43C.73D.63⑸若已正确定义x和y为double类型,则表达式x=1,y=x+3/2的值是()。A.1B.2C.2.0D.2.5⑹在C语言中运算对象必须是整型的运算符是()。A.%=B./C.=D.*⑺设有intx=11;则表达式(x++*1/3)的值是()。A.3B.4C.11D.12⑻设x和y均为int型变量,则下列语句:x+=y;y=x-y;x-=y;的功能是()。A.把x和y按从大到小排列。B.把x和y按从小到大排列。C.无确定的结果。D.交换x和y中的值⑼若有以下定义:chara;intb;floatc;doubled;则表达式a*b+d―c值的类型为()。A.intB.charC.doubleD.float⑽下列可作为C语言赋值语句的是()。A.x=3,y=5B.a=b=6C.i+=1;D.y=int(x)2.填空题⑴设a,b,c为整数,且a=2、b=3、c=4,则执行完语句:a*=16+(b++)-(++c);后,a的值是28。⑵数学式子sin2x×baba写成C语言表达式是。⑶设x和y均为int型变量,且x=1,y=2,则以下表达式的值为4。y=x++,x+y,++y,x*y⑷以下程序的输出结果。main(){unsignedshorta=65535;intb;printf("%d\n",b=a);}0—6553532767---32768000000000000000011111111111111110000000000000000011111111111111110000000000000000000000000000001⑸下列程序的输出结果是16.00,请填空。main(){inta=9,b=2;floatx=6.6,y=1.1,z;z=a/2+b*x/y+1/2;6=x/yprintf("%5.2f\n",z);}3.应用题⑴指出下列变量名中,哪些是合法的,哪些是非法的。Int,char,315,ABC,C&D,string$,_213,alpha_beta,John-Smith?⑵写出下面表达式运算后a的值,设a和n都已定义为整型变量且a=12,n=5。(1)a+=n(4)a-=2+n(2)a*=n+3(5)a/=a+n(3)a%=(a%=n)(6)a+=a―=a*=n⑶分析下列程序的运行结果。①main(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d\n",i,j,m,n);}②main(){intnum=5,num1,num2;num1=num++;num2=++num;printf("num=%d,num1=%d,num2=%d\n",num,,num2);757num1=num--;num2=--num;printf("num=%d,num1=%d,num2=%d\n",num,num1,num2);}575⑷编程计算下列表达式的值。①a+b%3*(int)(a-b)/4(设a=13.6,b=8)②(x+y)/2+(int)x%(int)y(设x=4.5,y=2.5)③z*=3+6,z/=z/2,z+=z-=z*=z(设z=5)⑸编程实现从键盘上输入2个int型数,比较其大小,并输出其中较小的。⑹编程实现输入km数,输出其英里数。已知:1英里=1.60934km。⑺从键盘上输入任意一个float型的数,然后将该数保留2位小数输出。⑻从键盘上输入任意一个小写字母,然后将该字符转换为对应大写字母输出,并同时输出该小写字母的ASCII码值。第三章1.选择题(1)putchar函数可以向终端输出一个()。A.整型变量或表达式值B.实型变量值C.字符串D.字符或字符型变量值(2)有如下程序段:inta1,a2;charc1,c2;scanf(%d%c%d%c,&a1,&c1,&a2,&c2);若要求a1、a2、c1、c2的值分别为10、20、A、B,正确的数据输入是()。A.10A20B↙B.10A20B↙C.10A20B↙D.10A20B↙(3)有如下程序,输入数据:12345m678↙后,x的值是(),y的值是()。#includestdio.hmain(){intx;floaty;scanf(%3d%f,&x,&y);}①A.12345B.123C.45D.345②A.45.000000B.45678.00000C.678.000000D.123.000000(4)有如下程序,对应正确的数据输入是()#includestdio.hmain(){floata,b;scanf(%f%f,&a,&b);printf(a=%f,b=%f\n,a,b);}A.2.04↙B.2.04,5.67↙C.A=2.04,B=5.67↙5.67↙D.2.045.67↙(5)有输入语句:scanf(a=%d,b=%d,c=%d,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式是()A.132↙B.1,3,2↙C.a=1,b=3,c=2↙D.a=1b=3c=2↙(6)已知字母A的ASCII码是65,以下程序的执行结果是()#includestdio.hmain(){charc1='A',c2='Y';printf(%d,%c\n,c1,c2);}A.A,YB.65,65C.65,YD.65,89(7)以下程序的执行结果是()#includestdio.hmain(){inta=2,b=5;printf(a=%d,b=%%d\n,a,b);}A.a=%2,b=%5B.a=2,b=5C.a=%%d,b=%%dD.a=2,b=%d2.填空题(1)以下程序的执行结果是___100144_64________。#includestdio.hmain(){inti=100;printf(%d,%o,%x\n,i,i,;}(2)以下程序的执行结果是_。#includestdio.hmain(){charc='A';printf(%d,%o,%x,%c\n,c,c,c,c);}(3)以下程序的执行结果是______。#includestdio.hmain(){floatf=3.1415926;printf(%f,%5.4f,%.3f,f,f,f);}(4)以下程序的执行结果是______。#includestdio.hmain(){floatf=31.41592;printf(%7.2f,%7.2e\n,f,f);}(5)以下程序的执行结果是______。#includestdio.hmain(){charc='A'+10;printf(c=%c\n,c);}(6)以下程序运行时输入1□2□3↙(□代表空格)后,执行的结果是______。#includestdio.hmain(){inta,c;charb;scanf(%d%c%d,&a,&b,&c);printf(a=%d,b=%c,c=%d\n,a,b,c);}(7)以下程序运行时输入123456789↙后,执行的结果是______。#includestdio.hmain(){inta,b;scanf(%2d%3d,&a,&b);printf(a=%d,b=%d\n,a,b);}(8)以下程序运行时输入ABC↙后,执行的结果是______。#includestdio.hmain(){charc;scanf(%3c,&c);printf(c=%c\n,c);}(9)以下程序运行时输入100↙后,执行的结果是______。#includestdio.hmain(){intn;scanf(%o,&n);printf(n=%d\n,n);}643.编程题(1)编写程序从键盘输入圆锥体的半径r和高度h,计算其体积。(2)编写程序,输入一个字符,输出其对应的ASCII码。3)编写程序,输入一个三位整数,把三个(数字逆序组成一个新数,再输出。例如输入369,输出963。第四章1.选择题(1)最适合解决选择结构“x0,则y=1;否则y=0”的语句是()。A.switchB.嵌套的if-elseC.if-elseD.if(2)下列表达式中,()不满足“当x的值为偶数时值为真,为奇数时值为假”的要求。A.x%2==0B.!x%2!=0C.x/2*2-x==0D.!(x%2)(3)以下程序片段()。intx=2,y=3;if(x=y)printf(″***x=%d″,x);elseprintf(″###y=%d″,y);A.语法错误B.输出为:***x=3C.输出为:###y=2D.输出为:###y=3(4)能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是()。A.(x=1)&&(x=10)&&(x=200)&&(x=210)B.(x=1)||(x=10)||(x=200)||(x=210)C.(x=1)&&(x=10)||(x=200)&&(x=210)D.(x=1)||(x=10)&&(x=200)||(x=210)(5)运行下列程序的输出结果是()。main(){inta1=10,a2=-9,a3=0,a4=100,x;if(a1a2){x=a1,a1=a2,a2=x;}if(a1a3