201012真题C语言(含答案).doc_第1页
201012真题C语言(含答案).doc_第2页
201012真题C语言(含答案).doc_第3页
201012真题C语言(含答案).doc_第4页
201012真题C语言(含答案).doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

0124、以下叙述正确的是( )。A.注释部分可单独占用一行,也可跟在语句的后面B.函数体定界符也可用一对方括号 C.C语言源程序每一行就是一条语句D.由于C语言源程序都是从main()函数开始执行,所以main()函数必须位于程序文件最前面0125、下面叙述错误的是( )。A.所有语句都必须以分号;结束 B.语句是构成C语言源程序的基本单位C.C语言源程序必须包含一个main()函数 D.注释部分在程序编译和运行时不起作用0126、main()函数的位置( )。A.必须位于程序文件的最前面B.必须位于用户自定义函数的前面C.可位于用户自定义函数之前,也可位于用户自定义函数之后D.必须位于用户自定义函数的后面0127、( )是结构化程序设计应遵循的原则。A.选用的控制结构可有多个入口和一个出口B.根据需要可使用嵌套基本控制结构表示程序逻辑C.应使用顺序、选择、循环三种基本控制结构表示程序逻辑D.为提高程序效率,应尽量使用Goto语句0128、描述一个算法可以有不同的方式,常见的有( )。A.汇编语言、高级语言和低级语言 B.自然语言、流程图和伪代码C.机器语言、汇编语言和高级语言 D.高级语言、自然语言和伪代码0224、下列不属于C语言数据类型的是( )。A.双精度型 B.枚举类型 C.复数类型 D.长整型0225、下列合法的浮点数的是( )。A.65 B.E2 C.2E0.5 D.1230226、下列不合法的字符常量的是( )。A.t B.n C. D.a0227、下列( )是不正确的常量形式。A.x5 B.1.6E6 C.1E-2 D.00228、下列( )是不合法的用户标识符。A._f6 B.div C.5x D._num0324、若已定义:int n=2; double x=2.5; 则下列表达式中不符合语法的是( )。A.(int)x%n B.(int)(x%n) C.(int)(x/n) D.(int)x/n0325、若已定义:long int i; char c; double x; 则表达式i*c+(int)x结果的类型是( )。A.int B.char C.double D.long int0326、若已定义:int x=3,y=2;则下列不正确的赋值表达式是( )。A.x=2, y=2; B.x-y=1; C.x-=x+=y; D.x=y+20327、若已定义:int x; 则逗号表达式x=5,3+x,x=x*2的值是( )。A.16 B.10 C.5 D.150328、对应代数式3a(b+c),C语言的表达式是( )。A.3*a/b+c B.3*a(b+c) C.3a/(b+c) D.3*a/(b+c)0424、若已定义:int x=2,y=3; 则执行语句y=x+(-y);后,y的值为( )。A.3 B.6 C.5 D.40425、若已定义:int i=2,j=2; float x=2.5,y=3.5; 则表达式(float)(i+j)/2+(int)x%(int)y的值为( )。A.4.5 B.4.0 C.3.5 D.3.00426、若已定义:int x=2,y; 则逗号表达式 y=3,x+=x+(+y)%x的值是( )。A.2 B.3 C.4 D.50427、若已定义:double x,y; 则下列表达式不能正确计算(x-2)/3*y的是( )。A.y/3*(x-2) B.(x-2)*y*1/3 C.y*(x-2)/3 D.(1/3)*(x-2)*y0428、若已定义:int x=2,y; 则执行语句 y=x%2+(-x); 后y的值是( )。A.0 B.1 C.2 D.30524、若已定义:char c; 则下列正确的输入语句是( 无答案 )。A.gets(c); B.scanf(%s, &c); C.scanf(%c, c); D.getchar(c);0525、若已定义:double x; 则exp(x)+sqrt(x)/2所表示的数学式是( 无答案 )。A.公式(1) B.公式(2) C.公式(3) D.公式(4)0526、若已定义:int x=5,y=7; 正确实现输出形式:5+7=12 的语句是( B )。A.printf(x+y=%d,x+y); B.printf(%d+%d=%d,x,y,x+y);C.printf(%d+%d=x+y,x,y); D.printf(x+y=x+y);0527、若已定义:double x=2.5; 则求x的平方的正确的函数调用是( )。A.pow(x,2) B.sqrt(x) C.rand(2,x) D.exp(x)0528、要使用以下程序段给三个整变量x1,x2,x2分别赋值1,2,3,正确的数据输入格式是( )。int x1,x2,x3;scanf(%d,%d,%d,&x1,&x2,&x3);A.1 2 3 B.1,2,3 C.123 D.1 2 30624、若已定义:int x=2,y=3; 则下列表达式值为假的是( D )。A.xy|xy B.x=(y=x) C.x&y D.!x|!y0625、若已定义:int a=0,b=1; 则下列表达式值为真的是( )。A.a+&b+ B.(a=0)&(b=1) C.a=1|a!=1 D.a!=0|b!=10626、判断char型变量cl是否为小写字母的正确表达式为( )。A.ac1z B.(c1a)&(c1z)C.(a=c1) & (zc1) D.(c1a)&(c1z)0627、下列当x的值在5至10之间为“假”,否则为“真”的逻辑表达式为( )。A.x=10 B.x=5 & x=10 C.!(5=x=10) D.!(5=x & x5的表达式是( )。A.(x-y)5|(x-y)5 C.(x-y)5 D.(x-y)*(x-y)250724、若已定义:int a=1,b=2,c=2; 则表达式 (a+b)/1.0/c的值是( )。A.1.5 B.1 C.0.0 D.1.00725、若已定义:int x=11; double y=3.5; 则表达式 y/2+x%2/2的值是( )。A.1.5 B.1.75 C.1.0 D.3.50726、下列四个运算符,按优先级别由高到低排列的是( )。A.!、%、=、= B.%、!、=、= C.!、%、=、= D.!、=、%、=0727、若已定义:double x=3,y; int z=2; 则语句y=(x+z)/2*z; 执行后,y的值为( )。A.4.0 B.5.0 C.1.0 D.1.250728、若已定义:int x=2,y=4; 则表达式(double)x/y+y%x的值是( )。A.2 B.0 C.0.5 D.2.50824、若已定义int k; 下列( )语句与其他三条语句不等价。A.if(k) printf(Yes! n); else printf(No! n); B.if(k=0) printf(No! n); else printf(Yes! n);C.if(k!=0) printf(Yes! n);else printf(No! n);D.if(k=0) printf(Yes! n);else printf(No! n);0825、若已定义int k=4,s=10; 则下列程序段的运行结果是( )。 if (2*k9) s=k+5; printf(%dn,s+k);A.10 B.14 C.19 D.130826、下列( D )不能当作一条语句。A.if(k0) m=1; else n=2; B.m=1,n=2,k=3; C.if(k0); D.if(k=0) m=1; n=2;0827、若已定义int x=5; 则下列程序段的运行结果是( )。 if (x-)3;i-,i-) k+=2;A.3 B.2 C.1 D.40925、若已定义: int i=5,m=1; 则( )语句不会产生无限循环。A.for( ;i0; i-) m+=3; B.while(i=1) m+=3;C.for( ;i10; ) m+=3; D.do m+=3; while(i=5);0926、循环语句的循环体中,continue语句的作用是( )。A.继续执行continue语句之后的循环体各语句 B.结束本次循环,跳出循环体C.结束本次循环 D.立即终止程序运行0927、下列程序段运行后m的值为( )。int i,j,m=0;for(i=1;i=3;i+) for(j=2;j=5) sum+=2; A.10 B.8 C.6 D.41024、若已定义:int a8,k=2; 无法正确引用数组a中元素的是( )。A.a8/k B.a8+k C.a8-k D.a01025、下列叙述正确的是( )。A.数组中每一个元素都属于同一个数据类型 B.定义数组时,若不加类型说明符则为整型C.C语言中,数组长度在程序运行中可作动态调整 D.可利用数组名引用数组的第一个元素1026、下列程序段的运行结果是( )。 int a=1,3,4,6,9,i,x=1; for(i=0;i3;i+) x+=ai+1; printf(%dn,x);A.9 B.14 C.15 D.101027、下列程序段的运行结果是( )。 int a =8,7,6,5,4,3,2,1,i,sum=0;for(i=0;i8;i+)if(i=3) sum+=ai;else sum-=ai;printf(%dn,sum);A.0 B.16 C.10 D.151028、下列程序段的运行结果是( )。 int a =0,1,2,3,4,5,6,7,8,9,i=0,t;while(i=7) t=ai; ai=ai+2; ai+2=t; i+=2; for(i=0;i10;i+) printf(%d,ai);A.0123456789 B.2143658709 C.2468013579 D.13579246801124、对二维数组arr初始化正确的是( )。A.int arr23=1,2,3,4,0; B.int arr2=1,2,3,4,5;C.int arr23=1,2,3,4; D.int arr=1,3,4,5;1125、下列程序段的运行结果是( )。int arr4=1,2,3,4,5,6,7,8,9,10,11,12;printf(%dn,arr13);A.8 B.3 C.11 D.121126、若已定义:int a 4=1,2,3,4,5,6,7,8,9,10,11; 则a22的值为( )。A.7 B.4 C.10 D.61127、下列程序段的运行结果是( )。int a33=1,2,3,4,5,6,7,8,9,i;for(i=0;i3;i+) printf(%2d,10-a2-ii);A.3 5 7 B.7 5 3 C.9 5 1 D.8 4 11128、二维数组元素在内存中的存放顺序是( )。A.由用户自己定义 B.按列优先 C.按行优先 D.由编译器决定1224、若已定义char stra50,strb50; 能正确从键盘读入字符串的是( )A.gets(strb,stra); B.scanf(%s%s,stra50,strb50);C.scanf(%s%s,stra,strb); D.getch(stra,strb);1225、若已定义: char str120=guangzhou ,str220=2010; 能形成字符串GUANGZHOU 2010的语句是( )。A.strcpy(strupr(str1),str2); B.strcat(strupr(str1),str2); C.strcpy(str2,strupr(str1); D.strcat(str2,strupr(str1);1226、下列程序段的运行结果是( )。char str= Y,o,u,0,a,r,e,0,w,e,l,c,o,m,e;puts(str);A.welcome B.You are C.You are welcome D.You1227、若已定义:char str20=Good0morning; 则函数strlen(str)的值是( )。A.4 B.5 C.6 D.121228、下列程序段的运行结果是( )。char s17=abcdef,s24=123;strcpy(s1,s2);printf(%s %c,s1,s14);A.abc B.123 C.abc e D.123 e1324、下列程序段中函数调用语句tnk(a,b),m+n); 的实参值是( )。int a=1,b=2,m=3,n=4;tnk(a,b),m+n);A.2和7 B.3和7 C.1和7 D.2和31325、对于无返回值的自定义函数,在定义时最好使用( )类型标识符。A.void B.float C.int D.long1326、下列叙述错误的是( )。A.定义函数时可以有参数,也可以没有参数B.形参是变量名时,实参也只能是变量名,不可以是表达式C.函数的形参在函数被调用前是没有确定值的D.函数的形参和对应的实参个数应相等,类型应相同或赋值兼容1327、下列叙述正确的是( )。A.函数的定义允许嵌套,但函数的调用不允许嵌套B.函数的定义不允许嵌套,但函数的调用允许嵌套C.函数的定义和调用都不允许嵌套D.函数的定义和调用都允许嵌套1328、下列程序的运行结果是( )。#include int fun(int x, int y)int z; z=xy?x:y; return(x+z);main()int a=6,b=1,c=3; printf(%dn,fun(a-b,b+c);A.10 B.5 C.4 D.91424、下列程序的运行结果是( )。#define K 5void main( ) int a=3,b=4;printf(%dn,K*(a+b); A.20 B.5 C.35 D.151425、下列叙述错误的是( )。A.预处理命令行都必须以#号开始B.#define PER 1.5的作用是用标识符PER代表1.5C.C语言源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率D.宏定义可出现在源程序中任意合适的位置,且必须在行末加分号1426、下列程序的运行结果是( )。#define M 5#define N M+1#define NN N*N-Mvoid main( ) printf(%dn,3*NN); A.108 B.21 C.16 D.1031427、下列叙述正确的是( )。A.宏定义不占用程序运行时间,但与程序中的语句一样需要编译B.为提高程序运行速度可在源程序中加入一些宏定义C.一个C语言源程序只能有一条预处理命令D.宏定义中的宏名必须用大写字母表示1428、下列程序中定义的二维数组a的( )。#define M 3#define N 4 void main( ) int aMN; A.第一维为3,第二维为4 B.第一维为4,第二维为3C.第一维和第二维都为3 D.第一维和第二维都为41524、若已定义:int a=5,*p1=&a; float f=6.5,*p2=&f; 则下列正确的赋值语句是( )。A.p2=p1; B.p1=&f; C.f=*p1+*p2; D.p2=&a;1525、若已定义:int a,b=5,*p=&a; 与语句a=b;等价的是( )。A.a=*p; B.*p=*&b; C.a=&b; D.a=*p;1526、变量的指针,其值是该变量的( )。A.值 B.标识符 C.一个标志 D.内存单元地址1527、若已定义:int a5=1,2,3,4,5,*pa=a; 下列叙述错误的是( )。A.pa与a的值相等 B.a+与pa+的作用相同C.a2与pa2的值相等 D.*(pa+2)与a2的值相同1528、若已定义:int a5=1,2,3,4,5,*p=a; 且p值未发生变化,下列不能表示a1地址的是( )。A.p+1 B.a+ C.a+1 D.+p1624、下列程序的运行结果是( )。void main( )int a5=2,3,5,11,4,b5=12,1,6,9,8; int *pa=a,*pb=b; int i; for(i=0;i5;i+) if(*(pa+i)*(pb+i) printf(%d ,*(pa+i);A.5 B.2 5 4 C.3 11 D.21625、下列程序的运行结果是( )。void main( ) char str=abcd,*p=str; int i; while(*p)printf(%c,*(p+);A.cd B.abcd C.abc D.bcd1626、下列程序的运行结果是( )。void main( ) int a=11,b=22,temp; int *pa=&a,*pb=&b; temp=*pa; *pa=*pb; *pb=temp; printf(%d,%dn,a,b); A.11,11 B.22,22 C.22,11 D.11,221627、下列程序的运行结果是( )。void main( )int a=1,2,3,4,5,7,*p; p=a; *(p+3)+=2; printf(%d,%dn,*p,*(p+3); A.1,5 B.1,3 C.1,4 D.1,61628、下列程序的运行结果是( )。void fn(int *p,int n)int j; for(j=0;jn;j+) *(p+j)+=10;void main( )int a5=1,2,3,4,5; int i; fn(a,5); for(i=0;inum D.t1-num1726、下列程序段的运行结果是( )。 union data int a; char b; data1; data1.b=A; data1.a+; printf(%cn,data1.b);A.B B.A C.65 D.661727、若已定义:struct student int num; float score;stu4;以下错误的语句是( )。A.stu0=stu1; B.printf(%d,(*stu).num);C.stu0-num=101; D.*(stu)=*(stu+1);1728、下列对结构类型变量stu1的定义和初始化正确的是( )。A.struct student int num; float score; ;struct student stu1;stu1-num=1001; stu1-score=85.0;B.struct int num; float score; stu1=1001, 85.0;C.struct student int num; float score; stu1;stu1=1001,85.0;D.struct student int num; float score; ; struct student stu1=1001,85.0;1824、若已定义:int a5=1,2,3,4,5; int *p=&a3; 则下列值为3的是( )。A.a+2 B.*p C.p-a D.p-a01825、若已定义:int a3=3,6,9,*p=a; 则对数组元素a1错误引用的是( )。A.p1 B.*p+1 C.*(&a1) D.*(a+1)1826、若已定义:int a5,*p=a; 则不能正确表示a1地址的是( )。A.p+1 B.+p C.a+1 D.+a1827、以下程序段的输出结果是( )。int a5=1,3,5,7,9,*p;p=&a2;printf(%d ,*(+p);printf(%dn,p-a);A.7 3 B.5 3 C.7 4 D.9 41828、若已定义:struct student int num; float score; stu2=101,85.5,102,90.0,*p=stu;下列对结构体数组引用错误的是( )。A.p-num B.(*p).num C.stu0.num D.p1-num1924、若已定义:int x=7,y=5; 则表达式(xy) 0010A.1 B.8 C.0 D.201925、以下程序段运行后,c的二进制值是( )。int a=2,b=3,c=10;c=a|b;A.00000001 B.00000010 C.00101000 D.010100001926、以下语句正确的是( )。A.typedef INTEGER int; B.typedef INTEGER=int;C.typedef int INTEGER; D.typedef INTEGER: int;1927、下列对枚举类型的定义正确的是( )。A.enum a=A,B,C; B.enum ax=-2,y=1,z=3;C.enum aA,B,C; D.enum a=A,B,C;1928、若有以下定义:typedef enum weekmon,tue,wed,thu,fri,sat,sunweek_day; 则下

温馨提示

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

评论

0/150

提交评论