C语言程序设计(黑龙江工程学院)知道智慧树章节答案_第1页
C语言程序设计(黑龙江工程学院)知道智慧树章节答案_第2页
C语言程序设计(黑龙江工程学院)知道智慧树章节答案_第3页
C语言程序设计(黑龙江工程学院)知道智慧树章节答案_第4页
C语言程序设计(黑龙江工程学院)知道智慧树章节答案_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

第一章单元测试第二章单元测试第三章单元测试第四章单元测试第五章单元测试第六章单元测试第七章单元测试第八章单元测试第九章单元测试第十章单元测试第十一章单元测试第十二章单元测试第十三章单元测试第十四章单元测试第十五章单元测试第十六章单元测试1【单选题】(10分)人类通过不同的语言进行交流,人与计算机的交流是通过()来实现的。正确答案:BA.自然语言B.程序设计语言C.文字D.机械操作2【单选题】(10分)高级语言处于程序设计语言发展的第()个阶段。正确答案:AA.三B.二C.四D.一3【单选题】(10分)C语言的创始人是()。正确答案:DA.比尔·盖茨B.肯·汤普逊C.冯·诺依曼D.丹尼斯·里奇4【单选题】(10分)C语言源程序中main函数()。正确答案:AA.有且只能有一个B.可有可无C.可以有一个D.可有多个5【单选题】(10分)C语言源程序文件扩展名为()。正确答案:DA.objB.cppC.exeD.c6【单选题】(10分)下列说法中不正确的是(

)。正确答案:CA.C程序书写时,一个语句可分成几行书写B.C程序书写时,一行可以写多个语句C.C程序书写时每行必须有行号D.C程序书写时,区分大小写字母7【判断题】(10分)C语言是结构化语言。正确答案:AA.对B.错8【判断题】(10分)C语言是面向对象语言。正确答案:AA.错B.对9【判断题】(10分)C语言是面向过程语言。正确答案:BA.错B.对10【判断题】(10分)开发C语言程序包括编辑源程序、编译、运行三个步骤。正确答案:BA.对B.错1【单选题】(10分)表达式:(int)((double)9/2)-9%2的值是_____正确答案:DA.5B.4C.0D.32【单选题】(10分)以下选项中关于C语言常量的叙述错误的是_______正确答案:BA.常量可分为数值型常量和非数值型常量B.经常被使用的变量可以定义成常量C.所谓常量,是指在程序运行过程中,其值不能被改变的量D.常量分为整型常量、实型常量、字符常量和字符串常量3【单选题】(10分)以下选项中,能用作用户标识符的是________正确答案:DA.unsignedB.8_8C.voidD._0_4【单选题】(10分)以下选项中能表示合法常量的是______正确答案:AA.‘’B.1,200C.3lfD.1.5E2.05【单选题】(10分)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是___________正确答案:BA.大写字母B.连接符C.下划线D.数字字符6【单选题】(10分)以下选项中正确的定义语句是__________正确答案:DA.doublea;b;B.double,a,b;C.doublea=b=7;D.doublea=7,b=7;7【单选题】(10分)设有定义intk=0;以下选项的四个表达式中与其他三个表达式的值不相同的是______正确答案:AA.k++B.k+=1C.k+1D.++k8【单选题】(10分)以下叙述中正确的是_____正确答案:BA.同一英文字符的大写和小写形式代表的是同一字符常量B.字符常量可以参与整数运算C.字符变量在定义时不能赋初值D.转义字符用@符号开头9【判断题】(10分)C语言中依据程序编译器的不同,int定义的字节数不同,不短于short,不长于long,一般为2或4个字节。正确答案:AA.对B.错10【判断题】(10分)C语言的整型常量有二进制、八进制、十进制和十六进制四种表示方式。正确答案:BA.对B.错1【单选题】(10分)以下不属于结构化程序设计中基本结构的是_________。正确答案:AA.跳转结构B.循环结构C.选择结构D.顺序结构2【单选题】(10分)以下类型的C语句中,不属于简单语句的是_________。正确答案:BA.表达式语句B.条件语句C.复合语句D.空语句3【单选题】(10分)若int类型数据占2个字节,则下列语句的输出结果为________。intk=-1;printf(“%d,%u,%o”,k,k,k);正确答案:DA.-1,32767,-177777B.-1,32768,177777C.-1,-1,-1D.-1,65535,1777774【单选题】(10分)下列程序的输出是_______。#include<stdio.h>main(){printf(“%d”,null);}正确答案:DA.1B.-1C.0D.变量无定义5【单选题】(10分)以下关于结构化程序设计中的三种基本结构,叙述不正确的是________。正确答案:BA.顺序结构是最简单的一种基本结构。B.循环结构中,需先对循环条件进行判断,条件成立才执行循环体。C.选择结构也叫做分支结构,在该结构下只能选择程序的一条分支来执行,同时该分支可以为空。D.每种基本结构均有唯一的一个入口和唯一的一个出口。6【单选题】(10分)在scanf函数中,附加格式字符h表示输入短整型数据,不能与其共同使用的格式字符是_______。正确答案:BA.dB.fC.oD.x7【单选题】(10分)printf(“%5.3s,%-5.3s,%2.3s”,“China”,“China”,“China”);以上语句的运行结果是_______。正确答案:AA.□□Chi,Chi□□,ChiB.□□ina,ina□□,inaC.Chi□□,□□Chi,ChiD.□□Chi,Chi□□,Ch8【单选题】(10分)floata=1234.56;printf(“%e,%9e,%9.1e”,a,a,a);以上语句的运行结果是_______。正确答案:DA.1.23456e+003,1.23456e+003,□1.2e+003B.1.234560e+003,1.234560e+003,□□1.2e+003C.1.234560e+3,1.234560e+3,□□□1.2e+3D.1.234560e+003,1.234560e+003,□1.2e+0039【单选题】(10分)scanf(“%3d%*3d%3d”,&x,&y);当输入数据3456789012时,x,y的取值分别为________。正确答案:AA.x=345,y=901B.x=345,y=678C.x=789,y=012D.x=456,y=01210【判断题】(10分)以下字符输入输出函数中,用于输入单个字符的函数是gets()。正确答案:AA.错B.对1【单选题】(10分)已知语句“if(w)…;else…;”,与表达式w的等价表示是:()正确答案:DA.w!=1B.w==0C.w==1D.w!=02【单选题】(10分)设x,y,z为int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是(

)。正确答案:AA.!((x<y)&&!z||1)B.x<=yC.'x'&&'y'D.x||y+z&&y-z3【单选题】(10分)表示算术关系12<=x<=y的C语言表达式为()正确答案:BA.(12<=x)|(x<=y)B.(12<=x)&&(x<=y)C.(12<=x)||(x<=y)D.(12<=x)&(x<=y)4【单选题】(10分)判断char型变量ch是否为大写字母的正确表达式是()正确答案:AA.(ch>=‘A’)&&(ch<=‘Z’)B.(‘A’<=ch)AND(‘Z’>=ch)C.A’<=ch<=‘Z’D.(ch>=‘A’)&(ch<=‘Z’)5【单选题】(10分)若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是()正确答案:BA.!(A%2==0)B.!(A%2)C.A%2==1D.A%26【单选题】(10分)设有:inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为()正确答案:CA.3B.4C.2D.17【单选题】(10分)以下程序的运行结果是()main(){

intm=5;if(m++>5)printf(“%d\n”,m);else;printf(“%d\n”,m--);}正确答案:CA.7B.4C.6D.58【单选题】(10分)若运行时给变量x输入12,则以下程序的运行结果是()main(){

intx,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\n”,y);}正确答案:BA.4B.0C.2D.39【单选题】(10分)main(){inti=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);}执行后输出结果是()正确答案:CA.2,2,3B.2,2,1C.2,2,2D.1,1,210【判断题】(10分)逻辑运算符两侧运算对象的数据类型可以是任何类型的数据。正确答案:BA.错B.对1【单选题】(10分)以下程序的运行结果是()main(){inta=2,b=-1,c=2;if(a<b)if(b<0)c=0;elsec+=1;printf("%d\n",c);}正确答案:DA.3B.0C.13D.22【单选题】(10分)main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf("a=%d,b=%d",a,b);}运行改程序后a和b的值分别为()正确答案:AA.2,1B.1,1C.2,2D.1,03【单选题】(10分)有以下程序#include<stdio.h>main(){inta=1,b=0;if(!a)b++;elseif(a==0)

if(a)b+=2;elseb+=3;printf(“%d\n”,b);}程序运行后的输出结果是()正确答案:BA.1B.0C.2D.34【单选题】(10分)若整数x分别等于95、87、100、43、66、79,则以下程序段运行后屏幕显示是什么?switch(x/10){ case 6:case 7:         printf("Pass\n");  break;case 8:         printf("Good\n");  break;case 9:case 10:        printf("VeryGood\n");  break;default:        printf("Fail\n");}1.x等于95时,程序段运行后屏幕上显示()2. x等于87时,程序段运行后屏幕上显示()3.x等于100时,程序段运行后屏幕上显示()4.x等于43时,程序段运行后屏幕上显示()5.x等于66时,程序段运行后屏幕上显示()6.x等于79时,程序段运行后屏幕上显示()A.Pass

B.Good

C.VeryGood

D.Fail正确答案:DA.DCCDACB.ABCDAAC.BCDCDAD.CBCDAA5【单选题】(10分)分析以下程序,下列说法正确的是()main(){ int x=5,a=0,b=0;if(x=a+b)printf("* * * *");elseprintf("# # # #");}正确答案:DA.有语法错,不能通过编译B.输出* * * *C.通过编译,但不能连接D.输出# # # #6【单选题】(10分)有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}该程序的输出结果是()正确答案:DA.0.000000B.0.250000C.1.000000D.0.5000007【单选题】(10分)以下不正确的if语句形式是()正确答案:DA.if(x<y){x++;y++;}B.if(x==y)x+=y;C.if(x>y&&x!=y);D.if(x!=y)scanf("%d",&x)elsescanf("%d",&y);8【单选题】(10分)inta=3,b=2,c=1;if(a>b>c)a=b;elsea=c;则a的值是()正确答案:AA.1B.0C.2D.39【单选题】(10分)有以下程序main(){inta=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);elseif((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);}执行后输出结果是()正确答案:CA.4B.2C.3D.编译时出错10【判断题】(10分)C语言的if语句嵌套时,if与else的配对关系是:每个else总是与它上面的if配对。正确答案:BA.对B.错1【单选题】(10分)以下叙述中正确的是________。正确答案:DA.当break出现在循环体中的switch语句体内时,其作用是跳出该switch语句体,并终止循环B.在while语句和do-while语句中无法使用continue语句C.continue语句的作用是:在执行完本次循环体中剩余语句后,终止循环D.只能在循环体内和switch语句体内使用break语句2【单选题】(10分)以下不构成无限循环的语句或者语句组是_________。正确答案:AA.n=0;do{++n;}while(n<=0);B.n=0;while(1){n++;}C.n=10;while(n);{n--;}D.for(n=0,i=1;;i++)n+=i;3【单选题】(10分)下列语句中,有语法错误,不能编译的是_____。正确答案:CA.while(0);B.do2;while(a==b);C.dox++while(x==10);D.while(x=y)5;4【单选题】(10分)以下程序段中,while循环执行的次数是________。intk=0;while(k=1){k++;}正确答案:AA.无限次B.有语法错误,不能执行C.一次也不执行D.执行一次5【单选题】(10分)以下程序段执行后,输出结果是inti,sum=0;for(i=1;i<6;i++){sum+=i;}printf("%d",sum);正确答案:CA.不确定B.14C.15D.06【单选题】(10分)循环语句“for(x=0,y=0;(y!=123))||(x<4);x++);”的循环次数为________。正确答案:DA.不确定B.4次C.3次D.无限次7【单选题】(10分)下述程序代码段输出的结果是________。for(k=1;k<10;k++);printf("k=%d,k=%o,k=%x",k,k,k);正确答案:DA.k=11,k=013,k=0xbB.k=11,k=12,k=11C.k=10,k=12,k=13D.k=11,k=13,k=b8【单选题】(10分)以下程序段中,while循环的循环次数是________。inti=0;while(i<10){if(i<1){continue;}if(i==5){break;}i++;}正确答案:BA.1B.死循环C.10D.69【判断题】(10分)对于“for(表达式1;表达式2;表达式3)循环体”,当表达式2的值为真时,会重复执行表达式1,循环体和表达式3。正确答案:AA.错B.对10【判断题】(10分)在循环语句“do语句while(条件);”中,当条件为0时结束循环。正确答案:BA.错B.对1【单选题】(10分)程序功能:输入n的值(n<10),计算1!+2!+3!+......+n!,并输出计算结果。程序中空白处应该填________。#include<stdio.h>intmain(){inti,n;longsum=0,fac=1;

//fac存储每个加项(阶乘)的值printf("请输入n的值:");scanf("%d",&n);for(i=1;i<=n;i++){___________

//后一加项与前一加项的关系sum=sum+fac;}printf("和为%ld",sum);return0;}正确答案:CA.fac=fac+sum;B.fac++;C.fac=fac*i;D.sum=sum*i;2【单选题】(10分)若有整型变量i,j,则以下程序段中内循环体“printf("ok");”的循环次数为________。for(i=5;i;i--){for(j=0;j<4;j++){printf("ok");}}正确答案:CA.25B.30C.20D.243【单选题】(10分)以下程序段的输出结果是________。inti=0,a=0;while(i<20){for(;;){if(i%10==0){break;}else{i--;}}i+=11;a+=i;}printf("%d",a);正确答案:CA.21B.33C.32D.114【单选题】(10分)假定a和b为int型变量,则执行以下语句后b的值为________。a=1;b=10;do{b-=a;a++;}while(b--<0);正确答案:CA.9B.-2C.8D.-15【单选题】(10分)设x和y均为int型变量,则执行下面的循环后y的值为for(y=1,x=1;y<=50;y++){if(x>=10){break;}if(x%2==1){x+=5;continue;}x-=3;}正确答案:CA.4B.2C.6D.86【单选题】(10分)设i,j,k均为整型变量,则执行如下语句后,k的值为________。for(i=0,j=10;i<=j;i++,j--){k=i+j;}正确答案:CA.9B.8C.10D.117【单选题】(10分)以下程序段的输出结果是________。inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;}}printf("%d",a);正确答案:AA.31B.10C.20D.138【单选题】(10分)以下程序段运行时,如果从键盘输入1298再回车,则输出结果为intn1,n2;scanf("%d",&n2);while(n2!=0){n1=n2%10;n2=n2/10;printf("%d",n1);}正确答案:CA.1298B.9C.8921D.19【单选题】(10分)以下程序段的输出结果是________。inti=10,j=0;do{j=j+i;i--;}while(i>2);printf("%d",j);正确答案:DA.48B.54C.25D.5210【判断题】(10分)for(;;)和while(1)构成的都是无限循环。正确答案:BA.错B.对1【单选题】(10分)如有定义语句inta[]={1,8,2,8,3,8,4,8,5,8};,则数组a的大小是________。正确答案:BA.8B.10C.不定D.112【单选题】(10分)有如下说明:

inta[10]={0,1,2,3,4,5,6,7,8,9};则数值不为9的表达式是________。正确答案:BA.a[10-1]B.a[8]C.a[9]-0D.a[9]-a[0]3【单选题】(10分)下列程序执行后的输出结果是__________。main(){inta,b[5];a=0;b[0]=3;printf("%d,%d",b[0],b[1]);

}正确答案:CA.0,3B.3

0C.3,不定值D.3,04【单选题】(10分)以下程序输出的结果是________。#include

<stdio.h>main(){inta[]={1,2,3,4,5},i,j,s=0;for(i=0;i<5;i++)s=s*10+a[i];printf("s=%d",s);

}正确答案:AA.s=12345B.s=54321C.s=1,2,3,4,5D.s=5,4,3,2,15【单选题】(10分)执行下面的程序段后,变量k中的值为__________。intk=3,s[2];s[0]=k;k=s[1]*10;正确答案:BA.10B.不定值C.30D.336【单选题】(10分)假定一个int型变量占用四个字节,若有定义:intx[10]={0,2,4};则数组x在内存中所占字节数是。正确答案:AA.40B.6C.10D.37【判断题】(10分)inta[3]定义了一个整型数组,它的3个元素是a[1],a[2]和a[3]。正确答案:AA.错B.对8【判断题】(10分)可以在定义数组时只给一部分数组元素赋值。正确答案:AA.对B.错9【判断题】(10分)对数组元素赋予的初值可以依次放在一对圆括号内。正确答案:BA.对B.错10【判断题】(10分)inta[3]定义了一个整型数组,它的3个元素是a[0],a[1]和a[2]。正确答案:AA.对B.错1【单选题】(10分)在定义intn[5][6];后,若认为n[0][0]为第1个元素,则第10个元素是________。正确答案:CA.n[2][5]B.n[1][4]C.n[1][3]D.n[2][4]2【单选题】(10分)下列二维数组初始化语句中,正确的是__________。正确答案:AA.inta[][3]={8,0,7,0,3,l,2,5};B.inta[][]={{9,3,1},{8,4,2},{3,5,7}};C.floata[2][3]={{l,2},{3,4},{5,6}};D.floata[3][]={{1,2,3},{4,5,6},{7,8,9}};3【单选题】(10分)若定义chara[]="Hello!";则strlen(a)、sizeof(a)的值分别为。正确答案:CA.76B.78C.67D.774【单选题】(10分)以下程序的输出结果是(

)。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d",a[0][3],a[1][2],a[2][1],a[3][0]);}正确答案:BA.5430B.0650C.输出值不定D.14705【单选题】(10分)若有定义:inta[2][4];,则引用数组元素正确的是。正确答案:BA.a[2][2]B.a[0][3]C.a[0][4]D.a[2][2+1]6【单选题】(10分)若定义一个名为s且初值为"123"的字符数组,则下列定义错误的是________。正确答案:DA.chars[]={’1','2','3',''};B.chars[]={"123"};C.chars[4]={'1','2','3'};D.chars[]={‘123’};7【单选题】(10分)设有定义:chars[12]="string";则printf("%d",strlen(s));的输出结果是________。正确答案:DA.12B.11C.7D.68【单选题】(10分)语句printf("%d",strlen("abs\101"));的输出结果是________。正确答案:BA.8B.4C.10D.79【判断题】(10分)在用字符数组来处理字符串时,应始终保证数组的长度大于字符串的实际长度。正确答案:AA.对B.错10【判断题】(10分)使用字符串连接函数strcat(字符数组1,字符数组2)时,字符数组1要定义足够的长度,才能装入全部被连接的字符串,而使用strcpy(字符数组1,字符数组2)函数时,无需考虑字符数组1的长度问题。正确答案:BA.错B.对1【单选题】(10分)在C语言中,若定义函数时对函数类型未加显式说明,则函数的隐含类型为_______。正确答案:AA.intB.voidC.charD.double2【单选题】(10分)在C语言的函数调用中,如果普通变量作为函数的参数,则调用函数时_______。正确答案:BA.由用户确定是否共用一个存储单元B.实参和形参分别占用一个独立的存储单元C.实参和形参共用一个存储单元D.由计算机系统确定是否共用一个存储单元3【单选题】(10分)在C语言的函数调用中,如果普通变量作为函数的实参,则它与对应形参之间的传递方式是_______。正确答案:AA.单向值传递B.地址传递C.由实参传递给形参,再由形参传递给实参D.由用户指定传递方式4【单选题】(10分)下面对函数的叙述,正确的是_______。正确答案:AA.函数中的返回值,是通过return语句获得的B.函数中无论是否有return语句,都能返回正确值C.函数不能嵌套定义D.函数中没有return语句,说明函数不带值5【单选题】(10分)在C语言中规定,函数返回值的类型由_______。正确答案:BA.调用该函数时系统临时决定B.定义该函数时所指定的函数类型决定C.return语句中的表达式类型决定D.调用该函数的主调函数决定6【单选题】(10分)函数调用在程序中出现的位置一般有3种方式,下面叙述中错误的是_______。正确答案:BA.函数调用可以出现在表达式中B.函数调用可以作为一个函数的形参C.函数调用可以作为独立的语句存在D.函数调用可以作为一个函数的实参7【单选题】(10分)下面程序的输出结果是_______。#include<stdio.h>doublefunc(intx,inty,intz);intmain(void){doublex;inta=3,b=4,c=5;x=func(a,b,c);printf("%f",x);return0;}doublefunc(intx,inty,intz){doublet;t=x%y*z;returnt;}正确答案:CA.3B.3.000000C.15.000000D.158【单选题】(10分)在C语言中,函数调用语句function((a,b,c),(d,e));中参数的个数是_______。正确答案:BA.4B.2C.1D.59【判断题】(10分)在C语言中,程序的基本单位是文件。正确答案:AA.错B.对10【判断题】(10分)在C语言中,程序进行编译的单位是文件。正确答案:BA.错B.对1【单选题】(10分)下面叙述中不正确的是_______。正确答案:CA.在不同的函数中可以使用相同名字的变量,它们在内存中占用不同的单元B.在一个函数中定义的变量只在本函数范围内有效C.在一个函数内的复合语句中定义的变量只在本函数范围内有效D.函数中的形参是函数自己的局部变量2【单选题】(10分)下面叙述中不正确的是_______。正确答案:BA.在没有声明函数返回值类型时,函数返回值的类型默认为intB.函数的类型可以是整型、实型、字符型,但不可以是指针型C.函数可以没有形参,可是函数名后的一对括号却不能省略D.在C语言中,不能在一个函数的内部再定义函数3【单选题】(10分)下面程序的输出结果是_______。#include<stdio.h>intfunction(inta,intb);intmain(void){intx=5,y=3,s;s=function(x,y);printf("%d",s);return0;}intfunction(inta,intb){returna*a-b*b;}正确答案:BA.2B.16C.32D.84【单选题】(10分)下面程序的输出结果是_______。#include<stdio.h>longfunc(intn);intmain(void){printf("%ld",func(5));return0;}longfunc(intn){if(n>2){returnfunc(n-1)+func(n-2);}else{return1;}}正确答案:BA.7B.5C.8D.65【单选题】(10分)下面程序的输出结果是_______。#include<stdio.h>intfunc(void);intmain(void){inti,s;for(i=0;i<4;i++)s=func();printf("%d",s);return0;}intfunc(void){staticintx=6;x++;returnx;}正确答案:CA.9B.8C.10D.76【单选题】(10分)下面程序中应该补充(填写在横线位置)的代码是_______。#include<stdio.h>intmax(intx,inty);

//函数功能:求两数中的较大数intmain(void){inta,b,c;scanf("%d,%d",&a,&b);c=__________________;printf("maxis%d",c);return0;}intmax(intx,inty){intz;if(x>y)

z=x;

else

z=y;returnz;}正确答案:BA.max(x,y)B.max(a,b)C.max(&a,&b);D.intmax(inta,intb)7【单选题】(10分)下面程序中应该补充(填写在横线位置)的代码中,有错的是#include<stdio.h>______________________________intmain(void){inta,b,c;scanf("%d,%d",&a,&b);c=min(a,b);printf("minis%d",c);return0;}//函数功能:求两数中的较大数intmin(intx,inty){intz;z=x<y?x:y;returnz;}正确答案:AA.intmin(intx,inty)B.intmin(int,int);C.min(intx,inty);D.intmin(intx,inty);8【单选题】(10分)下面程序的输出结果是_______。#include<stdio.h>voidincrement(void);intmain(void){increment();

increment();

increment();return0;}voidincrement(void){intx=0;x+=1;printf("%d",x);}正确答案:BA.1B.1

1

1C.1

2

3D.3

3

39【判断题】(10分)在函数调用中,若funA调用了函数funB,函数funB又调用了函数funA,则这是一个不合法的调用。正确答案:BA.对B.错10【判断题】(10分)在一个源程序文件中定义的全局变量的作用域为从定义该变量的位置开始至本文件结束。正确答案:AA.对B.错1【判断题】(10分)若有定义inta[]={2,4,6,8,10},p=a;a的值是数组首地址,则*(p+1)的值是4。正确答案:BA.错B.对2【判断题】(10分)关于C语言指针的运算:指针只有加减操作,没有乘除操作。指针可以加常数、减常数;相同类型的指针可以相加、相减。正确答案:AA.错B.对3【单选题】(10分)已有定义intk=2;int*ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是。正确答案:BA.k=*ptr1+*ptr2B.ptr2=kC.k=*ptr1*(*ptr2)D.ptr1=ptr24【单选题】(10分)若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是。正确答案:BA.&*a,&a,*pointB.&a,&*point,pointC.*&point,*point,&aD.a,point,*&a5【单选题】(10分)若有说明;int*p,m=5,n;以下正确的程序段的是。正确答案:DA.p=&n;scanf("%d",&p);B.scanf("%d",&n);*p=n;C.p=&n;scanf("%d",*p);D.p=&n;*p=m;6【单选题】(10分)若已定义chars[10];则在下面表达式中不表示s[1]的地址是。正确答案:CA.s+1B.&s[1]C.s++D.&s[0]+17【单选题】(10分)若有定义:inta[5],*p=a;则对a数组元素的正确引用是。正确答案:BA.*(p+5)B.*(a+2)C.a+2D.*&a[5]8【单选题】(10分)有以下程序段inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;

b=p[5];

b中的值。正确答案:DA.6B.5C.8D.99【单选题】(10分)若有以下定义,int

a[10],*p=a;则p+5表示。正确答案:DA.元素a[5]的值B.元素a[6]的地址C.元素a[6]的值D.元素a[5]的地址10【单选题】(10分)设已有定义:inta[10]={15,12,7,31,47,20,16,28,13,19},*p;下列语句中正确的是。正确答案:AA.for(p=a;p<(a+10);p++);B.for(p=a;a<(p+10);a++);C.for(p=a,a=a+10;p<a;p++);D.for(p=a;a<p+10;++a);1【判断题】(10分)指针数组的每个元素都是一个指针变量。正确答案:BA.错B.对2【判断题】(10分)可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数。正确答案:BA.错B.对3【单选题】(10分)下面程序段的运行结果是。chara[]=”language”,*p;p=a;while(*p!=’u’){printf(“%c”,*p-32);p++;}正确答案:CA.languageB.langUAGEC.LANGD.LANGUAGE4【单选题】(10分)设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是。正确答案:CA.p1=p2B.c=*p1+*p2;C.p2=cD.c=*p1*(*p2);5【单选题】(10分)已有函数max(a,b),为了让函数指针变量p指向函数max,正确的赋值方法是。正确答案:BA.*p=max(a,b);B.p=max;C.p=max(a,b);D.*p=max;6【单选题】(10分)若有函数max(a,b),并且已使函数指针变量p指向函数max,当调用该函数时,正确的调用方法是。正确答案:DA.*p(a,b);B.*pmax(a,b);C.(*p)max(a,b);D.(*p)(a,b);7【单选题】(10分)下面选项属于函数指针的是。正确答案:CA.两者都是B.int*p(int,int)C.两者都不是D.(int*)p(int,int)8【单选题】(10分)若有以下函数首部int

fun(double

x[10],int

*n),则下面针对此函数的函数声明语句中正确的是。正确答案:BA.int

fun(double

,int);B.int

fun(double*,

int*);C.int

fun(doublex,int*n);D.int

fun(double*x,intn);9【单选题】(10分)已定义以下函数fun(int

*p){

return

*p;

}该函数的返回值是。正确答案:AA.形参p所指存储单元中的值B.形参p的地址值C.形参p中存放的值D.不确定的值10【单选题】(10分)以下正确的程序段是。正确答案:AA.charstr[20];scanf("%s",&str[2]);B.charstr[20];scanf("%s",&str);C.charstr[20],*p=str;scanf("%s",p[2]);D.char*p;scanf("%s",p);1【判断题】(10分)预处理命令的前面必须加一个“#”号。正确答案:BA.错B.对2【判断题】(10分)宏定义不是C语句,不必在行末尾加分号。正确答案:BA.错B.对3【单选题】(10分)以下程序的输出结果为。#define PT 5.5#define S(x) PT*x*xmain(){int a=1,b=2;printf(“%4.1f”,S(a+b));  }正确答案:DA.12.0B.12.5C.33.5D.9.54【单选题】(10分)以下程序的运行结果是。#defineMIN(x,y)(x)<(y)?(x):(y)main(){inti=10,j=15,k;k=10*MIN(i,j);printf(“%d”,k);}正确答案:AA.15B.10C.150D.1005【单选题】(10分)若有以下宏定义如下:#defineN2#defineY(n)((N+1)*n)则执行语句z=2*(N+Y(5));后的结果是。正确答案:BA.z无定值B.z=34C.z=70D.语句有错误6【单选题】(10分)C语言的编译系统对宏命令的处理是。正确答案:BA.在程序连接时进行的B.在对源程序中其它成份正式编译之前进行的C.和C程序中的其它语句同时进行编译的D.在程序运行时进行的7【单选题】(10分)以下有关宏替换的叙述不正确的是。正确答案:AA.宏名必须用大写字母表示B.宏名无类型C.宏替换不占用运行时间D.宏替换只是字符替换8【单选题】(10分)在宏定义#definePI3.14159中,用宏名PI代替一个。正确答案:BA.常量B.字符串C.双精度数D.单精度数9【单选题】(10分)请读程序:#defineADD(x)x+xmain(){intm=1,n=2,k=3;intsum=ADD(m+n)*k;printf(“sum=%d”,sum);}上面程序的运行结果是。正确答案:BA.sum=18B.sum=10C.sum=9D.sum=1210【单选题】(10分)以下叙述中不正确的是。正确答案:AA.C程序在执行过程中对预处理命令行进行处理B.预处理命令行都必须以#号开始C.以下是正确的宏定义#defineIBM_PCD.在程序中凡是以#号开始的语句行都是预处理命令行1【单选题】(10分)下面结构体的定义语句中,错误的是()。正确答案:DA.structord{intx;inty;intz;};structorda;B.structord{intx;inty;intz;}a;C.struct{intx;inty;intz;}a;D.structord{intx;inty;intz;}structorda;2【单选题】(10分)有以下的结构体变量定义语句:structstudent{intnum;charname[9];}stu;则下列叙述中错误的是()。正确答案:AA.结构体类型名为stuB.struct是C的关键字C.结构体名为studentD.num是结构体成员名3【单选题】(10分)设有定义:struct{charmark[12];intnum1;doublenum2;}t1,t2;若变量均已正确赋初值,则以下语句中错误的是()。正确答案:DA.t2.num2=t1.num2;B.t2.num1=t1.num1;C.t2.mark=t1.mark;D.t1=t2;4【单选题】(10分)若有如下说明语句,则下面叙述中不正确的是()。structstudent{longnum;charname[20];charsex;intage;}stu;正确答案:AA.stu是结构体类型名B.structstudent是结构体类型C.num,name,sex,age都是结构体成员名D.struct是结构体类型关键字5【单选题】(10分)若有如下说明语句,则定义了()。unionstudent{longnum;charname[20];charsex;intage;};正确答案:AA.共用体类型B.共用体变量C.结构体类型D.结构体变量6【单选题】(10分)当定义一个结构体变量时,系统分配给它的内存空间字节数是()。正确答案:CA.结构体中最后一个成员所需内存字节数B.成员中占内存字节数最大的C.各成员所需内存字节数的总和D.结构体中第一个成员所需内存字节数7【单选题】(10分)以下程序在VC6.0下运行后的输出结果为()。#include<stdio.h>structdt{chara[4]

温馨提示

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

评论

0/150

提交评论