c语言真题20套

导读:5C语言中三种基本结构:顺序选择循环,其结构内的每个部分都会被执行到.【答案】错,7在C语言中,函数名代表函数的入口地址.【参考答案】正确8宏名有类型,其参数也有,2在C语言中,pointer3=&n3;/***********FILL***********/if(_____)swap(pointer1,pointer2);/***********FILL***********/if(____

c语言真题20套

pointer3=&n3;

/***********FILL***********/ if(_____) swap(pointer1,pointer2); /***********FILL***********/ if(_____) swap(pointer1,pointer3); /***********FILL***********/ if(_____) swap(pointer2,pointer3);

printf(\}

/***********FILL***********/ void swap(_____) int *p1,*p2;

{ int p; p=*p1;*p1=*p2;*p2=p;}

【参考答案】n1>n2 n2*pointer2 *pointer2<*pointer1 【参考答案】n1>n3 n3*pointer3 *pointer3<*pointer1 【参考答案】n2>n3 n3*pointer3 *pointer3<*pointer2 【参考答案】p1,p2

第三套

若x,i,j,k 都是int型变量,则计算x=(i=4,j=16,k=32)后,x的值为:( D). A、52 B、16 C、4 D、32

执行以下程序段后,输出结果和a的值是(B)。

int a=10; printf(\、11 和 10 B、10 和 11 C、11 和 11 D、10 和 10 以下程序的输出结果是:(A )

main() {int m=5; if(m++>5) printf(\ else printf(\A、6 B、5 C、7 D、4 执行下面程序段后,i的值是( A). int i=10; switch(i)

{case 9: i+=1; case 10: i--;case 11: i*=3;case 12: ++i;} A、28 B、10 C、9 D、27

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

A、for 循环是先执行循环体语句,后判断表达式B、在 for 循环中,不能用 break 语句跳出循环体C、for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 D、for 循环只能用于循环次数已经确定的情况

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

A、for(i=0;i<10;i++)a[i]=getchar(); B、scanf(\、gets(a);D、a=getchar(); 下面叙述中错误的是(B )。

A、在其它函数中定义的变量在主函数中也不能使用B、主函数中定义的变量在整个程序中都是有效的C、复合语句中定义的变量只在该复合语句中有效D、形式参数也是局部变量 file1.c中有命令,#include ,若file2.c中有全局静态变量a,则(B ).

A、a在file1.c中应用extern说明.B、a在file1.c中有效,不必用extern说明. C、a在file1.c中不生效D、a在file1.c和file2.c中均不生效.

若有定义:int aa[ 8];则以下表达式中不能代表数组元素aa[1]的地址的是(C)。 A、&aa[1] B、&aa[0]+1 C、&aa[0]++ D、aa+1

1.在C程序中,main函数必须位于程序的最前面【参考答案】错误

2若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变 【参考答案】正确

3逻辑表达式4>2&&1||5<3-!0的值为1. 正确

4 break语句不能终止正在进行的多层循环.【参考答案】正确

5 C语言中三种基本结构:顺序选择循环,其结构内的每个部分都会被执行到.【答案】错误 6数值型数组整体不参加数据处理(即不参加各种运算),参加数据处理的只能是数组的元素. 【参考答案】正确

7 在C语言中,函数名代表函数的入口地址.【参考答案】正确 8宏名有类型,其参数也有类型.【参考答案】错误 9数组名与指针变量是相互等价的. 错误

10 一个共用体变量中不能同时存放其所有成员.【参考答案】 正确 三1int x=2;z=++x+1; 则x的值为__3___.

2当a=1,b=2,c=3时,执行以下程序段后c=__2___. if (a>c) b=a; a=c; c=b;

3设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是__3___. for (x=0,y=0;y!=123&&x<3;x++) scanf (\4.字符串比较的库函数是_____,只写函数名即可. strcmp

5调用 fopen 函数打开一文本文件,在\使用方式\这一项中, 为追加而打开需填入 a 或 a+

【程序设计】在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的平方和,并在fun()函数中输出。 #include \ void main() { int i,j,s,a[3][3]; int fun(int a[3][3]); void TestFunc(); for(i=0;i<3;i++)

{ for(j=0;j<3;j++) scanf(\ s=fun(a);printf(\ TestFunc();} int fun(int a[3][3])

{ /*********Begin**********/ 【参考代码】 int sum=0,i; for(i=0;i<3;i++)

sum=sum+a[i][i]*a[i][i]; return sum;

/********** End **********/ }

【程序改错】

功能:输入10个数,要求输出这10个数的平均值 #include \

float average(float array[10]) {int i; float aver,sum=array[0];

/***********ERROR***********/

for(i=0;i<10;i++) sum=sum+array[i]; aver=sum/10.0; return(aver); }

void main( )

{ /***********ERROR***********/ int score[10],aver ; int i;

printf(\ for(i=0;i<10;i++)

/***********ERROR***********/ scanf(\ printf(\

/***********ERROR***********/ aver=average(score[10]);

printf(\}

【参考答案】for(i=1;i<10;i++) for(i=1;i<=9;i++

【参考答案】float score[10],aver; float aver,score[10]; 【参考答案】scanf(\ scanf(\【参考答案】aver=average(score);

【程序填空】有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来 第几号的那位。 #include \#define nmax 50 void main()

{ int i,k,m,n,num[nmax],*p;

printf(\ scanf(\ p=num;

/***********FILL***********/ for(i=0;_____;i++)

/***********FILL***********/ *(p+i)=_____; i=0; k=0; m=0; while(m

{ /***********FILL***********/ if(_____!=0) k++; if(k==3)

{ *(p+i)=0; k=0; m++; } i++;if(i==n) i=0; }

/***********FILL***********/

while(_____) p++; printf(\

【参考答案】 ii【参考答案】i+1【参考答案】*(p+i)【参考答案】*p==0

第四套

若有说明:int a[3][4];则数组a中各元素(A)。

A、不能得到确定的初值B、可在程序的编译阶段得到初值0

C、可在程序的运行阶段得到初值0D、可在程序的编译或运行阶段得到初值0 已定义float a; int i;选择正确的输入语句(C ).

A、scanf(\、scanf(\C、scanf(\、scanf(\执行下面程序段后,k的值是:(B ) int k=2; switch(k+1)

{case 3:k+=1;case 4:k--;break; case 5:k*=3;case 6:++k;} A、10 B、2 C、28 D、27

执行下列语句后的输出为(B)。

int j=-1; if(j<=1) printf(\ else printf(\A、%%%% B、****C、有错,执行不正确D、%%%%c 以下程序段中,能够正确地执行循环的是(B )。

A、int s=6; m:if(s<100) exit(0); else s-=2; goto m:

B、int s=6; do s-=2; while(s);C、for(i=1;i>10;i++) D、static int a; while(a) 运行结果是\的程序段是:请在A处填写正确内容(B )。 for(i=1;i<=2;i++) [A]

A、for(j=1;j<=2;j++)printf(\B、{for(j=1;j<=2;j++)printf(\C、for(j=1;j<=2;j++)printf(\D、{for(j=1;j<=2;j++)printf(\

对以下说明语句 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] 如果在一个函数中的复合语句中定义了一个变量,以下正确的说法是(C ). A、该变量在本程序范围内均有效B、该变量在主函数中有效 C、该变量只在该复合语句中有效D、该变量在该函数中有效 设有宏定义#define PI 3.14 和#define S(r) PI*r*r,则S(2)的值为(B ). A、6.28B、12.56C、3.14D、9.42 设有以下定义:

int a[10]={1,2,3,4,5,6,7,8,9,10};int *p=a; 则数值为6的表达式是(D ).

A、p+5 B、*p+6 C、*(p+6) D、*p+=5 1.C程序的每行中只能写一条语句错误

2在C语言中,各种类型的整型数据在内存中都占2个字节。错误 3条件表达式x?'a':'b'中,若x=0时,表达式的值为'b'. 正确

4while和do…while循环不论什么条件下它们的结果都是相同的. 错误

5for循环体中遇到continue语句,会转向执行for语句中的条件判断(语句2). 错误

6 int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0。正确

7函数的返回值可以通过函数中的return语句获得。正确

8若有 #define S(a,b) a*b 则语句 area=S(3,2); area的值为6。正确 9指向某一变量的指针,就是该变量的内存地址.正确

10对于不同类型的数据,若想合成一个有机的整体,可以引用结构体进行定义。正确 三填空

1若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量c中的值是 _9____ . c=(a-=(b-5)); c=(a)+(b=3);

2当a=3,b=2,c=1;时,执行以下程序段后 b=_____. if(a>b) a=b; if(b>c) b=c; else c=b; c=a; 以下程序的输出结果为_10____, #include \ void main()

{int a;for(a=0;a<10;a++);printf(\

4.若有fp=fopen(\打开文件语句,这个文件的数据是以_____的形式存放在内存中,该文件的使用方式为读/_____。【参考答案】二进制【参考答案】写

【程序设计】题目:用函数求一个N阶方阵右下三角元素的和(包括副对角线上的元素)。 #include \int sum(int a[][N])

{ /*********Begin**********/ 【参考代码】 int i,j,k=0;

for(i=0;i

for(j=N-1-i;j

/********** End **********/} void main()

{ int a[N][N],i,j; void TestFunc(); for(i=0;i

{ for(j=0;j

{ a[i][j]=rand()+10; //rand函数的功能是产生一个随机整数 printf(\ } printf(\

} printf(\ printf(\ TestFunc(); }【程序改错】

功能:用指针作函数参数,编程序求一维数组中的最大和最小的元素值. #include \

/***********ERROR***********/ void maxmin(int arr[ ],int *pt1, *pt2, n) { int i;

/***********ERROR***********/ *pt1=*pt2=&arr[0]; for(i=1;i

{ /***********ERROR***********/

五星文库wxphp.com包含总结汇报、考试资料、专业文献、外语学习、教学教材、行业论文、资格考试、党团工作、人文社科、办公文档、教程攻略、应用文书、旅游景点以及c语言真题20套等内容。

本文共10页12345>>10