




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高级语言程序设计期末考试试卷(A卷)一、 单选题(每题1分,共20分)1.C语言源程序的基本单位是(B)。A).过程 B).函数 C). 子程序 D). 标识符2.while(!x)中的!x与下面那个表达式等价(A)。A)x=0BB)x=1C)x!=5D)x!=03在C语言程序中,以下说法正确的是(B)。A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套4. 下列C标识符均不合法的是(C )A)Int、x_0、do B)_al、extern、a_okC)x*y,const、12a D)CHAR、_123、tmp5. TURBOC 2.0环境下,程序main() int a=32767; int b=a+1;char c=304; printf(b=%d,c=%c,b,c);输出结果是(D)A)b=-1,c=0 B)b=1,c=0 C)b=-32767,c=0 D) b=32768,c=06.假设变量a,b均为整型,表达式(a=5,b=2,ab?a+:b+,a+b)的值是(B)。A).7 B).8 C).9 D).27.设a为int型变量,执行下列赋值语句后,a的取值分别是(B)。a=125.534;a=20.0/3;a=(int)125.521%4;a=5bc的值是(A)A.0 B.1 C.2 D.410. 以下函数调用语句中含有(A)个实参。func(e1,e2),(e3,e4,e5); A 2 B 3 C 5 D 语法错误11变量a,b已经正确定义和初始化,下列不能将a、b两个数交换语句是(B)Aa=a+b,b=a-b,a=a-b; Ba=a-b,b=a+b,a=a+b;Ct=a,a=b,b=t; Da=ab;b=ba;a=ab;12以下程序的输出结果为(A)。#define ADD(x) x*xmain( ) int a=4,b=6,c=7,d=ADD(a+b)*c; printf(d=%d,d); (d=4+6*4+6*7=70) A).d=70 B).d=80 C).d=140 D).d=70013.已知职工记录描述如下,在Turbo C中,系统为变量w分配(C)字节的空间。struct worker int no; char name20; char sex;union int day;int month;int year; birth; w; A).29 B).20 C).25 D).614.设有以下定义,值为7的枚举常量是(D)。enum weeksun,mon=4,tue,wed,thu,fri,sat w;A).tue B).satc C).fri D)thu15.下面选项中正确的赋值语句是(设 char a5,*pa;)(A)。 A p=abcd; B a=abcd;C p5=abcd;D *a=abcd;16下列程序的结果是(C)main( ) int a,b,s=0;for(a=1,b=1;a=20) break;if(b%3=1)b+=3; continue; b-=5;printf(“a=%dtb=%dn”,a,b);A).a=6 b=19 B).a=7 b=21;C).a=8 b=22 D).a=9 b=23;17.有以下说明:int w34=0,1,2,4,5,8;int (*p)4=w;则数值为4的表达式是(D )Ap+,*(p+1) B*w1+1 C*(p+1)+1 D*(w1+1)18.int a10=0,1,2,3,4,5,6,7,8,9;int *p;p=a;下列四个表达式中结果与其中三个不一样的是(C):A*(p+1) B*(a+1) C*(+a) D*(+p)19.下函数的变量在函数被调用时生存期最长的是(B) func( int i) int k;static int j; i+;j+;k+; int m=i+j+k; printf(“n”) ;Ai Bj Ck Dm20. 有如下类型说明:float n;int m;则可以将n中的数值保留小数点后四位,第五位四舍五入的表达式是(C)An=(n*10000+0.5)/10000.0 B。n=n*10000+0.5/10000.0Cm=n*10000+0.5,n=m/10000.0 D。n=(n/10000+0.5)*10000.0第10 页,本卷总共10页二、 判断题(正确打“”,错误打“”,全部打“”或全部打“”不得分,每题1分,共10分)1在Turbo C中,整型数据在内存中占2个字节。(W)2函数的递归调用不过是一个函数直接或间接地调用它自身。(T)3函数strlen(ASD386FGn)的值是9。(T)4通过return语句,函数可以带回一个或一个以上的返回值。(W)5假设已定义了变量a=1;b=2;c=3;d=4;m=1;n=1;则语句(m=ab)&(n=cd);执行后m=0,n=1。(T )6若有定义:char *p(char a10);则p是函数名。(T)7C语言把文件看作是一个字符(字节)的序列。(T) 8若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的。(W) 9在Turbo C中,下面的定义和语句是合法的:file *fp;fp=fopen(a.txt,r);(W)10结构体类型只有一种,但在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。(W) 三、 程序填空题(每空2分,共20分)1、填写1)、2)、3)、4)空,解决百马百担问题:有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马各多少匹?main( ) int hb,hm,hl,n=0;for(hb=0;hb=100;hb+= 3 )for(hm=0;hm=100-hb;hm+= 2 ) hl=_100-hb-hm_ (3) ;if(_hb/3+hm/2+hl*2)=100_)n+; printf(hb=%d,hm=%d,hl=%dn,hb/3,hm/2,2*hl); printf(n=%dn,n);2填写5)、6)两空,使下程序执行后输出如图所示的菱形,* * * * * * * * * * * * *#include main( ) int i , j ; for( i=1; i=4; i+) for (j=1; j=4-i_; j+) putchar(32); for (j=1; j=2*i-1_; j+) putchar(*); putchar(n); 3填写7)、8)、9)、10)空,使得当调用下函数便可以建立单向的动态链表,建立过程中,当输入的节点数据域为0时,链表创建结束,并返回链表头指针。#include #dedinf NULL 0#define LEN _ sizeof(struct student )_struct studentlong num; float score; struct student *next;int n;/*记录链表中节点数目*/struct student *create(void) struct student head;/*链表头指针*/struct student *p1=null,*p2=NULL;n=0;p1 =_(struct student *)malloc(LEN)8)_scanf(“%ld,%f“,&p1-num,&p1-score);head=NULL;while(p1-num!=0)n=n+1; if(n=1)head=p1;else _ p2-next=p1_(9)_;p2=p1;p1=_(8)_;/*此空表示和前面的第(8)空内容一致,无需填*/scanf(“%ld,%f“,&p1-num,&p1-score); p2-next=_NULL_;return (head);四、 看程序写结果(每题5分,共20分)1、#include stdio.hmain() int a=8,b=2; int *pointer_1,*pointer_2; void swap(int *p1,int *p2); pointer_1=&a;pointer_2=&b; swap(pointer_1,pointer_2); printf(a=%d,b=%dn,a,b);void swap(int *p1,int *p2)int a3=1,2,3,*temp=a+2; *p2=*p1; *p1=*temp; *temp=*p2;2、#includemain() char str =tom like C program,c;int i;for(i=2;(c=stri)!=0;i+)switch(c) case g: +i; break;case o: continue;default:printf(%c,c);continue;printf(*);printf(n);3、int a=25;int func(int b)static int a=50; a+=b+100; return (a);main() int a,b;a=100;b=func(a)+func(a); printf(“a=%d,b=%d ”, a,b);4、假设程序运行时输入为4321(表示回车),则输出为?#include stdio.hprint_message(int i )char ch;i+;scanf(%c, &ch);if ( ch != n )print_message(i);printf(%c, ch);return(i);main( ) int i=4;printf(%d,print_message(i);五、 程序设计(共30分 每题15分)1、 输入年月日,计算该日是该年的第几天。主程序已经写出如下:#include stdio.hmain()int year,month,day,day_num;int sum_day(int month,int day);int leap(int year);printf(please input date(year month day):n);scanf(%d%d%d,&year,&month,&day);printf(today is %d/%d/%d,It is,year,month,day);day_num=sum_day(month,day);if(leap(year)&month=3)day_num+=1;printf( NO.%d day of %d,day_num,year);请完成:1) 画出程序流程图2) 补充完整函数int sum_day(int month,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 森林防火知识培训必要性
- 森林火灾知识培训内容
- 森林法基础知识培训课件
- 幼儿园培训教学课件
- 2025年老年护理专业招聘考试预测题
- 风湿疾病试题及答案
- 2025健康照护技师考试题库及答
- 2025年物流师中级考试要点预测题集
- 2025年人事处招聘考试行政职业能力测试题
- 2025年初级导游证考试必-备知识点与模拟题
- 婚内债务夫妻方承担协议书
- 食品仓储库房温湿度控制
- 部编小学语文四年级上册第8单元省级获奖大单元作业设计
- SMT-快速换线推进报告-.课件11
- 环保配套设施技术改造项目可行性研究报告
- 楼板下加钢梁加固施工方案
- 斜坡脚手架搭设施工方案
- 大学试题(财经商贸)-博弈论笔试(2018-2023年)真题摘选含答案
- 建筑行业人才培养与发展战略研讨会
- 血液透析机常见故障处理护理课件
- 成人高等教育学士学位英语核心单词+短语
评论
0/150
提交评论