C语言试题汇总西电第二版.docx

上传人:b****6 文档编号:8298506 上传时间:2023-01-30 格式:DOCX 页数:39 大小:38.47KB
下载 相关 举报
C语言试题汇总西电第二版.docx_第1页
第1页 / 共39页
C语言试题汇总西电第二版.docx_第2页
第2页 / 共39页
C语言试题汇总西电第二版.docx_第3页
第3页 / 共39页
C语言试题汇总西电第二版.docx_第4页
第4页 / 共39页
C语言试题汇总西电第二版.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

C语言试题汇总西电第二版.docx

《C语言试题汇总西电第二版.docx》由会员分享,可在线阅读,更多相关《C语言试题汇总西电第二版.docx(39页珍藏版)》请在冰豆网上搜索。

C语言试题汇总西电第二版.docx

C语言试题汇总西电第二版

第一章

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.D.

2.填空题

(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类型且已正确赋值,不能正确表示数学式子

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×

写成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---32768

00000000000000001111111111111111

00000000000000000111111111111111

1000000000000000

0000000000000001

⑸下列程序的输出结果是16.00,请填空。

main()

{

inta=9,b=2;

floatx=6.6,y=1.1,z;

z=a/2+b*x/y+1/2;6=x/y

printf("%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);

757

num1=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的值是()。

#include

main()

{

intx;floaty;

scanf("%3d%f",&x,&y);

}

①A.12345B.123C.45D.345

②A.45.000000B.45678.00000C.678.000000D.123.000000

(4)有如下程序,对应正确的数据输入是()

#include

main()

{

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,以下程序的执行结果是()

#include

main()

{

charc1='A',c2='Y';

printf("%d,%c\n",c1,c2);

}

A.A,YB.65,65C.65,YD.65,89

(7)以下程序的执行结果是()

#include

main()

{

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=%d

2.填空题

(1)以下程序的执行结果是___100144_64________。

#include

main()

{

inti=100;

printf("%d,%o,%x\n",i,i,;

}

(2)以下程序的执行结果是_。

#include

main()

{

charc='A';

printf("%d,%o,%x,%c\n",c,c,c,c);

}

(3)以下程序的执行结果是______。

#include

main()

{

floatf=3.1415926;

printf("%f,%5.4f,%.3f",f,f,f);

}

(4)以下程序的执行结果是______。

#include

main()

{

floatf=31.41592;

printf("%7.2f,%7.2e\n",f,f);

}

(5)以下程序的执行结果是______。

#include

main()

{

charc='A'+10;

printf("c=%c\n",c);

}

(6)以下程序运行时输入1□2□3↙(□代表空格)后,执行的结果是______。

#include

main()

{

inta,c;

charb;

scanf("%d%c%d",&a,&b,&c);

printf("a=%d,b=%c,c=%d\n",a,b,c);

}

(7)以下程序运行时输入123456789↙后,执行的结果是______。

#include

main()

{

inta,b;

scanf("%2d%3d",&a,&b);

printf("a=%d,b=%d\n",a,b);

}

(8)以下程序运行时输入ABC↙后,执行的结果是______。

#include

main()

{

charc;

scanf("%3c",&c);

printf("c=%c\n",c);

}

(9)以下程序运行时输入100↙后,执行的结果是______。

#include

main()

{

intn;

scanf("%o",&n);

printf("n=%d\n",n);

}64

3.编程题

(1)编写程序从键盘输入圆锥体的半径r和高度h,计算其体积。

(2)编写程序,输入一个字符,输出其对应的ASCII码。

3)编写程序,输入一个三位整数,把三个(数字逆序组成一个新数,再输出。

例如输入369,输出963。

第四章

1.选择题

(1)最适合解决选择结构“x>0,则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=3

C.输出为:

###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(a1

if(a1

if(a1

if(a2

if(a2

if(a3

printf(″%d,%d,%d,%d\n″,a1,a2,a3,a4);

}

A.-9,0,10,100B.100,10,0,-9C.0,-9,10,100D.100,10,-9,0

(6)C语言对嵌套if语句的规定是:

else总是与()。

 A.其之前最近的if配对B.第一个if配对

  C.缩进位置相同的if配对D.其之前最近的且尚未配对的if配对

(7)设:

inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为()。

A.1B.2C.3D.4

(8)下面()是错误的if语句(设intx,a,b;)。

  A.if(a=b)x++;B.if(a=

(9)以下程序片段()。

        main()

        {intx=0,y=0,z=0;

if(x=y+z)printf(″***″);

elseprintf(″###″);

        }

  A.有语法错误,不能通过编译B.输出:

***

  C.可以编译,但不能通过连接,所以不能运行D.输出:

###

(10)下述程序的输出结果是()。

main()

{inta=0,b=0,c=0;

   if(++a>0||++b>0)

     ++c;

   printf(″%d,%d,%d″,a,b,c);

}

A.0,0,0B.1,1,1C.1,0,1D.0,1,1

(11)下述程序的输出结果是()。

main()

{intx=-1,y=4,k;

   k=(x++<=0&&!

(y--<=0));

   printf(″%d,%d,%d″,k,x,y);

}

  A.0,0,3B.0,1,2C.1,0,3D.1,1,2

2.填空题

(1)C语言提供6种关系运算符,按优先级由高到低它们分别是、、、、、等。

(2)C语言提供三种逻辑运算符,优先级最高的运算符是。

(3)将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式是y%4==0&&y%100!

=0||y%400==0   。

(4)设x,y,z均为int型变量;写出描述“x,y和z中有两个为负数”的C语言表达式是                                                                    。

(5)已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||A

C>B的值是0。

(6)有intx=3,y=-4,z=5;则表达式(x&&y)==(x||z)的值为1。

(7)若有x=1,y=2,z=3,则表达式(x

x:

y)==z++的值是0。

(8)执行以下程序段后,a=10b=9c=11。

intx=10,y=9;

inta,b,c;

a=(x--==y++)?

x--:

y++;

b=x++;

c=y;

(9)下列程序段功能所对应的分段函数是                              

if(x<0)y=-1;

elseif(x==0)y=0;

elseif(x<1000)y=1;

elsey=2;

(10)运行下列程序的输出结果是        00             

main()

{intn=1;

switch(n--)

{case0:

printf(″%1d″,n);

case1:

printf(″%1d″,n);

case2:

printf(″%1d″,n);

}

}

(11)根据以下函数关系,对输入的每个x值,计算出相应的y值,请填空使程序完整。

    main()

    {

       intx,c,m;

       floaty;

       scanf(″%d″,&x);

       if()c=-1;

       elsec=;

       switch(c)

        {  case–1:

y=0;break;

          case0:

y=x;break;

          case1:

y=10;break;

          case2:

          case3:

y=-0.5*x+20;break;

          default:

y=-2;

       }

       if()

          printf(″y=%f″,y);

       else

          printf(″error!

″);

}

(12)以下程序输出x、y、z三个数中的最小值,请填空使程序完整。

main()

{intx=4,y=5,z=8;

   intu,v;

   u=x

x:

y;

   v=u

u:

z;

   printf(″%d″,v);

}

3.编程题

(1)从键盘上输入M,显示“GoodMorning!

”;输入H,显示“Hello!

”;输入N,显示“GoodNight!

”。

(2)从键盘上输入四个整数,分别存入变量a,b,c,d中,并按从小到大的顺序输出。

(3)给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。

90分以上为’A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下为’E’。

(4)提高题:

给一个不多于5位的正整数,要求:

①求出它是几位数;

②分别打印出每一位数字;

③按逆序打印出各位数字,例如原数是325,应输出523。

第五章

1.选择题

(1)关于下面程序段描述正确的是()。

intk=2;

while(k=0){ printf("%d",k);

k--;

}

A.while循环执行10次B.循环是无限循环

C.循环体语句一次也不执行D.循环体语句执行一次

1+2+3+。

+99+100

(2)下述程序段中,()与其他程序段的作用不同。

  A.k=1;s=0;B.k=1;s=0;

while

(1)Repeat:

s+=k;

  { s+=k;if(++k<=100)

   k=k+1;gotoRepeat;

   if(k>100)break;printf("\n%d",s);

}

printf("\n%d",s);

C.k=1;s=0;  D.k=1;s=0;

for(;k<=100;s+=++k);dos+=k;

printf("\n%d",s);while(++k<=100);

printf("\n%d",s);

(3)以下程序段的循环次数是()。

  for(i=2;i==0;)printf("%d",i--);

  A.无限次B.0次C.1次D.2次

(4)下面程序的输出结果是()。

        main()

        {

charc='A';

intk=0;

do{

   switch(c++)

          {case'A':

k++;break;

          case'B':

k--;

          case'C':

k+=2;break;

          case'D':

k%=2;continue;

          case'E':

k*=10;break;

          default:

k/=3;

    }

    k++;

}while(c<'G');

printf("k=%d",k);

        }

  A.k=4B.k=3C.k=2D.k=0

(5)下面程序的输出结果是()。

        main()

    

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 艺术创意

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1