预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

C语言程序设计期末考试样卷2008年C语言程序设计期末考试样卷一、填空题1、C语言程序从函数开始执行。2、关系运算的结果得一个整数值:或者。3、已知inta[]={0,1,2,3,4,5};,则它的最大下标是。4、结构化程序的3种基本结构是,和。5、若a1和a2都是double型变量,且a1的初值为3.0,a2的初值为2.0,则表达式pow(a2,fabs(a1))的值为。6、表达式“8.2-2/3”的计算结果是。7、若有定义:inta=25,b=14,c=19;则表达式(a=bb?c:d):c)的值是。8、设有以下结构体定义structemp{charname[8];intage;charsex;}staff;则用户定义的结构体类型名为。9、表达式5>3&&2||8<4-!1的值。10、已知inta[10];,则a占用内存个字节的存储单元,代表他们的首地址是。11、将str定义为字符数组并初始化为“Lei”的语句是。12、设有定义:intn,*k=&n,以下语句利用指针变量k读写变量n中的内容,请将下列语句补充完整。scanf(“%d”,);printf(“%d\n”,);13、设y是int型变量,请写出判断y为奇数的关系表达式:。14、设有以下变量定义,并已赋确定值charw;intx;floaty;doublez;则表达式w*x+z-y所求得的数据类型为。15、设i、j、k均为int型变量,则执行完下面的for循环后,k的值为。for(i=0,j=10;i<=j;i++,j--)k=i+j;16、语句:x++;++x;x=x+1;x=1+x;执行后都使变量x中的值增1,请写出一条相同功能的赋值语句(不得与列举的相同):。17、设a,b,c均为整型数,且a=1,b=2,c=3,则语句a-=a+(++b)+(c--);被执行后a的值是。18、若有定义“inta[2][3]={1,3,5,7,9,11};a[1][0]”则的值是,*(*(a+1)+2))的值是。19、设X为int型变量,请写出描述“X是偶数”的表达式是:。20、C语言提供的三种逻辑运算符是、和!;二、选择题(1)以下非法的赋值语句是A)n=(i=2,++i);B)j++;C)++(i+1);D)x=j>0;(2)设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是A)6.500000B)6C)5.500000D)6.000000(3)已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是A)scanf(“%2d%2d%2d”,&i,&j,&k);B)scanf(“%d%d%d”,&i,&j,&k);C)scanf(“%d,%d,%d”,&i,&j,&k);D)scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);(4)设有定义:longx=-123456L;,则以下能够正确输出变量x值的语句是A)printf(“x=%d\n”,x);B)printf(“x=%1d\n”,x);C)printf(“x=%8dL\n”,x);D)printf(“x=%LD\n”,x);(5)若有以下程序:main(){intk=2,i=2,m;m=(k+=i*=k);printf(“%d,%d\n”,m,i);}执行后的输出结果是A)8,6B)8,3C)6,4D)7,4(6)已有定义:intx=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2的值是A)6B)0C)2D)1(7)若有以下说明和定义typedefint*INTEGER;INTEGERp,*q;以下叙述正确的是A)P是int型变量B)p是基类型为int的指针变量C)q是基类型为int的指针变量D)程序中可用INTEGER代替int类型名(8)以下选项中,与k=n++完全等价的表达式是A)k=n,n=n+1B)n=n+1,k=nC)k=++nD)k+=n+1(9)有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);此处do—while循环的结束条件是A)P的值不等于12345并且n的值小于3B)P的值等于12345并且n的值大于等于3C)P的值不等于12345或者n的值小于3D)P的值等于12345或者n的值大于等于3(10)若有说明:intn=2,*p=&n,*q=p;,则以下非法的赋值语句是A)p=q;B)*p=*q;C)n=*q;D)p=n;(11)设有如下定义:struckskfloatb;}data;int*p;若要使P指向data中的a域,正确的赋值语句是A)p=&aB)p=data.a;C)p=&dat