哈工大2007年秋季C语言试题_第1页
哈工大2007年秋季C语言试题_第2页
哈工大2007年秋季C语言试题_第3页
哈工大2007年秋季C语言试题_第4页
哈工大2007年秋季C语言试题_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

试题:班号:姓名:第4页(共8页)哈工大2007年秋季学期班号姓名C语言程序设计试题题号一二三四五六七八九十总分分数第1页(共8页)一、填空题(共20分,每空2分)1.C语言中简单数据类型包括、、。2.C语言中用_______表示逻辑值“假”,用________表示逻辑值“真”。3.char*p[10];这条语句的含义是:_______。4.设有语句“inta=3;”,执行语句“printf(”%d”,-a++);”后,输出结果是,变量a的值是。5.如果在程序中定义静态变量和全局变量时,未明确指明其初始值,那么它们可以在程序编译阶段自动被初始化为。6.在C语言中,可以用定义一种新的数据类型。二、选择题:(共16分,每题2分)1.在C语言中,函数的隐含存储类别是()。A)autoB)staticC)externD)无存储类别2.若用数组名作为函数调用时的实参,则实际上传递给形参的是()。A.数组的首地址 B.数组的第一个元素值C.数组中全部元素的值 D.数组元素的个数3.已知structsk{inta;floatb;}data,*p;若有p=&data,则对data中的成员a正确引用是()A.(*p).dataB.(*p).aC.p->data.aD.p.data.a4.在while(x)语句中的x与下面条件表达式等价的是:。A.x!=0B.x==1C.x!=1D.x==05.二维数组a有m行n列,则在a[i][j]之前的元素个数为()。A.j*n+iB.i*n+jC.i*n+j-1D.i*n+j+16.设有声明语句:inta=1,b=0;则执行以下语句后输出为:。switch(a){case1:switch(b){case0:printf("**0**");break;case1:printf("**1**");break;}case2:printf("**2**");break;}A**0**B**0****2**C**0****1****2**D有语法错误7.以下程序运行结果是()main(){chars[]=”Address”;printf(”%d\n”,strlen(s));}A)7B)8C)9D)108.以下不正确的描述是()A)在函数外部定义的变量是全局变量B)在函数内部定义的变量是局部变量C)函数的形参是局部变量D)局部变量不能与全局变量同名三、写出下列程序的运行结果。(15分,每题3分)1.#include<stdio.h>intFun(intx){staticinty=0;y+=x;returny;} main(){intx=10,y=0,k;for(k=0;k<2;k++){y=Fun(x);printf("y=%d\n",y);}}运行结果是:2.#include<stdio.h>main(){ chara[]="programming",b[]="language"; char*p1,*p2; inti; p1=a;p2=b; for(i=0;i<7;i++) { if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i)); } printf("\n");}运行结果是:3.#include<stdio.h>main(){inta=10;{inta=15;printf(“a.1=%d,”,a);}printf(“a.2=%d\n”,a);}运行结果是:4.#include<stdio.h>main(){inti=0;while(1){printf(“*”);i++;if(i<3)break;}printf(“\n”);}运行结果是:5.intrunc(inta,intb){return(a+b);}main(){intx=2,y=5,z=8,r;r=runc(runc(x,y),z);printf(“%d\n”,r);}执行结果是:四、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(16分,每空2分)1.下面这个程序功能:读入5个整数,当程序读入的数据为正整数时,则显示该数,否则,不显示。读入5个数据后,程序结束运行。#include<stdio.h>main(){ inti,n; for(i=1;i<=5;i++) { printf("Pleaseentern:"); scanf("%d",&n); if(n<=0)_____________; printf("n=%d\n",n); } printf("Programisover!\n");}2.韩信点兵。韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。下面程序的主要功能是计算韩信至少有多少兵。#include<stdio.h>main(){ intx=1; intfind=0; for(x=1;________;x++) { if(x%5==1&&x%6==5&&x%7==4&&x%11==10) { printf("x=%d\n",x); ____________; } } }3.计算1+1/2+1/4+…+1/50的值,并显示出来。main(){inti=2;floatsum=1.0;while(i<=){sum+=1/;i+=2;}printf(“sum=%f\n”,sum);}4.Fibonacci数列中的头两个数是1和1,从第三个数开始,每个数等于前两个数之和。下述程序计算此数列的前20个数,且每行输出5个数,请填空。#include<stdio.h>main(){intf,f1=1,f2=1;inti;printf(“%6d,%6d”,f1,f2);for(i=3;i<=20;i++){f=;printf(“%6d”,f);if()printf(“\n”);f1=f2;;

温馨提示

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

最新文档

评论

0/150

提交评论