C语言真题1.docx

上传人:b****6 文档编号:7740485 上传时间:2023-01-26 格式:DOCX 页数:17 大小:21.23KB
下载 相关 举报
C语言真题1.docx_第1页
第1页 / 共17页
C语言真题1.docx_第2页
第2页 / 共17页
C语言真题1.docx_第3页
第3页 / 共17页
C语言真题1.docx_第4页
第4页 / 共17页
C语言真题1.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C语言真题1.docx

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

C语言真题1.docx

C语言真题1

━━━━━━━━━━━━━━

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

━━━━━━━━━━━━━━

第1题(1分)  题号:

5

若有定义和语句:

inta[3][3]={{3,5},{8,9},{12,35}},i,sum=0;

for(i=0;i<3;i++)sum+=a[2-i];则sum=21.

答案:

Y

第2题(1分)  题号:

32

若有说明intc;则while(c=getchar());是正确的C语句。

答案:

Y

第3题(1分)  题号:

19

C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。

答案:

Y

第4题(1分)  题号:

21

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

答案:

N

第5题(1分)  题号:

36

若有inti=10,j=2;则执行完i*=j+8;后ⅰ的值为28。

答案:

N

第6题(1分)  题号:

17

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

答案:

Y

第7题(1分)  题号:

22

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

答案:

N

第8题(1分)  题号:

31

共同体变量所占的内存长度等于最长的成员的长度。

答案:

Y

第9题(1分)  题号:

28

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

函数类型为准。

答案:

Y

第10题(1分)  题号:

14

用fopen("file","r+");打开的文件"file"可以进行修改。

答案:

Y

第1题(1分)  题号:

606

已定义ch为字符型变量,以下赋值语句中错误的是()。

(A).ch='\';

(B).ch=62+3;

(C).ch=NULL;

(D).ch='\xaa';

答案:

A

第2题(1分)  题号:

141

为了提高程序的运行速度,在函数中对于整型或指针可以使用()型的变量。

(A).auto

(B).register

(C).static

(D).extern

答案:

B

第3题(1分)  题号:

143

C语言中以下几种运算符的优先次序()的排列是正确的。

(A).由高到低为:

!

&&,||,算术运算符,赋值运算符

(B).由高到低为:

!

算术运算符,关系运算符,&&,||,赋值运算符

(C).由高到低为:

算术运算符,关系运算符,赋值运算符,!

&&,||

(D).由高到低为:

算术运算符,关系运算符,!

&&,||,赋值运算符

答案:

B

第4题(1分)  题号:

613

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

(A).for循环只能用于循环次数已经确定的情况

(B).for循环是先执行循环循环体语句,后判断表达式

(C).在for循环中,不能用break语句跳出循环体

(D).for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

答案:

D

第5题(1分)  题号:

673

C语言规定,函数返回值的类型是由()。

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

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

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

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

第6题(1分)  题号:

112

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

main()

{charc1=97,c2=98;

printf("%d%c",c1,c2);

}

(A).9798

(B).97b

(C).a98

(D).ab

答案:

B

第7题(1分)  题号:

591

设有intx=11;则表达式(x++*1/3)的值是()。

(A).3

(B).4

(C).11

(D).12

答案:

A

第8题(1分)  题号:

741

在C程序中,可把整型数以二进制形式存放到文件中的函数是()。

(A).fprintf函数

(B).fread函数

(C).fwrite函数

(D).fputc函数

答案:

A

第9题(1分)  题号:

582

若有定义:

inta=7;floatx=2.5,y=4.7;

则表达式x+a%3*(int)(x+y)%2/4的值是()。

(A).2.500000

(B).2.750000

(C).3.500000

(D).0.000000

答案:

A

第10题(1分)  题号:

106

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

(A).一个好的程序应该有详尽的注释

(B).在C程序中,赋值运算符的优先级最低

(C).在C程序中,j++;是一条赋值语句

(D).C程序中的#include和#define均不是C语句

答案:

B

第11题(1分)  题号:

511

求平方根函数的函数名为()。

(A).cos

(B).abs

(C).pow

(D).sqrt

答案:

D

第12题(1分)  题号:

700

设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下

不能正确执行的赋值语句是()。

(A).c=*p1+*p2;

(B).p2=c;

(C).p1=p2;

(D).c=*p1*(*p2);

答案:

B

第13题(1分)  题号:

513

inta[10];合法的数组元素的最小下标值为()。

(A).10

(B).9

(C).1

(D).0

答案:

D

第14题(1分)  题号:

594

设intx=1,y=1;表达式(!

x||y--)的值是()。

(A).0

(B).1

(C).2

(D).-1

答案:

B

第15题(1分)  题号:

549

若有double*p,x[10];inti=5;使指针变量p指向元素x[5]的语句为()。

(A).p=&x;

(B).p=x;

(C).p=x;

(D).p=&(x+i)

答案:

A

第16题(1分)  题号:

685

在位运算中,操作数每左移一位,其结果相当于()。

(A).操作数乘以2

(B).操作数除以2

(C).操作数除以4

(D).操作数乘以4

答案:

A

第17题(1分)  题号:

559

一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是()。

(A).有零个或多个输入

(B).有零个或多个输出

(C).有穷性

(D).可行性

答案:

B

第18题(1分)  题号:

731

若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,

则文件方式字符串应是()。

(A)."ab++"

(B)."wb+"

(C)."rb+"

(D)."ab"

答案:

B

第19题(1分)  题号:

607

若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。

(A).-3

(B).9

(C).-12

(D).6

答案:

C

第20题(1分)  题号:

687

表达式,0x13&0x17的值是()。

(A).0x17

(B).0x13

(C).0xf8

(D).0xec

答案:

B

第21题(1分)  题号:

734

以下可作为函数fopen中第一个参数的正确格式是()。

(A).c:

user\text.txt

(B).c:

\user\text.txt

(C)."c:

\user\text.txt"

(D)."c:

\\user\\text.txt"

答案:

D

第22题(1分)  题号:

699

下面说明不正确的是()。

(A).chara[10]="china";

(B).chara[10],*p=a;p="china"

(C).char*a;a="china";

(D).chara[10],*p;p=a="china"

答案:

D

第23题(1分)  题号:

135

已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为()。

chara='a';  a--;

printf("%d,%c\n",a+'2'-'0',a+'3'-'0');

(A).b,c

(B).a--运算不合法,故有语法错

(C).98,c

(D).格式描述和输出项不匹配,输出无定值

答案:

C

第24题(1分)  题号:

526

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

(A).非整型返回值的

(B).本文件外的

(C).main函数

(D).本函数下面定义的

答案:

C

第25题(1分)  题号:

636

若二维数组a有m列,则在a[j]前的元素个数为()。

(A).j*m+i

(B).i*m+j

(C).i*m+j-1

(D).i*m+j+1

答案:

B

第26题(1分)  题号:

693

以下各选项企图说明一种新的类型名,其中正确的是()。

(A).typedefv1int;

(B).typedefv2=int;

(C).typedefintv3;

(D).typedefv4:

int;

答案:

C

第27题(1分)  题号:

704

变量的指针,其含义是指该变量的()。

(A).值

(B).地址

(C).名

(D).一个标志

答案:

B

第28题(1分)  题号:

120

假设所有变量均为整型,表达式:

a=2,b=5,a>b?

a++:

b++,a+b的值是()。

(A).7

(B).8

(C).9

(D).2

答案:

B

第29题(1分)  题号:

562

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

(A).C语言编译时不检查语法

(B).C语言的子程序有过程和函数两种

(C).C语言的函数可以嵌套定义

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

答案:

D

第30题(1分)  题号:

523

函数的形式参数隐含的存储类型说明是()。

(A).extern

(B).static

(C).register

(D).auto

答案:

D

第31题(1分)  题号:

92

以下的选择中,正确的赋值语句是()。

(A).a=1,b=2

(B).j++

(C).a=b=5;

(D).y=int(x)

答案:

C

第32题(1分)  题号:

105

以下运算符中,优先级最高的运算符是()。

(A).=

(B).!

=

(C).*(乘号)

(D).()

答案:

D

第33题(1分)  题号:

616

以下不是无限循环的语句为()。

(A).for(y=0,x=1;x>++y;x=i++)i=x;

(B).for(;;x++=i);

(C).while

(1){x++;}

(D).for(i=10;;i--)sum+=i;

答案:

A

第34题(1分)  题号:

656

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

(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}};

答案:

D

第35题(1分)  题号:

154

在以下给出的表达式中,与do--while(E)语句中的(E)不等价的表达式是()。

(A).(!

E==0)

(B).(E>0||E<0)

(C).(E==0)

(D).(E!

=0)

答案:

C

第36题(1分)  题号:

204

在下列程序段中,枚举变量c1,c2的值依次是()。

  

enumcolor{red,yellow,blue=4,green,white}c1,c2;

c1=yellow;c2=white;  

printf("%d,%d\n",c1,c2);

(A).1,6

(B).2,5

(C).1,4

(D).2,6

答案:

A

第37题(1分)  题号:

136

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

main()

{intm=7,n=4;

float  a=38.4,b=6.4,x;

x=m/2+n*a/b+1/2;

printf("%f\n",x);

}

(A).27.000000

(B).27.500000

(C).28.000000

(D).28.500000

答案:

A

第38题(1分)  题号:

633

对以下说明语句  inta[10]={6,7,8,9,10};  的正确理解是()。

(A).将5个初值依次赋给a[1]至a[5]

(B).将5个初值依次赋给a[0]至a[4]

(C).将5个初值依次赋给a[6]至a[10]

(D).因为数组长度与初值的个数不相同,所以此语句不正确

答案:

B

第39题(1分)  题号:

598

下列四组选项中,均不是C语言关键字的选项是()。

(A).define  IF  type

(B).getc  char  printf

(C).include  scanf  case

(D).while  go  pow

答案:

A

第40题(1分)  题号:

601

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

(A).160.  0.12  e3

(B).123  2e4.2  .e5

(C).-.18  123e4  0.0

(D).-e3  .234  1e3

答案:

B

━━━━━━━━━━━━━━━━

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

━━━━━━━━━━━━━━━━

第1题(10分)  题号:

426

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

【程序填空】

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

题目:

百马百担问题:

有100匹马,驮100担货,大马驮三担,中

    马驮2担,两匹小马驮一担,求大、中、小马各多少匹?

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

#include

main()

{

  inthb,hm,hl,n=0;

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

  for(hb=0;hb<=100;hb+=【?

】)

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

  for(hm=0;hm<=100-hb;hm+=【?

】)

  {

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

    hl=100-hb-【?

】;

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

    if(hb/3+hm/2+2*【?

】==100)

    {

      n++;

      printf("hb=%d,hm=%d,hl=%d\n",hb/3,hm/2,2*hl);

    }

  }

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

  

}

答案:

  1).3

  2).2

  3).hm

  4).hl

第2题(10分)  题号:

438

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

【程序填空】

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

题目:

求出二维数组中的最大元素值。

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

#include"stdio.h"

voidmain()

{

  inta[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}};

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

  printf("maxvalueis%d\n",【?

】);

}

max_value(m,n,array)

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

intm,n,【?

】;

{

  inti,j,max;

  max=array[0][0];

  for(i=0;i

  for(j=0;j

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

    if(max

】;

  return(max);

}

答案:

  1).max_value(3,4,a)

  2).array[][4]或array[3][4]或(*array)[4]

  3).max=array[j]或max=*(*(array+i)+j)或max=*(array+j)

━━━━━━━━━━━━━━━━

第1题(10分)  题号:

357

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

【程序改错】

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

功能:

请编写函数fun,对长度为8个字符的字符串,将8个字符按

    降序排列。

例如:

原来的字符串为CEAedcab,排序后输出为edcbaECA。

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

注意:

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

    结构。

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

#include

#include

#include

intfun(char*s,intnum)

{

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

  inti;j;

  chart;

  for(i=0;i

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

  for(j=i;j

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

    if(s>s[j])

    {

      t=s;

      s=s[j];

      s[j]=t;

    }

}

main()

{

  chars[10];

  printf("输入8个字符的字符串:

");

  gets(s);

  fun(s,8);

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

}

答案:

  1).inti,j;或inti;intj;

  2).for(j=i+1;j

  3).if(s

第1题(10分)  题号:

362

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

【程序设计】

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

功能:

编写程序,求矩阵(3行3列)与2的乘积  

例如:

输入下面的矩阵:

    100200300    

    400500600    

    700800900

    程序输出:

  

    200  400  600    

    80010001200    

    140016001800

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

注意:

部分源程序给出如下。

请勿改动主函数main

    和其它函数中的任何内容,仅在函数fun的花

    括号中填入所编写的若干语句。

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

#include"stdio.h"

      

intfun(intarray[3][3])    

{

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

  

  

  

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

}

main()    

{    

  voidNONO();

  inti,j;    

  intarray[3][3]={{100,200,300},    

  {400,500,600},    

  {700,800,900}};    

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

  {

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

    printf("%7d",array[j]);    

  printf("\n");    

  }    

  fun(array);    

  printf("Convertedarray:

\n");    

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

  {

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

    printf("%7d",array[j]);    

  printf("\n");

  }

  NONO();    

}    

voidNONO()    

{    

  

  inti,j,array[3][3];    

  FILE*rf,*wf;    

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

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

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

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

    fscanf(rf,"%d",&array[j]);    

  fun(array);    

  for(i=0;i

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

当前位置:首页 > 表格模板 > 合同协议

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

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