C语言程序设计试卷_第1页
C语言程序设计试卷_第2页
C语言程序设计试卷_第3页
C语言程序设计试卷_第4页
C语言程序设计试卷_第5页
全文预览已结束

下载本文档

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

文档简介

试卷编号:7035座位号浙江广播电视大学2006年春季学期期末考试《C语言程序设计》试题2006年7月题号一二三四总分得分得分评卷人一、单项选择题(每题2,共40分)1.以下变量定义正确的选项是___A_____。A)inta=2,x_y=2;B)intx=y=5;C)chara=”1”;D)floata;b;2.变量a、p定义以下:inta,*p;以下表达式正确的选项是____D____。A)5=aB)p=aC)&(a+5)D)p=&a3.C语言中运算对象必定是整型的运算符是__A______。A)%B)/C)=D)<=4.以下数组定义正确的选项是__D______。A)inta[5],b[2,3];B)charno(30);C)charx[];D)intx[5]={1,2,3};5.说明语句“int(*p)();”的含义是___C____。A)p是一个指向一维数组的指针变量B)p是指针变量,指向一个整型数据C)p是一个指向函数的指针,该函数返回一个int型数据D)以上都不对6.已知:inta[][3]={1,2,3,4,5,6,7};则数组a第一维的大小是__B______。A)2B)3C)4D)无确定值7.变量定义以下:intx;floaty;

以下输入语句正确的选项是___C_____。A)scanf("%f%f",&y,&x);B)scanf("%f%d",y,x);C)scanf("%f%d",&y,&x);D)scanf("%5.2f%2d",&y,&x);8.以下描述错误的选项是__B______。A)break语句可用于do~while语句B)break语句和continue语句的作用是相同的C)在循环语句中使用break语句是为了跳出循环,提前结束循环D)在循环语句中使用continue语句是为了结束本次循环,而不断止整个循环9.语句if(!i)i++;中的条件表达式!i等价于___A_____。A)i==0B)i!=1C)i!=0D)-i10.C语言程序是从main函数开始执行,这个函数写在___D_____。A)程前言件的开始B)它所调用的函数的前面C)程前言件的最后D)程前言件的任何地址11.声明语句为“intb[3][4];”,以下表达式中与b[2][1]等价的是___A_____。A)*(b[2]+1)B)b[3]C)*(b[1]+2)D)*(*(b+2))12.以下函数头中形参说明错误的选项是__A______。A)floataverage(floatarray[9],n)B)floataverage(float*array,intn)B)floataverage(floatarray[],intn)C)floataverage(floatarray,intn)13.函数形参加实参之间的传达是“值传达”,以下表达正确的选项是___B_____。A)实参和与其对应的形参共用一个储藏单元B)实参和与其对应的形参各占用独立的储藏单元C)当实参和与其对应的形参同名时才共用一个储藏单元D)形参是形式的,不占用储藏单元14.以下if语句错误的选项是___A_____。A)if(x<y)x++;y++;elsex--;y--;B)if(x)x+=y;C)if(x<y);D)if(x!=y)scanf("%d",&x);elsex++;15.若有定义:int(*p)[3];则pC。A)是一个指向整型变量的指针B)是一个指针数组名C)是一个指针,它指向一个含有3个整型元素的一维数组D)定义不合法16.以下有关宏代替的表达错误的选项是___C_____。A)宏名不拥有种类B)宏代替不占用运行时间C)宏名必定用大写字母表示D)宏代替可是字符代替17.若主调函数返回种类为double型,被调函数返回种类定义为int型,而被调函数return语句中的表达式为float型,则被调函数返回值的种类是___B_____。A)float型B)int型C)double型D)种类错误18.若是在一个函数的复合语句中定义一个变量,以下表达正确的选项是___B_____。A)该变量在该函数中有效B)该变量只在该复合语句中有效C)该变量为不合法的变量D)该变量在本程序范围内有效19.以下不能够进行++和--运算的是__B______。A)指针B)数组名C)intD)long20.C语言中规定,if语句的嵌套结构中,else总是__D______配对。A)与近来的if配套B)与第一个if配套C)按缩进地址相同的if配套D)与近来的且还没有配对的if配套得分评卷人3分,共30分)二、程序阅读题(每题1.阅读以下程序,若输入3<回车>,写出程序运行结果。6#include<>intmain(){inti,n;doublefact;scanf("%d",&n);fact=1;for(i=1;i<=n;i++)fact*=i;printf("%.0f\n",fact);}2.阅读以下程序,若输入1234-5<回车>,写出程序运行结果。4#include<>intmain(){intx,sum;scanf("%d",&x);

sum=0;while(x>0){if(x%2!=0)sum+=x;scanf("%d",&x);}printf("%d\n",sum);}3.阅读以下程序,若输入60<回车>,写出程序运行结果。Pass#include<>voidmain(){intx;scanf("%d",&x);if(x>=60)printf("pass");elseprintf("fail");}4.阅读以下程序,若输入41230<回车>,写出程序运行结果。0,3#include<>intmain(){inti,index,n;inta[10];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);index=0;for(i=1;i<n;i++){if(a[i]<a[index])index=i;}printf("min=%d,index=%d\n",a[index],index);}5.阅读以下程序,若输入10<回车>,写出程序运行结果。1010#include""intmain(){intn;void(intn);scanf("%d",&n);dectobin(n);printf("\n");}voiddectobin(intn){inta[16]={0};inti=0;while(n!=0){a[i]=n%2;i++;n/=2;}i=i-1;while(i>=0){printf("%d",a[i]);i--;}}6.写出以下程序的运行结果。5#include<>intfun(char*s){char*p=s;while(*p!='\0')p++;return(p-s);}voidmain(){printf(“%d\n”,fun(“hello”));}7.写出以下程序的运行结果。125#include<>intx;voidcude(){x=x*x*x;}voidmain(){x=5;cude();printf("%d\n",x);}

8.写出下面程序的运行结果。6#include<>func(inta[][3]){inti,j,sum=0;for(i=0;i<3;i++)for(j=0;j<3;j++)if(i==j)sum=sum+a[i][j];return(sum);}voidmain(){inta[3][3]={1,1,1,2,2,2,3,3,3},sum;sum=func(a);printf("sum=%d\n",sum);}9.阅读以下程序,写出运行结果。3#include<>intadd(inta,intb){intc;c=a+b;returnc;}voidprint(intt){printf("z=%d\n",t);}voidmain(){intx,y,z;voidprint(intt);x=1;y=2;z=add(x,y);print(z);}10.阅读以下程序,若输入A<回车>,写出程序运行结果。A#include<>intmain(){charch;ch=getchar();if(ch>=’a’&&ch<=’z’)ch=ch-‘a’+’A’;elseif(ch>=’A’&&ch<=’A’)ch=ch-’A’+‘a’;putchar(ch);}得分评卷人三、程序填空题(每空2分,共20分)1.以下程序的功能是计算xn,请填空。#include<>intmain(){inti,n;doublex,mypow;scanf("%lf%d",&x,&n);(1)mypow=1;;for(i=1;i<=(2)n;i++)mypow*=x;printf("%.2f\n",mypow);}2.以下程序的功能是从键盘输入n个整数,输出其中的最大值,请填空。#include<>intmain(){inta,max,i,n;scanf("%d",&n);scanf("%d",&max);for((3);i<n;i++){(4);if((5))max=a;}

printf("minis%d\n",max);}3.以下程序的功能是输出数组中所有元素的和,请填空。#include<>voidmain(){inta[]={0,1,2,3,4,5,6,7,8,9};ints=0,i,*p;p=(6);for(i=0;i<10;i++)(7);printf("sum=%d",s);}4.以下程序完成计算1-1/2+1/3-1/4+..前n项和的功能,请填空。#include<>intmain(){inti,n,flag;floatsum;scanf("%d",&n);(8);sum=0;for(i=1;i<=n;(9)){sum+=(float)flag/i;(10);}printf("%.3f\n",sum);}得分评卷人四、编程题(每题5分,共10分)1.编写程序打印以以下列图案,程序中只能使用以下三种printf语句:①printf("");②printf("*");③printf("\n");**********.#include<>voidmain(){inti,j;for(i=1;i<=4;i++){for(j=1;j<i;j++)

printf("");for(j=1;j<=5-i;j++)

printf("*");printf("\n");}}2.编写程序,给定M个学生的成绩,每个学生有N门课程的成绩,求每个学生的平均分。主函数已给出,请编写函数intaverage(inta[][N],intn),完成求第n个学生(学生编号从0开始)平均成绩的功能。#defineM3#defineN4voidmain(){inta[M][N];inti,

温馨提示

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

评论

0/150

提交评论