2014计算机二级《C语言程序设计》全真测试(1) |
第1题:若已定义:inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为( )。 A.p+1 B.a+1 C.a++ D.++p |
【单选题】: |
第2题:下面的变量说明中__________是正确的。 A.char:a,b,c; B.chara;b;c; C.chara,b,c; D.chara,b,c |
【单选题】: |
第3题:定义如下变量和数组:inti;intx[3][3]={1,2,3,4,5,6,7,8,9}; 则语句for(i=0;i<3;i++)printf("%d",x[i][2-i]);的输出结果是( )。 A.159 B.147 C.357 D.369 |
【单选题】: |
第4题:设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为( )。 A.P+i*2 B.P+(i-1)*2 C.P+(i-1) D.P+i |
【单选题】: |
第5题:以下对二维数组a进行正确初始化的是( ) A.inta[2][3]={{1,2},{3,4},{5,6}}; B.inta[][3]={1,2,3,4,5,6}; C.inta[2][]={1,2,3,4,5,6}; D.inta[2][]={{1,2},{3,4}}; |
【单选题】: |
第6题:main() {intn;(n=6*4,n+6),n*2;printf(“n=%d\n”,n);} 此程序的输出结果是______________. A.30 B.24 C.60 D.48 |
【单选题】: |
第7题:C语言中以只读方式打开一个文件应选择_______________参数。 A.“r” B.“w” C.“rb” D.“a” |
【单选题】: |
第8题: 下列描述中不正确的是( )。 A. 字符型数组中可能存放字符串。 B. 可以对字符型数组进行整体输入、输出。 C. 可以对整型数组进行整体输入、输出。 D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。 &nBsp; |
【单选题】: |
第9题:出下列标识符中不是合法的标识符的是( )。 A.hot_do B.cat1 C._pri D.2ab |
【单选题】: |
第10题:若有如下定义,则__________是对数组元素的正确的引用。 inta[10],*p;p=a; A.*&a[10] B.a[11] C.*(p+11) D.*p*p*p |
【单选题】: |
第11题:读出以下语句的输出结果是( )。 intx=10,y=10; printf(“%d%d\n”,x--,--y); A.1010 B.99 C.910 D.109 |
【单选题】: |
第12题:下列程序执行后输出的结果是( )。 intd=1; fun(intp) {intd=5; d+=p++; printf("%d,",d);} main( ) {inta=3; fun(a); d+=a++; printf("%d\n",d);} A.8,4 B.9,6 C.9,4 D.8,5 |
【单选题】: |
第13题: 为了避免嵌套的条件分支语句iF—ElsE 的二义性,C语言规定:C程序中的ElsE总是与_____组成配对关系。 A. 缩排位置相同的iF B. 在其之前未配对的iF C. 在其之前未配对的最近的iF D. 同一行上的iF |
【单选题】: |
第14题:不能把字符串:Hello!赋给数组b的语句是( )。 A.charb[10]={’H’,’e’,’l’,’l’,’o’,’!’}; B.charb[10];b="Hello!"; C.charb[10];strcpy(b,"Hello!"); D.charb[10]="Hello!"; |
【单选题】: |
第15题:设有如下定义:intx=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y));的输出结果是( )。 A.1 B.0 C.4 D.3 |
【单选题】: |
第16题:运算符________的优先级最高。 A.[] B.+= C.?: D.++ |
【单选题】: |
第17题: 设有如下定义:ChAr *AA[2]={"ABCD","ABCD"};则以下说法中正确的是( )。 A. AA数组成元素的值分别是"ABCD"和ABCD" B. AA是指针变量,它指向含有两个数组元素的字符型一维数组 C. AA数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D. AA数组的两个元素中各自存放了字符’A’和’A’的地址 |
【单选题】: |
第18题:C语言中,合法的字符型常数是_________。 A.‘A’ B.“A” C.65 D.05 |
【单选题】: |
第19题: 设有说明DouBlE(*p1)[n];其中标识符p1是( )。 A. n个指向DouBlE型变量的指针。 B. 指向n个DouBlE型变量的函数指针。 C. 一个指向由n个DouBlE型元素组成的一维数组的指针。 D. 具有n个指针元素的一维指针数组,每个元素都只能指向DouBlE型量。 |
【单选题】: |
第20题:在C程序中有如下语句:char*func(intx,inty);它是( )。 A.对函数func的定义 B.对函数func的调用 C.对函数func的原型说明 D.不合法的 |
【单选题】: |
第21题:求主次对角线之和。 mAin() {stAtiC int A[ ][3]={9,7,5,1,2,4,6,8}; int i,j,s1=0,s2=0; For(i=0;i<3;i++) For(j=0;j<3;j++) {iF(__________) s1=s1+A[i][j]; iF( __________ ) s2=s2+A[i][j]; } printF(“%D\n%D\n”,s1,s2); } |
【填空题】: |
第22题:从键盘上输入10个数,求其平均值。 mAin() {inti; FloAt F,sum; For(i=1,sum=0.0;i<11;i++) {__________ ; __________ ; } printF(“AvErAgE=%F\n”,sum/10); } |
【填空题】: |
第23题:28mAin() {intA,B; For (A=1,B=1;A<=100;A++) { iF(B>=20) BrEAk; iF(B%3==1) {B+=3; ContinuE; } B-=5; } } 程序的输出结果A的值为__________。 |
【填空题】: |
第24题:int y=1, x, *p, A[ ]={2,4,6,8,10}; p=&Amp;A[1]; For(x=0;x<3;x++) y + = * (p + x); printF("%D\n",y); 程序的输出结果y的值是__________ 。 |
【填空题】: |
第25题:下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。 int n=0, Ch; Ch=gEtChAr( ); whilE( __________________ ) { iF ( ________________ ) n++; C=gEtChAr( ); } |
【填空题】: |
第26题:int *p 的含义是______________________________。 本题共2分,参考答案:指针变量p为整型 32int x=6, y=7; printF(“%D,”,x++); printF(“%D\n”,++y); 程序的输出结果是__________ 。 |
【填空题】: |
第27题:以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空. mAin() { FloAt x,AmAx,Amin; sCAnF("%F",&Amp;x); AmAx=x; Amin=x; whilE() { iF(x>AmAx) AmAx=x; iF()Amin=x; sCAnF("%F",&Amp;x); } printF("\nAmAx=%F\nAmin=%F\n",AmAx,Amin); } |
【填空题】: |
第28题:&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; FloAt F=3.1415927; printF(“%F,%5.4F,%3.3F”,F,F,F); 则程序的输出结果是__________。 |
【填空题】: |
第29题:FloAt F=3.1415927; printF(“%F,%5.4F,%3.3F”,F,F,F); 则程序的输出结果是__________ 。 |
【填空题】: |
第30题:语言源程序文件通过了编译、连接之后,生成一个后缀为.EXE的文件。 ( ) |
【判断题】: |
第31题:利用fclose函数关闭已打开的文件。 ( )。 |
【判断题】: |
第32题:表达式 0195 是一个八进制整数。( ) |
【判断题】: |
第33题:数组名代表数组的首地址。( ) |
【判断题】: |
第34题:在 C 程序中 ,APH 和aph代表不同的变量。( ) |
【判断题】: |
第35题:编程计算下列表达式:s=n!(n从键盘上输入) mAin() { long t=1; inti; For(i=1;i<=10;i++) t=t*i; printF("%lD",t); } |
【分析题】: |
第36题:从键盘上输出10个整数存入一维数组中,按由大到小的顺序输出。 mAin() { inti,j,A[10]; For(i=1;i<=10;i++) sCAnF("%D",&Amp;A[i]); For(i=0;i<9=;i++) For(j=9;j>i;j--) iF(A[j-1]{ t=A[j-1]; A[j-1]=A[j]; A[j]=t; } For(i=0;i<10;i++) printF("%D",A[i]); } |
【分析题】: |
第37题:三个整数A、B、C,由键盘输入,输出其中最大的数。 { intA,B,C; printF(“请输入三个整数:”); sCAnF(“%D,%D,%D”,&Amp;A,&Amp;B,&Amp;C); iF(AiF(BElsEprintF(“mAx=%D\n”,B); ElsE iF(AElsEprintF(“mAx=%D\n”,A); } |
【分析题】: |
第38题:请编一个函数int Fun(int A),它的功能是:判断A是否是素数,若A是素数,返回1;若不是素数,返回0。A的值由主函数从键盘读入。 int Fun(int A) {int i; iF(A==2) rEturn 1; i=2; whilE((A%i)!=0&Amp;&Amp;i<=sqrt((FloAt)A)) i++; iF(A%i==0) {printF(“%D is not A primE!”,A); rEturn 0; } printF(“%D is A primE!”,A); rEturn 1; } mAin() {int x; printF(“\n plEAsE EntEr A numBEr:”); sCAnF(“%D”,&Amp;x); printF(“%D\n”,Fun(x)); } |
【分析题】: |
第39题:写出下列程序的运行结果。 #inCluDE “stDio.h” mAin() { int A[]={1,2,3,-4,5}; intm,n,*p; p=&Amp;A[0]; m=*(p+1); n=*(p+4); printF(“%D %D %D ”,*p,m,n); } |
【分析题】: |
第40题:写出下列程序的运行结果。 mAin() { int n; For(n=3; n<=10; n++) { iF(n%6= =0) BrEAk; printF(“%D”,n); } } |
【填空题】: |