大学C语言考试题库含标准答案.docx

上传人:b****5 文档编号:7891080 上传时间:2023-01-27 格式:DOCX 页数:62 大小:38.80KB
下载 相关 举报
大学C语言考试题库含标准答案.docx_第1页
第1页 / 共62页
大学C语言考试题库含标准答案.docx_第2页
第2页 / 共62页
大学C语言考试题库含标准答案.docx_第3页
第3页 / 共62页
大学C语言考试题库含标准答案.docx_第4页
第4页 / 共62页
大学C语言考试题库含标准答案.docx_第5页
第5页 / 共62页
点击查看更多>>
下载资源
资源描述

大学C语言考试题库含标准答案.docx

《大学C语言考试题库含标准答案.docx》由会员分享,可在线阅读,更多相关《大学C语言考试题库含标准答案.docx(62页珍藏版)》请在冰豆网上搜索。

大学C语言考试题库含标准答案.docx

大学C语言考试题库含标准答案

单项选择

==================================================

题号:

1482

执行以下程序段后,输出结果和a的值是()。

inta=10。

printf("%d",a++)。

A、11和10

B、11和11

C、10和11

D、10和10

答案:

C

题号:

2100

已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2)。

后,输出结果是

A、65,66

B、A,B

C、65,68

D、A,68

答案:

A

题号:

5055

相同结构体类型的变量之间,可以()。

A、比较大小

B、地址相同

C、赋值

D、相加

答案:

C

题号:

3217

inta[10]。

合法的数组元素的最小下标值为()。

A、1

B、0

C、10

D、9

答案:

B

题号:

45

能正确表示逻辑关系:

"a≥10或a≤0"的C语言表达式是

A、a>=0|a<=10

B、a>=10ora<=0

C、a>=10&&a<=0

D、a>=10||a<=0

答案:

D

题号:

157

main()

{intx=1,a=0,b=0。

switch(x)

{case0:

b++。

case1:

a++。

case2:

a++。

b++。

}printf("a=%d,b=%d",a,b)。

}该程序的输出结果是()

A、2,2

B、2,1

C、1,1

D、1,0

答案:

B

题号:

4784

设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的

数据类型为()。

A、不确定

B、double

C、int

D、float

答案:

B

题号:

1647

以下程序中,while循环的循环次数是______

main()

{

inti=0。

while(i<10)

{

if(i<1)continue。

if(i==5)break。

i++。

}

}

A、死循环,不能确定次数

B、6

C、4

D、1

答案:

A

题号:

191

若有说明语句:

charc='\72'。

则变量c()。

A、说明不合法,c的值不确定

B、包含3个字符

C、包含1个字符

D、包含2个字符

答案:

C

题号:

1300

下列程序运行结果为:

#defineP3

#defineS(a)P*a*a

main()

{intar。

ar=S(3+5)。

printf("\n%d",ar)。

}

A、192

B、25

C、29

D、27

答案:

C

判断

==================================================

题号:

6755

若i=3,则printf("%d",-i++)。

输出的值为-4。

答案:

错误

题号:

6167

表达式(j=3,j++)的值是4.

答案:

错误

题号:

1495

C语言中只能逐个引用数组元素而不能一次引用整个数组。

答案:

正确

题号:

2921

参加位运算的数据可以是任何类型的数据。

答案:

错误

题号:

2691

若有inti=10,j=2。

则执行完i*=j+8。

后ⅰ的值为28。

答案:

错误

题号:

464

若a=3,b=2,c=1则关系表达式"(a>b)==c"的值为"真"。

答案:

正确

题号:

66

若有#defineS(a,b)a*b则语句area=S(3,2)。

area的值为6。

答案:

正确

题号:

758

若有宏定义:

#defineS(a,b)t=a。

a=b。

b=t由于变量t没定义,

所以此宏定义是错误的。

答案:

错误

题号:

2158

#define和printf都不是C语句。

答案:

正确

题号:

5102

关系运算符<=与==的优先级相同。

答案:

错误

填空

==================================================

题号:

1076

表达式3.5+1/2的计算结果是_____。

答案:

空1:

3.5

题号:

551

请写出以下程序的输出结果_____。

main()

{inta=100。

if(a>100)printf(“%d\n”,a>100)。

elseprintf(“%d\n”,a<=100)。

}

答案:

空1:

1

题号:

3255

表达式(int)((double)(5/2)+2.5)的值是_____.

答案:

空1:

4

题号:

2472

阅读下面程序,程序执行后的输出结果为_____。

#include"stdio.h"

main()

{

chara,b。

for(a=′0′,b=′9′。

a

a++,b--)

printf("%c%c",a,b)。

printf("\n")。

}

答案:

空1:

0918273645

题号:

937

以下程序段的输出结果是_____。

inti=0,sum=1。

do

{sum+=i++。

}while(i<5)。

printf(“%d\n”,sum)。

答案:

空1:

11

题号:

5213

以下程序段的输出结果是_____、_____、_____、_____、_____。

intx=0177。

printf(“x=%3d,x=%6d,x=%6o,x=%6x,x=%6u\n”,x,x,x,x,x)。

答案:

空1:

x=127

空2:

x=127

空3:

x=177

空4:

x=7f

空5:

x=127

题号:

3210

以下程序的输出结果是_____。

main()

{inta=3,b=2,c=1。

c-=++b。

b*=a+c。

{intb=5,c=12。

c/=b*2。

a-=c。

printf(“%d,%d,%d,”,a,b,c)。

a+=--c。

}

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

}

答案:

空1:

2,5,1,2,3,-2

题号:

4474

当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是_____、最小十进制整数是_____,它们的二进制形式是_____。

答案:

空1:

65535

空2:

-32768

空3:

1111111111111111,1000000000000000

题号:

2791

结构化程序由_____、_____、_____三种基本结构组成。

答案:

空1:

顺序

空2:

条件分支【或】选择

空3:

循环

题号:

561

阅读下面程序,程序执行后的输出结果是_____。

#include"stdio.h"

main()

{

intx,y,z。

x=1。

y=2。

z=3。

if(x>y)

if(x>z)printf("%d",x)。

elseprintf("%d",y)。

printf("%d\n",z)。

}

答案:

空1:

3

程序设计

==================================================

题号:

2660

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

【程序设计】

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

功能:

计算出k以内最大的10个能被13或17整除的自然数之

和。

(k〈3000)。

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

#include

#include"conio.h"

voidbky()。

intfun(intk)

{

/**********Begin**********/

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

}

main()

{

intm。

printf("Enterm:

")。

scanf("%d",&m)。

printf("\nTheresultis%d\n",fun(m))。

bky()。

}

voidbky()

{

FILE*IN,*OUT。

ints。

intt。

into。

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

if(IN==NULL)

{

printf("ReadFILEError")。

}

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

if(OUT==NULL)

{

printf("WriteFILEError")。

}

for(s=1。

s<=5。

s++)

{

fscanf(IN,"%d",&t)。

o=fun(t)。

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

}

fclose(IN)。

fclose(OUT)。

}

示例代码:

inta=0,b=0。

while((k>=2)&&(b<10))

{if((k%13==0)||(k%17==0))

{a=a+k。

b++。

}

k--。

}

returna。

题号:

5854

C语言中不可以嵌套的是()。

A、选择语句

B、循环语句

C、函数调用

D、函数定义

答案:

D

题号:

1957

C语言中,逻辑"真"等价于

A、非零的整数

B、大于零的整数

C、非零的数

D、大于零的数

答案:

C

题号:

3786

用户定义的函数不可以调用的函数是()。

A、本文件外的

B、main函数

C、本函数下面定义的

D、非整型返回值的

答案:

B

题号:

1764

以下叙述中正确的是()。

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

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

C、花括号“{“和”}”只能作为函数体的定界符

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

答案:

A

题号:

299

下面四个选项中,均是不合法的浮点数的选项是()。

A、-e3.2341e3

B、160.0.12e3

C、1232e4.2.e5

D、-.18123e40.0

答案:

C

题号:

6131

假定所有变量均已正确定义,下列程序段运行后x的值是()。

k1=1。

k2=2。

k3=3。

x=15。

if(!

k1)x--。

elseif(k2)x=4。

elsex=3。

A、15

B、14

C、3

D、4

答案:

D

题号:

3208

若变量已正确定义,以下程序段的输出结果是

x=5.16894。

printf(“%f\n”,(int)(x*1000+0.5)/(float)1000)。

A、5.17000

B、输出格式说明与输出项不匹配,输出无定值

C、5.168000

D、5.169000

答案:

D

题号:

5043

以下选项中合法的实型常数是()。

A、5E2.0

B、1.3E

C、E-3

D、.2E0

答案:

D

题号:

5608

有以下程序

main()

{inti。

for(i=0。

i<3。

i++)

switch(i)

{case1:

printf("%d",i)。

case2:

printf("%d",i)。

default:

printf("%d",i)。

}

}

执行后输出结果是

A、011122

B、120

C、012020

D、012

答案:

A

题号:

572

对以下说明语句inta[10]={6,7,8,9,10}。

的正确理解是()。

A、将5个初值依次赋给a[1]至a[5]

B、将5个初值依次赋给a[6]至a[10]

C、因为数组长度与初值的个数不相同,所以此语句不正确

D、将5个初值依次赋给a[0]至a[4]

答案:

D

判断

==================================================

题号:

1325

若有说明intc。

则while(c=getchar())。

是正确的C语句。

答案:

正确

题号:

3386

若有intⅰ=10,j=0。

则执行完语句

if(j=0)ⅰ++。

elseⅰ--。

ⅰ的值为11。

答案:

错误

题号:

464

若a=3,b=2,c=1则关系表达式"(a>b)==c"的值为"真"。

答案:

正确

题号:

2316

while和do…while循环不论什么条件下它们的结果都是相同的.

答案:

错误

题号:

2989

charc[]="VeryGood"。

是一个合法的为字符串数组赋值的语句。

答案:

正确

题号:

5034

语句scanf("%7.2f",&a)。

是一个合法的scanf函数。

答案:

错误

题号:

2067

如果想使一个数组中全部元素的值为0,可以写成

inta[10]={0*10}。

答案:

错误

题号:

5263

x*=y+8等价于x=x*(y+8)。

答案:

正确

题号:

3862

如果函数值的类型和return语句中表达式的值不一致,则以

函数类型为准。

答案:

正确

题号:

3558

整数-32100可以赋值给int型和longint型变量。

答案:

正确

填空

==================================================

题号:

551

请写出以下程序的输出结果_____。

main()

{inta=100。

if(a>100)printf(“%d\n”,a>100)。

elseprintf(“%d\n”,a<=100)。

}

答案:

空1:

1

题号:

1575

对以下数学式,写出三个等价的C语言表达式是_____、_____、_____

答案:

空1:

a/c/b【或】a/(b*c)【或】a/b/c

空2:

a/c/b【或】a/b/c【或】a/(b*c)

空3:

a/b/c【或】a/c/b【或】a/(b*c)

题号:

1076

表达式3.5+1/2的计算结果是_____。

答案:

空1:

3.5

题号:

2758

若x为double型变量,请写出运算x=3.2,++x后表达式的值_____和变量的值_____。

答案:

空1:

4.2

空2:

4.2

题号:

582

以下程序的执行结果是_____。

main()

{

intk=8。

switch(k)

{

case9:

k+=1。

case10:

k+=1。

case11:

k+=1。

break。

default:

k+=1。

}

printf("%d\n",k)。

}

答案:

空1:

9

题号:

2868

若要通过以下语句给a、b、c、d分别输入字符A、B、C、D,给w、x、y、z分别输入

10、20、30、40,正确的输入形式是_____。

请用代表Enter键。

scanf(“%d%c%d%c%d%c%d%c”,&w,&a,&x,&b,&y,&c,&z,&d)。

答案:

空1:

10A20B30C40D

题号:

4063

以下程序段的输出结果是_____、_____、_____、_____

doublea=513.789215。

printf(“a=%8.6f,a=%8.2f,a=%14.8f,a=%14.8lf\n”,a,a,a,a)。

答案:

空1:

a=513.789215

空2:

a=513.79

空3:

a=513.78921500

空4:

a=513.78921500

题号:

5076

以下程序的输出结果是_____。

main()

{inta=0。

a+=(a=8)。

printf("%d\n",a)。

}

答案:

空1:

16

题号:

5410

以下程序的执行结果是_____。

main()

{

inta,b,*p=&a,*q=&b。

a=10。

b=20。

*p=b。

*q=a。

printf(“a=%d,b=%d\n”,a,b)。

}

答案:

空1:

a=20,b=20

题号:

6975

以下程序的输出结果是_____。

main()

{intx=2。

while(x--)。

printf(“%d\n”,x)。

}

答案:

空1:

-1

程序设计

==================================================

题号:

58

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

【程序设计】

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

功能:

将字符串中的小写字母转换为对应的大写字母,

其它字符不变。

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

#include"string.h"

#include

voidbky()。

voidchange(charstr[])

{

/**********Begin**********/

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

}

main()

{

voidchange()。

charstr[40]。

gets(str)。

change(str)。

puts(str)。

bky()。

}

voidbky()

{

FILE*IN,*OUT。

chari[200]。

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

if(IN==NULL)

{

printf("ReadFILEError")。

}

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

if(OUT==NULL)

{

printf("WriteFILEError")。

}

fscanf(IN,"%s",i)。

change(i)。

fprintf(OUT,"%s\n",i)。

fclose(IN)。

fclose(OUT)。

}

示例代码:

inti。

for(i=0。

str[i]!

='\0'。

i++)

if(str[i]>='a'&&str[i]<='z')

str[i]=str[i]-32。

题号:

45

能正确表示逻辑关系:

"a≥10或a≤0"的C语言表达式是

A、a>=0|a<=10

B、a>=10ora<=0

C、a>=10&&a<=0

D、a>=10||a<=0

答案:

D

题号:

53

若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是()。

A、int*p=&x。

B、intp=&x。

C、*p=*x。

D、int*p=x。

答案:

A

题号:

2244

字符串指针变量中存入的是

A、第一个字符

B、字符串

C、字符串的首地址

D、字符串变量

答案:

C

题号:

3722

下列字符数组长度为5的是

A、charc[10]={'h','a','b','c','d'}。

B、charb[]={'h','a','b','c','d','\0'}。

C、chara[]={'h','a','b','c','d'}。

D、chard[6]={'h','a','b','c','\0'}。

答案:

C

题号:

2703

从键盘上输入某字符串时,不可使用的函数是()。

A、getchar()

B、scanf()

C、fread()

D、gets()

答案:

A

题号:

3402

以下对整型数组a的正确说明是:

A、intn=10,a[n]。

B、

C、

D、inta(10)。

答案:

C

题号:

130

若chara[10]。

已正确定义,以下语句中不能从键盘上给a数组的

所有元素输入值的语句是()。

A、scanf("%s",a)。

B、for(i=0。

i<10。

i++)a[i]=getchar()。

C、a=getchar()。

D、gets(a)。

答案:

C

题号:

191

若有说明语句:

charc='\72'。

则变量c()。

A、说明不合法,c的值不确定

B、包含3个字符

C、包含1个字符

D、包含2个字符

答案:

C

题号:

4539

以下程序的输出结果是

main()

{inti=1,j=3。

printf(“%d,”,i++)。

{inti=0。

i+=j*2。

printf(“%d,%d,”,i,j)。

}

pritnf(“%d,%d\n”,i,j)。

}

A、1,6,3,2,3

B、2,7,3,2,3

C、1,7,3,2,3

D、2,6,3,2,3

答案:

A

题号:

300

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

A、#defineSIZE10(换行)inta[SIZE]。

B、inta(10)。

C、intn。

scanf("%d",&n)。

inta[n]。

D、intn=10,a[n]。

答案:

A

判断

==================================================

题号:

2691

若有inti=10,j=2。

则执行完i*=j+8。

后ⅰ的值为28。

答案:

错误

题号:

2067

如果想使一个数组中全部元素的值为0,可以写成

inta[10]={0*10}。

答案:

错误

题号:

1118

函数调用语句:

func(rec1,rec2+rec3,(rec4,rec5))。

中,含有的实参个数是5.

答案:

错误

题号:

1534

C语言所有函数都是外部函数.

答案:

错误

题号:

2158

#define和printf都不是C语句。

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

当前位置:首页 > 外语学习 > 韩语学习

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

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