版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 C语言精编100题一、单选题1. (1) 由C语言编写的代码程序( )A. 可直接执行B. 是一个源程序C. 经过编译即可执行 D. 经过编译解释才能执行(2) C语言源程序的扩展名为( )A. .objB. .c C .exeD. .cpp2. (1) 按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )A. 大写字母 B. 中划线 C. 数字字符 D. 下划线(2) 下列选项中,不能用作标识符的是( )A. _1234_ B. _1_2 C. int_2_ D. 2_int_(3) 以下选项中合法的用户标识符是( )A. long B. _2Test C. 3Dmax D.
2、A.dat(4) 以下不能定义为用户标识符的是( )A. MainB. _0C. _intD. sizeof(5) 下列定义变量的语句错误的是A. int _int; B. double int_; C. char For; D. float US$;3. 在C语言中,整型数据分为( )A. 二进制、八进制、十进制B. 二进制、十进制、十六进制C. 八进制、十进制、十六进制D. 二进制、八进制、十进制、十六进制4. (1) 在C语言中,合法的实型常数是( )A. 5E2.0 B. E-3 C. .2E0 D. 1.3E(2) 在C语言中,合法的实型常数是( )A. 1.2E0.5B. 3.14
3、159EC. 5E-3D. E15(3) 以下选项中,不能作为合法常量的是( )A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e0(4) 以下不合法的数值常量是( )A. 011 B. le1 C. 8.0E0.5 D. 0xabcd(5) 以下选项中,能用作数据常量的是A. o115B. 0118C. 1.5e1.5D. 1155. (1) 在C语言中,非法的字符常量是( )A.t B.17 C. n D.xaa(2) 以下不合法的字符常量是( )A.018 B. C. D.xcc(3) 以下选项不属于字符常量的是( )A. C B. C C. xCC
4、D. 0726. 在C语言中,以下关于运算符叙述错误的是( ) A. 在C语言中,逗号运算符的优先级最低B. 在C语言中,赋值运算符自右向左运算C. 在C语言中,+、-、*、/、%是算术运算符,可用于整型和实型数的运算D. 在C语言中,+、-运算符可以改变变量的值7. 下列运算符中优先级最高的运算符是( )( )A. =8. (1) 以下程序的输出结果是( )main() int a=3,b=4; printf(%dn,a=b); A. 3B. 4C. 1D. 0(2) 在C语言中,表达式10!=9的值为( )A. 0B. FalseC. 1D. True9. 在C语言中,以下非法的表达式是(
5、 )A. 0=x0;D. k=i=j;11. 表达式3.6-5/2+1.2+5%2的值是( )A. 4.3 B. 4.8 C. 3.3 D. 3.812. (1) 设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( )A. 3 B. 0 C. 9 D. -12(2) 设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( )A. 10 B. 20 C. 40 D. 30 (3) 设有语句:int a=0;则执行语句 a+=(a=8);变量a的值是( )A. 0B. 8C. 16D. 2413. 以下程序的输出结果是( )( )( ) main() in
6、t i=10,j=1;printf(%d,%dn,i-,+j);A. 9,2 B. 10,2 C. 9,1 D. 10,1 main() int a=12,b=12;printf(%d %dn ,-a,+b);A. 10 10 B. 12 12 C. 11 10 D. 11 13 main() int x=023;printf(%dn,-x);A. 17 B. 18 C. 23 D. 2414. 以下程序的输出结果是( )main() int x=100,y=200;printf(%dn,(x,y); A. 200 B. 100C. 100 200 D)200 10015. 以下程序的输出结果
7、是( )main() int x=10,y=3,z;printf(%dn,z=(x%y,x/y); A. 1 B. 0 C. 4 D. 316. int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )A. k+ B. k+=1 C. +k D. k+117. 以下程序的输出结果是( )main() int x,y,z;x=y=1;z=x+,y+,+y;printf(%d,%d,%dn,x,y,z); A. 2,3,3 B. 2,3,2 C. 2,3,1 D. 2,2,118. 设x、y、t均为int型变量,则执行语句:x=y=3;t=+x|+y;后,y的值为( )A. 1
8、B. 2C. 3D. 419. 设int x=-1;执行表达式+x|+x|+x|+x,x的值是( )A. 0B. 1C. 2D. 420. 以下程序的输出结果是(1) main() int k=11; printf(k=%d,k=%o,k=%xn,k,k,k);( )A. k=11,k=12,k=11 B. k=11,k=13,k=13 C. k=11,k=013,k=0xb D. k=11,k=13,k=b(2) main() int k=17; printf(%d,%o,%xn,k,k,k); ( )A. 17,021,0x11 B. 17,17,17 C. 17,0x11,021 D.
9、17,21,1121. 运行时从键盘上输入9876543210(表示回车),则该程序的输出结果是( ) main() int a;float b,c; scanf(%2d%3f%4f,&a,&b,&c);printf(a=%d,b=%f,c=%fn,a,b,c); A. a=98,b=765,c=4321 B. a=10,b=432,c=8765 C. a=98,b=765.000000,c=4321.000000 D. a=98,b=765.0,c=4321.022. 设变量均已正确定义,若要通过scanf(%d%c%d%c,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和
10、20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:代表空格字符)( ) A. 10X20Y B. 10X20YC. 10X D. 10X 20Y 20Y23. 以下程序的输出结果是( ) #define MA(x) x*(x-1) main() int a=1,b=2;printf(%dn,MA(1+a+b);A. 6 B. 8 C. 10 D. 1224. 以下程序的输出结果是( ) #define M(x,y,z) x*y+z main() int a=1,b=2,c=3;printf(%dn,M(a+b,b+c,c+a); A. 19 B. 17 C. 15 D. 1
11、225. 以下程序段的输出结果是( ) #define MIN(x,y) (x)(y)?(x):(y) main() int i=10,j=15,k;k=10*MIN(i,j);printf(%dn,k); A. 15 B. 100 C. 10 D. 15026. 设a=1,b=2,c=3,d=4,则表达式ab?a:cy) if(y5) printf(%dn,x); else printf(%dn,x-); A. 4B. 5C. 6D. 729. 以下程序段的输出结果是( )main() int x=1,y=0,a=0,b=0; switch(x) case 1:switch(y) case
12、0:a+;break; case 1:b+;break; case 2:a+;b+;break; case 3:a+;b+; printf(a=%d,b=%dn,a,b); A. a=1,b=0B. a=2,b=2C. a=1,b=1D. a=2,b=130. 有以下程序main() int n=4; while(n-) printf(%d ,-n); 程序执行后的输出结果是( ) A. 2 0 B. 3 1 C. 3 2 1 D. 2 1 031. 有以下程序main() int i; for(i=0;ibc; printf(%dn,x); (2) 以下程序运行后的输出结果是 。main()
13、 int a=3,b=2; b=a3; printf(%d,%dn,a,b); 60. (1) 以下程序运行后的输出结果是 。 #define MAX(x,y) (x)(y)?(x):(y) main() int a=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;printf(%dn,t);(2) 以下程序运行后的输出结果是 。#defineS(x) 4*x*x+1main() inti=6,j=8;printf(%dn,S(i+j); 61. 以下程序运行后的输出结果是 。main() int x,a=1,b=2,c=3,d=4;x=(ab)?a:b;x=(xc)?x:
14、c;x=(xd)?x:d;printf(%dn,x); 62. 以下程序运行后的输出结果是 。main() inta=3,b=4,c=5,t=99;if(ba&ac)t=a;a=c;c=t;if(ac&b=0;i-) t*=i; printf(%dn,t); (2) 以下程序运行后的输出结果是 。main() int x=7; do printf(*); x-; while(!(x%2); 64. (1) 设有定义语句:int a3=0,1,2;则数组元素a12的值为 。(2) int a33=1,2,3;则a20的值为 。65. 在C语言中,有如下语句: int a=10,20,30,40,
15、50,60,*p; p=a+3; printf(%dn,*p+);则输出结果是 。66. 以下程序运行后的输出结果是 。main() int a23=1,2,3,4,5,6; int m,*p; p=&a00; m=(*p)*(*(p+2)*(*(p+4); printf(%dn,m); 67. 设有以下定义和语句:int a32=10,20,30,40,50,60,(*p)2;p=a;则*(*(p+2)+1)的值为 。68. 在C语言中,有如下语句: int a32=1,2,3,4,5,6,*p3;p0=a1;则*(p0+1)所代表的数组元素是 。69. 以下程序运行后的输出结果是 。mai
16、n() char s=abcdef; s3=0; printf(%sn,s); 70. (1) 以下程序运行后的输出结果是 。main() char str=tabn012; printf(%dn,strlen(str); (2) 以下程序运行后的输出结果是 。main() printf(%dn,strlen(IBMn0121); (3) 以下程序运行后的输出结果是 。main() printf(%dn,strlen(t065xffn); (4) 以下程序运行后的输出结果是 。main() char s=stop0n; printf(%dn,strlen(s) (5) 以下程序运行后的输出结果
17、是 。main() char str=Beijing; printf(%dn,strlen(strcpy(str,China); (6) 以下程序运行后的输出结果是 。main() char *s1=12345,*s2=1234; printf(%dn,strlen(strcat(s1,s2); 71. (1) 以下程序运行后的输出结果是 。main() char a=1,2,3,4,0;printf(%d %dn,sizeof(a),strlen(a); (2) 以下程序运行后的输出结果是 。 main() char p=abc,q=a, b ,c; printf(%d,%dn,sizeof
18、(p),sizeof(q); 72. 以下程序运行后的输出结果是 。main() char ch35=AAAA,BBB,CC; printf(%sn,ch1); 73. 以下程序运行后的输出结果是 。main() char str20=China,Beijing,*p=str; printf(%sn,p+20); 74. (1)在C语言中,有如下语句: struct std char ch; int a2; float t; double f; std1;则结构体变量std1占用内存的字节数为 。(2) 在C语言中,有如下语句: struct dog char ch10; int i; int
19、 *p; double k; dog1; 则结构体变量dog1占用内存的字节数为 。(3)在C语言中,有如下语句: struct cat int a10; char ch; float f; double *p; cat1;则结构体变量cat1占用内存的字节数为 。(4) 有以下结构体说明,请填空,以完成对结构体数组t定义:struct STR char a;int b;float c;double d; ; t20;三、多选题75. 在C语言中,以下合法的变量名是( )A. registerB. _10daysC. my_bookD. us$E. count76. 在C语言中,以下合法的实型
20、常量是( )A. 1.2E+0.5B. 3.14159EC. .5E-3D. E15E. 3.E+277. 在C语言中,变量已正确定义并赋值,下面正确的表达式为( )A. a=b+1B. b=float(a)C. a=a+7=c+3D. c=15.0%3E. a=b+c,a+78. 在C语言中,以下合法的字符常量是( )A. n B. abC. x43D. 084E. 079. 在C语言中,以下合法的常量是( ) A. 0386B. 0XffC. 1.2e0.5D. 17E. 080. 在C语言中,以下叙述正确的是( )A. C程序的基本单位是函数B. C程序每行只能写一条语句C. 简单的C语
21、句必须以分号结束D. C语句必须在一行内写完E. C程序的最小的单位是语句81. 在C语言中,以下错误的数组定义是( )A. int a=1,2,3;B. int s;C. int n=10,tn;D. char *q3;E. char str=1,2,3;82. int a10;则对a数组元素或地址的引用错误的是( )A. &a5 B. a2C. a+D. *aE. a10四、程序填空题83. 以下程序的功能是计算:1-2+3-4+99-100main() int i=1,j=1,s=0; while( ) s+= ; i+; ; printf(s=%dn,s); 84. 以下程序的功能是计
22、算:S=1+12+123+1234+12345main() int i,t=0,s=0; for(i=1; ;i+) t= +i; ; printf(%dn,s); 85. 输入20个整数到一维数组,统计正整数的个数及其和main() int a20,i,sum,count; sum=count= ; for(i=0;i20;i+) scanf(%d,&ai); for(i=0;i20;i+) if( ) count+; ; printf(count=%d,sum=%dn,count,sum); 86. 输入10个整数到一维数组,输出其中最大数和最小数main() int a10,i,max,
23、min; for(i=0;i10;i+) scanf(%d,&ai); max=min= ; for(i=1;imax) ; else if( ) min=ai; printf(%d,%dn,max,min); 87. 输入一个字符串,将其倒序后输出main() int i,j; char st60,ch; scanf(%s,st); for(i=0,j= ; ;i+,j-) ch=sti; ; stj=ch; printf(%sn,st); 88. 输入一行字符统计其中数字字符出现的次数#include stdio.hmain() char ch; int n=0; ch=getchar()
24、; while( ) if( ) ; ch=getchar(); printf(n=%dn,n); 89. 输入字符串,将其中的非数字字符删除后,输出整个字符串main() char st80; int i=0,j=0; scanf(%s,st); while(sti) if( ) st =sti; i+; ;printf(%sn,st); 90. 求33矩阵的对角线之和main() int a33=1,2,3,4,5,6,7,8,9,i,s; s=_ _; for(i=0;i3;i+) _ _ +=_ _; printf(%dn,s); 91. 输出方阵中主对角线和、副对角线上元素的和sum
25、1和sum2#define N 3main() int aNN,i,j,sum1,sum2; sum1=sum2= ; for(i=0;iN;i+) for(j=0;jN;j+) scanf(%d,&aij); for(i=0;iN;i+) sum1+= ; sum2+= ; printf(sum1=%d,sum2=%dn,sum1,sum2); 五、程序写结果92. 以下程序运行后的输出结果是 。main() int a=3,b=4,c=5,d=2; if(ab) if(b3) printf(%d,a); if(+b4) printf(%d,b); else printf(%d,a); el
26、se switch(a-b) case 1: printf(%d,a); case 2: printf(%d,b); case 3: printf(%d,a+b); 94. 以下程序运行后的输出结果是 。main() int i=1; while(i=15) if(+i%3!=2) continue; else printf(%d,i); printf(n); 95. (1) 以下程序运行后的输出结果是 。int fun(int n) int i,s=1; for(i=1;i=n;i+) s*=i; return s; main() int i,s=0; for(i=1;i=4;i+) s+=
27、fun(i); printf(%dn,s); (2) 以下程序运行后的输出结果是 。void swap(intx,int y)intt;t=x;x=y;y=t;printf(%d %d ,x,y); main()inta=3,b=4;swap(a,b);printf(%d%dn,a,b); (3) 以下程序运行后的输出结果是 。int fun(int n) return n/10+n%10; main() int x=1234,y; y=fun(fun(fun(x); printf(%dn,y); 96. 以下程序运行后的输出结果是 。int fun(int n) switch(n) case
28、 0: return 0; case 1: return 1; case 2: return 1; default: return fun(n-1)+fun(n-2); main() int n=7,s; s=fun(n); printf(%dn,s); 97. (1) 以下程序运行后的输出结果是 。int fun(int x,int y) static int m=0,i=2;i+=m+1; m=i+x+y; return m; main() int j=1,m=1,k;k=fun(j,m); printf(%3d,k);k=fun(j,m); printf(%3d,k); (2) 以下程序
29、运行后的输出结果是 。int fun(int n) static int s=1; s*=n; return s; main() int i,s=0; for(i=1;i=4;i+) s+=fun(i); printf(%dn,s); 98. 以下程序运行后的输出结果是 。main() char s=1234567890,*p=s+3; int i=5; printf(%d,%sn,-i,p+); printf(%sn,p-i); 99. (1) 以下程序运行后的输出结果是 。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; printf(%d,%dn,a,b); (2) 以下程序运行后的输出结果是 。main() int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物业企业安全奖惩制度
- 餐饮部用水用电奖惩制度
- 医院发论文奖惩制度
- 营销岗位职责及奖惩制度
- 学生帮扶计划奖惩制度
- 电销团队电话量奖惩制度
- 棉花装卸队内部奖惩制度
- 学校爱国卫生奖惩制度
- 村计划生育自治奖惩制度
- 消防安全检查奖惩制度
- DL∕T 547-2020 电力系统光纤通信运行管理规程
- JCT2166-2013 夹层玻璃用聚乙烯醇缩丁醛(PVB)胶片
- 建筑材料说课公开课一等奖市赛课获奖课件
- 湖南2023年长沙银行理财经理社会招聘(37)考试参考题库含答案详解
- 充电桩合作框架协议
- 薄膜的物理气相沉积
- 新一代大学英语提高篇视听说教程2答案
- 再生水厂退水管线出水口及钢模围堰施工方案
- 二十世纪西方文论课件
- GB/T 245-2016金属材料管卷边试验方法
- 第一章-管理导论-(《管理学》课件)
评论
0/150
提交评论