




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、共10页第 1页北 京 交 通 大 学2008 2009 学年第二 学期期末考试试题课程名称: c语言程序设计出题教师: _课程组_ 专业:_ 班级:_ 姓名:_ 学号:_ 题号一二三四五总分得分阅卷人- 答题说明:要求所有解答均写在答题卡上,否则无效。一、 选择题 (每题 1 分,共 20 分) 1设整型变量a 为 7,使 b 不为 3 的表达式是()。a b=a/2 bb=9-(- -a) c b=a%2 db=a3?3:1 2设 int x=1,y=1; 表达式( !x+ | y- )的值是 ( )。a 0 b1 c2 d-1 3设变量定义为 int a3=1,4,7,*p=&a
2、2, 则*p 的值是()。a &a2 b 7 c4 d1 4c 语言中以追加方式打开一个文件应选择()参数。a “ r ”b” w”c “ rb”d“ a”5从循环体内某一层跳出,继续执行循环外的语句是:()。a break 语句breturn 语句c continue 语句d空语句6若变量c 为 char 类型,能正确判断出c 为数字的表达式是()。a 0 =c= 0 ) | (c=9)c ( 0 =c)d(c= 0 ) & (c=9)7选出下列标识符中不是合法的标识符的是()。a hot_do bcat1 c_pri d2ab 共10页第 2页8以下说法中正确的是()。a
3、c 语言程序总是从第一个的函数开始执行b在 c 语言程序中 ,要调用的函数必须在main() 函数中定义c c 语言程序总是从main() 函数开始执行d c 语言程序中的main() 函数必须放在程序的开始部分9若有 int a10 , *p ; p=a ;,则()是对数组元素的正确的引用。a *&a10 ba11 c*(p+11) d*p 10在函数中默认存储类型说明符的变量应该是()存储类型。a内部静态 b外部c自动d寄存器11执行下面的程序后,a 的值是()。#include #define sqr(x) x*x void main( ) int a=10,k=2,m=1; a
4、/=sqr(k+m)/sqr(k+m); printf(%dn,a); a 1 b 10 c9 d0 12不能把字符串:hello! 赋给数组b 的语句是()。a char b10= h , e , l , l , o , ! ; b char b10; b= “hello! ”; c char b10; strcpy(b,“hello! ”); d char b10= “hello! ” ; 13语句for(a=0,b=0;b!=100&a5;a+) scanf(“%d ”,&b); scanf最多可执行次数为:()。a 4 b6 c5 d1 14下列关于指针定义的描述,()
5、是错误的。a在定义指针时,标识符前的“*”号表示后面的指针变量所指向的内容。b指针变量的类型与它所指向的变量类型一致。c指针变量的命名规则与标识符相同。d指针是一种变量,该变量用来存放某个变量的地址值的。15设整型变量n 的值为 2,执行语句“ n+=n- =n*n ; ”后, n 的值是()。共10页第 3页 a-4 b4 c0 d2 16定义如下变量和数组: int i, x33=1,2,3,4,5,6,7,8,9;则下面语句for(i=0;inext=null ; p=p-next ; p-next=q ; b p=p-next ; q-next=p ; p-next=q ; c p=p
6、-next ; q-next=p-next ; p-next=q ; d p=(*p).next ; (*q).next=(*p).next ; (*p).next=q ; 18执行语句“ x=(a=3,b=a- -) ”后, x,a,b 的值依次为()。a 3, 3, 2 b3,2,2 c3,2,3 d2,3,2 19函数调用strcat(strcpy(str1,str2),str3)的功能是()。a将字符串str2 复制到字符串str1 中后再将字符串str3 连接到字符串str1 之后b将字符串str1 复制到字符串str2 中后再连接到字符串str3 之后c将字符串str1 复制到字符
7、串str2 中后再复制到字符串str3 之后d将字符串str2 连接到字符串str1 中后再将字符串str1 复制到字符串str3 中20下面的叙述不正确的是()。a递归调用使用选择结构,递推调用使用循环结构b递归调用使用循环结构,递推调用使用选择结构c递归调用使用选择结构,递推调用使用顺序结构d递归调用使用顺序结构,递推调用使用选择结构二、 填空题 (每题 1 分,共 15 分) 1定义 fp 为文件型指针变量的定义方法为_。a data nextnext p bc q 共10页第 4页2若fp 已正确定义为一个文件指针,d1.dat 为二进制文件,请填空,以便为 读而打开此文件:fp=fo
8、pen_; 。3. 为了避免嵌套的条件分支语句if-else 的二义性, c 语言规定: c 程序中的else 总是与 _组成配对关系。4在 c 程序中有如下语句:char *func(int x,int y); 它是对函数func 的_。5设有如下定义: int x=10,y=3,z; 则语句 printf(%dn,z=(x%y,x/y); 的输出结果是_。6若 a 是 int 型变量,则计算表达式a=25/3%3 后 a 的值为 _ 。7四个运算符 、 % 、 +、 = 按照优先级从高到低排列顺序为_ 。8数组 int a34; 共定义了 _ 个数组元素。9执行以下for ( int i=
9、1;i+= a &ch= z )?ch:(ch+32) 的值是 _。12两个指针变量的值相等时,表明两个指针变量是指向同一_或者都为空。13若有以下定义和语句: int a4=1,3,5,7,*p;p=&a2;则*-p 的值是 _。14若程序中用到“strlen() ”函数,则应在程序开头写上包含命令_。15函数中的形参和调用时的实参都是数组名时,传递的是_,都是变量时,传递方式为值传递。三、 阅读程序,写出程序运行的结果(每题4 分,共 24 分)1执行下面的程序,输出结果是_。#include void main() int n; for(n=1;n=4;n+) if(n%
10、2) printf(“ * ” ); else continue; printf( ” # ” ); 共10页第 5页printf( “ $n” ); 2执行下面的程序,输出结果是_。#include void main(void) char a=abcdefghm,b=abcdefghm; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k=7;k+) if (*(p1+k)=*(p2+k) printf(%c,*(p1+k); printf(n); 3执行下面的程序,输出结果是_。#include void test() int a = 10; stati
11、c int b =1; printf(“ a=%d,b=%d n” ,a -,b-); void main() int k; for(k = 1; k += 3;) test(); printf( “ %dn ” ,k); 4执行下面的程序,输出结果是_。#include void main() int a55,i,j; for(i=1;i5;i+) for(j=1;j5;j+) aij=(i/j)*(j/i); for(i=1;i5;i+) 共10页第 6页 for(j=1;j5;j+) printf(%3d,aij); printf(n); 5执行下面的程序,输出结果是_。#include
12、 struct stu int num; char name10; int age; ; void fun(struct stu *p) printf(%d %sn,p-num,(*p).name); void main(void) struct stu students3=801,zhang,20,802,wang,19, 803,zhao,18 ; fun(students+2); 6执行下面的程序,输出结果是_。#include void main(void) int a = 1, i; for (i=1; i5; i+) switch (i) case 0: case 3: a +=
13、2; case 1: case 2: a += 3; default: a += 5; printf(%dn, a); 共10页第 7页四、 程序填空(每空2 分,共 16 分)1华氏和摄氏温度的转化公式为c=5/9( f-32), c 表示摄氏温度,f 表示华氏温度。要求:华氏0o-300o,每隔 20o输出一个华氏对应的摄氏温度#include void main() int upper,step; float fahr=0,celsius; upper=300; step=20; while( ) ; printf(%f %fn,fahr,celsius); ; 2函数 fun 的功能是
14、:使字符串str 按逆序存放。void fun (char str) char m; int i, j; for (i=0, j= ; ij ; i+, j-) m = stri; stri = ; strj-1 = m; printf(%sn,str); 3下面程序模拟了色子的6000 次投掷,用函数产生随机数face,并统计 1-6 每一面出现的机会放到数组frequency 中。#include #include #include 共10页第 8页void main() int face, roll, frequency7=0; ; for (roll=1;roll=6000;roll+
15、) face= ; + ; printf(%s%sn,face ,frequency); for(face=1;face=6;face+) printf(%d %dn,face,frequencyface); 五、 编写程序( 25 分)1编写程序,求1+12+123+1234+12345 (请用循环)2编写程序,假定输入的字符串中只包含字母和*号。请编写函数fun ,它的功能是将字符串尾部的*号全部删除,前面和中间的* 号不删除。例如,字符串中的内容为” *a*bc*def*z*” ,删除后,字符串中的内容应当是” *a*bc*def*z” 。在编写函数时,不得使用c 语言提供的字符串函数。3. 将设整型数组a 共 20 个元素,将下标值为偶数的元素从小到大排列,其它元素不变,并将排序后的数组输出。共10页第 9页北 京 交 通 大 学20082009学年第二学期期末考试试题答题卡课程名称: c 语言程序设计任课教师: _ 专业:_ 班级:_姓名:_ 学号:_ 一、选择题(每题1 分,共 20 分)1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医用超声诊断设备项目建议书
- 情绪智力与职场竞争力的提升
- 数字教育在商业竞争中的战略价值探讨
- 智慧办公楼宇的能源消耗监测与控制
- 教育资源转化策略如何打造教育地产的商业生态圈
- 企业智慧化进程中的安全风险管理
- 施工图预算的编制流程考点
- 中职数学向量课件
- 政策引领教育变革国际视野下的策略探讨
- 教育技术革新对教育政策的挑战与应对策略
- 2025年苏州昆山国创投资集团有限公司招聘考试试题(含答案)
- 2025新公安辅警招聘知识考试题库及答案
- 2025辅警招聘考试题及答案
- 2025年中小学公开选拔校长笔试模拟试卷
- 铁路行车安全培训课件
- 中文版儿童睡眠习惯问卷CSHQ 含评分维度
- DB12T 1443-2025 社会单位消防安全管理导则
- 2025安全生产月活动总结模板十(19P)
- 内蒙古呼和浩特实验教育集团2025届八下英语期末考试试题含答案
- 《电子工业全光网络工程技术规范》
- 2025新译林版英语八上单词单(先鸟版)BD
评论
0/150
提交评论