1、2006-2007 学年第二学期考试试卷 A 卷 考试科目 C 语言程序设计 考试方式 闭卷 完成时限 2 小时 拟题人 审核人 批准人 2007 年 7 月 5 日机 械 、 电 气 、 信 息 、 生 化 、 轻 工 、 经 管 、 理 学院 2006 年级 各理工科专业说明:1. 应将全部答案写在答卷纸对应的题号处;否则作无效处理;2. 编程题应写明题号,若答卷纸不够,请写在背面,不要另添卷纸;3. 考试完成后,必须将试卷与答卷同时交回。一、判断题(10 小题,每题 1 分,共 10 分;用表示正确,用表示错误)1在循环体内使用 break 语句和 continue 语句的作用相同。2函
2、数返回值的类型最终取决于函数定义时形参的类型。3else 语句一定要与 if 语句配对使用,程序中 else 语句的个数一定小于或者等于 if 语句的个数。4从狭义角度讲,算法是解决一个问题采取的方法和步骤的描述。51/2 的结果是 0,所以 1.0/2 的结果也是 0。6a=b=c=5 可以理解为 a=(b=(c=5)。7假设有语句 int a10=1,2,3,*p;p=a;则 p+完全等价于 a+。8for(;) 等价于 while(1)语句。9假定 int 类型变量占用两个字节,若有定义:int x10=0,2,4;,则数组 x 在内存中所占字节数是 6。10 char *sp =“we
3、lcome“;可以写成 char *sp=“welcome“; 。二、单选题(16 小题,每题 1 分,共 16 分)1以下数组定义中错误的是:(A) int x3 =0; (B) int x23=1,2,3,4,5,6;(C) int x3=1,2,3,4,5,6;题序 一 二 三 四 五 六 总分得分第 2 页 共 14 页(D) int x23=1,2,3,4,5,6;2设 fp 为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为:(A)EOF (B)NULL (C) 0 (D)非 0 值 3有以下程序:main()int y=10;while(y-) ;
4、printf(“y=%dn”,y);程序执行后的输出结果是:(A) y=0; (B)y=-1;(C) y=1 (D)while 构成无限循环4. 若有以下宏定义:#define N 2 #define Y(n) (N+1)*n 则执行语句 int z; z=2*N+Y(5);后的值是 (A) 50 (B)34 (C )19 (D)无定值 5以下叙述中错误的是:(A)c 程序必须由一个或者一个以上的函数组成。(B)函数调用可以作为一个独立的语句存在。(C)若函数有返回值,必须通过 return 语句返回。(D)函数形参的值也可以传回给对应的实参。6设有如下定义的变量union data int
5、i; char ch;float f;b;则变量 b 占用内存的字节数是(假设 int 类型占 2 个字节,char 类型占 1 个字节,float 类型占 4 个字节):(A) 4 (B)5 (C) 6 (D)77以下叙述中错误的是:第 3 页 共 14 页(A)c 程序中的 #include 和#define 行均不是 c 语句(B)除逗号运算符外,赋值运算符的优先级最低(C)c 程序中 , “j+;”是赋值语句(D)c 程序经过编译、连接步骤之后,才能形成一个真正可执行的二进制机器指令文件。8. 能正确表示 a 和 b 同时为正或同时为负的逻辑表达式是:(A) (a=0|b=0) (B
6、)if(xy 2执行以下程序后的输出结果是main() int a=10;a=(3*5,a+4);printf(“a=%dn“,a);3排序是数据处理中最常见的问题,它是将一组数据按递增或者递减的次序排列。排列的算法很多。常用的算法有 法和选择法。4设有定义“ char web20;”,要将字符串“”赋值给字符数组 web 的语句是 。5一个函数用于接收一个字符和一个整数,并返回一个字符,函数名为 love_c,则该函数的原型说明为 。6c 语言规定,简单变量作函数参数时,他和对应的形参之间的数据传递方式是 。7判断字符变量 x 是小写英文字母字符的 C 语言表达式是 。8程序中调用了库函数
7、strcmp,必须包含头文件 。9若 x=13,y=25,z=-17,则表达式(p=(xvoid main() int max,x;scanf(“%d“,if(x!=-1)_ (1) _;while(_ (2) _)if(max=0(C)x=-1 (D)max!=-1(3) ( A)max=max+1 (B) x=x+1(C)scanf(“%d”, (D ) else max =-12下面程序通过字符指针实现,将 s1 指向的字符串“I have a dream!”反向拷贝到 s2 中。#include#include void main()char *s1=“I have a dream!
8、“,*s2,*t;int len;len= _ (4) _;s2=(char *)calloc(len+1,sizeof(char);t=s2;while(*s1!=0)s1+;dos1-;len-;_ (5) _;s2+;while(len0);*s2=0;s2=t;puts(s2);第 8 页 共 14 页(4) ( A) strcpy(s1) (B)st(C) *s1 (D) strlen(s1)(5) ( A)*s1=*s2 (B)*s2=*s1(C)char name8;char sex2;int age;struct student* next;stu10;main() struc
9、t student *p,*pt,*head;int i,length,iage;printf(“Input length of list (next=p;pt=p;printf(“NO:”);scanf(“%s”,p-num);printf(“name:”);scanf(“%s”,p-name);第 9 页 共 14 页printf(“sex:”);scanf(“%s”,p-sex);printf(“age:”);scanf(“%d”,_ (7) _;p=head;printf(“n NO. name sex agen”);while(_ (8) _) printf(“%4s%8s%6s%6
10、dn”,p-num,p-name,p-sex,p-age);p=p-next;.(6) ( A) head=pt=p; (B)p=pt=head;(C) head=p; (D)p=head;(7) ( A)p-next=p; (B)head-next =NULL;(C) pt-next=NULL; (D)p-next =NULL;(8) ( A) p!=NULL (B)p=NULL(C)head!=NULL (D)head=NULL4一球从 100 米高度自由落下,每次落地后反弹跳回原高度的一半,再落下。求它再第 10 次落地时,共经过多少米?第 10 次反弹多高 ?main() float sn=100,hn= _ (9) _;int n;for(n=2;n=0i+)s=10*s+chi-0;printf(“%dn”,s);2程序 2main() int i,t3=9,8,7,6,5,4,3,2,1;for(i=0;i3;i+) printf(“%d”,t2-ii);3程序 3main() int row,column;for (row=1;row=4;row+)for (column=1;column=row;column+)printf(“*“) ;printf(“n”);4程序 4
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。