C语言AB卷考试真题与答案.docx

上传人:b****4 文档编号:12055884 上传时间:2023-04-16 格式:DOCX 页数:12 大小:19.02KB
下载 相关 举报
C语言AB卷考试真题与答案.docx_第1页
第1页 / 共12页
C语言AB卷考试真题与答案.docx_第2页
第2页 / 共12页
C语言AB卷考试真题与答案.docx_第3页
第3页 / 共12页
C语言AB卷考试真题与答案.docx_第4页
第4页 / 共12页
C语言AB卷考试真题与答案.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

C语言AB卷考试真题与答案.docx

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

C语言AB卷考试真题与答案.docx

C语言AB卷考试真题与答案

A卷

一、选择题

1.C语言的基本构成单位是:

A。

A.函数B.函数和过程C.超文本过程D.子程序

2.一个C语言程序总是从B开始执行。

A.主过程B.主函数C.子程序D.主程序

3.C语言的程序一行写不下时,可以C。

A.用逗号换行B.用分号换行C.在任意一空格处换行D.用回车符换行

4.以下叙述不正确的是:

C。

A.在C程序中,语句之间必须要用分号";"分隔

B.若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数

C.在C程序中,无论是整数还是实数都能正确无误地表示

D.在C程序中,%是只能用于整数运算的运算符

5.以下不正确的C语言标识符是D。

A.ABCB.abcC.a_bcD.ab.c

6.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:

A。

intk,a,b;

unsignedlongw=5;

doublex=1.422;

A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a=+(b=4)*(a=3)

7.若x是int型变量,y是float型变量,所用的vscanf调用语句格式为:

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

则为了将数据10和66.6分别赋给x和y,正确的输入应是:

A。

A.x=10,y=66.6<回车>B.1066.6<回车>

C.10<回车>66.6<回车>D.x=10<回车>y=66.6<回车>

8.若x=0,y=3,z=3,以下表达式值为0的是C

A.!

xB.x

1:

0C.x%2&&y==zD.y=x||z/3

9.分析以下程序,下列说法正确的是C。

main()

{intx=5,a=0,b=3;

if(x=a+b)printf("****\n");

elseprintf("####\n");

}

A.有语法错,不能通过编译B.通过编译,但不能连接

C.输出****D.输出####

10.设i和x都是int类型,则for循环语句A。

for(i=0,x=0;i<=9&&x!

=876;i++)scanf("%d",&x);

A.最多执行10次B.最多执行9次

C.是无限循环D.循环体一次也不执行

11.程序段如下:

则以下说法中正确的是:

C。

intk=-20;

while(k=0)k=k+1;

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

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

12.下列程序段执行后k值为A。

intk=0,i,j;

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

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

k=k+1;

A.15B.3C.5D.8

13.以下关于数组的描述正确的是C。

A.数组的大小是固定的,但可以有不同的类型的数组元素。

B.数组的大小是可变的,但所有数组元素的类型必须相同。

C.数组的大小是固定的,但所有数组元素的类型必须相同。

D.数组的大小是可变的,但可以有不同的类型的数组元素。

14.在定义inta[10];之后,对a的引用正确的是D。

A.a[10]B.a[6.3]C.a(6)D.a[10-10]

15.C语言规定,函数返回值的类型是由D。

A.return语句中的表达式类型所决定

B.调用该函数时的主调函数类型所决定

C.调用该函数时系统临时决定

D.在定义该函数时所指定的函数类型

二、填空题

1.表达式10+16%3的值为11。

2.写出满足下列条件的表达式:

a和b都不小于c,a>=c||b>=c。

3.若有定义:

inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值为0。

4.能正确表达a>=10或a<=0的逻辑表达式是a>=10&&a<=0。

5.一个C源程序至少包含一个主函数,即main()。

三、程序编写

1、输入圆的半径,输出圆的面积。

(10分)

#include

main()

{

floatr,a;

a=3.14;

printf("请输入圆的半径r=");

scanf("%f",&r);

printf("圆的面积是%.2f.",a*r*r);

}

2、输入一个整数,判断该数是奇数,还是偶数。

(10分)

#include

intmain()

{inta;

printf("请输入一个整数a=");

scanf("%d",&a);

if(a%2==0)

printf("%d是偶数\n",a);

else

printf("%d是奇数\n",a);

}

3、求10个价格中的最低价。

要求:

输入10个整数,输出最小值,用数组存放10个数据。

(15)

#include

main()

{

inti,a[10],min;

printf("请输入10个价格:

\n");

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

{

printf("价格%d=",i+1);

scanf("%d",&a[i]);

}

min=a[0];

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

{

if(min>a[i])

min=a[i];

}

printf("最低的价格是:

%d\n",min);

}

4、求n!

要求:

用函数编写,采用两递归和非递归两种方法(15分)

#include

intmain()

方法一

{

intn,jie(n);

printf("请输入n=");

scanf("n!

=%d",&n);

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

}

jie(intn)

{

if(n<0)printf("n不能小于0\n");

if(n==0)return1;

if(n>0)returnn=n*jie(n-1);

}

 

#include

intmain()

{

方法二

inta,n,i;

printf("请输入n=");

scanf("%d",&n);

a=n;

for(i=1;i

n=n*i;

printf("n!

=%d\n",n);

}

 

 

B卷

1.下列字符串是标识符的是:

A。

A._HJB.9_studentC.longD.LINE1

2.以下说法中正确的是:

C。

A.C语言程序总是从第一个定义的函数开始执行

B.在C语言程序中,要调用的函数必须放在main()函数中定义

C.C语言程序总是从main()函数开始执行

D.C语言程序中的main()函数必须放在程序的开始部分

3.在C语言中,字符型数据在内存中以D形式存放。

A.原码B.BCD码C.反码D.ASCII码

4.已知有变量定义:

inta;charc;用scanf(“%d%c”,&a,&c);语句给a和c输入数据,使30存入a,字符‘b’存入c,则正确的输入是:

B。

A.30’b’<回车>B.30b<回车>

C.30<回车>b<回车>D.30b<回车>

5.在C语言中,字符型数据在内存中以D形式存放。

A.原码B.BCD码C.反码D.ASCII码

6.已知有变量定义:

doublex;longa;要给a和x输入数据,正确的输入语句是C。

若要输出a和x的值,正确的输出语句。

A.scanf(“%d%f”,&a,&x);B.scanf(“%ld%f”,&a,&x);

printf(“%d,%f”,a,x);printf(“%ld,%f”,a,x);

C.scanf(“%ld%lf”,&a,&x);D.scanf(“%ld%lf”,&a,&x);

printf(“%ld,%lf”,a,x);printf(“%ld,%f”,a,x);

7.下述for循环语句B。

inti,k;

for(i=0,k=-1;k=1;i++,k++)printf("****");

A.判断循环结束的条件非法B.是无限循环

C.只循环一次D.一次也不循环

8.以下能正确定义数组并正确赋初值的语句是D。

A.intn=5,b[n][n];B.inta[1][2]={{1},{3}};

C.intc[2][]={{1,2},{3,4}}D.inta[3][2]={{1,2},{3,4}}

9.在执行inta[][3]={1,2,3,4,5,6};语句后,a[1][0]的值是A。

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

10.在C语言中,当函数调用时A。

A.实参和形参各占一个独立的存储单元

B.实参和形参共用存储单元

C.可以由用户指定实参和形参是否共用存储单元

D.由系统自动确定实参和形参是否共用存储单元

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

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

12.在C语言程序中,以下描述正确的是B。

A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义不可以嵌套,但函数的调用可以嵌套

C.函数的定义和函数的调用均不可以嵌套

D.函数的定义和函数的调用均可以嵌套

13.下列程序的输出结果是(C)。

main()

{

Inta=0,b=0,c=0,d=0;

if(a=1)

b=1;c=2;

else

d=3;

printf(“%d,%d,%d,%d\n”,a,b,c,d);

}

0,1,2,0B.0,0,0,3C.1,1,2,0D.编译错误

14.若有定义:

fiotx=1.0;inta=1,b=3,c=2;,正确的switch语言是(C)。

A.switch(x)

{

Case1.0:

printf(“*\n”);

Case2.0:

printf(“**\n”);

}

B.switch((int)x)

{

Case1:

printf(“*\n”);

Case2:

printf(“**\n”);

}

C.switch(a+b)

{

Case1:

printf(“*\n”);

Case2+1:

printf(“**\n”);

}

D.switch(a+b)

{

Case1:

printf(“*\n”);

Casec:

printf(“**\n”);

}

15.以下叙述中错误的是(C).

A:

对double类型数组,不可以直接用数组名对数组进行整体输入或输出

第1页,共4页

B:

数组名代表的是数组所占存储区的首地址,其值不可改变

C:

当程序执行时,数组元素的下标超出所定义的下表范围时,系统将给出“下标越界”

的出错信息

D:

可以通过赋初值的方式确定数组元素的个数

二、填空题

1.一个函数由两部分组成,它们是函数名和函数体。

2.下列程序段的输出结果(AAA)。

Intx=0,y=0;

If(x==y)

Printf(“AAA”);

Else

Printf(“BBB”);

3.若有定义:

inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值为0。

4.printf函数的“格式控制”包括两部分,它们是格式声明和普通字符。

三、程序编写

1、输入矩型的长和宽,输出矩形面积。

(10分)

#include

intmain()

{intb,l,s;

printf("请输入矩形的宽b=");

scanf("%d",&b);

printf("请输入矩形的长l=");

scanf("%d",&l);

s=b*l;

printf("矩形面积s=%d\n",s);

}

2.输入一个整数,判断该数能否被3整除。

(10分)

#include

intmain()

{inta;

printf("请输入一个整数a=");

scanf("%d",&a);

if(a%3==0)

printf("%d能被3整除\n",a);

else

printf("%d不能被3整除\n",a);

}

3.输入10个数,输出平均值,要求用数组存放10个数据。

(15分)

#include

main()

{

inti,a[10],h,p;

printf("请输入10个整数:

\n");

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

{

printf("整数%d=",i+1);

scanf("%d",&a[i]);

}

h=0;

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

h+=a[i];

p=h/10;

printf("平均数是:

%d\n",p);

}

4.编写求和函数,输入一个正整数n,求出1+2+3+…+n(15分)

#include

intmain()

{

intn,jie(n);

printf("请输入一个正整数n=");

scanf("%d",&n);

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

}

jie(intn)

{

if(n==0)return0;

if(n==1)return1;

if(n>1)returnn=n+jie(n-1);

}

 

 

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

当前位置:首页 > 经管营销 > 经济市场

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

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