C语言程序设计课程考试试题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1页共7页南京理工大学紫金学院课程考试试卷(学生考试用)课程名称:C语言程序设计学分:5.0教学大纲编号:06000702试卷编号:2009A考试方式:笔试满分分值:100分考试时间:120分钟组卷日期:2009年6月15日组卷教师(签字):审定教师(签字):学生班级:学生学号:学生姓名:一、选择填空题(每小题1分,共30分)1.已知有声明charc='1';intx=300;floatt=35000;doubled=3.1234567e10;,则以下表达式求值时除______外其结果都可能是不准确的。A.x=t/cB.t=d/xC.t=d/1e5fD.t=x+c2.已知有声明语句intx=8;则下列表达式中,值为2的是_______。A.x+=x-=xB.x%=x-2C.x8?x=0:x++D.x/=x+x3.以下标识符中不能用做变量名或自定义函数名的是___________。A.mainB.scanfC._floatD.sizeof4.若有声明intx=3,y=4;,则表达式xy?x++:y++的值是_________。A.2B.3C.4D.55.以下表示数学式abc的C语言逻辑表达式中,错误的是________。A.abcB.ab&&bcC.!(a=b)&&!(b=c)D.!(a=b||b=c)6.以下叙述正确的是_____________。A.一个用C语言编写的程序在运行时总是从main函数开始逐条执行语句的B.main函数是系统库函数C.main函数中每行只能出现一条语句D.main函数必须出现在所有其他函数之前7.运行以下程序时#includestdio.hmain(){inta;floatb;scanf(%3d%f,&a,&b);printf(%d\t%f,a,b);}若要求变量a和b分别从键盘获得输入值45和678.0,则以下四种输入数据中,不能达到该要求的输入数据是________。(_代表“空格”键,CR代表“回车”键)A.45_678CRB.45CR678CRC.45,678CRD.045678CR8.如果未对函数的返回值类型作说明,则该函数的返回值类型被认为是。a.char类型b.int类型c.void类型d.任意类型9.以下关于C语言语句的叙述中正确的是_______。A.所有语句都包含关键字B.所有语句都包含表达式C.所有语句都可以出现在源程序中的任何位置D.所有语句都以分号结束10.程序段intx=3;do{printf(%d,x--);}while(!x);的执行结果是________。A.321B.2C.死循环D.311.以下关于循环语句的说法中正确的是_________。A.在C语言中只能用do、do-while或for语句实现循环结构B.while语句的循环体至少会被执行1次第2页共7页C.for语句的循环体至少会被执行1次D.do-while语句的循环体至少会被执行1次12.已有声明inta[5];以下表达式中不能正确取得a[1]地址的是_________。A.&a[1]B.++aC.&a[0]+1D.a+113.若有数组定义staticcharA[]=ABCDEF,B[]={'A','B','C','D','E','F'};,则数组A和数组B的长度分别是________。A.7,7B.6,7C.6,6D.7,614.若有声明语句chars1[10]={0},s2[10]=books;则能将字符串books赋给数组s1保存的表达式是_________。A.s1=books;B.strcpy(s2,s1);C.s1=s2;D.strcat(s1,s2);15.以下关于函数形式参数的声明中正确的是________。A.inta[]B.inta[][]C.inta[]={0}D.inta[2][]16.已知有函数f的定义如下:intf(inta,intb){if(ab)return(a,b);elsereturn(b,a);}在main函数中若调用函数f(2,3),得到的返回值是__________。A.2B.3C.2和3D.3和217.若有函数fun的定义为:voidfun(……){staticinta=1;……}则下列叙述中不正确的是________。A.在每次调用fun函数时,变量a的值是上次调用结束时a的值B.在fun函数之外,可用变量名a直接引用a的值C.在其他函数中,可以出现声明doublea=2.5;D.fun函数的形式参数不能取名为a18.在C程序中,每种变量都由各自的有效作用范围和生存期,其中在整个程序运行过程中都存在,但只在函数调用时有效。a.自动变量b.静态全局变量c.寄存器变量d.静态局部变量19.structstudent{intnum;charname[10];}stu={1,Mary},*p=&stu;则下列语句中错误的是_________。A.printf(%d,stu.num);B.printf(%d,(&stu)-num);C.printf(%d,&stu-num);D.printf(%d,p-num);20.以下声明语句中,用于声明一个行指针变量的是_______。A.int*p(int);B.int*p;C.int(*p)[3];D.int(*p)(int);21.在循环语句的循环体中,使用break和continue语句的作用分别是。A.结束本次循环和结束循环B.结束循环和结束本次循环C.两语句都结束本次循环D.两语句都结束循环第3页共7页22.已知inti=3;则语句printf(%d,%d,i,i++);的执行结果为A.3,3B.4,4C.3,4D.4,323.设有说明语句“chars[]=ab\0\234\\\n79;”,strlen(s)和sizeof(s)的值分别是。A.3,2B.2,9C.8,11D.14,1524.执行下面的程序段后,y的值为____________。#defineSQUARE(x)x*xinty,z=10;y=SQUARE(z+1);A.10B.121C.21D.10125.设a=1,b=4,C=5求运算--a++b&&c++逻辑表达式后a,b,c的值:A.1,4,5B.0,5,6C.0,4,5D.1,5,526.有如下程序main(){intx=1,a=0,b=0;switch(x){case0:b++;break;case1:a++;case2:a++;b++;}printf(“a=%d,b=%d\n”,a,b);}该程序的输出结果是。A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=227.已定义x和y为double类型,则表达式x=1,y=x+3/2的值是A.1B.2.0C.2D.2.528.对于数据类型相同的两个指针变量之间,不能进行的运算是。A.B.=C.+D.—29.有如下说明:intc[4][5],(*pc)[5]=c;则是对数组c的元素的正确引用。A.pc+1B.*(pc+3)C.*(pc+1)+3D.*(*pc+2)30.执行循环语句:for(intk=1234;k=k/10;)printf(“%d”,k%10);其输出的结果是_______。A.1234B.4321C.123D.321二、基本概念填空题(每小题2分,共20分)1.设有语句“chara[5]=1234”,则a的值是。数组在内存的首地址2.若有定义:intx=0,y=1,z=2;则执行语句“z=(x++)&&(++y);”后,变量z和y的值分别是z=和y=。013.在C语言中,编译预处理包括三个方面,分别是宏定义、文件包含和_________。条件编译4.在C语言中,函数实参与形参的结合方式有和结合两种。地址值5.定义共用体、结构体型时使用的关键字分别是和。unionstruct6.在C语言中,当关系表达式中的关系不成立时,则该关系表达式的值为。07.若一个函数不需要形式参数,则在定义该函数时,应使形式参数表为空或放置一个_void______。8.C语言中规定:在每一个字符串的结尾添加字符_\0__,以便系统据此判定字符串是否结束。第4页共7页9.数学算式)(3baba在C语言中的表达式是。10.语句“float*p(float);”说明的含义是:P是一个返回指向float变量的指针的函数____。三、阅读程序填空题(每小题2分,共20分)注意:为了减少程序长度,以下程序中均省去了#includestdio.h。1.以下程序运行时输出结果是_________。1,0,1#includestdio.hmain(){inta=0,b=0,c=0;if(a++&&(b+=a)||++c)printf(%d,%d,%d\n,a,b,c);}2.下面程序的输出结果是_______。0main(){inta=24,b=16,r;while(r){r=a%b;a=b;b=r;}printf(%d,b);}3.以下程序运行后的输出结果的第一行是____2_____,第二行是____0______。#includestdio.hvoidmain(){inti=5;do{switch(i%2){case0:i--;break;case1:i--;continue;}i--;printf(%d\n,i);}while(i0);}4.以下程序运行时输出结果的第一行是___18______,第二行是_____22_______。#includestdio.hmain(){inti,k,x[10]={1,2,3,4,5,6,7,8,9,10},y[3]={0};for(i=0;i10;i++){k=x[i]%3;y[k]+=x[i];}printf(%d\n%d\n%d,y[0],y[1],y[2]);}5.以下程序运行时输出结果是_________。5,25#includestdio.hvoidnum(){externintx,y;inta=15,b=10;x=a-b;y=a+b;第5页共7页}intx,y;main(){inta=7,b=5;x=a+b;y=a-b;num();printf(%d,%d\n,x,y);}6.以下程序运行时输出_____。365longfunc(longx){if(x100)returnx%10;elsereturnfunc(x/100)*10+x%10;}main(){printf(Theresultis:%ld\n,func(132645));}7.运行下面程序时输出结果是_______。16fun(intk){staticinti;intj=0;return++i+k+j++;}voidmain(){staticinti,n;for(i=0;i4;i++)n+=fun(i);printf(%3d,n);}8.运行下面程序时输出结果是_______。m1=5,m2=10int*func(p1,p2)n1=10,n2=5,n3=5int*p1,*p2;{int*p;if(*p1*p2){p=p1;p1=p2;p2=p;}printf(“m1=%d,m2=%d\n”,*p1,*p2);return(p1);}main(){inta=10,b=5;int*pointer1,*pointer2,*p;pointer1=&a;pointer2=&b;p=func(pointer1,pointer2);printf(“n1=%d,n2=%d,n3=%d\n”,*pointer1,*pointer2,*p);}9.以下程序运行时输出结果是_________。4#includestdio.hmain()第6页共7页{char*s,*s1=Here;s=s1;while(*s1)s1++;printf(%d\n,s1-s);}10.以下程序的输出结果是__________。10main(){intx=1

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功