C语言历年题目(一)

C语言历年题目(一)
C语言历年题目(一)

C语言历年题目(一)

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

说明:答案必须填在答题卡的单项选择题部分,否则不得分。

1.关于C程序的构成描述, D 是不正确的。

A) 一个源程序至少且仅包含一个main函数,也可包含一个main函数和若干个其他函数。

B) 函数由函数首部和函数体两部分组成,二者缺一不可。

C) 函数首部通常是函数的第1行,包括:函数属性、函数类型、函数名、函数参数等,

不管有无函数参数,函数名后的圆括号不能省。

D) 函数体通常在函数首部下面,用一对花括号将声明部分和执行部分括起来,不能为空。

2.C程序中,不管是数据声明还是语句,都必须有一个结束符,它是C语句的必要组成

部分,该符号是 C 。

A) 逗号“,”B) 句号“。”C) 分号“;”D)单撇号“’”

3.下列关于C程序的运行流程描述, C 是正确的。

A) 编辑目标程序、编译目标程序、连接源程序、运行可执行程序。

B) 编译源程序、编辑源程序、连接目标程序、运行可执行程序。

C) 编辑源程序、编译源程序、连接目标程序、运行可执行程序。

D) 编辑目标程序、编译源程序、连接目标程序、运行可执行程序。

4.下列关于算法特性的描述, D 是不正确的。

A) 有穷性:指一个算法应该包含有限的操作步骤,而不能是无限的。

B) 确定性:指算法的每一个步骤都应当是确定的,不应该是含糊的、模棱两可的。

C) 有效性:指算法中的每一个步骤都应当能有效地执行,并得到确定的结果。

D) 输入/输出性:指算法中可以有输入/输出操作,也可以没有输入/输出操作。

5.描述或表示算法有多种方法, D 不是常用的表示方法。

A) 自然语句B) 流程图或N-S图C) 伪代码D) 效果图

6.下面四个哪一个是C语言正确的标识符 B 。

A) 2xy B) data_file C) break D)a@https://www.360docs.net/doc/c8677013.html,

7.下面数据中属于字符型常量的是 B 。

A) “AND” B)‘N’ C)“ABC” D)‘OR’

8.执行下列程序段后,a的值是 D 。

int a,b,c,m=10,n=9;

a=(--m==n++)?--m:++n;

A) 11 B) 10 C) 9 D) 8

9.下面不正确的赋值语句是 A 。

A) a==b B) a++; C) a=1,b=1; D) a+=b;

10.正确表示整型变量a在[1,10]区间的表达式是 D 。

A)1<=a<=10 B)1

C)a>=1,a<=10 D)1<=a&&a<=10

11.执行下列程序段,x的值为5的程序段是 D 。

A) m=5; B) m=5; C) m=5; D) m=5;

m++; ++m; x=++m; x=m++;

x=m; x=m;

12.若定义int a=3,b=4,c=5;,则表达式a||b+c&&b==c的值是 B 。

A) 0 B) 1 C) 2 D) 3

13.与y=(x>0?1:0);等价的是 C 。

A)if(x>0) y=1; B)if(x)y=1;else y=0;

C)y=1;if(x<=0)y=0; D)if(x<=0)y=1;

14.在for(表达式1;表达式2;表达式3)循环中, B 常用于表示循环条件判断。

A)表达式1 B) 表达式2 C) 表达式3 D)都不是

15.下列程序段表示的数学关系是 A 。

y=-1;

if(x!=0)

if(x>0)y=1;

else y=0;

A) -1 x=0 B) 1 x=0 C) 0 x>0 D) -1 x<2

y= 1 x>0 y= -1 x>0 y= 1 x<0 y= 0 x=2

0 x<0 0 x<0 -1 x=0 1 x>2

16.int a[6]={1,2,3},则a[0]到a[5]各元素的值是 A 。

A) 1,2,3,0,0,0 B) 1,2,3,3,3,3

C) 1,2,3,1,2,3 D) 1,2,3,a[3]到a[5]不确定

17.下列程序段执行后,z的结果是 B 。

#define p(x) x*x

int x=5,y=3,z;

z=p(x+y);

A) 64 B) 23 C) 46 D) 32

18.有以下定义,且满足0

int a[ ]={1,2,3,4,5},*p,i;

p=a;

A) &(a+i) B) a++ C) &p D) &p[i]

19.下列程序段执行后,i的值是 A 。

int i=100,*p;

p=&i;

i=*p+10;

A) 110 B) 100 C) 120 D) 90

20.在数组名作函数实参时,传递给函数形参的是 A 。

A) 数组首地址 B) 数组全部元素 C) 数组第1个元素 D)数组最后一个元素

21.下列的函数原型声明, D 是正确的。

A) void f(int x;int y); B) void f(x,y);

C) void f(intx,y); D) void f(int,int);

22.若int i=10;执行下列程序后,变量i的正确结果是_D_____。

switch(i)

{ case 9:i+=1;

case 10:i+=1;

case 11:i+=1;

default:i+=1;

}

A) 10 B) 11 C) 12 D) 13

23.以下判断两个字符串相等的正确方法是____D_____。

A) if(str1=str2) B) if(str1==str2)

C) if(strcpy(str1,str2)=0) D) if(strcmp(str1,str2)==0)

24.C语言对嵌套if语句的规定是:else总是_D_____配对。

A) 与之前最近的if B) 与第一个if

C) 与缩进位置相同的if D) 与其之前最近的且尚为配对的if

25.在下面的条件语句中(其中s1和s2表示C语言的语句),只有一个在功能上与其它三

个语句不等价,它是___D___。

A) if(a)s1;else s2; B) if(a==0)s2;else s1;

C) if(a!=0)s1;else s2; D) if(a==0)s1;else s2;

26.以下错误的描述是__B____。

A) break语句不能用于循环语句和switch语句外的任何其它语句。

B) 在switch语句中使用break语句或continue语句的作用相同。

C) 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环。

D) 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环。

27.以下四个关于C语言的结论中,只有一个是错误的,它是___D___。

A) 可以用while语句实现的循环一定可以用for语句实现

B) 可以用for语句实现的循环一定可以用while语句实现

C) 可以用do-while语句实现的循环一定可以用while语句实现

D) do-while语句与while语句的区别仅是关键字“while”出现的位置不同

28.以下不是死循环的语句是___D___。

A) for(;;x+=i); B) while(1)x++;

C) for(i=10;;i--)sum+=i; D) for(;(c=getchar())!='\n';)printf("%c",c);

29.定义int i=1;,执行语句while(i++<5);后,i的值为___D___。

A) 3 B) 4 C) 5 D) 6

30.下面程序段中,for语句的循环次数是__B____。

sum=0;

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

A) 100 B) 50 C) 49 D) 99

31.在C语言中,引用数组元素时,其数组下标的数据类型允许是____C_____。

A) 整型常量B) 整型表达式

C) 整形常量或整形表达式D) 任何类型的表达式

32.若有定义:int a[10],则对数组a元素的正确引用是___D_____。

A) a[10 B) a[3.5] C)a(5) D) a[10-10]

33.以下能对二维数组a进行正确初始化的语句是____A____。

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

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

34.若二维数组a有m列,则在a[i][j]之前的元素个数为___B___。

A) j*m+i B) i*m+j C) i*m+j-1 D) i*m+j+1

35.以下说法中正确的是__C__。

A) C语言程序总是从第一个函数开始执行

B) 在C语言程序中,要调用的函数必须在main()函数中定义

C) C语言程序总是从main()函数开始执行

D) C语言程序中的main()函数必须放在程序的开始部分

36.下列叙述中正确的是__A___。

A) 函数定义不能嵌套,函数调用能嵌套B) 函数定义和函数调用都不能嵌套

C) 函数定义能嵌套,函数调用不能嵌套D) 函数定义与函数调用都能嵌套

37.以下说法中正确的是__C___。

A、#define和printf都是C语句

B、#define是C语句,而printf不是

C、printf是C语句,#define不是

D、#define和printf都不是C语句

38.以下关于函数叙述中,正确的是__D___。

A) 在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值

B) 在函数体中至少必须有一个return 语句

C) 在函数体中可以定义另一个函数

D) 在函数体中可以调用函数自身

39.在C语言中,若对函数类型未加显式说明,则函数的隐含类型是__C____。

A) void B) double C) int D) char

40.下面不正确的描述为___D___。

A) 调用函数时,实参可以是表达式

B) 调用函数时,实参与形参可以共用内存单元

C) 调用函数时,将为形参分配内存单元

D) 调用函数时,实参与形参的类型必须完全相同

二、填空题(共10分每空1分)

说明:答案必须填在答题卡的填空题部分,否则不得分。

1. 函数由主要由___函数声明_______、____函数体_____组成。

2. 结构化程序设计中的三种基本结构是顺序结构、_选择结构____、_循环结构

3. C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为________字母______。

4. 字符串是以___?\0?_______为结束标志的一维字符数组。

5. 定义int a[]={1,2,3,4,5,6},*p=a;表达式(*++p)++的值是__3_________。

6. 若x=5,y=10,则x>y和x<=y的逻辑值分别为0和_____1__。

7.C语言中,数组是一种重要的数据结构,它的下标总是从___0____开始。

8.若有定义FILE *fp;,要求以二进制读写方式(rb+)打开文件list,正确打开文件list的语句是fp=fopen(“list”, “rb+”); 。

三、程序运行题(共20分每题4分)

说明:答案必须填在答题卡的程序运行题部分,否则不得分。

1.下面程序的运行的结果是。

#include

void main()

{

int i,j,m,n;

i=8;j=10;

m=++i;n=j++;

printf(“%d,%d,%d,%d”,i,j,m,n);

}

2.下面程序段执行后,sum的值为。

#include

void main()

{

int sum=0,i;

for(i=1;i<=10;i++)

{

if(i%5==0)break;

else sum+=i;

}

}

3.下面程序运行的结果是:

#include

void main()

{ int s=0,k;

for(k=7;k>=4;k--)

{ switch(k)

{ case 1:

case 2:

case 3:s++;break;

case 4:

case 5:

case 6:s+=2;break;

case 7:

case 0:s+=3;break;

}

}

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

}

4.程序清单如下:

#include

void main()

{ int sum=0,number,i=1,finished=0;

while(i<=8&&!finished)

{ scanf(“%d”,&number);

if(number>0) sum+=number;

else if(number==0) finished=1;

i++;

}

printf(“sum=%d,number=%d”,sum,number);

}

若运行该程序,并输入数据为:5 6 –3 7 –4 0,则结果为。

5.下面程序运行的结果是:。

#include

int max(int,int);

int a=3,b=5,c=100;

void main()

{ int s=0;

s+=max(max(a,b),c);

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

}

int max(int x,int y)

{ int a=15,b=20,max;

max=(a>b)?a:b;

return(max);

}

1. 9,11,9,10

2. 10

3. s=9

4. sum=18,number=0

5. s=20

四、完善程序题(共20分每空2分)

说明:每空必须且只能填写一个语句或一个表达式,答案必须填在答题卡的完善程序题部分,否则不得分。

1.打印输出100~200间的所有素数,要求每行输出10个素数。其中判定m是否为素数的方法:用2到m-1范围内的各整数去除m,若都除不尽,则m是素数。

程序清单如下:

#include

#include

void main()

{ int m,i,n=0;

for(m=100;m<=200;m++)

{

for(i=2;i<=m-1;i++)

if( (1) ) break;

if(i>=m){printf(“%d”,m);(2) ;}

if(n%10==0) (3) ;

}

p rintf(“\n”);

}

2.下列程序的功能是:从键盘输入一行字符,统计其中单词个数,单词之间用空格分隔开。

程序清单如下:

#include

void main()

{ char string[81];

int i,num=0,word=0;

char c;

gets( (1) );

for(i=0;(c=string[i]) (2) …\0?;i++)

if(c==… ?)word=0;

else if( (3) )

{ word=1;

(4) ;

}

p rintf(“There are %d words in the line.\n”, num);

}

3.下列程序用于输出下面的图形。要求:图形第一行的第一个字符输出在第40列且字符0之间以一个空格隔开。

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

程序清单如下:

#include

void main()

{

int i,j;

char a[5]={…0?, …0?, …0?, …0?, …0?},space=… ?;

for(i=1;i<= (1) ;i++)

{

for(j=1;j<= (2);j++) printf(“%c”,space);

for(j=0;j<5;j++) printf(“%c%c”,a[j],space);

(3) ;

}

}

1. (1)m%i==0 (2)n++ (3)printf(“”\n)

2. (1)string (2)!= (3)word==0 (4)num++

3. (1)5 (2)38+i (3)printf(“\n”)

五、编程题(共10分第1题4分,第2题6分)

说明:答案必须填在答题卡的编程题部分,否则不得分。

1.编程序,从键盘输入三个整数,求出其中的最大数和最小数(4分)。

2.用π/4≈1-1/3+1/5-1/7+…公式求π的近似值,直到最后一项的绝对值小于10-6为止(6分)。

第1题:程序清单

#include

void main()

{

int a,b,c,max,min;

printf(“Please input three numbers:\n ”);

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

max=a;min=a;

if(b>max)max=b;

if(b

if(c>max)max=c;

if(c

printf(“Max=%d,Min=%d\n”,max,min);

}

第2题:程序清单

#include

main()

{

int s;

float n,t,Pi;

t=1;Pi=0;n=1.0;S=1;

while((fabs(t))>1e-6)

{Pi=Pi+t;

n=n+2;

s=-S;

t=S/n;

}

Pi=Pi*4;

printf("Pi=%10.6f\n",Pi);

}

}

C语言历年考题真题解析

C语言历年考题真题解析 This model paper was revised by the Standardization Office on December 10, 2020

语言规定,在一个源程序中main函数的位置 ______ 。(2010年春选择题第21题) A.必须在最开始 B.必须在最后 C.必须在预处理命令的后面 D.可以在其他函数之前或之后 【解析】main函数也叫主函数,是C语言编译系统提供的特殊函数,可以放在程序中的任何位置,但不能定义在其他函数体内。C程序总是从main函数的第一条语句开始执行。 【答案】D 2.以下叙述中正确的是________ 。(2009年秋选择题第21题) 语言系统以函数为单位编译源程序 函数必须放在程序开始 C.用户定义的函数可以被一个或多个函数调用任意多次 D.在一个函数体内可以定义另外一个函数 【解析】C语言系统以程序为单位编译源程序,程序由函数组成。main函数可以放在其他函数之前或之后。除了main函数外,函数可以被其他函数多次调用。函数不能定义在其他函数体内,即不能嵌套定义。 【答案】C 3.以下叙述中正确的是_________ 。(2008年秋选择题第21题) A.在编译时可以发现注释中的拼写错误 语言程序的每一行只能写一条语句 (){}必须位于程序的开始 语言程序可以由一个或多个函数组成 【解析】C程序的注释不产生编译代码,编译时跳过去,发现不了其中错误。C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。main函数可以放在程序中的任何位置。C程序可以由一个或多个函数组成,函数可以为空函数,包括main函数。 【答案】D 4.以下关于C语言源程序的叙述中错误的是________。(2007年春选择题第21题) A.一个C源程序由若干个函数定义组成,其中必须有且仅有一个名为main的函数定义 B.函数定义由函数头部和函数体两部分组成 C.在一个函数定义的函数体中允许定义另一个函数 D.在一个函数定义的函数体中允许调用另一个函数或调用函数自身 【解析】一个C语言源程序由若干个函数定义组成,其中必须有且仅有一个名为main的函数定义,函数定义由函数头部和函数体两部分组成。函数可以嵌套调用也可以递归调用,但不能嵌套定义。C的意思是嵌套定义,错误,D的意思是嵌套调用和递归调用,正确。 【答案】C 基本数据类型 1.以下选项中,___________ 是C语言关键字。 (2010年春选择题第22题) 【解析】default是关键字,用在switch语句中。printf和include属于预定义标识符,其中printf是输出函数名,include用在预编译处理命令中。fun是用户自定义标识符。

大学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语言考试试题及答案

精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学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语言历年试题及答案

专升本C语言历年考试题及答案 一、单项选择题 1. ___D___是合法的用户自定义标识符。 A、 b-b B、float C、 D、 _isw 2. 若变量已正确定义并赋值,表达式___B___不符合C语言语法。 A、a*b/c; B、3.14%2 C、2, b D、a/b/c 3. ___C__是不正确的字符常量。 A、'n' B、'1' C、"a" D、'101' 4. 在 C 程序中,用___B__表示逻辑值“真”。 A、1 B、非 0 的数 C、非 1 的数 D、大于 0 的数 5. __C____把x、y定义成float类型变量,并赋同一初值3.14。 A、float x, y=3.14; B、float x, y=2*3.14; C、float x=3.14, y=x=3.14; D、float x=y=3.14; 6. 若变量已正确定义,表达式___C___的值不是2。 A、2&3 B、1<<1 C、a==2 D、1^3 7. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和__C____等价。 A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 8. 设变量定义为“int a, b;”,执行下列语句时,输入_D____,则a和b的值都是10。 scanf("a=%d, b=%d",&a, &b); A、10 10 B、10, 10 C、a=10 b=10 D、a=10, b=10 9. 下列程序的输出结果是__D___。

fun(int a, int b, int c) { c =a*b; } void main( ) { int c; fun(2,3,c); printf(”%dn”,c); } A、0 B、1 C、6 D、无法确定 10. 在C程序中,若对函数类型未加说明,则函数的隐含类型为__A___。 A、int B、double C、void D、char 11. 表达式 strlen(”hello”) 的值是___B____。 A、 4 B、 5 C、 6 D、 7 12. 设变量定义为“int a[4];”,则表达式__D____不符合C语言语法。 A、*a B、a[0] C、a D、a++ 13. 设变量定义为“int x, *p=&x;”,则&*p相当于__A___。 A、p B、*p C、x D、*&x 14. 若变量已正确定义,_A___不能使指针p成为空指针。 A、p=EOF B、p=0 C、p=’’ D、p=NULL 15. 对于以下的变量定义,表达式__D____不符合C语言语法。 struct node { int len; char *pk;

计算机二级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语言期末考试真题

第五套 一、判断题 1.(F)在一个c程序中,main函数必须出现在所有函数之前。 2.(F)#include”stdio.h”是每个程序中必须写的。 3.(F)c程序总是从程序的第一条语句开始执行的。 4.(F)以下各数均不是合法的八进制数:256,03A2,-0127。 5.(F)语句scanf(“%7.2f”,&a):是一个合法的scanf函数。 6.(T)整数-32100可以赋值给int型和long int型变量。 7.(F)表达式(j=3,j++)的值是4. 8.(F)在c程序中,赋值运算符的优先级最低。 9.(F)7&3+12的值是15. 10.(F)若a是实型变量,在执行了a=5后,a将变为整型变量。 11.(F)若有i=10,j=2:则执行完i*=j+8:后i的值是28. 12.(F)若a是实型变量,c程序中允许以下赋值a=10:因此实型变量中允许存放整型变量。 13.(T)在c语言中,逻辑“真”等价于不等于0的数。 14.(F)开关语句switch最多可以形成3个分支. 15.(T)Int a=1,b=2,c=3:if(a>c)b=a:a=c:c=b:则c的值是2. 16.(T)Int i=3,j=5:if(i>j):是正确的。 17.(F)若有i=10,j=0:则执行完语句if(j=0):i++:elsei --:i的值为11 18.(T)break语句只能用于循环语句switch-case语句中。 19.(T)若有说明int c:则while(c=getchar()):是正确的c语句。 20.(T)Int a[10]:for(i=1:i<10:i++)a[i-1]=i:能使数组元素分别取值{1,2,3,4,5,6,7,8,9,10}. 21.(F)二维数组在内存中储存以列为主序方式存放。 22.(T)c程序中#include和#define均不是c语句 23.(F)通过return语句,函数可以带回一个或一个以上的返回值 24.(T)在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量 25.(T)对结构体类型的变量的成员可以象普通变量一样参与各种运算 二、选择题 1.(A)是构成c语言程序的基本单位。 A函数 B变量 C子程序 D语句 2.(B)以下叙述中正确的是 A.c语言的源程序不必通过遍译就可以直接运行。 B.语言中的每条可执行语句最终都将被转换成二进制的机器指令 C.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 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。 第2章数据类型运算符和表达式习题 1. 单项选择题 (1) 以下选项中,正确的 C 语言整型常量是 D 。 A. 32L B. 510000 C. -1.00 D. 567 (2) 以下选项中, D 是不正确的 C 语言字符型常量。

c语言历年考题真题解析

(2010年春选择题第21题) A.必须在最开始 B.必须在最后 C.必须在预处理命令的后面 D.可以在其他函数之前或之后 【解析】main函数也叫主函数,是C语言编译系统提供的特殊函数,可以放在程序中的任何位置,但不能定义在其他函数体内。C程序总是从main函数的第一条语句开始执行。 【答案】D 2.以下叙述中正确的是________ 。(2009年秋选择题第21题) 语言系统以函数为单位编译源程序 函数必须放在程序开始 C.用户定义的函数可以被一个或多个函数调用任意多次 D.在一个函数体内可以定义另外一个函数 【解析】C语言系统以程序为单位编译源程序,程序由函数组成。main函数可以放在其他函数之前或之后。除了main函数外,函数可以被其他函数多次调用。函数不能定义在其他函数体内,即不能嵌套定义。 【答案】C 3.以下叙述中正确的是_________ 。(2008年秋选择题第21题) A.在编译时可以发现注释中的拼写错误 语言程序的每一行只能写一条语句 (){}必须位于程序的开始 语言程序可以由一个或多个函数组成

【解析】C程序的注释不产生编译代码,编译时跳过去,发现不了其中错误。C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。main函数可以放在程序中的任何位置。C程序可以由一个或多个函数组成,函数可以为空函数,包括main函数。 【答案】D 4.以下关于C语言源程序的叙述中错误的是________。(2007年春选择题第21题) A.一个C源程序由若干个函数定义组成,其中必须有且仅有一个名为main的函数定义 B.函数定义由函数头部和函数体两部分组成 C.在一个函数定义的函数体中允许定义另一个函数 D.在一个函数定义的函数体中允许调用另一个函数或调用函数自身 【解析】一个C语言源程序由若干个函数定义组成,其中必须有且仅有一个名为main 的函数定义,函数定义由函数头部和函数体两部分组成。函数可以嵌套调用也可以递归调用,但不能嵌套定义。C的意思是嵌套定义,错误,D的意思是嵌套调用和递归调用,正确。 【答案】C 基本数据类型 1.以下选项中,___________ 是C语言关键字。 (2010年春选择题第22题) 【解析】default是关键字,用在switch语句中。printf和include属于预定义标识符,其中printf是输出函数名,include用在预编译处理命令中。fun是用户自定义标识符。 【答案】D 2.在以下各组标识符中,均可以用作变量名的一组是_____。(2007年秋选择题第22

C语言试题库(完整版)

C语言试题库 一、单项选择 第一章 C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。(2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、 C程序的每行中只能写一条语句。 C、 C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3) C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。

D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、 C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32) A、4 B、16 C、32

D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、 if, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下:

c语言考试试题以及答案

1. 编程求和1-2+3-4+5-6+…+99-100 #include<> int main() { int i,t,s; s=0; t=1; for(i=1;i<=100;i++) { t=-t; s=s+(-t)*i; } printf("%d\n",s); system("pause"); return 0; } 2.求:1+(1+2)+(1+2+3)+…+(1+2+3+….10) 的和 #include<> int main() { int i,t,s; s=0; t=0; for(i=1;i<=10;i++) { t=t+i; s=s+t; } printf("%d\n",s); system("pause"); return 0; } 3. 求n的值,其中a是一个不为0的数字,例如2+22+222+2222+22222,其中数字a和n由键盘输入。 #include<> int main() { int a,n,i=1,sn=0,tn=0; printf("a,n:"); scanf("%d %d",&a,&n); while(i<=n) {tn=tn+a; sn=sn+tn; a=a*10; i++; } printf("%d\n",sn); system("pause"); return 0; } 4. 有一个函数如下: x (x<5) y= 2x+6 (5<=x<15) 2x-6 (x>=15) 输入x的值,计算出相应的y值。 #include<>

int main() { int x,y; printf("输入X:"); scanf("%d",&x); if(x<5) { y=x; printf("x=%3d,y=x=%d\n",x,y); } else if(x>=5&&x<15) {y=2*x+6; printf("x=%3d,y=2*x+6=%d\n",x,y); } else {y=2*x-6; printf("x=%3d,y=2*x-6=%d\n",x,y); } system("pause"); return 0; } 5. 某国的税收政策为:1000元以下免税,1000~2000元缴纳5%的税,2000~4000元上税10%,4000元以上按20%交税。试编写程序,输入一个人的收入,计算其需要上缴的税额。 #include<> int main() { float a; scanf("%f",&a); if(a<=1000) { printf("免税",a); } if(a>1000&&a<=2000) { printf("%f",a*); } if(a>2000&&a<=4000) { printf("%f",a*); } else printf("%f",a*); system("pause"); return 0; } 6. 编程分段统计学生成绩,输入为负数时结束。要求按90-100、80-89、70-79、60-69、60以下五档分别统计各分数段人数 #include<> int main() { float score; int a[6]={0,0,0,0,0,0}; char grade; int i; do{ scanf("%f",&score);

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

历年c语言试题库最新版

历年c语言试题库最新版. C#程序习题 一、填空: 1、操作符(&&)被用来说明两个条件同为真的情况。 2、接口只能定义方法,实现要由(类)完成。 3、任何事物都是(对象),它可以是现实世界中的一个物理对象,可以是抽象的 概念或规则。 4、( =)运算符将左右操作数相加的结果赋值给左操作数。 5、( Array )是所有数组的基类。 6、如果一个属性里既有set访问器又有get访问器,那么该属性为(读写) 属性。 7、如果一个属性里只有set访问器,那么该属性为(只写)属性。 8、常量通过关键字(const )进行声明。 9、在C#中,进行注释有两种方法:使用//和使用“/* */”符号对,其中(// )只能进行单行注释。 10、布尔型的变量可以赋值为关键字(true )或(false )。

11、System. Array有一个(Length )属性,通过它可以获取数组的长度。 12、如果一个类包含一个或多个抽象方法,它是一个(抽象)类。 13、SQL语句中删除一个表中记录,使用的关键字是(delete )。 14、设 x=10;则表达式 x 15、接口的实现指出接口成员所在的接口,称为显式接口成员,它只能通过(接口)来调用。 16、己知整型变量 a=5,b=4,c=6,则 a>b?(a>c?a:c) :b 的结果为(6 )。 17、在C#语言中,实现循环的主要语句有while, do-while,句了和]for each )语句。 18、封装的对象之间进行通信的一种机制叫做(消息传递)。 19、在C#语言中,可以用来遍历数组元素的循环语句是(foreach )。 20、(多态)是指同一个消息或操作作用于不同的对象,可以有不同的解释, 产生不同的执行结果。 21、Stack类表示对象的先(出)后(进)集合。 22、(封装)是用一个框架把数据和代码组合在一起,形成一个对象。 23、声明为(private )的一个类成员,只有定义这些成员的类的方法能够访问。 24、(构造函数)提供了对对象进行初始化的方法,而且它在声明时没有任何

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) 与机器字长有关

C语言期中考试试题及答案-1

C语言期中考试试题及答案-1

高级语言程序设计试题 答案在最后 一、单项选择题(本大题共20小题,每小题2分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。 1.C语言程序编译时,程序中的注释部分是() A.参加编译,并会出现在目标程序中 B.参加编译,但不会出现在目标程序中 C.不参加编译,但会出现在目标程序中 D.不参加编译,也不会出现在目标程序中 2.设int a=3;则表达式a<1&&--a>1的运算结果和a的值分别是() A.0和2 B.0和3 C.1和 2 D.1和3 3.与语句if(a>b)if(c>d)x=1;else x=2;等价的是() A.if(a>b){if(c>d)x=1;else x=2;} B.if(a>b){if(c>d)x=1;}else x=2; C.if((a>b)&&(c>d))x=1;else x=2; D.if(a<=b)x=2;else if(c>d) x=1; 4.设char x='a';则printf("x=%c,y=%c\n",x,97);的输出是()

A.x=a,y=97 B.x=97,y=a C.x=97,y=97 D.x=a,y=a 5.执行下列程序 int a[3][3]={{1},{2},{3}}; int b[3][3]={1,2,3}; main() {printf("%d\n”,a[1][0]+b[0][0]);} 后输出的结果是() A.0 B.1 C.2 D.3 6.结构化程序设计所规定的三种基本控制结构 是( ) A) 输入、处理、输出B) 树形、网形、环形 C) 顺序、选择、循环D) 主程序、子程序、函数 7.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( ) A.连接、编译 B.编译、连接 C.连接、运行 D.运行 8.下列各语句中,能够且仅输出整型变量a、b中最大值的是( )

C语言考试试题基础版

一、选择题 1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。 A. main B. MAIN C. name D. function 2. 在以下关于C 语言的注释的叙述中,不正确的是 。 A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示 B .编译器在编译一个程序时,将跳过注释,不对其进行处理 C .编译器在编译一个程序时,可发现注释中的单词拼写错误 D .程序中注释的多少不会影响所生成的可执行文件的长度 3. 以下叙述不正确的是 。 A .在C 程序中,严格区分大小写字母 B .一个 C 源程序有且仅有一个main 函数 C .在C 程序中,注释只能位于一条语句的后面 D .一个C 程序总是从main 函数开始执行 4. 下列合法的标识符为 A. abde+ B. #KDJF C. 67KDJ D. DK3_ 5. 关于字符串和字符的关系正确的是 A. “A ”与?A ?是相同的 B. 字符串是常量,字符是变量 C. “A ”与?A ?是不同的 D. “A ”与“A ”是相同的 6. 下面关于语句的说法正确的是 A. 下面这两段程序的执行效果是一致的 B. 空语句是只有一个分号的语句,它其实什么也不干 C. 语句的构成不一定需要分号 D. 语句的书写对程序的运行不起作用,因此可以随便写都可以 7. 以下各标识符中,合法的用户标识符组为 。 A. PAd ,P#d ,b-b ,abc ,_0123,ssiped B. cin ,a10,CPP ,float ,del_word ,signed C. void ,max ,hiy ,,list ,*jer if (x>y) {z=x; s=z*z;} else {z=y;s=1/(z*z);} if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);

c语言考试试题

六 ━━━━━━━━━━━━━━━ 一、判断共10题(共计20分) ━━━━━━━━━━━━━━━ 第1题(2.0分)题号:1259 若定义int m[]={1,2,3,4,5};则m[1]的值为2. 答案:Y 第2题(2.0分)题号:1275 如果定义一个函数时省略类型,则函数没有返回值. 答案:N 第3题(2.0分)题号:12 结构体类型只有一种。 答案:N 第4题(2.0分)题号:1241 在C语言的标识符中,大写字母和小写字母完全等价. 答案: 第5题(2.0分)题号:1271 定义一种结构体类型后,则用该类型定义的所有变量占用内存的大小是相同的. 答案:Y 第6题(2.0分)题号:1269 若定义int a[4]={1,2,3,4};若超界引用a[4]则编译时不报错. 答案:Y 第7题(2.0分)题号:1096 C语言中"%"运算符的运算对象必须是整型. 答案:Y 第8题(2.0分)题号:1109 两个字符串中的字符个数相同时才能进行字符 串大小的比较 答案:N 第9题(2.0分)题号:1135 语句printf("%c",65);存在语法错误. 答案:N 第10题(2.0分)题号:32 若有说明int c;则while(c=getchar());是正 确的C语句。 答案:Y ━━━━━━━━━━━━━━━━━ 二、单项选择共15题(共计30分) ━━━━━━━━━━━━━━━━━ 第1题(2.0分)题号:3114 C语言源程序名的后缀是 A:exe B:c C:obj D:cp 答案:B 第2题(2.0分)题号:184 以下不能正确定义二维数组的选项是 ( ). A:int a[2][2]={{1},{2}}; B:int a[][2]={1,2,3,4}; C:int a[2][2]={{1},2,3}; D:int a[2][]={{1,2},{3,4}}; 答案:D 第3题(2.0分)题号:129 以下各标识符中,合法的用户标识符为 ( ). A:A#C B:mystery C:main D:ab* 答案:B 第4题(2.0分)题号:632 以下叙述正确的是()。 A:do-while语句构成的循环不能用其它语句构 成的循环来代替. B:do-while语句构成的循环只能用break语句 退出. C:用do-while语句构成的循环,在while后的表 达式为非零时结束循环. D:用do-while语句构成的循环,在while后的表 达式为零时结束循环 答案:D 第5题(2.0分)题号:149 以下程序的输出结果是()。 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 C:x=3.600000,i=3 D:x=3 i=3.600000 答案:C 第6题(2.0分)题号:172 在C语言程序中()。 A:函数的定义可以嵌套,但函数的调用不可以 嵌套 B:函数的定义不可以嵌套,但函数的调用可以 嵌套 C:函数的定义和函数调用均可以嵌套 D:函数的定义和函数调用不可以嵌套 答案:B 第7题(2.0分)题号:678 当调用函数时,实参是一个数组名,则向函数 传送的是()。 A:数组的长度 B:数组的首地址 C:数组每一个元素的地址 D:数组每个元素中的值 答案:B 第8题(2.0分)题号:125 下列程序的输出结果是()。 main() {int a=7,b=5; printf("%d\n",b=b/a); } A:0 B:5 C:1

2019计算机二级C语言考试真题汇总 -

1 [填空题] 下列给定程序中,函数fun的功能是:在形参S所指字符串中寻找与参数C相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。 例如,若s所指字符串为“baacda”,c中的字符为a,执行后S所指字符串为“baaaacdaa”。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序:

参考解析: 【参考答案】 【解题思路】 填空1:for语句循环条件是判断是否到达字符串结尾,即当前字符是否为‘\0’。 填空2:while语句用以确定字符串的长度,所以变量n赋初值为0。 填空3:题目要求如果找到与参数c相同的字符,就在后面插入一个相同的字符,且找到后应该给数组元素赋值,本题目给出参数为c。 二、程序修改题 2 [简答题] 下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把ASCII 值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。 例如,若主函数中a字符串为“aBCDeFgH”,b字符串为"Abcd",则c中的字符串应为“aBcdeFgH”。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODl1.C中,不得增行或删行,也不得更改程序的结构!

参考解析: 【参考答案】 (1)int k=0; (2)while(*p||*q) 【考点分析】 本题考查:变量初始化,需根据题意确定变量含义,然后对其进行初始化操作;while循环语句。 【解题思路】 (1)变量k存放数组e的下标,因此应初始化为0。 (2)while循环语句的循环条件是判断两个字符串是否到达结尾。 三. 程序设计题 3 [简答题] 规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。 例如,字符串中的内容为:“****A*BC*DEF*G*******”.删除后,字符串中的内容应当是:“****A*BC*DEF*G”。在编写函数时,不得使用C语言提供的字符串函数。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

相关文档
最新文档