C语言试题.docx

上传人:b****7 文档编号:11197876 上传时间:2023-02-25 格式:DOCX 页数:73 大小:88.54KB
下载 相关 举报
C语言试题.docx_第1页
第1页 / 共73页
C语言试题.docx_第2页
第2页 / 共73页
C语言试题.docx_第3页
第3页 / 共73页
C语言试题.docx_第4页
第4页 / 共73页
C语言试题.docx_第5页
第5页 / 共73页
点击查看更多>>
下载资源
资源描述

C语言试题.docx

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

C语言试题.docx

C语言试题

C语言程序设计试题集(第1套)

一、单项选择题(每题2分,共20分)

1、以下叙述不正确的是

A)C程序由函数构成

B)一个C程序至少包含一个main函数

C)main函数可以调用main函数

D)main函数是每个程序执行的起始点

2、C程序中能直接让机器执行的文件是

A)编辑后的.c源文件

B)通过编译的.obj文件

C)通过连接的.exe文件

D)编辑后的.bak文件

3、假设定义变量如下:

intx;

floaty;

以下输入语句中哪个是正确的?

A)scanf(“%f%d”,&y,&x);B)scanf(“%f%d”,y,x);

C)scanf(“%f%f”,&y,&x);D)scanf(“%d%d”,&y,&x);

4、已知:

inta[][3]={1,2,3,4,5,6};则数组a的第一维的大小是

A)2B)3C)4D)无确定值

5、.如果switch表达式是char变量code,下面哪一个case子句是合法的。

A)case“3”:

B)case‘3’:

C)case3:

D)case=3:

6、能正确表示”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)

7、C语言中while和do-while循环的主要区别是

do-while循环至少无条件执行一次,而while循环可能一次也不执行

while循环控制条件比do-while循环控制条件严格

do-while循环允许从外部转到循环体内,而while循环不允许

do-while的循环体可以是复合语句,而while循环不可以是复合语句

8、下面哪一项函数的头部是有效的?

one(intaintb)

intthisone(charx)

charanother(inta,b)

doubleyetanother

9、若有定义charx[]="12345";chary[]={'1','2','3','4','5'};则

A)x数组与y数组的长度相同B)x数组长度大于y的长度

C)x数组长度小于y数组长度D)x数组等价于y数组

10、二维数组的第一个元素的行下标和列下标是

A)1,1B)0,1C)1,0D)0,0

二、填空题(每空3分,共30分)

1、如果a=4,b=3,那么,在执行语句a=b;之后,a、b的值分别是

(1)

2、语句:

if(6>5)printf(“#”);

printf(“$”);

输出

(2)

3、for(sum=j=0;j<=10;++j)sum+=j;循环结束后sum的值等于(3)

4、长度为10的int类型数组和长度为3的double类型数组,哪一个数组占用的内存空间多(4)

5、字符数组a)chara[]=“one”;占多少内存字节(5)

6、如果ch<‘A’或ch>‘Z’,那么,表达式ch>=‘A’&&ch<=‘Z’的值是(6)

7、编写C语句,交换a、b的值(7)

8、为了使用库函数getchar(),必须在程序中包含命令(8)

9、设intnumbers[5]={17,25,30,56,58};编写C的for语句,将数组numbers中的每个元素减去3。

使用变量i跟踪下标。

(9)

10、设有函数定义:

设有函数定义:

intmax(intx,inty)

{intz;

z=x>y?

x∶y;

return(z);

语句printf(“%d”,max(max(2,3),4));输出什么?

(10)

三、阅读下列程序,写出运行结果(每题5分,共20分)

1、

#include

voidmain()

{ chara=’A’;

printf(“%c\n",a+32);

}

2、

#include

voidmain()

{intx=3,y;

if(x<0)y=-1;

elseif(x>0)y=1;

elsey=0;

printf(“x=%d,y=%d\n”,x,y);

}

3、

#include

voidmain()

{intf1,f2;

intj;

f1=1;f2=1;

for(j=1;j<=4;j++){

printf(″%d%d″,f1,f2);

f1=f1+f2;

f2=f2+f1;

}

}

4、

#include

voidmain()

{inta[2][3]={{1,2,3},{4,5,6}};

intb[3][2],i,j;

for(i=0;i<2;i++){

for(j=0;j<3;j++)b[j][i]=a[i][j];

}

printf("arrayb:

\n");

for(i=0;i<3;i++){

for(j=0;j<2;j++)printf("%5d",b[i][j]);

printf("\n");

}

}

四、编写程序(共30分,每题10分)

1、从键盘上输入两个整数,比较两个数的大小,并输出较大者

2、编写程序,打印如下图案:

*

**

***

****

*****

3、编写程序,求一维数组中最大元素,数据自定。

C语言程序设计试题集(第2套)

单项选择题(30分,每题2分)

1.用C语言编写的代码程序______。

A、可立即执行B、是一个源程序

C、经过编译即可执行D、经过编译解释才能执行

2.C语言中用于结构化程序设计的三种基本结构是______。

A、顺序结构、选择结构、循环结构B、if、switch、break

C、for、while、do-whileD、if、for、continue

3.以下选项中合法的实型常数是______。

A、5E2.0B、E-3C、.2E0D、1.3E

4.假定x和y为double型,则表达式x=2,y=x+3/2的值是______。

A、3.500000B、3C、2.000000D、3.000000

5.ch是字符型变量,下面不正确的赋值语句是______。

A、ch=65;B、ch="a";C、ch='\n';D、ch=9+'0';

6.下列有关C语言程序书写格式的说法哪个是错误的?

A、C程序的书写格式比较自由,一个语句可以占多行,一行也可以有多个语句。

B、C语句必须要有分号。

C、C语言程序的标识符必须使用小写字母。

D、用{}括起来的部分,通常表示了程序的某一层次结构,称为块。

7.下面程序段所表示的数学函数关系是______。

    x=-1;

    if(a!

=0)

if(a>0)x=1;

elsex=0;

  -1(a<0)     1(a<0)

A、x=0(a=0)B、x=-1(a=0)

1(a>0)0(a>0)

0(a<0)-1(a<0)

C、x=-1(a=0)   D、x=1(a=0)

1(a>0)0(a>0)

8.以下关于do-while循环的不正确描述是______。

A)do-while的循环体至少执行一次

B)do-while的循环体可以是复合语句

C)在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作

D)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号

9.以下程序执行后sum的值是______。

A)15B)14C)不确定D)0

main()

{inti,sum=0;

for(i=1;i<6;i++)sum+=i;

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

}

10.若有说明语句:

inta[][3]={1,2,3,4,5,6};则a数组第一维的大小是。

A.1B.2C.3D.无确定值

11.C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是______。

  A、float型B、long型C、int型D、double型

12.下面正确的函数定义形式为

A、doublefun(intx;inty)

B、doublefun(intx,inty);

C、doublefun(intx,y)

D、doublefun(intx,inty)

13.以下程序运行后,输出结果是______。

  #defineADD(x)x+x

  main()

  {intm=1,n=2,s=3;

   s=S+ADD(m+n);

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

  }

A、s=8     B、s=9  C、s=6     D、s=18

14.若有定义:

intx,*p;则以下正确的赋值表达式是

A、p=&xB、p=xC、*p=&xD、p=*x

15.以下变量a,b,c均为double型且已正确赋值,不能正确地表示数学式子

的C语言表达式是

A、2*(1/(a*b*c)) B、2/a*b*cC、2/a*1/b*1/cD、2/a/b/c

程序填空题(20分,每空2分)

1.以下程序的功能是:

输入三个整数n1、n2、n3,将最大的数输出。

请填空。

  main()

  {intn1,n2,n3,temp;

  scanf("%d%d%d",&n1,&n2,&n3);

  if(n2

  {temp=n2;n2=n3;n3=temp;}

  if(n1

  {temp=n1;①;②;}

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

}

2.编写打印整数1~10的平方的函数。

请填空。

main()

{inti;

for(i=1;i③;i++)

printf(“%d\n”,square(i));

}

square(intn)

{return(④);}

3.求数组所有元素累加和。

请填空。

main()

{intsum,i,j,k,a[2][2][2]={1,2,3,4,5,6,7,8};

sum=⑤;

for(i=0;i<2;i++)

for(j=0;j<2;j++)

for(k=0;k<2;k++)

sum=⑥;

printf("%d",sum);

}

4.以下程序的功能是调用函数fun计算:

m=1-2+3-4+…+9-10,并输出结果。

请填空。

intfun(intn)

{intm=0,f=1,i;

for(i=1;i<=n;i++)

{m+=⑦;

f=⑧;

}

returnm;}

main()

{printf(“m=%d\n”,fun(10));

}

5.将以下含有switch语句的程序段改写成对应的含有嵌套if语句的程序段,请填空。

  含有switch语句的程序段:

  ints,t,m;

  t=(int)(s/10);

  switch(t)

  {case10:

m=5;break;

   case9:

m=4;break;

   case8:

m=3;break;

   case7:

m=2;break;

   case6:

m=1;break;

   default:

m=0;

   }

  含有嵌套if语句的程序段:

  ints,m;

if(s<60||s>110)m=0;

elseif(s<70)m=1;

elseif(s<80)m=2;

elseif(s<90)m=3;

elseif(s<100)⑨;

else⑩;

三.程序运行结果题(20分,每题4分)

1.写出程序运行的结果:

main()

{

inta=2,b=3;

floatx=3.5,y=2.5,p;

p=(float)(a+b)/2+(int)x%(int)y;

printf("p=%f\n",p);

}

2.写出程序运行的结果:

main()

{

inti,j;

i=3;

j=6;

printf("%d,%d\n",i++,j--);

printf("%d,%d\n",++i,--j);

}

3.写出程序运行的结果:

main()

{intnumber=0;

while(number<=1)

{printf(“*%d,”,number);

number++;}

printf(“**%d\n”,number);

}

4.写出程序运行的结果:

main()

{chars[]="abcdefg";

inti;

for(i=1;i<7;i+=2)

printf("%c",s[i]);

}

5.写出程序运行的结果:

intast(intx,inty,int*cp,int*dp)

{*cp=x+y;*dp=x-y;}

main()

{inta=4,b=3,c,d;

ast(a,b,&c,&d);

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

}

四.程序设计题(30分,每题10分)

参考知识:

C语言数的范围:

int型和short型为-32768~32767,long型为-2147483648~2147483647,单精度实数为-3.4×10-38~3.4×1038(7位有效数字),双精度实数为-1.7×10-308~1.7×10308(15位有效数字),长双精度实数为-1.2×10-4932~1.2×104932(18位有效数字)。

1.输入一个华氏温度f,然后计算,最后输出对应的摄氏温度c。

换算公式为:

C=5*(F-32)/9

要求输出保留2位小数。

2.已知

x(x<1)

y=2x-1(1<=x<10)

3x-11(x>=10)

用scanf函数输入x的值,求y值。

3.编写一个循环结构的程序,求1!

+2!

+3!

+4!

+5!

+6!

+7!

+8!

+9!

+10!

的值。

C语言程序设计试题集(第3套)

一、单项选择题(每题2分,共20分)

1、下列语言中,CPU能直接识别的是

A)自然语言B)高级语言C)汇编语言D)机器语言

2、以下所列的C标识符中,错误的是

A)examp1B)RS686C)2mixD)first_exam

3、下面哪个是不合法的赋值语句

A)x+=2;B)x=y=z=0;C)x+y=z;D)m+=m/=2;

4、设intage,count;doubleprice,weight;下面哪个语句是正确的

A)scanf(“%lf”,&price);

B)scanf(“%d”,age);

C)printf(“%d”,&count);

D)printf(“%d”,weight);

5、下面哪一项不是程序的控制结构?

A)循环B)选择C)顺序D)排序

6、指出下面语句的执行结果

if(5<3)printf(“*”);

elseif(7==8)printf(“&”);

elseprintf(“$”);

A)*B)&C)$D)以上全不是

7、选出最佳答案

s=0;

for(j=0;j<5;++j)s=2*s+j;

s最后的值是什么?

A)11B)4C)26D)22

8、下面哪一项是对函数voiddisplay(void);的调用?

A)calldisplay();B)display();C)display()D)display;

9、下面哪个说法是错误的?

数组中的所有元素具有相同的名称

数组中的所有元素具有相同的数据类型

数组中的所有元素具有相同的下标

数组中的元素在内存是连续存放的

10、二维数组的第一个元素的行下标和列下标是

A)0,0B)0,1C)1,0D)1,1

二、填空题(每空2分,共20分)

1、编写C表达式:

b2-4ac

(1)

2、编写C语句,声明int变量来存储4个整数

(2)

3、假定intx=5,y;,在执行语句“y=x++;”后,x,y的值是(3)

4、将复合赋值语句x*=5-z;写成等效的简单赋值语句(4)

5、编写C语句,该语句显示12.3的平方根(5)

6、编写C语句,如果gender是’M’,那么输出Male(6)

7、假设输入:

3845714–1,下面代码的输出是什么?

(7)

sum=0;

scanf(“%d”,&num);

while(num!

=-1){

sum+=num;

scanf(“%d”,&num);

}

printf(“%d”,sum);

8、为了使用库函数sqrt(),必须在程序中包含命令(8)

9、设intnumbers[5]={17,25,30,56,58};编写C的while语句,将数组numbers中的每个元素减去数字3。

使用变量i跟踪下标,假设变量的初值为0。

(9)

10、设有函数定义:

设有函数定义:

ints(intone)

{intj;

intp=1;

for(j=1;j<=3;++j)p=p*one;

returnp;

}

语句printf(“%d”,s

(2));输出什么?

(10)

三、程序分析填空题(每空3分,共30分)

从键盘输入一个大写字母,要求改用小写字母输出。

#include

voidmain()

{ chara;

printf(“请输入一个大写字母:

”);

a=getchar();

printf(“对应的小写字母是:

%c",

(1));

}

2、判断是否是闰年,闰年的条件:

能被4整除而不能被100整除,或能被400整除的公元年。

#include

voidmain()

{intyear,leap;

scanf("%d",&year);

if(

(2))leap=1;

elseleap=0;

if(leap)printf("%dis",year);

elseprintf("%disnot",year);

printf("aleapyear.\n");

}

3、求1到100的和

#include

voidmain()

{inti,sum;

(3)

do{

sum=sum+i;

(4);

}while(i<=100);

printf("%d\n″,sum);

}

4、打印Fibonicci数列前20项:

1,1,2,3,5,8…数学表示:

f(0)=f

(1)=1,f(n)=f(n-2)+f(n-1)

#include

voidmain()

{

intf[20]=(5);

for(i=2;i<20;i++)(6);

for(i=0;i<20;i++)printf(“%10d”,f[i]);

}

5、有一个3×4的矩阵,要求编程序以求出其中值最大元素及其所在的行号和列号。

#include

voidmain()

{inti,j,row=0,colum=0,max;

inta[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};

max=a[0][0];

for(i=0;(6);i++)

for(j=0;(7);j++)

if(a[i][j]>max){

max=a[i][j];

row=(8);

colum=(9);

}

printf("max=%d,row=%d,colum=%d\n",max,row,colum);

}

6、在主函数中输入一个整数,调用函数isprime()判是否素数并输出相关信息。

#include

#include

intisprime(int);

voidmain()

{intm;

printf("pleaseenteranumber:

");

scanf("%d",&m);

if((10))printf(“%disaprime\n“,m); 

elseprintf(“%disnotaprime\n“,m); 

}

intisprime(intm)

{inti;

for(i=2;i<=sqrt(m);++i)if(m%i==0)return0;

return1;

}

四、编写程序(每题10分,共30分)

1、从键盘上输入两个单精度型实数f1,f2,然后交换它们的值,最后输出f1和f2。

2、任意输入三个整数,要求按从大到小的顺序输出。

3、计算12-22+32-42+···+472-482+492-502

———————————————————————————

C语言程序设计试题集(第4套)

一、单项选择题(45分,每题3分)

1.构成一个C程序的是_______。

A、一个主函数和若干个非主函数

B、若干个主函数和若干个非主函数

C、一个主函数和最多一个非主函数

D、若干个主函数和最多一个非主函数

2.以下选项中合法的字符常量是_______。

A、"B"B、'B'C、68D、'\B'

3.在C语言中,不合法的实数是_______。

A、1.23B、e-5C、3.245E3D、-.187

4.已知a是int型变量,下面不正确的赋值语句是_______。

A、a=65;B、a=1.2;C、a="a";D、a='A'+32;

5.广义地说,为解决一个问题而采取的方法和步骤,称为_______。

A、迭代B、增量C、递归D、算法

6.以下叙述中正确的是_______。

A、C程序中注释部分可以出现在程序中任意合适的地方

B、花括号"{"和"}"只能作为函数体的定界符

C、构成C程序的基本单位是函数,所有函数名都可以由用户命名

D、分号是C语句之间的分隔符,不是语句的一部分

7.若w、x、y、z、k均为int类型变量,则执行下面语句后的k的值是_______。

    w=1;x=2;y=3;z=4;

    k=(w

w:

x;

    k=(k

k:

y;

    k=(k

k:

z;

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

8.以下程序段,说法正确的是_______。

x=-1;

do

{

x=x*x;

}

while(!

x);

A、是死循环B、循环执行二次

C、循环执行一次D、有语法错误

9.用语句floatx[3][100];定义数组x后,则下标最大的一个数组元素是

A、x[3][100]B、x[2][99]C、x[2][100]D、x[3][99]

10.若i、j已定义为int型,则以下程序段中,循环体的总的执行次数为_______。

for(i=5;i>0;i--)

for(j=0;j<4;j++)

{n=n+1;}

A、20B、24C、25D、30

11.以下程序编译、运行的结果是

A、5,5B、5.0,5.0C、5.05.0D、55

#defineMIN2

#defineMAX7

main()

{printf("%d,%d\n",MIN+3,MAX-MIN);}

12.下列符号中可以作为函数名的是_______。

A、x—aB、sysfC、5acD、$bc

13.以下正确的函数形式是_______。

  A、doublefun1(intx,inty)  B、fun1(intx,y)

    {z=x+y;returnz;}   {intz;

                 returnz;}

  

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

当前位置:首页 > 幼儿教育 > 少儿英语

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

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