C语言程序设计试题及答案

时间:2017-04-08 13:49:13 C语言试题 我要投稿

2017年C语言程序设计试题及答案

  C语言是把高级语言的基本结构和语句与低级语言的实用性结合起来。以下是由阳光网小编整理关于C语言程序设计试题的内容,希望大家喜欢!

2017年C语言程序设计试题及答案

  2017年C语言程序设计试题及答案(一)

  1[单选题] 若有语句:int a[3][4],(。P)[4];P=a;,则以下选项中叙述错误的是()。

  A.系统将开辟一个名为P的二维数组,“o][o]中的值即为a[o][o]中的值

  B.P+1代表a[1][0]的地址

  C.P中将存放a数组的首地址

  D.P+2代表a数组最后一行的首地址

  参考答案:A

  参考解析:(+P)[4]定义了一个数组指针。P可以指向类似于arry[][4]的数组,题设中,P不是一个二维数组,只是可以指向这类二维数组,因此选项A错误。P+1代表了第一行第一个元素的地址,P=a指向数组a的首地址,则B、C选项正确,同理可知选项D也正确。故答案为A选项。

  2[单选题] 以下叙述中正确的是()

  A.在算法设计时,可以把复杂任务分解成一些简单的子任务

  B.在C语言程序设计中,所有函数必须保存在一个源文件中

  C.只要包含了三种基本结构的算法就是结构化程序

  D.结构化程序必须包含所有的三种基本结构.缺一不可

  参考答案:A

  参考解析:C语言的程序中,函数不一定都放在同一个源文件中,可以分别放在不同源文件中,通过#inClude命令来引用,所以B错误。结构化程序可以包含三种基本结构中的一种或几种,所以C,D错误。

  3[单选题] 有三个关系R、S和T如下:

  则由关系R和S得到关系T的操作是( )。

  A.自然连接 B.交 C.除 D.并

  参考答案:C

  参考解析:如果S=T/R,则s称为T除以R的商。在除运算中s的域由T中那些不出现在R中的域所组成,对于s中的任一有序组,由它与关系R中每个有序组所构成的有序组均出现在关系T中。所以本题选择C2017年计算机二级C语言练习题及答案2017年计算机二级C语言练习题及答案。

  4[单选题] 以下叙述错误的是( )。

  A.一个算法所包含的操作步骤应该是有限的

  B.任何能通过编译和运行的算法都一定能得到所期望的结果

  C.算法中每一条指令必须有确切的含义

  D.算法可以用各种描述方法来进行描述

  参考答案:B

  参考解析:算法的特点:零个或多个输入,至少一个输出,可行性(能编程实现),有穷性(有限步出结果),确定性(描述不能有歧义)。可知选项A,c,D正确。c语言中。通过编译,可以运行的程序,不一定符合题目的本意,因此即使可以运行得到结果,也不一定和预期的结果一样,否则就不需要调试和修改程序了,故B选项错误。答案为B选项。

  5[单选题] 设有定义:

  int a=1,b=2,C=3;

  以下语句中执行效果与其他三个不同的是( )。

  A.if(a>B.C=a,a=b,b=C;

  B.if(a>B.{C=a,a=b,b=C;}

  C.if(a>B.C=a;a=b;b=c;

  D.if(a>B.{C=a;a=b;b=c;}

  参考答案:C

  参考解析:由于a小于b,所以所有选项中的条件都为假,c选项中实际执行了a=b;b=c;两个操作。而A、B、D选项由于条件不成立,所以什么也没有做,所以选择c选项。

  6[单选题] 以下叙述中正确的是

  A.两个字符串可以用关系运算符进行大小比较

  B.函数调用strlen(s);会返回字符串S实际占用内存的大小(以字节为单位)

  C.C语言本身没有提供对字符串进行整体操作的运算符

  D.当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和

  参考答案:C

  参考解析:本题考查字符串处理函数strien、strcat、strcmp。B选项中strlen返回的是字符串s实际占用内存大小加上结尾符,A选项中不能用关系运算符进行大小比较,可以使用strcmp。D选项当使用连接函数strcat时,内存空间会减少一个字符位置。

  7[单选题] 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。

  A.一对一 B.一对多 C.多对多 D.多对一

  参考答案:C

  参考解析:因为一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。

  8[单选题] 对于while(!E)s;,若要执行循环体s,则E的取值应为:

  A.E等于1 B.E不等于0 C.E不等于1 D.E等于0

  参考答案:D

  参考解析:while语句的一般形式为:while(表达式)语句;其中表达式是循环条件,语句为循环体。while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。该题中如要执行语句s,则!E应为真,因此E应等于0,D选项正确。

  9[单选题] 在软件设计中不使用的工具是( )。

  A.系统结构图 B.PAD图 C.数据流图(DFD图) D.程序流程图

  参考答案:C

  参考解析:系统结构图是对软件系统结构的总体设计的图形显示2017年计算机二级C语言练习题及答案计算机等级。在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的

  PAD图是在详细设计阶段用到的。程序流程图是对程序流程的图形表示,在详细设计过程中用到。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到,所以选择C。

  10[单选题] 若有定义语句:char a='\82';则变量a()

  A.说明不合法 B.包含1个字符 C.包含2个字符 D.包含3个字符

  参考答案:B

  参考解析:char a='\82',定义字符量a,char型变量值为1个字节长度,并从右侧开始运算,所以a的值应为'2'。因此B选项正确。

  2017年C语言程序设计试题及答案(二)

  一、单项选择

  1 下列数据中,为字符串常量的是()。 D

  A、'A'

  B、How do you do.

  C、$abc

  D、"house"

  2 以下所列的C语言常量中,错误的是( )。 B

  A、0xFF

  B、1.2e0.5

  C、2L

  D、'\72'

  3 以下程序的输出结果是()。 D

  main()

  {float x=3.6;

  int i;

  i=(int)x;

  printf("x=%f,i=%d\n",x,i);

  }

  A、x=3.600000,i=4

  B、x=3 i=3.600000

  C、x=3,i=3

  D、x=3.600000,i=3

  4 若k是整型,则以下程序段的执行结果是:( ) B

  k=-3;

  if(k<=0) printf("####")

  else printf("&&&&");

  A、####

  B、有语法错误,无结果

  C、&&&&

  D、####&&&&

  5 若x=2,y=3则x||y的结果是( )。 C

  A、3

  B、0

  C、1

  D、2

  6 针对下列程序段回答问题( B ).

  for(t=1;t<=100;t++)

  {

  scanf("%d",&x);

  if(x<0) continue;

  printf("=",t);

  }

  A、x>=0时什么也不输出

  B、最多允许输出100个非负整数

  C、printf函数永远也不执行

  D、当x<0时整个循环结束

  7 以下程序的执行结果是( )。 B

  main()

  { int num = 0;

  while( num <= 2 ) { num++; printf( "%d,",num ); } }

  A、0,1,2

  B、1,2,3,

  C、1,2,3,4,

  D、1,2,

  8 选择正确的输入语句( D )。:(其中:char string[20];)使得string的内容为"I am student".

  A、scanf("%s", string);

  B、scanf("%c", &string);

  C、scanf("%s", &string);

  D、gets(string);

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

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

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

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

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

  10 以下标识符中可以作为用户函数名的是( ). D

  A、struct

  B、int

  C、union

  D、go_to

  11 以下叙述错误的是( ). B

  A、函数调用可以出现在一个表达式中

  B、函数调用可以作为一个函数的形参

  C、函数调用可以作为一个函数的实参

  D、函数允许递归调用

  12 若用数组名作为函数的实参,传递给形参的是()。 B

  A、数组第一个元素的值

  B、数组的首地址

  C、数组元素的个数

  D、数组中全部元素的值

  13 在C语言程序中()。 B

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

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

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

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

  14 下列说法中正确的是( ). B

  A、函数调用不占运行时间,只占编译时间.

  B、宏替换不占运行时间,只占编译时间.

  C、有参数的宏定义,就是函数.

  D、在定义宏时,宏名与带参数的括弧之间可以加空格.

  15 若有说明:int *p,m=5,n;以下正确的程序段是()。D

  A、scanf("%d",&n);*p=n;

  B、p=&n;scanf("%d",*p)

  C、p=&n;scanf("%d",&p);

  D、p=&n;scanf("%d",p);

  16 对于下述定义,不正确的叙述是( ). B

  union data

  {int i;

  char c;

  float f;

  }a,b;

  A、变量a的地址和它的各成员地址都是相同的

  B、可以在定义类型的同时定义变量a,并对a的任意成员初始化

  C、变量a所占内存的长度等于成员f的长度

  D、如果有定义语句 union data a={6};则对变量a的初始化是正确的


【2017年C语言程序设计试题及答案】相关文章:

1.C语言程序设计试题及答案(四)

2.C语言程序设计模拟试题及答案

3.C语言程序设计试题及答案全套

4.C语言程序设计试题及答案(一)

5.C语言程序设计期末试题及答案

6.C++语言程序设计试题及答案

7.C语言程序设计试题及答案(五)

8.C语言程序设计试题及答案免费下载

9.C语言程序设计试题及参考答案