已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一 C语言基础知识一、选择题1. 以下说法正确的是_C_。A) C程序是从第一个定义的函数开始执行的B) 在C程序中,要调用的函数必须在main()函数中定义C) C程序是从main()函数开始执行D) C程序中的main()函数必须放在程序的开始部分2. 用C语言编写的代码程序_B_。A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行3. 构成C语言的基本单位是_A_。A)函数 B)变量 C)子程序 D)语句4. 下列选项中,是C语言提供的合法关键字的是_ A C_。A switch B cher C default D Case5. 以下4组用户定义标识符中,全部合法的一组是 AA)_mainB)IfC)txtD)int enclude -max REAL k_2sin turbo 3COM _0016. 以下叙述中错误的是_A_。A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符应尽量做到“见名知意”D)用户定义的标识符中,大、小写字母代表不同标识7. 可在C程序中用作用户标识符的一组标识符是_A_。A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bigl8. 下列选项中,正确的整形常量是_B_。A) 34.1 B) -80 C) 2,000 D) 1 2 39. 以下选项中正确的整型常量是 CA)10110BB)0386C)0Xffa D)x2a210. 以下关于long、int和short类型数据占用内存大小的叙述中正确的是 DA)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义 D)由C语言编译系统决定11. 以下选项中不正确的实型常量是_A_。A)124 B)1e4 C)3.640E-1 D)0.3512. 以下不合法的数值常量是 CA)011 B)lel C)8.0E0.5 D)0xabcd13. 以下选项中,合法的一组C语言数值常量是 无答案A)028 B)12. C).177 D)0x8A5e-3 OXa23 4c1.5 10,0000xf 4.5e0 Oabc 3.e514以下选项中合法的C语言字符常量是_A_。A )t B) “A” C) 67 D) A 15. 以下选项中不属于字符常量的是( B )。A)C B)C C)0 D)07216已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是( D )。A)c=cZ + zB)c=c+32C)c=cA + aD)c=A+ ca17已知字符A的ASC代码值是65,字符变量c1的值是A,c2的值是D。执行语句printf(%d,%d,c1,c2-2);后,输出结果是( C )。A)A,B B)A,68 C)65,66D)65,6818表达式3.65/2+1.2+5%2的值是 DA)4.3 B)4.8 C)3.3 D)3.819设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式h 计算结果不相符的是 BA)(a+b)*h/2 B)(1/2)*(a+b)*hC)(a+b)*h*1/2 D)h/2*(a+b)20以下选项中合法的C语言赋值语句是_D_。A) a=b=34 B)a=34,b=34 C) -i; D)m=(int)(x+y); 21设有定义:int k=0;,以下选项的4个表达式中与其他3个表达式的值不相同的是 AA)k+ B)k+=1 C)+k D)k+122有以下程序main() char a1=M, a2=m; printf(%cn, (a1, a2) ); 以下叙述中正确的是 BA)程序输出大写字母M B)程序输出小写字母mC)格式说明符不足,编译出错D)程序运行时产生出错信息23有以下程序:main( )int a=0,b=0;a =10; /*给a赋值b=20; 给b赋值 */printf(a+b=%dn,a+b); /*输出计算结果*/ 程序运行后的结果是 BA)a+b=30 B)a+b=10 C)30 D)程序出错24变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是 AA)abB)a|bC) a&bD)a425有以下程序#include main() int a=1,b=2,c=3,x; x=(ab)&c; printf(%dn,x);程序的运行结果是 DA)0B)1C)2D)326有以下程序main()unsigned char a=2,b=4,c=5,d; d=a|b; d&=c; printf(%dn,d); 程序运行后的输出结果是 B A)3B)4C)5D)627若变量已正确定义,则以下语句的输出结果是( B)。s=32; s=32; printf(%d,s);A)1B)0C)1D)3228设有以下语句 int a=1,b=2,c; c=a(b0|E0)C)(E=0)D)(E!=0)18以下关于逻辑运算符两侧运算对象的叙述中正确的是( D )A)只能是整数0或1。B)只能是整数0或非0整数。C)不能是浮点数。D)可以是任意合法的表达式。19已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 & y+z/2的值是( D )A)6 B)0C)2 D)120以下程序的输出结果是( B )main() int a=4,b=5,c=0,d;d=!a&!b|!c;printf(%dn,c); A)1 B)0 C)非0的数 D)-121设有定义:int a=2,b=3,c=4;则以下选项中值为0的表达式是( A )A)(!a=1)&(!b=0) B)(ab)&!c|1C)a&b D)a|(b+b)&(c-a)22有以下程序main()inti=1,j=2,k=3; if(i+=1&(+j=3|k+=3) printf(%d%d%dn,i,j,k); 程序运行后的输出结果是( D )A)123B)234C)223D)23323当把以下4个表达式用作if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是( D )A)k%2 B)k%2=1 C)(k%2)!=0D)!k%2=124在嵌套使用if语句时,C语言规定else总是( C )A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对25有以下程序main()int a=0,b=0,c=0,d=0;if(a=1) b=1;c=2;else d=3;printf(%d,%d,%d,%dn,a,b,c,c); 应该为printf(%d,%d,%d,%dn,a,b,c,d) 程序输出( C )A)0,1,2,0B)0,0,0,3C)1,1,2,0D)编译有错26若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|10的是( C )A)abs(x-y)-10& x-y10C)(x-y)10D)(x-y)*(x-y)100 27下列条件语句中,功能与其他语句不同的是( )A)if(a) printf(%dn,x); else printf(%dn,y)。B)if(a=0) printf(%dn,y); else printf(%dn,x)。C)if (a!=0) printf(%dn,x); else printf(%dn,y)。D)if(a=0) printf(%dn,x); else printf(%dn,y)。28以下选项中非法的表达式是( D )A)0=xa)|(m=ab);printf(%d,%dn,k,m); 程序运行后的输出结果是( C )A)0,0B)0,1C)1,0D)1,130有以下程序 #include main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+; b+; break; case 3: a+; b+; printf(a=%d,b=%dn,a,b); 程序的运行结果是( D )A) a=1,b=0B)a=2,b=2 C)a=1,b=1D)a=2,b=1B)二、填空题1复合语句在语法上被认为是_一条语句_,C语言的语句最后用_;_结尾。2以下程序运行后的输出结果是_88_。main() int x=0210; printf(%xn,x);3以下程序段执行后的输出结果是_9_。int i=9; printf(%on,i);4以下程序运行后的输出结果是_25 21 37_。main() int a,b,c; a=25; b=025; c=0x25; printf(%d%d%dn,a,b,c);5有以下语句段 int n1=10,n2=20;printf(_n1=%dnn2=%d_,n1,n2);要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。n1=10n2=206若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句_。7以下程序运行后的输出结果是_。main()inta,b,c a=10;b=20;c=(a%b1); printf(%d %d %dn,a,b,c);8以下程序运行后的输出结果是_。main() int a=1,b=2,c=3; if(c=a) printf(%dn,c); else printf(%dn,b);9以下程序运行后的输出结果是_。main()inta=3,b=4,c=5,t=99;if(ba&ac) t=a;a=c;c=t;if(ac&b0 ? p/10 : p%3);第三章 循环结构一、选择题1有以下程序main()int n=10; while(n7) n=n-1; printf(%d,n); 以上程序段执行后的输出结果是( B )A)10 9 8B)9 8 7C)10 9 8 7D)9 8 7 62有以下程序main()int k=5;while(-k) printf(%d,k-=3);printf(n); 执行后的输出结果是( A )A)1B)2C)4D)死循环3有以下程序main()int x=0,y=5,z=3; while(z0&x0) switch(k) default: break; case 1:n+=k; case 2: case 3: n+=k; k-; printf(%dn,n); 程序运行后的输出结果是( )A)0B)4C)6D)75有以下程序main ()int s=0,a=1,n; scanf(%d,&n); do s+=1; a=a-2; while(a!=n); printf(%dn,s); 若要使程序的输出值为2,则应该从键盘给n输入的值是( B )A)-1B)-3C)-5D)06有以下程序段int n,t=1,s=0;scanf(%d,&n);do s=s+t; t=t-2; while(t!=n);printf(%d,s);从键盘输入-3,输出的结果是( )A)0B)1C)-1)-37有以下程序段int x=3;do printf(%3d,x-=2);while(!x);输出的结果是( A )A)1B)3 0C)1 -2D)死循环8若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B )A)for(i=1,p=1;i=5;i+) p*=i;B)for(i=1;i=5;i+) p=1; p*=i;C)i=1;p=1;while(i=5)p*=i; i+;D)i=1;p=1;dop*=i; i+; while(i=5);9有以下程序main() int i,s=0; for(i=1;i1;n-) s=s+1/n; printf(%6.4fn,s)程序运行后输出结果错误,导致错误结果的程序行是( D )A)s=1.0; B)for(n=10;n1;n-)C)s=s+1/n; D)printf(%6.4fn,s)11以下程序的输出结果是( A )main() int a,b; a=18;b=11; while(a!=b) while(ab) a-=b; while(ba) b-=a; printf(%3d%3dn,a,b);A)1 1B)4 3 C)4 4 D)7 712以下关于break语句的说法正确的是( C )A)break语句只能出现在循环中。B)break语句可以出现在任何位置。C)break语句只能出现在switch结构和循环体中。D)break语句的功能是结束本轮循环,接着判断是否进行下一轮循环。13以下程序运行后的输出结果是( C )main()int x=15; while(x10) x+; if(x%3) x+;break; printf(%dn,x);A)15B)16 C)17D)1814以下程序的输出结果是( D)main()int x=0; for(;x0&n5);程序运行后的输出结果是( 无答案 应为2345 )A)235B)0235C)02356D)235617以下不构成无限循环的语句或者语句组是( )A)n=0; B)n=0; do+n;while(n=0); while(1)n+; C)n=10; D)for(n=0,i=1; ;i+) n+=i; while(n); n-;18若变量已正确定义,有以下程序段 i=0;do printf(%d,i);while(i+);printf(%dn,i)执行后其输出结果是( B ) A)0,0B)0,1C)1,1D)程序进入无限循环19有以下程序 #include main() int x=8; for( ; x0; x-) if(x%3) printf(%d,x-); continue; printf(%d,-x); 程序的运行结果是( D ) A)7,4,2 B)8,7,5,2C)9,7,6,4D)8,5,4,220有以下程序#includemain()int y=9;for( ; y0;y-)if(y%3=0) printf(%d,-y); 程序的运行结果是( C )A)741B)963C)852D)87542121有以下程序 #include main()int i,j,m=55;for(i=1;i=3;i+)for(j=3;j=i;j+) m=m%j;printf(%dn,m); 程序的运行结果是( B )A)0B)1C)2D)322有以下程序main()int i,j; for(i=1;i4;i+)for(j=i;j4;j+) printf(%d*%d=%d ,i,j,i*j);printf(n); 程序运行后的输出结果是( A )A)1*1=1 1*2=2 1*3=3 B)1*1=1 1*2=2 1*3=32*1=2 2*2=4 2*2=4 2*3=63*1=3 3*3=9C)1*1=1 D)1*1=1 1*2=2 2*2=4 2*1=2 2*2=4 1*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=923有以下程序main() int n=0; for( ; n4 ;) n+; if(n%3!=0) continue; printf(%d n,n); 程序运行后的输出结果是( D )A)1 B)2C)3D)424下面程序的功能是输出以下右侧形式的金字塔图案:main() *int i,j; * for(i=1;i=4;i+) * for(j=1;j=4-i;j+) printf( ); * for(j=1;j=_;j+) printf(*); printf(n); 在下划线处应填入的是( B )A)iB)2*i-1C)2*i+1D)i+225以下程序的输出结果是( A )#include main() int i=0,a=0; while(i20) for(;) if(i%10)=0) break; else i-; i+=21; a+=i; printf(%dn,a);A)21B)32C)33D)1126以下程序中,while循环的循环次数是( D )main()int i=0; while(i10) if(i1) continue; if(i=5) break; i+; A)1B)10C)6D)死循环,不能确定次数二、填空题1以下程序的输出结果是_。main() int x=2; while(x-); printf(%d,x);2以下程序段的输出结果是_。int i=0,sum=1;do sum+=i; i+;while(i5);printf(%d,sum); 3以下程序的功能是:将输入的正整数按逆序输出,例如:若输入135,则输出531。请填空。#include main()int n,s; printf(Enter a number: ); scanf(%d,&n); printf(Output: ); do s=n%10; printf(%d,s); ; while(n!=0); printf(n);4有以下程序main() int t=1,i=5; for(;i=0;i-) t*=i; printf(%dn,t); 执行后输出的结果是_。5以下程序执行后输出的结果是_。main() int s,i; for(s=0,i=1;i3;i+,s+=i); printf(%dn,s);6执行以下程序后,输出#号的个数是 _。#include main() int i,j; for(i=1; i5; i+) for(j=2; j=i; j+) putchar(#);7当执行以下程序时,输入1234567890,则其中while循环体将执行_次。include main()char ch;while(ch=getchar()=0) printf(#);8以下程序的输出结果是_。#include main() int n=12345,d;while(n!=0) d=n%10; printf(%d,c); n/=10;9有以下程序段,且变量已正确定义和赋值:for(s=1.0,k=1;k=n;k+) s=s+1.0/(k*(k+1);printf(s=%fnn,s);请填空,使下面程序段的功能完全相同。s=1.0;k=1;while(_k=n _) s=s+1.0/(k*(k+1); _ k+_;printf(s=%fnn,s);10以下程序的输出结果是_ACE_。#include main() int i; for(i=a;if;i+,i+) printf(%c, i-a+A); printf(n);11以下程序的输出结果是_120_。main()int i=1,sum=1; while(i=5) sum=sum*i; i+; printf(sum=%d,sum);12以下程序运行后的输出结果是_29_。main()int a=0,i; for(i=1;i4;i+) switch(i) case 0: a+; case 3: a+=2; case 2: a+=3; default: a+=5; printf(%dn,a);13以下程序运行后的输出结果是_132_。main()int i,m=0, n=0, k=0; for (i=9; i=11; i+) switch(i/10) case 0 : m+; n+; break; case 10: n+;break; default: k+;n+; printf(%d %d %dn,m,n,k); 四、函数一、选择题(1)有以下程序#include int f ( int x );main( ) int n=1 , m;m=f ( f ( f ( n) ) ) ; printf (%dn , m);int f ( int x) return x*2; 程序运行后的输出结果是 DA)1 B)2C)4D)8(2)有以下程序#include void fun (int x) if (x/21) fun(x/2) ;Printf ( %d , x) ;main () fun(7) ; printf(n) ; 程序运行后的输出结果是 DA)1 3 7 B)7 3 1C)7 3D)3 7(3)有以下程序#include int fun( ) static int x=1;x+=1; return x;main() int i , s=1;for (i=1 ; i=s ; i+) s+=fun( );printf( %dn , s);程序运行后的输出结果是 BA)11 B)21 C)6D)120(4)以下关于return语句的叙述中正确的是 BA)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成viod类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(5)有以下程序#includeint fun()static int x=1;x*=2; return x;main()int I,s=1;for (i=1;i=2;i+) s=fun();printf(%dn,s);程序运行后的输出结果是A)0 B)1 C) 4 D)8(6)有以下程序#include void fun(int p) int d=2 ;p=d+; printf(%d, p) ; main () int a=1;fun (a) ; printf (%dn , a) ; 程序运行后的输出结果是A)32 B)12 C)21 D)22(7)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 业主之间开店协议书
- 美发店学员合同范本
- 烟酒正品保证合同范本
- 淘宝卖协议合同范本
- 美发店合股合同协议
- 自然人劳务合同范本
- 养鸡场建设合同范本
- 出院免除责任协议书
- 快闪风自我介绍
- 车库房产分割合同范本
- 2025云南泰佳鑫投资有限公司、嵩明县高新产业投资管理有限责任公司招聘9人考试笔试参考题库附答案解析
- 2025首都图书馆招聘23人考试笔试参考题库附答案解析
- 2025年河北石家庄市招聘工会社会工作人员25名考试笔试备考题库及答案解析
- 2025首都图书馆招聘23人笔试考试参考试题及答案解析
- (2025年)森林消防员考试试题及答案大全
- 2025年新修订版《森林草原防灭火条例》全文+修订宣贯解读课件(原创)
- 幼儿园安全跳绳课件大班
- 公司廉洁管理制度模板
- 苏晋能源控股有限公司招聘笔试题库2025
- 出租车全国题库题库(500道)
- 临床试验监查核心要点培训
评论
0/150
提交评论