《C语言程序设计》期末试卷_第1页
《C语言程序设计》期末试卷_第2页
《C语言程序设计》期末试卷_第3页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

《C一.单选题(25题,25分)(1分)答案:D被称为“C语言之的是以下哪一位?( )A.MartinRichards B.KenThompsonC.DennisM.Ritchie D.BrainW.答案:D(1分)有定义语句:intx,y;scanf("%d,%d",&x,&y);x11y12:( )答案:AA.1112<回车> B.11,12<回车>C.11,12<回车> 回车>12<回车答案:A(1分)若以下选项的变量已正确定义,则正确的赋值语句是( )答案:CA.x1=26.8%3 B.1+2=x2C.x3=0x12 答案:C(1分)下列循环语句中语法错误的是 。while(x=y)5;while(0);do2;while(x==b);dox++while(x==10);答案:答案:D(1分)若有以下函数调用语句:fun(a+b,fun(d,(a,b)));在此函数调用语句实参的个数是( 。4321答案:答案:C6.(单选题,1分)6.设函数fun的定义形式为voidfun(charch,floatx){…}则以下对函数fun的调用语句中,正确的是( )A.fun("abc",3.0);.n(;C.fun('65',2.8);D.fun(32,32);答案:答案:D(1分)在C语言中,只有在使用时才占用内存单元的变量,其存储类型( )A.auto和register B.extern和registerC.auto和static D.static和register答案:A答案:A自动和寄存型(1分)答案:B当变量c的值不为、4、6时,值也真"的表达式是( )A.(c==2)||(c==4)||(c==6) B.(c>=2&&c<=6)||(c!=3)||(c!=5)C.(c>=2&&c<=6)&&!(c%2) D.(c>=2&&答案:B(单选题,1分)C语言执行程序的开始执行点( )。程序中第一条可以执行语言程序中第一个函数main函数包含文件中的第一个函数答案:答案:C(1分)以下正确定义一维数组的选项是( )A.inta[5]={0,1,2,3,4,5};B.chara[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};C.chara={′A′,′B′,′C′};D.inta[5]="0123";答案:答案:B(单选题,1分有以下程序#include<string.h>main(){ charp[]={′a′,′b′,′c′},q[10]={′a′,′b′,′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是( )pq,,3p,,q3由于q,,但p3由于p和q,故长度都不能确定答案:答案:A(,1分)C语言中whiledo-while循环的主要区别是( )。do-while的循环体至少无条件执行一次whiledo-while的循环控制条件更严格do-while允许从外部转到循环体内do-while的循环体不能是复合语句答案:答案:A13.(单选题,1分)13.若二维数组a有m列,则计算任一元素a[i][j]在数组中相对位置的式为(假设a[0][0位于数组的第一个位置上( 。A.j*m+I B.i*m+jC.i*m+j-1 D.i*m+j+1答案:答案:B(1分)"HelloWorld"语句是()A.chara1[]={'H','e','l','l','o','','W','o','r','l','d','\0'};chara2[15];strcpy(a2,"HelloWorld");chara3[15];a3="HelloWorld";chara4[15]={"HelloWorld"};答案:答案:C(1分)判断字符串ab是否相等,应当使用()A.if(a==b) B.if(a=b)C.if(strcpy(a,b)) D.if(strcmp(a,b)==0)答案:D//stringcompare(字符串比较)的缩写,并将结果返回整数。基本形式为:strcmp(str1,str2),若str1=str2,则返回0;若str1<str2,则返回负数,若str1>str2,答案:D(单选题,1分)inta[10],*p=a;错误的是a[9]p[5]a++*p++答案:答案:C17.单选题,1分)存在定义inta[10],x,*pa;,若pa=&a[0],下列的哪个选项和其他3个选不是等价的?( )17.A.x=*pa;B.x=*(a+1);C.x=*(pa+1);D.x=a[1];答案:答案:A18.(单选题,1分)以下不能对二维数组a进行正确初始化的语句是18.()A.inta[2][3]={0};B.inta[][3]={{1,2},{0}};C.inta[2][3]={{1,2},{3,4},{5,6}}; //这是三行二列?D.inta[][3]={1,2,3,4,5,6};答案:答案:C19.(单选题,1分)19.若有以下语句,则下面表达式的值为1002的是()structstudent{intnum;intage;};structstudentstu[3]={{1001,20},{1002,19},{1003,2}};structstudent*p;p=stu;(p++)->num(p++)->age答案:D(*p).num答案:D1分)main()中所有可用的变量为(。voidfun(intx){staticinty;……return;}intz;voidmain(){inta,b;fun(a);……}x,yx,y,za,b,za,b,x,y,z答案:答案:C(单选题,1分)有以下程序#include main(){ int switch(x){ case switch(y){casecase0:a++;1:b++;break;break;}case2:a++;b++;break;cse3:a++;b++;}printf("a=%d,b=%d\n",a,b);}程序的运行结果是( )A.a=1,b=0 B.a=2,b=2C.a=1,b=1 D.a=2,b=1答案:答案:D(1分)下列程序的输出结果是( )#include"stdio.h"main(){ inti,a=0,b=0;for(i=1;i<10;i++){ if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b);}A.a=4,b=4 B.a=4,b=5C.a=5,b=4 D.a=5,b=5答案:答案:B(1分)下面程序段的运行结果( charstr[]="ABC",*p=str;printf("%d\n",*(p+3));A.67 B.0C.字符′C′的地址 D.字符′C′答案:答案:B(1分)已知有以下程序段,给出程序的输出结果(。#include"stdio.h"<STDIO.H>intmain(){inti,j,m,n;i=8;j=10;m=i++;n=++j;return0;}A.8,10,9,11 B.9,10,8,11C.9,11,8,10 D.9,11,8,11答案:答案:D(1分)现有如下程序#include"stdio.h"intfun(intx){printf("x=%d\n",++x); intmain(){fun(12+5);return0;}则程序的输出结果( )A.x=12 B.x=13C.x=17 D.x=18答案:答案:D二.多选题(5题,15分)3分)以下叙述中正确的是( 。C语句必须以分号结束复合语句在语法上被看作一条语句空语句出现在任何位置都不会影响程序运行赋值表达式末尾加分号就构成赋值语句答案:答案:ABD多选题,3分)structex{intx;floaty;charz;}example;则下面的叙述中正确的( )A.struct结构体类型的关键字example是结构体类型名x,y,z都是结构体成员名structex是结构体类型名答案:答案:ACD(3分)以下定义语句中错误的是( )A.int a=b=0;B.char A=65+1,b=′b′;C.float a=1,*b=&a,*c=&bD.double a=0;b=1.1;答案:答案:ACD(3分)下列可用于C语言用户标识符的( A.D56,r_1_2,name,_st_1B.a3_3,_123,CarC.For,-abc,IFCaseD.void,define,WORD答案:答案:AB(3分)下面有关for循环的正确描述( )。for循环能用于循环次数已经确定的情况for,后判断表达式for,break语句跳出循环体答案:ADfor循环的循环体语句中,可以包含多条语句,答案:AD三.判断题(10题,10分)(1分)用C程序实现的算法可以没有输入但必须要有输出。答案:对(1分)简单变量做实参时,它和对应形参之间的数据传递方式是单向值传递。答案:对(1分)全局变量可以被任何一个函数中的任何一个表达式使用。答案:错(1分)表达式strcmp("box","boss")的值是一个负值。答案:错(1分)循环结构中的break语句是使整个循环终止执行。答案:对答案:错36.(判断题,1分)若有说明:inta[10]={6,7,8,9,10};则该语句不正确,因为数组长度与初值个数不相同。答案:错,1分)有定义:chara[]="1";则a2。答案:对答案:对(1分)如果成员本身就是一个结构体,只能对最低级的成员进行赋值等引用和运算。答案:对(1分)若定义的函数没有参数,则函数名后的圆括号可以省略。答案:错(1分)答案:对不能将字符串赋给字符变量。答案:对四.填空题(17题,30分)(1分)当执行下列程序时,输入1234567890,则其中while 循环体将执次。#includemain(){charch;while((ch=getchar())==’0’)printf(‘#’);}答案:答案:(1)0(1分)在C语言中,二维数组在内存中的存放顺序 答案:答案:(1)按行存储答案:(1)2(2)4(填空题,1分)若有定义:floatx[3][5];则数组x中行下标的最大值为 列下标的最大值答案:(1)2(2)4(2分)C语言中,最基本的数据类型是( ,实型( 。答案:答案:(1)整型(2)字符型(1分)当调用函数时,实参是一个数组名,则向函数传送的是( )答案:答案:(1)数组的首地址;数组元素的首地址;数组名(1分)表达式strlen("hello")的值是( )答案:答案:(1)51分)在C语言中,用关键字( )来定义双精度实型的变量。答案:答案:(1)double(1分)C语言程序的基本单位是( )答案:答案:(1)函数(1分)( 下次循环。答案:(1)continue(2分)读程序写结果:分析以下程序的运行结果。#include“stdio.h”func(inta,intb){ intc;c=a+b;returnc;main(){ intx=6,y,r;y=x+2;r=func(x,y);printf("%d\n",r); }答案:答案:(1)142分)读程序写结果:下列程序段执行后s值为 。inti=5,s=0;while(i--) if(i%2)continue; elses+=i;答案:答案:(1)62分)读程序写结果:以下程序的输出结果是( 。int main(){intx=2,y=-1,z=2;if(x>y)if(y<0)z=0;elsez+=1;答案:(1)0答案:(1)0填空题,2分读程序写结果:#include"stdio.h"fun(){ static intx++;returnx;}main(){ inti,x;for(i=0;i<3;i++)x=fun();答案:答案:(1)8(1)8(2分)读程序写结果:以下程序的输出结果。main(){chars[]="ABCD",*p;for(p=s+1;p<s+4;p++)printf("%s\n",p)

温馨提示

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

最新文档

评论

0/150

提交评论