[信息与通信]C语言往年试题.ppt

上传人:豆**** 文档编号:24795545 上传时间:2022-07-07 格式:PPT 页数:56 大小:365.50KB
返回 下载 相关 举报
[信息与通信]C语言往年试题.ppt_第1页
第1页 / 共56页
[信息与通信]C语言往年试题.ppt_第2页
第2页 / 共56页
点击查看更多>>
资源描述

《[信息与通信]C语言往年试题.ppt》由会员分享,可在线阅读,更多相关《[信息与通信]C语言往年试题.ppt(56页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、2一、单项选择题一、单项选择题(每题每题2分,共分,共50分分)1、设有以下宏定义:、设有以下宏定义: define N 3 define Y(n) (N+1)*n)则执行语句:则执行语句:z2*(N+Y(5+1);后,后,z的值的值为为 。A、出错、出错 B、42 C、48 D、542、若有说明:、若有说明:int a10;则对数组元素的正确则对数组元素的正确引用是引用是 。A、a10 B、a3.5 C、a(5) D、a10-10CD33、以下能正确计算、以下能正确计算s=123.10的程的程序段是序段是 。 A)doi=1;s=1; s=s*i; i+; while(i=10);B)doi

2、=1;s=0; s=s*i; i+; while(i=10);C)i=1;s=1; dos=s*i; i+; while(i=10);D)i=1;s=0; dos=s*i; i+; while(i=10);C44、下面程序段的运行结果是、下面程序段的运行结果是 。 for(x=3;xy) z=x; B、if(x=y) z=0; C、if(x!=y) printf(“%d”,x) else printf(“%d”,y); D、 if(xy) x+;y-; 11、如有函数调用语句:、如有函数调用语句:func(rec1,rec2+rec3,(rec4,rec5);在该函数在该函数调用语句中,含有的

3、实参个数是调用语句中,含有的实参个数是 。A、3 B、4 C、5 D、有语法错误、有语法错误CA912、下面程序的输出结果是、下面程序的输出结果是 。 main()int n5=0,0,0,i,k=2;for(i=0;ik;i+) ni=ni+1; printf(“%dn”,nk);A、不确定的值、不确定的值 B、2 C、1 D、013、若二维数组、若二维数组a有有m列,则计算任一元素列,则计算任一元素aij在数组中位置的公示为在数组中位置的公示为 。(假设假设a00位于数组的第一个位置上位于数组的第一个位置上) A、i*m+j B、j*m+i C、i*m+j-1 D、 i*m+j+1DD10

4、14、设、设x和和y均为均为int变量,则以下语句:变量,则以下语句:x+=y;y=x-y;x-=y;的功能是的功能是 。A、把、把x和和y按从小到大排序按从小到大排序 B、把、把x和和y按从大到小排序按从大到小排序 C、无确定结果、无确定结果 D、交换、交换x和和y中的值中的值D1115、若执行以下程序段,其输出结果是、若执行以下程序段,其输出结果是 。int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%d”,a,b,c); A、5,0,-10 B、0,0,5 C、-10,5,-10 D、5,0,316、C语言规定:在一个源程序中,语言规定

5、:在一个源程序中,main函数的函数的位置位置 。A、必须在最开始、必须在最开始 B、必须在系统调用的库函、必须在系统调用的库函数的后面数的后面 C、可以任意、可以任意 D、必须在最后、必须在最后BC1217、在、在C语言中,每个语句和数据定义是用语言中,每个语句和数据定义是用( )结结束。束。A、句号、句号 B、逗号、逗号 C、分号、分号 D、括号、括号18、若有语句、若有语句int *point,a=4;和和point=&a;下下面均代表地址的一组选项是面均代表地址的一组选项是 。A、a,point,*&a B、&*a,&a,*pointC、*&point,*point,&a D、&a,&

6、*point,pointCD1319、在、在printf函数中用来输出十六进制无符号整函数中用来输出十六进制无符号整数的格式字符是数的格式字符是 。 A、d格式符格式符 B、x格式符格式符 C、u格式符格式符 D、o格式符格式符20、若要求在、若要求在if后一对圆括号中表示后一对圆括号中表示a不等于不等于0的的关系,则能正确表示这一关系的表达式为关系,则能正确表示这一关系的表达式为 。 A、a B、!a C、a=0 D、a0BA1421、利用、利用fseek函数可以实现的操作是函数可以实现的操作是 。 A、改变文件的指针位置、改变文件的指针位置 B、文件的顺序读写、文件的顺序读写 C、文件的随

7、机读写、文件的随机读写 D、以上答案均正确、以上答案均正确22、设、设p1和和p2为指向同一个为指向同一个int型一维数组的指型一维数组的指针变量,针变量,k为为int型变量,则不能正确执行的语句型变量,则不能正确执行的语句是是 。 A、k=*p1+*p2; B、p2=k; C、p1=p2; D、 k=*p1*(*p2); AB1523、若有说明:、若有说明:int a3=1,2,3,4,5,6,7;则则a数组第一维的大小是数组第一维的大小是 。 A、2 B、3 C、4 D、无确定值、无确定值24、以下程序的输出结果是、以下程序的输出结果是 。point(char *pt);main()cha

8、r b4=a,c,s,f,*pt=b;point(pt);printf(“%cn”, *pt);point(char *p)p+=3; A、a B、c C、s D、 fBA1625、设有声明语句:、设有声明语句:int a=1,b=0;则执行以下则执行以下语句后输出语句后输出 。swith(a)case 1: swith(b) case 0: printf(“*0*”);break; case 1: printf(“*1*”);break; case 2: printf(“*2*”);break; A、*0* B、*0*2* C、*0*1*2* D、 有语法错误有语法错误B17二、程序填空题二

9、、程序填空题(每空每空2分,共分,共16分分)下面给出了下面给出了若干个程序,请按照题意将下划线处缺少的部分补上,若干个程序,请按照题意将下划线处缺少的部分补上,使其能正确运行。使其能正确运行。26、函数、函数fun的功能是使一个字符串按逆序存放,请填空。的功能是使一个字符串按逆序存放,请填空。void fun(char str)char m; int i,j;for(i=0,j=strlen(str);i【1】 ;i+,j-) m=stri; stri=【2】 ; strj-1=m;printf(“%sn”,str);1 j2 strj-1 1827、用、用“两路合并法两路合并法”把已按升序

10、排序的数组合并把已按升序排序的数组合并成一个升序数组。成一个升序数组。main()int a4=15,34,48,98; int b5=12,32,55,67,78; int c10; int i,j,k; 【3】;while(i4&j5) if(aibj) ck=ai;k+;i+; else ck=bj;k+;j+;while( 【4】) ck=ai; i+; k+; while( 【5】) ck=bj; j+; k+;for(i=0;ik;i+)printf(“%5d”,ci);printf(“n”);3 i=j=k=04 i4&j=55 i=4&jnext 20三、修改下列程序错误三、修

11、改下列程序错误(每处每处3分,共分,共15分分)例例 main()int I;*found* i=5;printf(“%d”,I);则答案为:将则答案为:将i=5;改为;改为I=5;在修改中不得增行或减行,也不得更改程序的结构!在修改中不得增行或减行,也不得更改程序的结构!2129、以下程序中函数、以下程序中函数cpoystr的功能是:将的功能是:将p1指向的字符串中从第指向的字符串中从第m个字符开始的全部个字符开始的全部字符复制到另一个字符串字符复制到另一个字符串(由由p2指向指向)。例如:。例如:p1=“abc-de12345”,m=5,则复制后,则复制后,p2=“e12345”。请改正程

12、序中的错误,使。请改正程序中的错误,使它能得出正确的结果。它能得出正确的结果。22includeint copystr(char *p1,char *p2,int m)/*found(1)*/ p1=p1+m;while(*p1!=0)/* found(2)*/*p1=*p2;p1+;p2+;/* found(3)*/*p2=“0”;main()int m;char str120,str220;printf(“input string”);gets(str1);printf(“which character that begin to copy?”);scanf(“%d”,&m);if(str

13、len(str1)m|m=0)printf(“input error”);elsecopystr(str1,str2,m);printf(“result:%s”,str2);p1=p1+m;改成改成p1=p1+m-1;*p1=*p2;改成改成*p2=*p1;*p2=“0”;改成改成*p2=0;2330、按顺序读入、按顺序读入10名学生名学生4门课程成绩,计算门课程成绩,计算出每位学生的平均分并输出。出每位学生的平均分并输出。main()int n,k,score,sum; float ave;/* found(4)*/ For(n=1;n=10;n+)sum=0;scanf(“%d”,&sco

14、re);sum+=score;/* found(5)*/ave=sum/4;printf(“No.%d:%fn”,n,ave);For(n=1;n=10;n+)改成改成for(n=1;n1n!2532、假定输入的字符串只含字母和、假定输入的字符串只含字母和*号。请编号。请编写函数写函数fun,它的功能是:除了尾部的,它的功能是:除了尾部的*号外,将号外,将字符串中的其他字符串中的其他*号全部删除。形参号全部删除。形参p已指向字符已指向字符串中最后一个字母。在编写函数时,不得是用串中最后一个字母。在编写函数时,不得是用C语语言提供的字符串函数。言提供的字符串函数。例如:字符串的内容为:例如:字符

15、串的内容为:*A*BC*DEF*G*,删除后,字符串删除后,字符串中的内容应是:中的内容应是:ABCDEFG*。注意:部分源程序如下,请勿改动主函数注意:部分源程序如下,请勿改动主函数main和其他函数中的任何内容,仅在函数和其他函数中的任何内容,仅在函数fun的花括号的花括号中填入你编写的若干语句。中填入你编写的若干语句。26include void fun(char *a,char *p) main()char s81,*t;printf(“Enter a string:n”);gets(s);t=s;while(*t)t+;t-;while(*t=*)t-;fun(s,t);printf

16、(“The string after deleted:n”);puts(s);270708学年第学年第2学期学期C语言程序设计语言程序设计试卷试卷28一、单项选择题一、单项选择题(每题每题2分,共分,共50分分) 1以下叙述不正确的是以下叙述不正确的是。 、一个语言程序可以由一个或多个函数组成、一个语言程序可以由一个或多个函数组成 、语言程序的基本组成单位是函数、语言程序的基本组成单位是函数 、在语言程序中,注释只能位于一条语句的后面、在语言程序中,注释只能位于一条语句的后面 、一个语言程序必须包含一个、一个语言程序必须包含一个main函数函数 2若已定义若已定义x和和y为为double类型,

17、则执行表达式类型,则执行表达式x=1,y=x+5/2后,后,y的值是的值是。 A、2.0B、3C、3.0D、3.5CC29 3在在C语言中,字符型语言中,字符型(char)数据在内存中存放的数据在内存中存放的形式为形式为。 A、BCD码码B、原码、原码C、补码、补码D、ASCII码码 4在在C语言中,下列合法的长整型常量为语言中,下列合法的长整型常量为。 A、aB、0.012345C、2.14e12D、0L 5若定义语句:若定义语句:int a,b,c,*p=&c;之后,接着执行之后,接着执行以下选项中的语句,则能正确执行的语句是以下选项中的语句,则能正确执行的语句是。 A、scanf(“%d

18、”,a,b,c);B、scanf(“%d%d%d”,a,b,c);C、scanf(“%d”,p);D、scanf(“%d”,&p);DDC30 6若变量已正确定义并赋值,以下合法的若变量已正确定义并赋值,以下合法的C语言赋语言赋值语句是值语句是。 A、x=y=5;B、x=n%2.5 C、x+n=i; D、x=5=4+1; 7若变量已正确定义,有以下程序段:若变量已正确定义,有以下程序段:int i=0; do printf(“%d”,i); while(i+); printf(“%dn”,i);其输出结果为其输出结果为。 A、0,0B、0,1C、1,1 D、程序进入无限循环、程序进入无限循环A

19、B31 8下面的程序段表示的数学函数关系是下面的程序段表示的数学函数关系是。 y=-1; if(x!=0) if(x0) y=1; else y=0; A、y=-1(x0)B、y=1(x0)C、y=0(x0)D、y=-1(x0)C32 9有以下程序,程序运行结果是有以下程序,程序运行结果是。 #include int y=9; for(;y0;y-) if(y%3=0) printf(“%d”,-y);A、741 B、963 C、852 D、875421C33 10下面程序段的输出结果是下面程序段的输出结果是。 x=3; doy=x-; if(!y)printf(“x”);continue;

20、printf(“#”);while(1=x=2); A、将输出、将输出# B、将输出、将输出#* C、是死循环、是死循环 D、含有不合法的控制表达式、含有不合法的控制表达式C34 11以下叙述中正确的是以下叙述中正确的是。 A、用、用#include包含的头文件的后缀不可以是包含的头文件的后缀不可以是”.a” B、若一些源文件中包含某头文件,当该头文件有、若一些源文件中包含某头文件,当该头文件有错时,只需对该头文件进行修改,包含此头文件的错时,只需对该头文件进行修改,包含此头文件的所有源程序不必重新进行编译所有源程序不必重新进行编译 C、宏定义可以看成是一行语句、宏定义可以看成是一行语句 D、

21、C程序中的预处理是在编译之前进行的程序中的预处理是在编译之前进行的D35 12以下程序的输出结果是以下程序的输出结果是。 #define S(r) 10*r*r main() int a=20,b=20,s; s=S(a+b); printf(“%dn”,s);A、320 B、620 C、16000 D、400B36 13以下程序的输出结果是以下程序的输出结果是。 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; printf

22、(“a=%d,b=%dn”,a,b); A、a=2,b=1 B、a=1,b=1 C、a=1,b=0 D、a=2,b=2A37 14若若w=1,x=2,u=3,z=4,则表达式,则表达式wx?w:uz?u:z的值是的值是。 A、4 B、3 C、2 D、1 15以下正确的字符串常量是以下正确的字符串常量是。 A、“” B、abc C、” D、Olympic GamesDC 38 16在以下定义中,标识符在以下定义中,标识符fprt是是。 int(*fprt)(); A、是一个指向一维数组的指针、是一个指向一维数组的指针B、是一个指向、是一个指向int型变量的指针型变量的指针C、是一个指向函数的指针

23、。该函数返回值为、是一个指向函数的指针。该函数返回值为int型型 D、定义不正确、定义不正确C 39 17以下程序的输出结果是以下程序的输出结果是。 main() int k=8,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf(“%dn”,n);A、36 B、32 C、8 D、10B 40 18当调用函数时,实参是一个数组名,则实参向当调用函数时,实参是一个数组名,则实参向形参传递的是形参传递的是。A、数组的长度、数组的长度 B、数组的首地址、数组的首地址 C、数组每一个元素的地址、数组每一个元素的地址 D、数组每个元素的、数组

24、每个元素的值值B 19以下能正确表示以下能正确表示 的的C语言表达式是语言表达式是。A、(a+b/a-b)c B、(a+b)/(a-b)c C、 (a+b)/(a-b)*c) D、 (a+b)*c/(a-b) a+ba-bcD 41 21以下是对数组以下是对数组s的初始化,其中不正确的是的初始化,其中不正确的是 。A、char s=“abc”; B、char s5=a,b,c;C、char s5=“”;D、char s5=“abcdef”; 20以下不正确的定义语句是以下不正确的定义语句是。A、double x5=2.0,4.0,6.0,8.0,10.0; B、int y5=0,1,3,5,7

25、,9; C、char c1=1,2,3,4,5;D、char c2 =x10,xa,x8;B D 42#includemain()FILE *fp;int i=30.j=40,k,n;fp=fopen(“d1.dat”,”w”);fprintf(fp,”%dn”,i);fprintf(fp,”%dn”,j);fclose(fp);fp=fopen(“d1.dat”,”r”);fscanf(fp,”%d%dn”,&k,&n);printf(“%d %dn”,k,n);fclose(fp);22以下程序的运行结果以下程序的运行结果是是_ 。 A20 30 B30 40 C30 50 D20 40

26、B 4323若有定义语句:若有定义语句:inta36;,按在内存中的存按在内存中的存放顺序,放顺序,a数组的第数组的第10个元素是个元素是_。 Aa04 B a13 Ca03 D a14 B 24在一个在一个C程序中,程序中,main函数出现的位置是函数出现的位置是_。 A必须在程序的最后面必须在程序的最后面 B 可以在任意地方可以在任意地方 C必须在程序的最前面必须在程序的最前面 D必须在系统调用的库函数的后面必须在系统调用的库函数的后面B 4425若若fp是一个指向某二进制文件的指针,且已是一个指向某二进制文件的指针,且已读到此文件的末尾,则库函数读到此文件的末尾,则库函数feof(fp)

27、的返回值是的返回值是_。AEOF B0 C1 DNULL C 45二、程序填空题二、程序填空题 (每空每空2分,共分,共16分分),请按照,请按照题意将缺少部分补上,使其能正确运行。题意将缺少部分补上,使其能正确运行。26用用for循环打印循环打印1 4 7 10 13 16 19 22 25,请完善请完善printf函数。函数。 for(i=1;i=a&ch=A&ch05 n%10+486 strI=04829输入输入3个个int型的整数,求最大数。型的整数,求最大数。#includeint max(int x,int y)return(_7_);main()int a,b,c;scanf(

28、“%d%d%d”,&a,&b,&c);printf(“max=%dn”,max(_8_);7 xy?x:y 8 a,max(b,c)49三、修改下列程序的错误。三、修改下列程序的错误。(每处每处3分,共分,共15分分)在书写过程中,如某一行中有错,请先将该行所在书写过程中,如某一行中有错,请先将该行所有语句抄写,在写出正确的一行的所有语句。有语句抄写,在写出正确的一行的所有语句。例例 main()int I;*found* i=5;printf(“%d”,I);则答案为:将则答案为:将i=5;改为;改为I=5;在修改中不得增行或减行,也不得更改程序的结构!在修改中不得增行或减行,也不得更改程序

29、的结构!5030、下列给定程序中函数、下列给定程序中函数fun的功能是:计算的功能是:计算1/n!的值。例如:给的值。例如:给n输入输入5,则输出,则输出0.008333。#include#include/*found(1)*/int fun(int n)double result=1.0;if(n=0)return 1.0;while(n1&n170)/*found(2)*/result*=n+;result=1/result;return result;void main()int n;printf(“input n”);scanf(“%d”,&n);printf(“n1/%d!=%lfn

30、”,n,fun(n);5131以下程序中函数以下程序中函数calc的功能是对传送过的功能是对传送过来的两个实数求出和值与差值,并通过两个指来的两个实数求出和值与差值,并通过两个指针形参分别将这两个值传送回调用函数。针形参分别将这两个值传送回调用函数。#includefloat calc(float x,float y,float *add,float *sub)*add=x+y;/*found(3)*/sub=x-y;main()float x,y,add,sub;printf(“enter x,y:”);/*found(4)*/scanf(“%f%f”,x,y);/*found(5)*/ca

31、lc(&x,&y,add,sub);printf(“x+y=%f,x-y=%fn”,add,sub);52四、程序设计四、程序设计(共共2题,第一题题,第一题9分,第二题分,第二题10分分)32、编程实现输入、编程实现输入3个字符串,按由小到大的顺个字符串,按由小到大的顺序输出。序输出。33、程序定义了、程序定义了NN二维数组,并在主函数中二维数组,并在主函数中自动赋值。请编写函数自动赋值。请编写函数fun(int aN,int n),该,该函数的功能是使数组左下半三角元素中的值加上函数的功能是使数组左下半三角元素中的值加上n。例如:。例如: 5 4 6 9 5 3 75 5 44 9 98

32、6 10则返回主程序则返回主程序后后a数组中的数组中的值应为:值应为:53部分源程序给出如下:部分源程序给出如下:请勿改动主函数请勿改动主函数main和其它函数中的任何内容,仅在函和其它函数中的任何内容,仅在函数数fun的花括号中填入所编写的若干语句。的花括号中填入所编写的若干语句。#include #include #include #include #define N 5fun(int aN,int n) 54void main() int aNN,n,i,j;system(“CLS”);printf(“*The array*n ”); for(i=0;iN;i+)/*产生一个随机产生一个随机5*5矩阵矩阵*/for(j=0;j=5);printf(“n=%4dn”,n);fun(a,n);printf(“*the result*n”);for(i=0;iN;i+)for(j=0;jN;j+)printf(“%4d”,aij);printf(“n”);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com