当前位置:文档之家› 最新全国计算机等级考试C语言题库试题

最新全国计算机等级考试C语言题库试题

最新全国计算机等级考试C语言题库试题
最新全国计算机等级考试C语言题库试题

2013年3月全国计算机等级考试无纸化二级C语言

一、选择题(每一题1分,共40分)

(1)程序流程图中带有箭头的线段表示的是()。

A)图元关系B)数据流C)控制流D)调用关系

(2)结构化程序设计的基本原则不包括()。

A)多态化B)自顶向下C)模块化D)逐步求精

(3)软件设计中模块划分应遵循否认准则是()。

A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合

(4)在软件开发中,需求分析阶段产生的主要文档是()。

A)可行性分析报告B)软件需求规格说明书

C)概要设计说明书D)集成测试计划

(5)算法的有穷性是指()。

A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的

C)算法程序的长度是有限的D)算法只能被有限的用户使用

(6)对长度为n的线性表排序,在最坏的情况下,比较次数不是n(n – 1)/ 2的排序方法是()。

A)快速排序B)冒泡排序C)直接插入排序D)堆排序

(7)下列关于栈的叙述正确的是()。

A)栈按“先进先出”组织数据B)栈按“先进后出”组织数据

C)只能在栈底插入数据D)不能删除数据

(8)在数据库设计中,将E-R图转化成关系数据模型的过程属于()。

A)需求分析阶段B)概念设计阶段

C)逻辑设计阶段D)物理设计阶段

(9)有三个关系R,S和T如下:

由关系R和S通过运算得到关系T,则所使用的运算为()。

A)并B)自然连接C)笛卡儿积D)交

(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为()。A)课号,成绩B)学号,成绩C)学号,课号D)学号,姓名,成绩(11)以下叙述中错误的是()。

A)C语言中的每条可执行语句和非执行语句最终都将被转化成二进制的机器指令

B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中

D)C语言源程序经编译后生成后缀为.obj的目标程序

(12)以下选项中,合法的一组C语言数值常量是()。

A)12. 0Xa23 4.5e0 B)028 .5e-3 -0xf

C).177 4el.5 0abc D)0x8A 10,000 3.e5

(13)以下选项中不合法的标识符是()。

A)&a B)FOR C)print D)_00

(14)若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是()。

A)sqrt(fabs(pow(n,x)+exp(x)))

B)sqrt(fabs(pow(n,x)+pow(x,e)))

C)sqrt(abs(n^x+e^x))

D)sqrt(fabs(pow(x,n)+exp(x)))

(15)若有定义:double a=22;int i=0,k=18;则不符合C语言规定的赋值语句是()。A)i=(a+k)<=(i+k); B)i=a%11;

C)a=a++,i++; D)i=!a;

(16)有以下程序:

#include

main()

{

int s,t,A=10;double B=6;

s=sizeof(A);t = sizeof(B);

printf(“%d,%d\n”,s,t);

}

在VC6.0平台上编译运行,程序运行后的输出结果是()。

A)10,6 B)4,4 C)2,4 D)4,8

(17)有以下程序:

#include

main()

{

char a,b,c,d;

scanf(“%c%c”,&a,&b);

c=getchar();d=getchar();

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

}

当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)

12

34

则输出结果是()。

A)12 B)12 C)1234 D)12

34 3 (18)以下关于逻辑运算符两侧运算对象的叙述中正确的是()。A)可以是任意合法的表达式B)只能是整数0或非0整数C)可以是结构体类型的数据D)只能是整数0或1 (19)有以下程序:

#include

main()

{

int a =0,b=0,c=0,d=0;

if(a=1) b=1;c=2;

else d=3;

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

}

程序输出()

A)1,1,2,0 B)0,0,0,3 C)编译有错D)0,1,2,0

(20)有以下程序:

#include

Main()

{

Int x=1,y=0,a=0,b=0;

Switch(x)

{case 1;

Switch(y)

{

case 0:a++;break;

case 1:b++;break;

}

Case 2:a++;b++:break;

Case 3:a++;b++;

}

Printf(“a=%d,b=%d\n”,a,b);

}

程序运行结果是()

A)a=2,b=2 B)a=2,b=1 C)a=1,b=1 D)a=1,b=0

(21)以下程序段中的变量已正确定义:

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

for(k=1;k<3;k++);

printf(“*”);

程序段输出结果是()。

A)* * B)* * * * C)* D)* * * * * * * *

(22)有以下程序段:

#include

int i,n;

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

{

n=rand() % 5;

switch(n)

{

case 1:

case 3:printf(“%d \n”,n);break;

case 2:

case 4:printf(“%d \n”,n);continue;

case 0:exit(0);

}

printf(“%d \n”,n);

}

以下关于程序段执行情况的叙述。正确的是()

A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2不做任何操作D)当产生的随机数n为0时结束程序运作

(23)有以下程序:

#include

int f(int x);

main()

{

Int n=1,m;

M=f(f(f(n)));

Printf(“%d\n”,m);

}

Int f(intx)

{

Retrun x*2;

}

程序运行后的输出结果是()

A)8 B)2 C)4 D)1

(24)以下叙述中错误的是()

A)可以给指针变量赋一个整数作为地址值

B)函数可以返回地址值

C)改变函数形参的值,不会改变对应实参的值

D)当在程序的开头包含头文件stdio.h时,可以给指针变量赋值NULL

(25)设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句中正确的是()。

A) int *p=(float)x; B)float *p=&x; C)float p=&x; D)float *p=1024;

(26)以下数组定义中错误的是()

A) int x[2][3]={1,2,3,4,5,6}; B) int x[][3]={0};

C) int x[][3]={{1,2,3,},{4,5,6}} ; D) int x[2][3]={{1,2},{3,4},{5,6}};

(27) 有以下程序:

include

void fun(int a[],int n)

{

int i,t;

for(i=0;i

{

t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t;

}

}

main()

{

int k[10]={1,2,3,4,5,6,7,8,9,10},I;

fun(k,5);

for(i=2;i<8;i++)

printf(“%d”,k[i]);

printf”\n”);

}

程序运行结果是()

A)321678

B)876543

C)1098765

D)345678

(28)有以下程序::

#include

#define N 4

void fun(int a[][N],int b[])

{

int i;

for(i=0;i

b[i]=a[i][i]-a[i][n-1-i];

}

Main()

{

int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}} ,y[N],I;

fun(x,y);

for(i=0:i

printf(“%d,”y[i]);

printf(“\n”);

}

程序运行后的输出结果()

A)-3,-1,1,3 B)-12,-3,0,0 C)0,1,2,3 D)-3,-3,-3,-3

(29)设有定义:char s[81];int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是()

A)get(s);

B)while((s[i++]=getcher())!=’\n’);s[i]=’\0’;

C)scanf(“%s”,s);

D)do{scanf(“%c”,&s[i]);}while(s[i++]!=’\n’);s[i]=’\n’;

(30)设有定义:char p[ ]={‘1’,’2’,’3’},*q=p;一下不能计算出一个char型数据所占有字节数的表达式是()。

A)sizeof(p) B)sizeof(char) C)sizeof(*q) D)sizeof(p[0])

(31)有以下程序:

#include

#include

main()

{

Char str[ ][20]={“One*World”,”One*Dream!”},*p=str[1];

printf(“%d,”,strlen(p));printf(“%s\n”,p);

}

程序运行后的输出结果是()。

A)10,One*Dream! B)9,One*Dream! C)9,One*World D)10,One*World

(32) 有以下程序:

#include

main()

{

char s[ ]=”012xy\08s34f4w2”;

int i, n=0;

for(i=0;s[i]!=0;i++)

if(s[i]>=’0’&&s[i]<=’9’)n++;

printf(“%d\n”,n);

}

程序运行后的输出结果是()。

A)0 B)3 C)7 D)8

(32) 有以下程序:

#include

fun(int x ,int y)

{

static int m=0,i=2;

i+=m+1;m=i+x+y; returnm;

}

main()

{

int j=1,m=1,k;

k=fun(j,m);printf(“%d,”,k);

k=fun(j,m);printf(“%d\n”,k);

}

执行后的输出结果是()。

A)5,11 B)5,5 C)11,11 D)11,5

(34)在C语言中,只有在使用时才占用内存单元的变量,其存储类型是()。

A)auto和static B)extern和register c)auto和register D)static和register (35)下面结构体的定义语句中,错误的是()。

A)struct ord{int x;int y;int z;}struct ord a; B)struct ord {int x;int y;int z;};struct ord a;

C)struct ord{int x;int y;int z;}a; D)struct{int x;int y;int z;}a;

(36)有以下程序:

#include

Typedef struct{int b,p;}A;

Void f(A c)/*注意:c是结构变量名*/

{

int j;

c.b+=1;c.p+=2;

}

main()

{

int i;

A a={1,2};

f(a);

printf(“%d,%d\n”,a.b,a.p);

}

程序运行后的输出结果是()。

A)2,4 B)1,2 C)1,4 D)2,3

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

A)在C语言中,预处理命令行都以“#”开头

B)预处理命令行必须位于C源程序的起始位置

C)#include 必须放在C程序的开头

D)C语言的预处理不能实现宏定义和条件编译的功能

(38)有以下程序:

#include

#include

Int fun(int n)

{

int *p;

p=(int*)malloc(sizeof(int));

*p=n;return *p;

}

main()

{

int a;

a=fun(10);printf(“%d\n”;a+fun(10));

}

程序的运行结果是( )。

A)0 B)10 C)20 D)出错

(39)有以下程序:

#include

main()

{

unsigned char a=8,c;

c=a>>3;

printf(“%d \n”,c);

}

程序运行后的输出结果是( )。

A)16 B)1 C)32 D)0

(40)读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);其中buffer 代表是( )。

A)一个内存块的字节数

B)一个整形变量,代表待读取的数据的字节数

C)一个文件指针,指向待读取的文件

D)一个内存块的首地址,代表读入数据存放的地址-

二、程序填空题(共18分)

下列给定程序中函数fun 的功能是:计算如下公式

21-n 222)

n ×2()1×2()1(…… 674523+-+-+-=n S 直到3210|)n ×2()1n ×2(|

-≤+,并且把计算结果作为函数值返回。 例如,若形参e 的值为le-3,则函数的返回值为0.551690。

请在下面划线处填入正确的内容并将下划线删除,使程序得出正确的结果。

注意:部分源程序给出如下。

不得增行或删行,也不得更改程序的结构!

试题程序:

#include

double fun(double e)

{ int i.k;double s,t,x;

s=0;k=1;i=2;

/******found******/

x=【1】/4;

/******found******/

while(x 【2】e);

{

s=s+k*x;

k=k*(-1);

t=2*i;

/******found******/

x=【3】/(t*t) ;

i++;

}

return s;

}

main()

{ double e=1e-3;

printf(“\nThe result is :%f\n”,fun(e));

}

三、程序修改题(共18分)

下列给定程序中函数fun 的功能是:求出如下分数序列的前n 项目之和,和值通过函数值返回。

…… ,13

21,813,58,35,23,12 例如,若n=5,则对应输出8.391667。

请改正程序中的错误,使其得出正确的结果。

注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include

#include

#include

/******found******/

void fun (int n)

{

int a=2,b=1,c,k;

double s=0.0;

for (k=1;k<=n;k++)

{

/******found******/

s=s+(double)a/b;

c=a;a=a+b;b=c;

}

return (s);

}

V oid main()

{

int n=5;

system(“CLS”);

printf(“\nThe value of function is :%1f\n”,fun(n));

}

四、程序设计题(共24分)

请编写函数fun ,其功能是:找出2×M 整型二位数组中最大元素的值,并将此值返回调用函数。

请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。

试题程序:

#define M 4

#include

int fun(int a[][M])

{

}

Void main()

{

int arr[2][M]={5,8,3,45,76,-4,12,82};

printf("max=%d\n",fun(arr));

}

无纸化题库试题答案解析

一选择题

(1)C )【解析】在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流,所以选择C )。

(2)A )【解析】结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto 语句,所以选择A )

(3)B )【解析】软件设计中模块划分应遵守的准则是高内聚低耦合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。

(4)B )【解析】A )错误,可行性分析阶段产生可行性分析报告。C )错误,概要设计说明书是总体设计阶段产生的文档。D )错误,集成测试计划是在概要设计阶段编写的文档。B )正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。

(5)A )【解析】算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。

(6)D ) 【解析】除了堆排序算法的比较次数是O (n n 2log ),其他的都是(n-1)/2.

(7)B )【解析】栈是按“先进后出”的原则组织数据的,数据的插入和删除都在栈顶进行操作。

(8)C )【解析】将E-R 图转换成关系模型数据是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。

(9)D )【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以B )错误。笛卡尔积是用R 集合中元素为第一元素,S 集合中元素为第二元素构成的有序对,所以C )错误。根据关系T 可以很明显的看出其是从关系R 与关系S 中取得相同的关系组成,所以运用的是交运算,选择D )。

(10)C)【解析】学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选C).

(11)A)【解析】C语言中的非执行语句不会被编译,不会生成二进制的机器指令,所以A)错误。由C语言构成的指令序列成为C源程序,C源程序经过C语言编译程序编译之后生成一个后缀为.OBJ的二进制文件(成为目标文件);最后要由“连接程序”把此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为。EXE的可执行文件。

(12)A)【解析】C语言中八进制整数常量的开头是数字0,十六进制整形常量的开头数字是Ox,C语言中的实型常量有两种表示形式:小数形式,小数形式表示的实型常量必须要有小数点;指数形式,以e或E后跟一个整数来表示以10为底数的幂数,切规定字母e或E之前必须要有数字,且e或E后面的指数必须为整数。B)选项中028错误,八进制中没有数字8。C)选项中4e1.5中e后面的指数不是整数。D)选项中3.e5小数点后面缺少数字。

(13)A)【解析】C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。应为C语言中区分大小写,所以B)选项中的“FOR”可以作为标识符来用。A)选项中含有非法字符&,所以选择A)。

(14)A)【解析】B)选项中函数pow(x,e)错误,应该直接使用exp(x)函数。C)选项中函数abs(n^x+e^x)错误,应该使用fabs()返回浮点数的绝对值。D)选项中的pow(x,n)参数顺序错误。

(15)B)【解析】取模运算符“%”为二元运算符,具有左结合性,并且参与运算的量均应为整型。选项B中的a变量double实型,所以B)不符合规定。(16)D)【解析】C语言中利用sizeof()函数判断数据类型长度,在VC6.0平台中,整形int占4个字节,double型数据占8个字节。

(17)D)【解析】按照从键盘输入的数据可以判断字符1给了变量a ,字符2给了变量b,字符即回车给了变量c,字符3给了变量d。所以打印出的结果为D)选项。

(18)A)【解析】C语言的逻辑运算符比较特别,它的操作数没有明确的数据类型,可以是任意合法的表达式,所以选择A)。

(19)C)【解析】本题中if(a=1)b=1;与case d=3;之间多了语句c=2,所以会出现else语句的位置错误的编译失败提示。

(20)B)【解析】case常量表达式只起语句标号的作用,并不是该处进行条件判断。在执行switch语句时,根据switch的表达式,找到与之匹配的case语句,就从此字句执行下去,不再进行判断,直到碰到break或函数结束为止。所以执行内层switch(y)时只执行了a++,此时a 的值为1.然后执行外层case2语句的a++;b++;则a为2,b为1.所以结果为B)。

(21)C)【解析】由于内层循环for(k=1;k<3;k++),后面直接跟了个空语句“;”,所以在循环内部什么操作也不做,跳出外层循环后执行打印语句,所以打印了一个“*”,因此应该选C)。

(22)D)【解析】case常量表达式只是起语句标号作用,并不是该处进行条件判断。在执行switch语句时,根据switch的表达式,找到与之匹配的case语句,就从此字句执行下去,不再进行判断,直到碰到break或函数结束为止。简单的说,break是结束整个循环体,而continue是结束单次循环。B)选项中当

产生的随机数n为4时,要执行打印操作。C)选项中当产生的随机数为1和2时,分别执行case3和case4后面语句的内容。由于存在break语句,所以for 循环不是固定执行8次,执行次数与产生的随机数n有关系。

(23)A)【解析】第一次调用为m=f(f(f(1))),第二次调用为m=f(f(2)),第三次调用为m=f(4),即返回值为8。

(24)A)【解析】不能将一个整数直接赋给指针变量作为地址,所以A)是错误的。函数的返回值可以是地址,即指针。函数调用中形参值的变化不会传递给实参。

(25)B)【解析】指针是用来存放地址的变量,用(类型名 *指针变量名)的形式定义。赋值时应将某个变量地址即&x赋给指针变量,所以选择B)。

(26)D)【解析】D)选项中x[2][3]定义的是一个两行三列的二维数组,而在给数组元素赋值时却赋成了三行,所以错误。

(27)A)【解析】本题中的函数fun()的功能是将数组k中前5个元素倒序,所以返回后数组k中的元素排列是5,4,3,2,1,6,7,8,9,10。所以打印输出k[2]到k[7]元素的值,即321678,所以选择A)。

(28)A)【解析】本题中由fun函数可知,b[0]=a[0][0]-a[0][3]=1-4=-3,b[1]=a[1][1]-a[1][2]=6-7=-1,b[2]=a[2][2]-a[2][1]=11-10=1,b[3]=a[3][3]-a[3][1]=16-13=3,所以主函数中打印y数组元素的值为A)选项。

(29)C)【解析】字符串的输入不能使用scanf(“%s”,s);,而应该使用get(s); (30)A)【解析】根据题目中的定义,可以知道sizeof(p)计算的是数组p中所有元素所占有的字节数,而不是char型数据所占字节数。

(31)A)【解析】p是指向二维字符数组第二行One * Dream!的数组指针,所以长度是10,打印输出的也是该字符串。

(32)B)【解析】本题中遇到“\”字符循环结束,所以只统计“\”字符之前的数字字符,所以为3。

(33)A)【解析】声明静态局部变量:函数调用结束后,其占有的存储单元不释放,在下次该函数调用时,该变量保留上一次函数调用结束时的值。本题子函数fun中的变量 i和m均为静态局部变量。所以第一次调用fun函数,返回m的值为5,第二次再调用fun函数,i的值为3,m的值已经为5 了,所以执行i+=m+1,i 的值变为9,m=i+x+y=9+1+1=11。

(34)C)【解析】auto:函数中的局部变量,动态地分配存储空间,数据存储在动态存储区中,在调用该函数时系统会给它们分配存储空间,在函数调用结束时就自动释放这些存储空间。register:为了提高效率,C语言允许将局部变量的值放在CPU中的寄存器中,这种变量成为寄存器变量,只有局部自动变量和形式参数可以作为寄存器变量。extern:外部变量(即全局变量)实在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件终了。static:静态局部变量,属于静态存储类别,在静态存储区内分配存储单元,在程序整个运行期间都不释放。

(35)A)【解析】A)选项struct ord{int x;int y;int z;};错误,不能再定义结构体的同时,又用结构体类型名定义变量。应该写成B)选项或者D)选项的内容。

(36)B)【解析】结构体变量可以作为函数的参数和返回值。作为函数的实参时,

可以实现函数的传值调用。当使用结构体变量作为函数的形参时,实参也应该是结构体变量名,以实现传值调用,实参将复制副本给形参,在被调用函数中改变形参值对调用函数中的实参没有影响。所以选择B)。

(37)A)【解析】预处理命令是以“#”号开头的命令,它们不是C语言的可执行命令,这些命令应该在函数之外写,一般在源文件的最前面书写,但不是必须在起始位置书写,所以B),C)错误。C)语言的预处理能够实现宏定义和条件编译等功能,所以D)错误。

(38)C)【解析】malloc(sizeof(int))的作用是开辟一个长度为sizeof(int),并通过强制类型转换(int *)将此存储空间的地址赋给了一个整形的指针变量p。然后执行语句*p=n;使得*p的值为10,并通过return返回此值,即a 的值为10.然后再主函数中输出a+fun(10)=10+10=20。

(39)B)【解析】无符号整形变量a的值为8,二进制表示为00001000,右移3位后为00000001,即十进制的1,所以输出1。

(40)D)【解析】fread(void * buffer,size_t size,size_t count,FILE * stream);的功能是从一个文件流中读数据,读取count个元素,每个元素size 字节,如果调用成功返回count。buffer:用于接收数据的内存地址,大小至少是size * count字节;size:单个元素大小,单位是字节;count:元素的个数,每个元素是size个字节,stream:输入流。

二、程序天空题

【参考答案】

(1)3.0或(double)3 (2)> (3)(t+1)

【考点分析】

本题考查:基本算数运算的类型转换。其转换规则如下:

如果双目运算符两边运算数的类型一致,则所得结果的类型与运算数的类型一致。

如果双目运算符两边运算数的类型不一致,系统将自动进行类型转换,使运算符

的变化实现循环操作。

【解题思路】

填空1:变量x定义为double类型,而运算符“/”后面是整型数,因此给x 赋值时,需要需要数据类型,此处不能将3.0写成3。

填空2:while循环语句的循环条件。根据题意确定循环变量应大于1e-3,因此此处应填“>”。

填空3:表达式的通项是2)

*

2(i

i ,由于程序中已定义t=2*i,所以此处应

/(

*

2

)1

该填写(t+1)。

【解题宝典】

本题填空1还可以运用强制类型转换来实现。强制类型转换是通过类型转换运算来实现的,其一般形式为“(类型说明符)(表达式)”。其功能是:把表达式的运算结果强制转换成类型说明符所表示的类型。

例如:

(float) a 把a转换成实型

(int)(x+y) 把x+y的结果转换为整型

三、程序修改题

【参考答案】

(1)double fun(int n)

(2)s=s+(double)a/b;

【考点分析】

本题考查:函数定义,函数定义的一般形式为“类型标识符函数名(形式参数表列)”,其中类型标识符用来说明函数值的类型,函数的类型实际上是函数返回值的类型。

【解题思路】

(1)由语句“return(s);”和变量s定义为double类型可知,该函数定义时其类型标识符为double类型。

(2)主义数据类型double的书写格式。

【解题宝典】

确定函数类型标识符在填空和改错题中经常考到,如果函数没有返回值,则函数定义为void型,如果函数有返回值,则函数类型应与返回值类型一致。如果不定义函数类型标识符,则系统默认为int型。

四、程序设计题

【参考答案】

int fun(int a[][M])

{

int i,j,max=a[0][0];

/*对二维数组进行遍历*/

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

{

for(j=0;j

if(max

/*将最大值保存在max中*/

max=a[i][j];

return max;

}

}

【考点分析】

本题考查:求数组的最大值,需运用循环语句。因为数组是二维数组,所以应使用二层加for循环嵌套。使用for循环语句时需主义变量的取值范围。【解题思路】

此类求最大值或最小值的问题,可以采用逐个比较的方式,对数组中所有元素遍历一遍,从中找出数组最大值或最小值。首先定义变量max 用来数组的第一个元素的值,然后利用for循环逐个找出数组中的元素,并与max比较,如果元素值大于max,则将该值赋予max,循环结束后max的值即为数组最大值,最后将该值返回。

【解题宝典】

该类题目考查较多,需要掌握逐个比较的方法。对于m*n二维数组,如果采用逐个查找方法,代码实现如下:

for(i=0;i

for(j=0;j

if(a[i][j]>max)

max=a[i][j];

C语言题库及答案

C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

全国计算机等级考试二级C语言真题

2009年3月二级C语言笔试真题((1)—(10)每小题2分,(11)—(50)每题1分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是 A)栈是“先进先出”的线性表 B)队列是“先进先出”的线性表 C)循环队列是非线性结构 D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构 (2)支持子程序调用的数据结构是 A)栈B)树C)队列D)二叉树 (3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是 A)10B)8C)6D)4 (4)下列排序方法中,最坏情况下比较次数最少的是 A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆排序 (5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是 A)编译软件 B)操作系统 C)教务管理系统 D)汇编程序 (6)下面叙述中错误的是 A)软件测试的目的是发现错误并改正错误 B)对被调试的程序进行“错误定位”是程序调试的必要步骤 C)程序调试通常也称为Debug D)软件测试应严格执行测试计划,排除测试的随意性 (7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性

C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度 (8)数据库应用系统中的核心问题是 A)数据库设计 B)数据库系统设计 C)数据库维护 D)数据库管理员培训 (9)有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为 A)选择B)投影C)插入D)连接 (10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域 (11)以下选项中合法的标识符是 A)1-1B)1—1C)-11D)1-- (12)若函数中有定义语句:intk;,则 A)系统将自动给k赋初值0 B)这时k中值无定义 C)系统将自动给k赋初值-1 D)这时k中无任何值 (13)以下选项中,能用作数据常量的是 A)o115B)0118C))115L (14)设有定义:intx=2;,以下表达式中,值不为6的是A)x*=x+1 B)x++,2*x C)x*=(1+x)

大学C语言考试试题

C语言模拟试题 一、判断 1、关系运算符<= =与= =的优先级相同。(N ) 2、C语言的函数可以嵌套定义。(N ) 3、若有定义和语句:int a;char c;float f;scanf(“%d,%c,%f”,&a,&c,&f);若通过键盘输入:10,A,12.5, 则a=10,c=?A?,f=12.5.( Y ) 4、变量根据其作用域的范围可以分作局部变量和全局变量。( Y ) 5、#define和printf都不是C语句。( Y ) 6、Int I,*p=&I;是正确的C说明。( Y ) 7、结构体类型只有一种。( N ) 8、在Turbo C中,整形数据在内存中占2个字节。( N ) 9、一个include命令可以指定多个被包含的文件。( N ) 10、有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是*(p+8).( Y ) 二、选择 2、C语言中,char类型数据占(A) A、1个字节 B、2个字节 C、4个字节 D、8个字节 3、已知x=43,ch=?A?,y=o;则表达式(x>=y&&ch1;i--) for(j=1;j

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=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 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: 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() { int i=0;

计算机二级c语言历年真题及答案

计算机二级c语言历年真题及答案【篇一:国家计算机二级c语言历年真题及答案】 class=txt>c语言程序设计 (考试时间90分钟,满分100分) 一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分) (1)下列数据结构中,属于非线性结构的是 a)循环队列 b) 带链队列 c) 二叉树 d)带链栈 (2)下列数据结果中,能够按照“先进后出”原则存取数据的是 a) 循环队列 b) 栈 c)队列 d)二叉树 (3)对于循环队列,下列叙述中正确的是 a)队头指针是固定不变的 b)队头指针一定大于队尾指针 c)队头指针一定小于队尾指针 d)队头指针可以大于队尾指针,也可以小于队尾指针 (4)算法的空间复杂度是指 a)算法在执行过程中所需要的计算机存储空间 b)算法所处理的数据量 c)算法程序中的语句或指令条数 d)算法在执行过程中所需要的临时工作单元数 (5)软件设计中划分模块的一个准则是 a) 低内聚低耦合 b) 高内聚低耦合 c) 低内聚高耦合 d) 高内聚高耦合 (6)下列选项中不属于结构化程序设计原则的是 a) 可封装 d) 自顶向下

c) 模块化 d) 逐步求精 (7)软件详细设计产生的图如下: 该图是 a) n-s图 b) pad图 c) 程序流程图 d) e-r图 (8)数据库管理系统是 a)操作系统的一部分 b) 在操作系统支持下的系统软件 c) 一种编译系统 d) 一种操作系统 (9)在e-r图中,用来表示实体联系的图形是 a) 椭圆图 b) 矩形 c) 菱形 d) 三角形 (10)有三个关系r,s和t如下: 其中关系t由关系r和s通过某种操作得到,该操作为 a) 选择 b) 投影 c) 交 d) 并 (11)以下叙述中正确的是 a)程序设计的任务就是编写程序代码并上机调试 b)程序设计的任务就是确定所用数据结构 c)程序设计的任务就是确定所用算法 d)以上三种说法都不完整 (12)以下选项中,能用作用户标识符的是 a)void b)8_8 c)_0_ d)unsigned (13)阅读以下程序

C语言考试题库及答案复习整理

C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C 语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是 ________D____. A) true B) 非零值 C) 0 D) 1 5、C 语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC 码 D) ASCII 码 7、C 语言程序的基本单位是_____C______. A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句

a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是______A_____. #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a

大学C语言考试试题及答案

精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学C语言考试试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串

选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

全国计算机二级C语言操作题题库

1.程序Cmody021.c输出如下所示图形: * *** ***** ******* ********* #include void main() { int i,j;for(i=1;i<=5;i++) { for(j=1;j<=5-i;j++)printf(" "); for(j=1;j<=2*i-1;j++) printf("*"); printf("\n"); } } 2.程序Cmody032.c的功能是:输出201-300之间的所有素数,统计总个数。#include #include void main() { int num; printf("\n"); num=fun(); printf("\nThe total of prime is %d",num); getch(); } int fun() { int m,i,k,n=0; for(m=201;m<=300;m++) { k=sqrt(m+1); for(i=2;i<=k;i++) /**/if(m/i==0)/**/ break; /**/if(i==k)/**/ { printf("%-4d",m); n++;

if(n%10==0)printf("\n"); } } return n; } 3. 程序Cmody041.c,其功能是统计输入字符串中小写英文字母的个数。如输入:abcdEFGHIJK123 输出:4 #include #include main() { char str1[128]; /**/int i,len,sum=0;/**/ gets(str1); len=strlen(str1); for(i=0;i='a'&&str1[i]<='z')/**/ sum++; } printf("%d\n",sum); getch(); } 4.程序Cmody051.c,其功能是统计输入字符串中大写英文字母的个数。如输入:abcDEFGH123 输出:5 #include #include main() { /**/char str1[128]/**/ int i,len,sum=0; printf("Please input a string:\n"); scanf("%s",str1); len=strlen(str1); for(i=0;i='A'&&str1[i]<='Z') /**/sum++;/**/

计算机二级C语言测试题及答案解析(一)

2016年计算机二级C语言测试题及答案解析(一)1.(A )是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C 开始执行。 A、程序中第一条可执行语句 B、程序中第一个函数 C、程序中的main函数 D、包含文件中的第一个函数 3、以下说法中正确的是(C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A、C程序的工作过程是编辑、编译、连接、运行 B、C语言不区分大小写。 C、C程序的三种基本结构是顺序、选择、循环 D、C程序从main函数开始执行 5.下列正确的标识符是(C )。

B、a[i] C、a2_i D、int t 5~8题为相同类型题 考点:标识符的命名规则 只能由字母、数字、下划线构成 数字不能作为标识符的开头 关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B )。 A、3ax B、x C、case D、-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C )。 A、%x B、a+b C、a123

选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$”,选项D中“>”,”#”,”.”,”-”不满足(1);选项C 中的while为关键字,不满足(3) 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C 。 A、2.5 B、2 C、1 D、3 %为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1;5%

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言函数题库及答案

C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C)

计算机二级c语言题库及答案

2016年计算机二级c语言题库及答案 一、选择题(每小题1分,共40小题,共40分) 1.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。 或35 2.下列关于栈的叙述中,正确的是( )。 A.栈底元素一定是最后入栈的元素 B.栈操作遵循先进后出的原则 C.栈顶元素一定是最先入栈的元素 D.以上三种说法都不对 3.下列链表中,其逻辑结构属于非线性结构的是( )0、 A.双向链表 B.带链的栈 C.二叉链表 D.循环链表 4.在关系数据库中,用来表示实体间联系的是( )。 A.网状结构 B.树状结构 C.属性 D.二维表 5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。 :m联系 :n联系 :1联系 :l联系

6.右两个关系R和S如下: 则由关系R得到关系S的操作是( )。 A.自然连接 B.并 C.选择 D.投影 7.数据字典(DD)所定义的对象都包含于( )。 A.软件结构图 B.方框图 C.数据流图(DFD图) D.程序流程图 8.软件需求规格说明书的作用不包括( )。 A.软件设计的依据 B.软件可行性研究的依据 C.软件验收的依据 D.用户与开发人员对软件要做什么的共同理解 9.下面属于黑盒测试方法的是( )。 A.边界值分析 B.路径覆盖 C.语句覆盖 D.逻辑覆盖 10.下面不属于软件设计阶段任务的是( )。 A.制订软件确认测试计划 B.数据库设计 C.软件总体设计 D.算法设计 11.以下叙述中正确的是( )。 A.在C语言程序中,main函数必须放在其他函数的最前面 B.每个后缀为C的C语言源程序都可以单独进行编译 C.在C语言程序中,只有main函数才可单独进行编译

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

2019二级C语言题库参考答案解析

2019年C语言考题答案 1、程序填空题 给定的程序的功能是调用fun 函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat 的二进制中。 填空:( 1) STYPE(2)FILE(3)fp 改错:(1) for(i=0;i<=sl;i++)(2)t[2*sl]= 0“ 或t[sl+sl]= 0“ 编程: *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b% 10); 2、程序填空题给定程序的功能是:从键盘输入若干文本 (每行不超过80 个字符),写到文件myfile4.txt 中,用-1 作为字符串输出输入的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText 和Writetext 实现。 填空:(1)*fw(2)str (3) str 改错:(1)voidfun(longs,long*t)(2) s1=s1*10; 编程:int i,j=0,min=a[0].s; for(i=0;i

else if(min==a[i].s) b[j++]=a[i]; } return j; 3、程序填空题 给定程序中,函数fun 的功能是:讲自 然数1~10 以及它们的平方根写到名为myfile3.txt 的文本中,然后再按顺序读出显示在屏幕上。 填空:( 1) fp( 2)fclose(fp)(3)myfile3.txt 改错:( 1)for(i=j+1;i

历年全国计算机二级C语言试题库完整

. . . . 参考 50道C 语言知识题 1.以下叙述中正确的是 A)用C 程序实现的算法必须要有输入和输出操作 B)用C 程序实现的算法可以没有输出但必须要有输入 C)用C 程序实现的算法可以没有输入但必须要有输出 D)用C 程序实现的算法可以既没有输入也没有输出 2.下列可用于C 语言用户标识符的一组是 A)void,define,WORDB)a3_3,_123,Car C)For,-abc,IFCaseD)2a,DO,sizeof 3.以下选项中可作为C 语言合法常量的是 A)-80B)-080C)-8e1.0D)-80.0e 4.若有语句:char*line[5];,以下叙述中正确的是 A)定义line 是一个数组,每个数组元素是一个基类型为char 为指针变量 B)定义line 是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line 是一个指针数组,语句中的*号称为间址运算符 D)定义line 是一个指向字符型函数的指针 5.以下定义语句中正确的是 A)inta=b=0;B)charA=65+1,b=′b′; 6.有以下程序段 charch;intk; ch=′a′; k=12; printf("%c,%d,",ch,ch,k);printf("k=%d\n",k); 已知字符a 的ASCII 码值为97,则执行上述程序段后输出结果是 A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12 7.有以下程序 main() {inti,s=1; for(i=1;i<50;i++) if(!(i%5)&&!(i%3))s+=i; printf("%d\n",s);} 程序的输出结果是 A)409B)277C)1D)91 8.当变量c 的值不为2、4、6时,值也为"真"的表达式是 A)(c==2)||(c==4)||(c==6) B)(c>=2&&c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1) 9.若变量已正确定义,有以下程序段

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

大一c语言考试试题

一、单项选择题(每小题2分,共50分) 1、一个C程序的执行是从___A__。 A、本程序的main函数开始,到main函数结束 B、本程序的main函数开始,到本程序文件的最后一个函数结束 C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 2、C语言程序的基本单位是___C___。 A、程序行 B、语句 C、函数 D、字符 3、请选出可用作C语言用户标识符的一组标识符___B___。 A、void B、a3_b3 C、For D、2a define_123-abcDO WORDIFasesizeof 4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是__C__。 A、、4 C、、 5、下列可以正确表示字符型常量的是___D__。 A、297 B、"a" C、"\n" D、'\t' 6、在C语言中,要求运算数必须是整型的运算符是__D__。 A、/ B、++ C、*= D、% 7、C语言中,复合语句的构成是将一系列语句置于__C__。 A、begin与end之间 B、方框号“[]”之间 C、花括号“{}”之间 D、圆括号“()”之间 8、有如下程序段,对应正确的数据输入是___A___。 floatx,y; scanf(”%f%f”,&x,&y); printf(”a=%f,b=%f”,x,y); A、<回车> B、,<回车> <回车> C、A=,B=<回车> D、回车> 9、以下程序段的输出结果是___D__。 inta=5678; printf(”%2d\n”,a); A、提示出错、无结果 B、56 C、78 D、5678 10、已知:charch='A';则下列表达式的值是__B__。 ch=(ch>='A'&&ch<='Z')?(ch+32):ch; A、A B、a C、Z D、z

C语言试题及答案

大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

计算机二级C语言考试编程题题库

计算机c语言编程题库 1、求100之内自然数中最大的能被17整除的数。 void main() { int i; for(i=100;i>0;i--) if(i%17==0)break; printf("%d\n",i); } 2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。 void main() { int a,b,c; for(a=1;a<=9;a++) { for(b=0;b<=9;b++) { for(c=1;c<=9;c++) if(a*100+b*10+c+c*100+b*10+a==1333) printf("%d,%d,%d\n",a,b,c); } } } 3、计算并输出200-400之间不能被3整除的整数的和。 void main() { int i,sum=0; for(i=200;i<=400;i++) if(i%3!=0) sum=sum+i; printf("%d\n",sum); } 4、从键盘输入10个数,统计非负数的个数,并计算非负数的和。 void main() { int i,n=0,sum=0; int a[10]; printf(“请输入10个数:”);

for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(i=0;i<10;i++) if(a[i]>=0) { sum=sum+a[i]; n++;} printf("非负个数是%d,sum=%d\n",n,sum); } 5、求100之内自然数中偶数之和。 void main() { int i,sum=0; for(i=0;i<=100;i++) if(i%2==0) sum=sum+i; printf("sum=%d\n",sum); } 6、输入5个数,求和并输出。要求编写求和的函数。 void main() { int b(int x[],int n); int sum=0; int a[5]; int i; printf("请输入5个数:"); for(i=0;i<5;i++) scanf("%d",&a[i]); sum=b(a,5); printf("sum=%d\n",sum); } int b(int x[],int n) { int i,sum=0; for(i=0;i<5;i++) sum=sum+x[i]; return sum; } 7、编程计算1*2*3+3*4*5+5*6*7+...+99*100*101的值。 void main() { int i,sum=0; for(i=1;i<=99;i=i+2) sum=sum+i*(i+1)*(i+2); printf("%d\n",sum); } 8、编写程序,将用户输入的字符串中所有的字符a用*代替,然后输出。void main()

相关主题
文本预览
相关文档 最新文档