C语言试题.docx

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

C语言试题.docx

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

C语言试题.docx

C语言试题

第一套

一、判断共10题(共计10分)

第1题(1.0分)题号:

1488

函数即可以嵌套定义,又可以嵌套调用.

()

第2题(1.0分)题号:

1256

unsigned和void在C中都是保留字.

()

第3题(1.0分)题号:

1280

表达式++i表示对变量i自加1.

()

第4题(1.0分)题号:

1282

C语言源程序的基本结构单位是main函

数.

()

第5题(1.0分)题号:

1276

字符常量的长度肯定为1.

()

第6题(1.0分)题号:

1469

chara[]={'a','b','c'};charb[]={"abc"};数组a

和数组b占用的内存空间大小不一样.

()

第7题(1.0分)题号:

1249

若有inti=10,j=2;则执行完i*=j+8;后i的

值为28.

()

第8题(1.0分)题号:

33

inti,*p=&i;是正确的C说明。

()

第9题(1.0分)题号:

1250

While循环语句的循环体至少执行一次.

()

第10题(1.0分)题号:

1510

有数组定义inta[2][2]={{1},{2,3}};则a[0][1]

的值为0.

()

二、单项选择共30题(共计30分)

第1题(1.0分)题号:

456

执行下面程序后,输出结果是()。

main()

{a=45,b=27,c=0;

c=max(a,b);

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

}

intmax(x,y)

intx,y;

{intz;

if(x>y)z=x;

elsez=y;

return(z);

}

A:

45

B:

27

C:

18

D:

72

第2题(1.0分)题号:

437

下列数组说明中,正确的是()。

A:

intarray[][4];

B:

intarray[][];

C:

intarray[][][5];

D:

intarray[3][];

第3题(1.0分)题号:

2396

下面有关for循环的正确描述是()

A:

for循环只能用于循环次数已经确定的

情况

B:

for循环是先执行循环体语句,后判断表

达式

C:

在for循环中,不能用break语句跳出循

环体

D:

for循环的循环体语句中,可以包含多条

语句,但必须用花括号括起来

第4题(1.0分)题号:

2817

以下程序的输出结果是().

main()

{inti,j,k,a=3,b=2;

i=(--a==b++)?

--a:

++b;

j=a++;k=b;

printf("i=%d,j=%d,k=%d\n",i,j,k);

}

A:

i=2,j=1,k=3

B:

i=1,j=1,k=2

C:

i=4,j=2,k=4

D:

i=1,j=1,k=3

第5题(1.0分)题号:

2866

若有下列定义,则对a数组元素地址的正

确引用是().

inta[5],*p=a;

A:

*(p+5)

B:

*p+2

C:

*(a+2)

D:

*&a[5]

第6题(1.0分)题号:

711

下列选项中正确的语句组是()。

A:

chars[8];s={"Beijing"};

B:

char*s;s={"Beijing"};

C:

chars[8];s="Beijing";

D:

char*s;s="Beijing";

第7题(1.0分)题号:

3191

若变量a,i已正确定义,且i已正确赋值,合

法的语句是()

A:

a=int(i);

B:

a==1

C:

++i;

D:

a=a++=5;

第8题(1.0分)题号:

490

以下字符中不是转义字符的是()。

A:

\a'

B:

\b'

C:

\c'

D:

'\\'

第9题(1.0分)题号:

184

下列定义不正确的是()。

A:

#definePI3.141592

B:

#defineS345

C:

intmax(x,y);intx,y;{}

D:

staticcharc;

第10题(1.0分)题号:

3028

charh,*s=&h;可将字符H通过指针存入变

量h中的语句是().

A:

*s=H;

B:

*s='H';

C:

s=H;

D:

s='H'

第11题(1.0分)题号:

690

设char型变量x中的值为10100111,则

表达式(2+x)^(~3)的值是()。

A:

10101001

B:

10101000

C:

11111101

D:

01010101

第12题(1.0分)题号:

2381

设以下变量均为int类型,表达式的值不为

7的是()

A:

x=y=6,x+y,x+1

B:

x=y=6,x+y,y+1

C:

x=6,x+1,y=6,x+y

D:

y=6,y+1,x=y,x+1

第13题(1.0分)题号:

3124

若有说明inta[3][4];则对a数组元素的正

确引用是().

A:

a[2][4]

B:

a[1,3]

C:

a[1+1][0]

D:

a

(2)

(1)

第14题(1.0分)题号:

679

在C语言中,形参的缺省存储类是()。

A:

auto

B:

register

C:

static

D:

extern

第15题(1.0分)题号:

1343

C语言源程序的基本单位是().

A:

过程

B:

函数

C:

子程序

D:

标识符

第16题(1.0分)题号:

3023

C语言程序中必须有的函数是().

A:

#include"stdio.h"

B:

main

C:

printf

D:

scanf

第17题(1.0分)题号:

3228

有定义:

inta=8,b=5,c;,执行语句

c=a/b+0.4;后,c的值为()

A:

1.4

B:

1

C:

2.0

D:

2

第18题(1.0分)题号:

640

以下对二维数组a的正确说明是()。

A:

inta[3][]

B:

floata(3,4)

C:

doublea[1][4]

D:

floata(3)(4)

第19题(1.0分)题号:

2884

以下标识符中,不能作为合法的C用户定

义标识符的是().

A:

answerB:

to

C:

signed

D:

_if

第20题(1.0分)题号:

652

在C语言中,引用数组元素时,其数组下

标的数据类型允许是()。

A:

整型常量

B:

整型表达式

C:

整型常量或整型表达式

D:

任何类型的表达式

第21题(1.0分)题号:

381

以下标识符中,不能作为合法的C用户定

义标识符的是()。

A:

answer

B:

to

C:

signed

D:

_if

第22题(1.0分)题号:

2898

已知year为整型变量,不能使表达式

(year%4==0&&year%100!

=0)||

year%400==0的值为"真"的数据是().

A:

1990

B:

1992

C:

1996

D:

2000

第23题(1.0分)题号:

177

以下描述中,正确的是()。

A:

预处理是指完成宏替换和文件包含中指

定的文件的调用

B:

预处理指令只能位于C源文件的开始

C:

C源程序中凡是行首以#标识的控制行

都是预处理指令

D:

预处理就是完成C编译程序对C源程序

第一遍扫描,为编译词法和语法分析作准

第24题(1.0分)题号:

156

执行下列语句后的输出为()。

intj=-1;

if(j<=1)printf("****\n");

elseprintf("%%%%\n");

A:

****

B:

%%%%

C:

%%%%c

D:

有错,执行不正确

第25题(1.0分)题号:

2850

以下函数调用语句中实参的个数是().

exce((v1,v2),(v3,v4,v5),v6);

A:

3

B:

4

C:

5

D:

6

第26题(1.0分)题号:

506

以下程序段的输出结果为()。

for(i=4;i>1;i--)

for(j=1;j

putchar('#');

A:

B:

######

C:

#

D:

###

第27题(1.0分)题号:

2830

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

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{

case1:

switch(y)

{

case

0:

a++;break;

case

1:

b++;break;

}

case2:

a++;b++;break;

case3:

a++;b++;break;

}

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

}

A:

a=1,b=0

B:

a=2,b=1

C:

a=1,b=1

D:

a=2,b=2

第28题(1.0分)题号:

573

C语言中运算对象必须是整型的运算符是

()。

A:

%=

B:

/

C:

=

D:

〈=

第29题(1.0分)题号:

647

以下能对二维数组a进行正确初始化的语

句是()。

A:

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

B:

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

C:

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

D:

inta[][3]={{1,0,1}{},{1,1}};

第30题(1.0分)题号:

3135

以下数组定义中不正确的是().

A:

inta[2][3];

B:

intb[][3]={0,1,2,3};

C:

intc[100][100]={0};

D:

intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

三、程序填空共2题(共计24分)

第1题(12.0分)题号:

417

/*----------------------------------------------------

---

【程序填空】

------------------------------------------------------

---

题目:

利用全局变量计算长方体的体积及

三个面的面积。

------------------------------------------------------

-*/

ints1,s2,s3;

intvs(inta,intb,intc)

{intv;

/***********SPACE***********/

v=【?

】;

s1=a*b;

/***********SPACE***********/

s2=【?

】;

s3=a*c;

returnv;

}

main()

{intv,l,w,h;

clrscr();

printf("\ninputlength,widthand

height:

");

/***********SPACE***********/

scanf("%d%d%d",【?

】,&w,&h);

/***********SPACE***********/

v=【?

】;

printf("v=%ds1=%ds2=%d

s3=%d\n",v,s1,s2,s3);

getch();

}

第2题(12.0分)题号:

441

/*----------------------------------------------------

---

【程序填空】

------------------------------------------------------

---

题目:

给定程序中函数fun的功能是:

低位开始取出长

整型变量s中奇数位上的数,依次

构成一个新数放在t中。

------------------------------------------------------

-*/

#include

#include

voidfun(longs,long*t)

{longsl=10;

s/=10;

/***********SPACE***********/

*t=s【?

】10;

while(s>0)

/***********SPACE***********/

{s=【?

】;

/***********SPACE***********/

*t=s%10*sl【?

】;

/***********SPACE***********/

sl=sl【?

】10;

}

}

main()

{longs,t;

clrscr();

printf("\nPleaseenters:

");scanf("%ld",

&s);

fun(s,&t);

printf("Theresultis:

%ld\n",t);

}

四、程序改错共2题(共计22分)

第1题(11.0分)题号:

383

/*----------------------------------------------------

--

【程序改错】

------------------------------------------------------

--

题目:

给定程序的功能是:

读入一行英文

文本,

将其中每个单词的最后一个字母改

成大写,然后

输出此文本行(这里的“单词”是指

由空格隔开的

字符串)。

例如,若输入Iama

studenttotake

theexamination.,则应输出"IaMA

studenTtO

takEthEexamination."。

------------------------------------------------------

--

注意:

不可以增加或删除程序行,也不可

以更改程序的结构。

------------------------------------------------------

*/

#include"conio.h"

#include"stdio.h"

#include"ctype.h"

#include"string.h"

up1st(char*p)

{

/**********FOUND**********/

integerk=0;

for(;*p;p++)

if(k)

/**********FOUND**********/

{if(*p='')

{k=0;

/**********FOUND**********/

*(p-1)=toupper(*(p-1);

}

}

elseif(*p!

='')k=1;

*(p-1)=toupper(*(p-1));

}

main()

{charchrstr[81];

printf("\nPleaseenterastring:

");gets

(chrstr);

printf("\n\nBeforechanging:

\n%s",

chrstr);

up1st(chrstr);

printf("\nAfterchanging:

\n%s",chrstr);

}

第2题(11.0分)题号:

431

/*----------------------------------------------------

--

【程序改错】

------------------------------------------------------

--

题目:

编写函数fun求1000以内所有8的

倍数之和。

------------------------------------------------------

--

注意:

不可以增加或删除程序行,也不可

以更改程

序的结构。

------------------------------------------------------

*/

#include"stdio.h"

#defineN1000

main()

{intsum;

sum=fun(8);

printf("%d以内所有%d的倍数之和

为:

%d\n",N,8,sum);

getch();

}

intfun(intm)

{

/**********FOUND**********/

ints=0;i;

/**********FOUND**********/

for(i=1;i>N;i++)

/**********FOUND**********/

if(i/m==0)

s+=i;

returns;}

五、程序设计共1题(共计14分)

第1题(14.0分)题号:

390

/*------------------------------------------------

【程序设计】

--------------------------------------------------

题目:

求一批数中最大值和最小值的差。

--------------------------------------------------

注意:

部分源程序给出如下。

请勿改动主

函数

main和其它函数中的任何内容,仅

在函

数的花括号中填入所编写的若干语

句。

------------------------------------------------*/

intmax_min(inta[],intn)

{

/**********Program**********/

/**********End**********/

}

#defineN30

#include"stdlib.h"

#include"stdio.h"

main()

{

inta[N],i,k;

clrscr();

for(i=0;i

a[i]=random(51)+10;

for(i=0;i

{printf("%5d",a[i]);

if((i+1)%5==0)printf("\n");

}

k=max_min(a,N);

printf("theresultis:

%d\n",k);

yzj();

getch();

}

yzj()

{

FILE*IN,*OUT;

intn;

inti[30];

into;

IN=fopen("in.dat","r");

if(IN==NULL)

{printf("ReadFileError");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{printf("WriteFileError");

}

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

{

fscanf(IN,"%d",&i[n]);

}

o=max_min(i,5);

fprintf(OUT,"%d\n",o);

fclose(IN);

fclose(OUT);

}

第二套

一、判断共10题(共计10分)

第1题(1.0分)题号:

34

7&3+12的值是15。

()

第2题(1.0分)题号:

1468

在C语言中,整型数据在内存中占2个字

节.

()

第3题(1.0分)题号:

19

C语言本身不提供输入输出语句,输入和

输出操作是由函数来

实现的。

()

第4题(1.0分)题号:

1512

将一个字符串"abc"赋给字符串变量str的

方法是str="abc".

()

第5题(1.0分)题号:

1501

以数组名作函数参数时,实参数组与形参

数组都不必定义长度,因此实参与形参的

结合方式是地址结合,与数组长度无关.

()

第6题(1.0分)题号:

18

a=(b=4)+(c=6)是一个合法的赋值表达

式。

()

第7题(1.0分)题号:

1262

C语言规定:

在一个源程序中,main函数的

位置必须在最开始.

()第8题(1.0分)题号:

1479

C程序中的一个变量可以被定义为两个或

多个不同的类型.

()

第9题(1.0分)题号:

23

若a=3,b=2,c=1则关系表达式

"(a>b)==c"的值为"真"。

()

第10题(1.0分)题号:

1502

对二维数组a来说,由于a+1与*(a+1)的值

相等,因此二者的含义是一样的.

()

二、单项选择共30题(共计30分)

第1题(1.0分)题号:

177

以下描述中,正确的是()。

A:

预处理是指完成宏替换和文件包含中指

定的文件的调用

B:

预处理指令只能位于C源文件的开始

C:

C源程序中凡是行首以#标识的控制行

都是预处理指令

D:

预处理就是完成C编译程序对C源程序

第一遍扫描,为编译词法和语法分析作准

第2题(1.0分)题号:

2789

设C语言中,int类型数据占4个字节,则

short类型数据占().

A:

1个字节

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

当前位置:首页 > 法律文书 > 调解书

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

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