《2012福建c语言考题(共25页).doc》由会员分享,可在线阅读,更多相关《2012福建c语言考题(共25页).doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上选择题1、 以下叙述中错误的是()。A、 以一对“/*”和“*/”为定界符括起来的文字为注释部分 B、C源程序必须包含一个main()函数C、语句必须在一行内写完 D、所有语句都必须以分号“;”结束2、()为合法的浮点型常量。A、E-8 B、1.25E C、1E-8.5 D、1.0E-83、若已定义:int a,b; 则逗号表达式a=5,b=3,a*=a+b的值是()。A、15 B、8 C、28 D、404、若已定义:float a=1.2; int b=3; 则表达式b%5-a的值是()。A、1.8 B、-0.2 C、2 D、-1.25、求x平方根的正确函数调用是(
2、)。A、pow(x,2) B、sqr(x) C、sqrt(x) D、sqrt(x,2)6、若已定义:int a=1,b=3,c=2; 表达式值为0的是()。A、!(ab)&(a+c)b B、a=b C、abc D、aca+c-b7、若已定义:float x=2.6,y=1.3,z=3.0;表达式()与(x-y)*z/2的计算结果不相等。A、(1.0/2)*(x-y)*z B、(x-y)/2*z C、z/2*(x-y) D、(1/2)*(x-y)*z8、若已定义int a=3;b=2;以下程序段的运行结果是()。if(a= =3)if (b= =1) a+=b; printf(“%dn”,a);
3、elsea-=b; printf(“%dn”,a);A、1 B、6 C、5 D、39、以下程序段运行后的sum的值为()。Int i,j,sum=0;For(i=1;i3;i+)For(j=I;j=3;j+) Sum=sum+i+j;A、20 B、12 C、24 D、1810、()语句能正确定义a为整形数组。A、int n=10,an; B、int a(10); C、int an,n=10; D、int a10;11、若已定义int a34;,无法正确引用数组a元素的是()。A、ab-971 B、a05-2 C、a01 D、a01-4812、若已定义:char s20=”Goodohellow
4、orld”;则函数strlen(s+5)的值是()。A、10 B、8 C、6 D、5 13、以下程序的运行结果是()。#includeInt larger(int x,int y)return xy?x:y;Int largest(int x,int y,int z)return larger(larger(x,y),z);Void main()int a=3,b=-4,c=5;Printf(“larger=%d,largest=%n”,larger(a,b),laregest(larger(b,c),2*4,12);A、larger=3,largest=12 B、larger=3,large
5、st=5C、larger=5,largest=12 D、larger=5,largest=814、以下预编译处理指令中,错误的是()。A、#define MAX(x,y) (xy?x:y) B、#include”stdio.h”C、#include D、#define PI 3.14;15、若已定义:int a5,*p=a;无法引用数组元素a4的是()。A、*(&p0+4) B、p4 C、*p+4 D、*(p+4)16、以下程序的运行结果是()。#includeVoid min()int a5=16,8,3,5,12,*p=a,*q=&a4; Printf(“%dn”,q-p);A、1 B、3
6、 C、2 D、417、若有如下定义和语句,以下叙述错误的是()。Union datachar ch; Int I;x,*px=&x;x.i=66;printf(“%cn”,px-ch);A、 px和&x.ch值相同 B、px和& x值相同 C、&x.ch和&x.i值相同 D、输出字符A18、若已定义:int a10,*pi,(*ps)10;以下赋值语句中,错误的是()。A、pi=a;ps=pi; B、pi=a;ps&a;*(*ps)=10; C、ps=&a; D、pi=a+5;19、若有以下结构类型定义:Typedef struct studentint num; Float score;ST
7、U,*pstu;以下变量声明中,错误的是()。A、struct student *ps; B、pstu ps; C、stu *ps; D、student *ps;20、以下程序的可执行文件名为do.exe。#include#includeVoid min(int argc,char *argv)if(argc!=2)printf(“bad command found!n”);Exit(1);Printf(“hello%sn”,argv1);Getch();在DOS命令行输入:do me,则输出结果是()。A、 hello dome B、hello me C、bad command found!
8、 D、hello do21、c源程序由函数构成,而函数的基本组成单元是()。A、变量 B、语句 C、过程 D、表达式22、( )为合法的字符常量。A、n B、” C、xx D、”x”23、若已定义:int a,b=3,c;则()是不正确。A、c=(a=10,a+=6); B、c=(2=a)+b); C、b*=b+=2*b; D、c=6*b;24、若已定义:int a,b=6;执行语句a=-b;后变量a、b的值分别是()。A、5、5 B、6、5 C、6、6 D、5、625、若已定义:float x; char c;以下正确的输入语句是()。A、scanf(“%f%c”,&x,%c) B、scan
9、f(“%f%c”,&x,&c); C、scanf(“%f%c”,x,c); D、scanf(“%f,c”,&x,&c);26、若已定义:int x;能正确判断x为奇数的表达式是()。A、x%2!=0 B、x%2!=1 C、!(x%2) D、x%2= =027、若已定义:int a=1,b=2,c;语句c=1.0/b*4;执行后,变量c的值为()。A、2 B、3 C、0 D、128、以下程序段的运行结果是()。Int a=1,2,3,4,5,6,7,8,I,sum=0;For(i=0;i8;i+)If(i+1)%2)Sum+=ai;Printf(“%dn”,sum);A、16 B、18 C、20
10、 D、3629、若已定义int a4=1,-2,3,-4,5,-6,7,-8;,则表达式sizeof(a)/(sizeof(int4)的值为()。A、数组a1中的元素个数 B、数组a0的第一维长度C、数组a的第一维长度 D、数组a的元素个数30、以下程序的运行结果是()。#includeVoid main()char *str=”abc123”,*p=str;While(*p)putchar(*p+1); P+;A、cba234 B、123abc C、bcd234 D、abc12331、以下叙述错误的是()。A、宏定义不占用程序运行时间,但与程序中的语句一样需要编译B、一个c语言源程序可以有多
11、条预处理命令C、宏定义中的宏名一般用大写字母表示D、宏定义必须放置在它所在的源程序文件的最前面32、以下程序的输出结果是()。#includeVoid main()int a=11,12,13,-4,-5,-6,*p=a+sizeof(a)/sizeof(int)-1; While(p=a)(*p)+;p-;Printf(“%dn”,*(p+1);A、-4 B、-5 C、12 D、1133、若已定义:Struct studentint num; Float score;s,*ps=&s;以下不正确的语句是()。A、(*ps).score=90 B、ps-score=90 C、(*ps)-sco
12、re=90; D、s.score=90;34、若已定义:int a3=-3,10,-9,*p=a+2;则对数组元素a1错误引用的是()。A、*(p-1) B、*(-p) C、p-1 D、*p-35、以下程序段运行后,a,b,c的值分别是()。Int a=3,b=5,c;C=a&b;A、5,1,3 B、5,3,1 C、3,5,3 D、3,5,136、以下程序的可执行文件名为do.exe。#include#include#includeVoid main(int argc,char *argv)if(argc!=3)printf(“bad commnd found!n”); Exit(1);Pri
13、ntf(“%sn”,strcat(rgv1,argv2);在DOS命令行输入:do you me,则输出结果是()。A、do you B、meyou C、youme D、bad commnd found!37、C源程序需经过()生成可执行文件。A、编译和连接 B、录入和编辑 C、编辑和解释 D、调试和连接38、( )为合法的用户标识符。A、_3tree B、struct C、h2.7 D、8du39、()可产生(0,0.9)之间的随机数。A、rand()%10/10 B、rand()%10/10.0 C、srand()*10%10 D、srand()%10/10.040、若已定义:int a;
14、条件表达式()等价于求a的绝对值。A、a0?-a:a B、a0?-a:a D、a0?-a:a41、若已定义:int i=6; float x=1.5,y=3.5;则表达式x+i%(int)(x+y)值为()。A、7.5 B、2 C、2.7 D、2.542、若已定义:int a=1,b=2,c=3,x;以下程序段运行后x值为3的是()。A、if(ca)X=1;Else if(ba)X=2;ElseX=3;B、if(ab)X=b;If(bc)X=c;If(ac)X=3;Else if(ba)X=2;ElseX=1;D、if(ac)X=3;If(ab)X=2;If(a1)X=1;43、以下程序段运行
15、后k的值为()。Int I,k=3;For(i=1;i=5;i+) k+=1;If(k%2= =0) Continue;k+=2;A、12 B、9 C、11 D、1044、给数组a所有元素赋初值0的语句是()。A、int a=0*6; B、int a6=0; C、int a6=6*0; D、int a6=0;45、以下程序段的运行结果是()。Int a33=1,2,3,4,5,6,7,8,9,I;For(i=0;i D、=54、以下程序段的运行结果是()。Int x=10,y;If(x20)Y=9Else if(x10)Y=6;Else if(x5)Y=3;ElseY=1;Prinft(“%d
16、n”,y);A、3 B、1 C、9 D、655、以下叙述中错误的是()。A、定义数组时,若不加类型标识符则默认为整型B、可逐个引用数组元素但不能一次引用整个数组C、数组中每一个元素都属于同一个数据类型D、数组名代表数组的首地址56、以下叙述错误的是()A、预处理命令行都必须以#号开始B、若有int t;不能使用宏定义#define SWAP(x,y) t=x;x=y;y=tC、#define INPUT scanf的作用是用标识符INPUT代表scanfD、C语言源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率57、以下程序的运行结果是()。#includeVoid main()
17、int a,b,*pa=&a,*pb=&b; *pa=3;*pb=4;a=5;b=6; Pb=pa; Printf(“%dn”,*pa+*pb);A、10 B、11 C、12 D、758、以下程序的输出结果是()。#includeStruct studentint num,grade;s=111,80,112,90,113,70;Void main()struct student *ps=s+2;While(ps=s)ps-grade+=5; Ps-;printf(“%dn”,(ps+1)-grde);A、95 B、90 C、70 D、8559、使用FILE *fp=fopen(“c:scor
18、e.txt”,”a”),打开一个已经存在的文本文件score.txt后,文件指针移到()。A、可能文件首,也可能文件尾 B、不确定 C、文件尾 D、文件首60、结构化程序设计三种基本结构不包括( )。A、选择结构 B、数据结构 C、循环结构 D 、顺序结构61、以下不是C允许的十六进制数表达形式是( )。A、0x9b B、0x29 C、0x11 D、55H62、若定义:long int I; char c; float f; 则表达式i+c+(int)f结果的类型是( )。 A、double B、long int C、int D、char63、以下程序段运行结果是( )。 Int i ;For
19、(i=1;inum=110; B、stu0.score=stu1.score; C、(stu+3)-score+; D、*stu=*(stu=1);69、以下叙述中正确的是( )。A、结构化程序只能解决一些简单的数学问题B、结构化程序由顺序、选择、嵌套三种基本控制结构组成C、C语言是一种结构化程序设计语言D、为提高程序效率,应尽量使用Goto语句70、若定义int a=3,b=8;以下程序段的运行结果是( )。If (a=1) B=9 Printf(“a=%d,b=%dn,a,b);A、a=1,b=8 B、a=3,b=9 C、a=3,b=8 D、a=1,b=971、若定义char b20=”H
20、ow do you do!”; 实现输出字符串”do you do!”的语句是( )。A、printf(“%s”,b+4) B、puts(“%c”,b20); C、puts(“%s”,b); D、printf(“%c”,b+4);72、以下叙述错误的是( )。A、函数原型中可以不指明参数的类型 B、函数原型中可以不指明参数的名字C、定义函数时必须指明函数类型 D、定义函数时必须指明函数名73、若已定义:int a5=1,2,3,4,5, *pa=a+3; 以下叙述错误的是( )。A、*pa与a3的值相等 B、a- -与pa- -的作用相同 C、a2与*(pa-1)的值相同 D、a2与pa-1的
21、值相等74、以下程 段的输出结果是( )。 Int a5=12,-4,16,8,-10,*p; P=a+4; Printf(“%d”,*p- -);(*P)- -;Printf(“%dn”,*p);A、-10 -11 B、8 7 C、-10 7 D、8 1675、以下程序段运行,输出结果是( )。 Int a=2,b=3,c=10;C=(a1)|(b1);Printf(“%d %d %dn, a,b,c);A、2 3 10 B、2 5 7 C、3 2 5 D 、2 3 776、若已定义:int x=1,y=2;则( )是正确的。A、n+2=x*3 B、(x+0.8)%5 C、n=(x=2)*(
22、y=3) D、n=2x+y77、若已定义:int i=2, j=7; 则( )表达式不正确;A、(i-)+(j+) B、(i+)+(j+)+5 C、(i+)+j+(5+) D、(-i)+j78、能正确表示2t10的逻辑表达式是( )。A、2t2 & t2 | tt279、正确定义二维数组a的语句是( )。A、int a4,5 B、float a2+25 C、float a4 D、int a(4,3)80、以下枚举型的定义,正确的是( )。A、enum COLRred=1,blue=3,green=5; B、enum COLOR=“red”,”blue”,”green”; C、enum COLO
23、R=red,blue,green; D、enum COLOR“red”,”blue”,”green”;81、以下表达式中,( )无法正确表示右图所示的代数式;A、(a+b)*(a-c)/3*a B、(a+b)/a*(a-c)/3 C、(a+b)/(3*a)*(a-c) D、(a+b)*(a-c)/(3*a)82、若定义:char s150,s210=”abc”;, 执行语句printf(“%sn”,strcat(strcpy(s1,s2),”xyz”);后输出( )。A、xaybzc B、abcxyz C、axbycz D、xyzabc83、以下程序段的运行结果是( )。Char str =”
24、Computer”, *p=str+3;A、mputer B、m C、Computer D、puter84、以下程序的运行结果是( )。 #includeVoid main( ) char str =”abcd”,*p=str; While(*p) (*p)+; P+; Printf(“%sn”,str); A、bcde B、cdba C、abcd D、dcba85、以下叙述正确的是( )。A、在循环体内使用break语句和continue语句的作用相同B、continue语句的作用是使程序的执行流程跳出包含它的所有循环C、break语句只能用在循环体内和switch语句体内D、break语句
25、只能用在switch语句体内86、以下程序的运行结果是( )。#include Unsigned int f(unsigned int x) if(x= =1) return 1; Return 2*f(x/2);Void main( )printf(“%un”,f(10);A、1 B、4 C、16 D、887、若已定义:int i=10,*pi=&i; float x=5.6, *px=&x; 以下语句错误的是( )。A、*pi=i+20; B、x=*pi+*px; C、pi+px; D、(*px)=*pi+x;88、若有如下结构类型定义,以下错误的语句是( )。Struct PERSON
26、int num; Char name10;A、struct PERSON person; person.num=123;B、struct PERSON *p; p-name=”1234”;C、struct PERSON people100; (people+5)-num=1234;D、struct PERSON *p89、整型常量三种表示形式中不含( )。A、十进制 B、十六进制 C、八进制 D、二进制90、以下程序信息的运行结果是( )。 Int a3,k=3; a0=k; a1=a0+2; a2=a0*a1printf(“%dn”,a2);A、6 B、12 C、9 D、1591、以下程序段
27、的运行结果是( )。 Int a4=1,2,3,4,5,6,7,8,9,10,11,12; Printf(“%dn”,a00-a23);A、8 B、-11 C、10 D、-192、宏定义#define PI 3.14中,宏名PI是一个( )。A、字符变量 B、符号常量 C、单精度类型的常量 D、字符串常量93、对于无返回值的函数,在定义时建议使用( )的函数类型标识符。A、empty B、float C、double D、void 94、以下程序的运行结果是( )。 #includeVoid main( )int a23=1,2,3,4,5,6,*q=p+5;For(;q=p;q-) Prin
28、tf(“%d”,*q);A、3 2 1 4 5 6 B、6 5 4 3 2 1 C、4 5 6 3 2 1 D、1 2 3 4 5 6填空题一、#include #include void main() double a,b,c,circle,area; printf(Input 2 edges:); scanf(/*/%f,%f /*/,&a,&b); c=sqrt(/*/a*a+b*b /*/); circle=a+b+c; area=/*/(a*b)*0.5 /*/ ; printf(circle=%lfn,circle); printf(area=%lfn,area); getch()
29、;二、#include void main() int a,d,n,i; long x,sum; sum=/*/0 /*/; printf(a,d,n=); scanf(%d,%d,%d,&a,&d,&n); printf(Series of Numbers:n); x=a; for(i=1; i=/*/ n /*/; i+) printf(%d ,x); x=/*/x+d /*/; sum+=x; printf(n Sum=%ldn,sum); getch( );三、#include #include void main() char str100,a20,*p; int n=0,i,j;
30、int x; printf(Input string:); gets(str); /*/p=str; /*/ while(*p!=0) for(i=0; *p=0 & /*/*p0) x=0; for(j=0;ji;j+) x=x*10+aj-/*/48 /*/; printf(%d+15=%dn,x,x+15); n+; if(n=1)四、#include int CountNumber(unsigned long n) /*/int /*/ counter= 0 ; if(n=0 | n) return 0; while(n) n/=/*/ 10 /*/; counter+; return
31、 counter;void main() unsigned long x; printf(Pleae input x(x0 and x=:); scanf(%lu,&x); printf(The total number of digits is %d.n, /*/ CountNumber(x) /*/); getch();五、include void main() int n; /*/void PrintLetters(int n); /*/ printf(Please input n (n=1 and n=1&n=10) ) return; PrintLetters(n); getch()
32、;void PrintLetters(int n) char ch=a; int row,col; for(row=1;row=n;row+) for(col=1;/*/ col=2*row-1 /*/;col+) putchar(ch); /*/ ch+=1; /*/ printf(n); 六、#include void main() int i=1, mark; mark=/*/1 /*/; do if(i-2)%4=0) if(/*/ (i-3)%7=0 /*/ ) if(!(i-5)%9) printf(Sum=%dn,i); mark=0; /*/ i+ /*/; while(mar
33、k); getch( );七、#include void main() float x; int n; double Calculating(int); printf(Please input n (n=1 and n=1&n=1000) for( i=1;i=n;i+) r+=sign*(1.0/i); /*/ sign=-sign; /*/ return /*/ r /*/;八、#include long int fun(long int n) long int s; if(/*/ n=1 /*/) s=1; else s=n*n+/*/fun(n-1) /*/; return (s);void main() long int n; printf(Input n:); scanf(%ld,&n); if(/*/ n30) printf(%ld is error!n,n); else printf(Sum=%ldn,fun(n); getch();九、#include s