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

上传人:b****6 文档编号:8947372 上传时间:2023-02-02 格式:DOCX 页数:62 大小:56.08KB
下载 相关 举报
大学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'的ASCU代码值是65,字符变量cl的值是’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*amain()

{intar;ar=S(3+5);printf("\n%d",ar);

}

A、192

B、25

C、29

D、27

答案:

判断

题号:

6755

输出的值为-4

若i=3,则printf("%d",-i++);答案:

错误

答案:

错误题号:

1495

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

答案:

正确

题号:

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

答案:

错误

题号:

2691

若有inti=10,j=2;则执行完i*=j+8;后i的值为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()

{

int

a=100;

if(a>

100)

printf(

“n%d”

a>100);

else

printf(

“n%d”

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

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

printf("\n");

}

答案:

空1:

0918273645

题号:

937

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

inti=0,sum=1;do

{sum+=i++;}while(i<5);printf(“\n%d”,sum);

答案:

空1:

11

题号:

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

intx=0177;

printf(“x=%3d,x=%6d,x=%6o,x=%6x,x=%6un”,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,n%d”,a,b,c);

答案:

空1:

2,5,1,23-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)

{

/**********

/**********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.234

1e3

B、

160.0.12

e3

C、

1232e4.2.

e5

D、

-.18123e4

0.0

答案:

x的值是()

C题号:

6131假定所有变量均已正确定义,下列程序段运行后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(“n%f”,(int)(x*1000+0.5)/(float)1000);A、5.17000

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

C、5.168000

D、5.169000答案:

D题号:

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

A、5E2.0B、1.3EC、E-3D、.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

若有inti=10,j=0;则执行完语句

if(j=0)i++;elsei--;i的值为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(

“n%d”,a>100);“n%d”,a<=100);

else

printf(

答案:

空1:

1

题号:

1575

对以下数学式,写出三个等价的

C语言表达式是

a

b・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,正确的输入形式是。

请用<CR>代表Enter键。

scanf(“%d%c%d%c%d%c%d%c”,&w,&a,&x,&b,&y,&c,&z,&d);答案:

空1:

10A20B30C40DvCR>

题号:

4063

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

doublea=513.789215;

printf(“a=%8.6f,a=%8.2f,a=%14.8f,a=%14n.”8lf,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(“n%d”,x);

答案:

空1:

-1

程序设计

题号:

58

/*

【程序设计】

功能:

将字符串中的小写字母转换为对应的大写字母,其它字符不变。

*/#include"string.h"

#includevoidbky();

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<=0C、a>=10&&a<=0D、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、

intn,

scanff;込);

int

C、

SdefineSIZEIE

inta[SIZEJf

D、inta(10);

答案:

C

题号:

130

a数组的所

若chara[10];已正确定义,以下语句中不能从键盘上给有元素输入值的语句是()。

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,%dn”,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;后i的值为28。

答案:

错误

题号:

2067

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

inta[10]={0*10};

答案:

错误

题号:

1118

函数调用语句:

func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是5.

答案:

错误

题号:

1534

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

答案:

错误

题号:

2158

#define和printf都不是C语句。

答案:

正确

题号:

6321

循环结构中的continue语句是使整个循环终止执行答案:

错误

题号:

2583在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。

答案:

正确

题号:

3386若有inti=10,j=0;则执行完语句

if(j=0)i++;elsei--;i的值为11。

答案:

错误

题号:

2998

c程序总是从程序的第一条语句开始执行.

答案:

错误

题号:

5034

语句scanf("%7.2f",&a);是一个合法的scanf函数。

答案:

错误

填空

题号:

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

题号:

5171

把a1、a2定义成单精度实型变量,并赋初值1的说明语句是

答案:

空1:

floata1=1.0,a2=1.0;

题号:

63

以下程序的输出结果是

#definePR(ar)printf(“ar=%d“,ar)main()

{int

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

当前位置:首页 > 高中教育 > 语文

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

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