厦门理工学院c语言程序设计期末试题ABC含答案考试卷子.pdf_第1页
厦门理工学院c语言程序设计期末试题ABC含答案考试卷子.pdf_第2页
厦门理工学院c语言程序设计期末试题ABC含答案考试卷子.pdf_第3页
厦门理工学院c语言程序设计期末试题ABC含答案考试卷子.pdf_第4页
厦门理工学院c语言程序设计期末试题ABC含答案考试卷子.pdf_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

c 语言程序设计期末试题 A(含答案) 一、单项选择题(选择一个最佳答案,每题 2 分,共 20 分) 1.一个 C 程序的执行是从( )。 A) 本程序的 main 函数开始,到 main 函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序的 main 函数开始,到本程序文件的最后一个函数结束 D) 本程序文件的第一个函数开始,到本程序 main 函数结束 2.下列选项中,不能用作标识符的是( )。 A) _1234_B) _1_2C) int_2_D) 2_int_ 3.以下定义语句中正确的是( )。 A) char a=Ab=B;B) float a=b=10.0; C) int a=10,*b=D) float *a,b= 4.设有以下定义:#defined2 inta=0;doubleb=1.25;char c=A; 则下面语句中错误的是( )。 A) a+;B) b+C) c+;D) d+; 5.以下 4 个选项中,不能作为一条 C 语句的是( )。 A) ;B) a=0,b=0,c=0;C) if(a0);D) if(b=0) m=1;n=2; 6.有以下定义语句 double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是( )。 A) a=a+b=b+B) w%(int)a+b)C) (c+w)%(int)aD) w=a=b; 7.设有定义:int n=0,*p=则以下选项中,正确的赋值语句是( )。 A) p=1;B) *q=2;C) q=p;D) *p=5; 8.设有定义:int a,*pa= 以下 scanf 语句中能正确为变量 a 读入数据的是( )。 A) scanf(“%d”,pa) ;B) scanf(“%d”,a) ; C) scanf(“%d”,D) scanf(“%d”,*pa); 9.若有说明:char *language=”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”;则表达式*language1*language2 比较的是()。 A)字符 B 和字符 PB) 字符串 FORTRAN 和字符串 BASIC C)字符 F 和字符 BD) 字符串 BASIC 和字符串 PASCAL 10.执行语句 for(i=1;i+ void main() char str20=“C Language“, c; int i=0; while(c=stri)!=0) i+; #ifdefLETTER if(c=a charjughw(char *str); void main(int argc,char *argv) int s; if (argcb) max=amax=b 6、14 三、读程序写结果(每题 6 分,共 24 分) 1、789 2、 x=8,y=4 3、 C Lbohvbhf 4、 8 6 1 2 8 6 1 2 四、程序填空(每空 1 分,共 8 分) 【1】#include 【2】argv+1 【3】*(p+i) 【4】flag= =Y 【5】str+n-1 【6】p1 #include #define N 20 void inv(char str,int n); void main() char strN; gets(str); inv(str,strlen(str); puts(str); void inv(char str,int n) int i,j,temp; for(i=0,j=n-1;i #include #define N 20 void inv(char *str,int n); void main() char strN; gets(str); inv(str,strlen(str); puts(str); void inv(char *str,int n) char *i,*j,temp; for(i=str,j=str+n-1;i int m; void del_element(int num,int n); void main() int num10; int i,n; m=10; for(i=0;i main( ) int a = 1, b = 2, c = 3; printf(“%d”, cba); A) 2B) 1C) 0D) 3 3.以下正确的叙述是() A) 在 C 语言中,main 函数必须位于文件的开头 B) C 语言每行中只能写一条语句 C) C 语言本身没有输入、输出语句 D) 对一个 C 语言进行编译预处理时,可检查宏定义的语法错误 4.设有定义:int a,*pa= 以下 scanf 语句中能正确为变量 a 读入数据的是() A)scanf(“%d“,pa);B)scanf(“%d“,a); C)scanf(“%d“,D)scanf(“%d“,*pa); 5.若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3 中的值是() A) 0B) 0.5C) 1D) 2 6.能正确表示逻辑关系:“a=10 或 a0”的 C 语言表达式是() A) a=10 or a=0|a=10 printf(“%d”,d=ab?(ac?a:c): b); A) 5B) 4C) 6D) 不确定 10.下面是对数组 a 的初始化,其中不正确的是() A)a5“ABCD“B)a5A,B,C,D C)a5“D)a5“ABCDE“ 二、填空题(每空 2 分,共 32 分) 1.结构化程序设计中的三种基本结构是1、2、3。 2.C 程序的基本组成单位是4。 3.标识符的第一个字符必须是5或6。 4.实常数 123.457 的规范化指数表示形式是7。 5.表达式 7/2 的结果是8。表达式 7%2 的结果是9。 6.定义一个整型数组 a10,则下标最大的数组元素为10。 7.在函数的递归调用过程中,要使递归过程不是无限制进行下去,必须具有11。 8.C 语言提供了12命令用来实现“文件包含”的操作。 9.已知:char c =“china”;将字符数组 c 中整个字符串一次输出的语句书写格式为13。 10.表达式 43 float t=1,s=0; for(i=1;inoD. work-no 9以下对二维数组进行正确初始化的是()。 A.int a23=1,2,3,4,5,6; B.int a3=1,2,3,4,5,6; C.int a2=1,2,3,4,5,6; D.int a2=1,2,3,4; 10二维数组 a 有 m 列,则在 aij之前的元素个数为:。 A)j*m+i B)i*m+j C)i*m+j-1 D) i*m+j+1 二、给出下列程序的运行结果:(20 分,前四题每题 3 分,后两题每题 4 分) 1#include main() int i=16,j,x=6; j=i+1; x*=i=j; printf(“%d,%dn”,j,x); 运行结果是: 2#include #include main() int a=1,b=4,c=2; float x=10.5,y=4.0,z; z=(a+b)/c+sqrt(double)y)*1.2/c+x; printf(“%fn”,z); 运行结果是: 3#include main() int a,b,c,d; a=c=0; b=1; d=20; if(a) d=d-10; else if(!b) if(!c) d=25; else d=15; printf(“d=%dn”,d); 运行结果: 4main() int i=10; switch(i) case 9: i+=1; case 10: i+=1; case 11: i+=1; default : i+=1; printf(“%d”,i); 运行结果: 5#include main() int a=1,2,3,4,i,j,s=0; j=1; for(i=3;i=0;i-) s=s+ai*j; j=j*10; printf(“s=%dn“,s); 运行结果: 6func(int x) x=20; main() int x=10; func(x); printf(“%d”,x); 运行结果: 三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(20 分,每空 2 分) 1已知能被 4 整除而不能被 100 整除的或者能被 400 整除的年份是润年,则判断某一年是否是润年的程序如下: main() int year,leap; scanf(“%d”, if() leap=1; else leap=0; if() printf(“是润年”); else printf(“不是润年”); 2将 100 至 200 间不能被 3 整除的数输出: main() int n; for(n=100;n main() int m,i,k; scanf(“%d”, k=sqrt(m); for(i=2;i=k+1) printf(“%d is a prime numbern”,m); else printf(“%d is not a prime numbern”,m); 4给定一 3*4 的矩阵,求出其中值最大的元素的值,及所在的行列号。 main() int i,j,row=0,colum=0,max; static int a34=1,2,3,49,8,7,610,-10,-4,4; ; for(i=0;imax) max=aij; ; ; printf(“max=%d,row=%d,colum=%dn”,max,row,colum); 5下面函数的功能是将两个字符串 s 和 t 连接起来。 char *conj(char *s, char *t) char *p=s; while(*s); while(*t) *s=; s+; t+; *s=0; ; 四、编程(40 分) 1计算 1-1/2+1/3-1/4+1/99-1/100+,直到最后一项的绝对值小于 10-4为止。(13 分) 2输入一行字符,分别统计求出其中英文字母、空格、数字和其他字符的个数并输出结果。(13 分) 3任意从键盘输入 10 个整数,按从小到大的顺序排序,并输出结果。(14 分) C 语言程序设计期末试题 C 答案 答案 一、选择题 1、D,2、B,3、A,4、B,5、A,6、A,7、D,8、D,9、B,10、B 二、给出下列程序的运行结果 1、17,102 2、13.700000 3、d=20 4、13 5、s=1234 6、10 三、阅读程序,在标有下滑线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。 1、(year%4= = 0 float sum,sign; i=1; sum=0; sign=1.0; while(1.0/i)=1e-4) sum += sign / i ; i+; sign = - sign; printf(“sum=%.4f“,sum); 2、 #include main() char str81; int i ; intletter,space ,num ,other ; char c; printf (“Please enter a string : “); gets(str); l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论