C语言程序设计复习题A专科

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

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

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

资源描述

《C语言程序设计》复习题A(专科)一、填空题1、设x的值为15,n的值为2,则表达式x%=(n+=3)运算后,x的值为________。2、设inta=7,b=9,t;执行完表达式t=(ab)?a:b后,t的值是_____________。3、设floatx=2.5,y=4.7;inta=7;,则表达式x+a%3*(int)(x+y)%2/4的值为______。4、下面程序段的输出结果是_____________。inta=28;a=a&21;printf(“%d%o\n”,a,a);5、a数组定义如下chara[]=”ab”,则a数组中的所有元素依次是___________。6、a为int型变量,设有以下宏定义,#definePR80#definePPPR+403则执行赋值语句a=PP*20;后,a的值是________。7、在C语言中,参数传递的两种形式是_____________和_____________。8、C语言中调用_____________函数打开文件,调用_____________函数关闭文件,调用__________函数可实现文件的随机读写。9、若有inta[3]={10,12,30};则a+1是___________的地址,*(a+2)=____________。10.有如下结构体类型说明:structexample{char*a;doubleb;intc;}则将x定义为该类型变量的正确形式是________________;将x的成员c赋值为10的正确形式为_______________;将x的成员a指向字符串“student”的正确形式为___________。11、按数据在磁盘上的存储方式,可将文件分为__________文件和_________文件。12、当a=3,b=4,c=5时,写出下列各式的值。ab的值为______,a=c的值为_______。二、选择题1.以下选项中不合法的用户标识符是()。A.abc.cB.fileC.MainD.PRINTF2.C语言中运算对象必需是整型的运算符是()。A.%B./C.!D.**3.若变量已正确定义并赋值,符合C语言语法的表达式是()。A.a=a+7;B.a=7+b+c,a++C.int(12.3%4)D.a=a+7=c+b4.以下叙述中正确的是()。A.在C程序中无论整数还是实数,只要在允许的范围内都能准确无误的表示。B.C程序由主函数组成。C.C程序由函数组成。D.C程序由函数和过程组成。5.不合法的八进制数是()。A.0B.028C.077D.016.设有以下说明语句structex{intx;floaty;charz;}example;则下面的叙述中不正确的是()。A.struct是结构体类型的关键字B.example是结构体类型名C.x,y,z都是结构体成员名D.structex是结构体类型7.若已定义x和y为double类型,x=1,则表达式y=x+3/2的值是()。A.1B.2C.2.0D.2.58.若变量c为char类型,能正确判断出c为小写字母的表达式是()。A.'a'=c='z'B.(c='a')||(c='z')C.('a'=c)and('z'=c)D.(c='a')&&(c='z')9.已知函数原型声明为:char*(chara,charb);该函数的类型为()。A.指向字符型的指针B.字符型C.整型D.指向整型的指针10.以下只有在使用时才为该类型变量分配内存的存储类说明是()。A.auto和staticB.auto和registerC.register和staticD.extern和register11.在C语言中,逻辑量“假”的值用()表示。A.falseB.0C.非0D.负数12.有语句charstr1[20]=”hello”,str2[10]=“world”;则将字符串“world”连接到”hello”之后,正确的语句为()。A.str1=str1+”world”;B.strcat(str1,str2);C.str1=str1+str2;D.strcat(str2,str1);13.设有如下程序段:inta[3][4]={0,1,2,3,4,5,6,7,8,9,10,11}int*p[3]={a[0],a[1],a[2]},**pp;pp=p;则对数组元素的错误引用是()。A.pp[0][1]B.a[1][2]C.p[3][1]D.*(*(p+2)+2)14.若有如下定义,则对ex中的a成员的正确引用是()。structsk{inta;floatb;}ex,*p=&ex;A.(*p).ex.aB.p-aC.p-ex..aD.p.ex.a15.设有如下定义,则下列叙述正确的是():char*aa[2]={abcd,ABCD};A.aa数组元素的值分别是abcd和ABCDB.aa是指针变量,它指向含有两个数组元素的字符型一维数组C.aa数组的两个元素分别存放的是含有四个字符的一维数组的首地址D.aa数组的两个元素中各自存放了字符'a'和'A'的首地址三、判断题1、在C语言中,可以用typedef定义新的数据类型。()2、函数若无返回值,则它一定无形参。()3、C语言中规定非零为真,零为假。()4、在C语言中,可以直接将一个整数作为地址赋给指针变量。()5、不同的C编译器中,整型的变量在内存中占的字节数是不同的。()6、C语言的函数可以嵌套定义。()7、表达式1/4+7%5的值是3。()8、共用体变量所占的总长度为各数据成员的长度之和。()9、C语言的源程序不必通过编译就可以直接运行。()10、C语言中函数的返回值为整型。()四、选择程序运行结果1、有以下程序floatfun(intx,inty){return(x+y);}voidmain(){inta=2,b=5,c=8;printf(“%3.0f\n”,fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是()。A.编译出错B.9C.21D.9.02、有以下程序voidfun(char*c,intd){*c=*c+1;d=d+1;printf(“%c,%c,”,*c,d);}voidmain(){chara=’A’,b=’a’;fun(&b,a);printf(“%c,%c\n”,a,b);}程序运行后的输出结果是()。A.B,a,B,aB.a,B,a,BC.A,b,A,bD.b,B,A,b3、有以下程序voidmain(){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0;for(i=0;i4;i++)s+=aa[i][1];printf(“%d\n”,s);}程序运行后的输出结果是()。A.11B.19C.13D.204、有以下程序intf(intn){if(n==1)return1;elsereturnf(n-1)+1;}voidmain(){inti,j=0;for(i=1;i3;i++)j+=f(i);printf(“%d\n”,j);}程序运行后的输出结果是()。A.4B.3C.2D.15、有以下程序voidmain(){chara[]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’,‘\0’};inti,j;i=sizeof(a);j=strlen(a);printf(“%d,%d\n”,i,j);}程序运行后的输出结果是()。A.9,9B.8,9C.1,8D.9,8五、编程题1、编程计算下列表达式:s=n!(n从键盘上输入,且n=9)2、输出1—100之间不能被12整除的数。3、从键盘上输入10个整数存入一维数组中,按由大到小的顺序输出。4、从键盘上输入9个数,按3行3列的格式输出。5、编程将文件read.txt中的字符读出显示到屏幕上。《C语言程序设计》复习题B(专科)一、填空题1、在C语言中整数可用_____进制数、_____进制数和_____进制数三种数制表示。。2、函数体由符号___开始,用符号___结束。函数体的前面是______部分,其后是______部分。3、表达式7+102&&25%5的结果是_______。4、C语言的预处理语句以__________开头。5、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为___________。for(i=0,j=10;i=j;i++,j--)k=i+j;6、int*p的含义是___________________________________________。7、在C语言中,参数传递的两种形式是_____________和_____________。8、定义fp为文件型指针变量的方法为_______________________。9、数组inta[3][3];共定义了____________个数组元素。10.C语句的最后用_______结束。11.运算符||!==+中优先级最低的是_______。12.C语言中逻辑运算符______的优先级高于算术运算符。13.若有定义:doublew[10];则数组元素下标的上限是______,下限是______。二、选择题1.高级语言编写的程序称为()。A.高级程序B.源程序C.目标程序D.BASIC程序2、下列字符中属于键盘符号的是()。A.\B.\nC.\tD.\b3、下列不正确的转义字符是()。A.\\B.\’C.074D.\04、不是C语言提供的合法关键字的是()。A.switchB.cherC.caseD.default5、C语言提供的合法关键字是()。A.nextB.stringC.docaseD.struct6、下列不正确的标识符是()。A.-a1B.a1iC.a2_iD.int_7、判断字符串a和b是否相等,应该使用()。A.if(a==b)B.if(a=b)C.if(strcpy(a,b))D.if(strcmp(a,b))8、若有说明:inta[][3]={1,2,3,4,5,6,7};则a的第一维的大小是()。A.2B.3C.4D.无确定值9、若变量已正确定义并赋值,符合C语言语法的表达式是()。A.a=a+7;B.a=7+b+c,a++C.int(12.3%4)D.a=a+7=c+b10、以下叙述中正确的是()。A.在C程序中无论整数还是实数,只要在允许的范围内都能准确无误的表示。B.C程序由主函数组成。C.C程序由函数组成。D.C程序由函数和过程组成。11、对关系表达式:1=x=2的正确描述是()。A.表达式语法错;B.无论X是何值,表达式为真;C.当X的值在1和2之间,表达式为真;D.若X的值2,表达式为假;12、若a=1,b=2,c=3,d=4;则条件表达式“ab?a:cd?c:d”的值为()。A.1B.2C.3D.413.设有如下程序段:inta[3][4]={0,1,2,3,4,5,6,7,8,9,10,11}int*p[3]={a[0],a[1],a[2]},**pp;pp=p;则对数组元素的错误引用是()。A.pp[0][1]B.a[1][2]C.p[3][1]D.*(*(p+2)+2)14、若有说明:intn=2,*p=&n,*q=p;,则以下非法的赋值语句是()。A.p=q;B.*p=*q;C.n=*q;D.p=n;15、有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n3);此处do—while循环的结束条件是()。A.P的值不等于12345并且n的值小于3B.P的值等于12345并且n的值大于等于3C.P的值不等于12345或者n的值小于3D.P的值等于12345或者n的值大于等于3三、判断题1、C语言源程序文件通过了编译、链接之后,生成一个后缀为.EXE的文件。()2.在C程序中,函数既可以嵌套定义,也可以嵌套调用。()3.在C程序中,APH和a

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

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

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

×
保存成功