收藏 分销(赏)

C语言程序阅读题.doc

上传人:二*** 文档编号:4497971 上传时间:2024-09-25 格式:DOC 页数:40 大小:61KB 下载积分:5 金币
下载 相关 举报
C语言程序阅读题.doc_第1页
第1页 / 共40页
本文档共40页,全文阅读请下载到手机保存,查看更方便
资源描述
13. 以下程序的输出结果是_ B_____。 #include <stdio.h> main() { int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf("%d,%d\n",a,b); } A、6,1 B、2,1 C、6,0 D、2,0 答案:B 知识点:赋值表达式 16. 有如下程序 main() { int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); printf("%d %d %3.1f%3.1f\n",a,c,f,x); } 程序运行后输出结果是_B_____。 A、1 65 1 6.5 B、1 65 1.5 6.5 C、1 65 1.0 6.5 D、2 65 1.5 6.5 答案:B 知识点:赋值表达式 24.若k是int型变量,且有下面的程序片段 k=-3 if(k<=0) printf("####") else printf("&&&&"); 上面程序片段的输出结果是少了一个;_____。 A、#### B、&&&& C、####&&&& D、有语法错误,无输出结果 答案:D 知识点:简单C语言程序的构成和格式 26. 有以下程序 main() { int a=0,b=0; a=10; /* 给a赋值 */ b=20; /* 给b赋值 */ printf("a+b=%d\n",a+b); } 程序运行后的输出结果是______。 A、a+b=10 B、a+b=30 C、30 D、出错 答案:B 知识点:简单C语言程序的构成和格式 31. 设int a=12,则执行完语句a+=a-=a*a后,a的值是______。 A、552 B、264 C、144 D、-264 答案:D 知识点:算术表达式 33. 若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是______。 A、1.4 B、1 C、2.0 D、2 强制转换 答案:B 知识点:算术表达式 35. 假定x和y为double型,表达式x=2,y=x+3/2的值是______。 A、3.500000 B、3 C、2.000000 D、3.000000 答案:D 知识点:算术表达式 36. 若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是______。 A、1 B、2 C、2.000000 D、2.500000 答案:C 知识点:算术表达式 37. 若有以下程序段 int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是______。 A、0 B、0.5 C、1 D、2 答案:A 知识点:算术表达式 38. 设有int x=11;则表达式(x++ * 1/3)的值是______。?? A、3 B、4 C、11 D、12 答案:A 知识点:算术表达式 39. 下列程序的输出结果是______。 main() { double d=3.2; int x,y; x=1.2;y=(x+3.8)/5.0; printf("%d \n",d*y);int定义整数。。小数直接舍掉。 } A、3 B、3.2 C、0 D、3.07 答案:C 知识点:算术表达式 40. 请读程序片段: int i=65536; printf("%d\n",i); 上面程序片段的输出结果是____b__。 A、65536 B、0 C、有语法错误,无输出结果 D、-1 答案:B 知识点:整型数据 41. 若有以下定义和语句: int u=010,v=0x10,w=10; printf("%d,%d,%d\n",u,v,w); 则输出结果是: ______。0放首位,代表八进制, 0x放首位,代表十六进制。 A、8,16,10 B、10,10,10 C、8,8,10 D、8,10,10 答案:A 知识点:整型数据 43. 以下程序的输出结果是______。 main( ) { int k=17; printf("%d,%o,%x \n",k,k,k); } A、17,021,0x11 B、17,17,17 C、17,0x11,021 D、17,21,11 答案:D 知识点:整型数据 44. 下面程序的输出是______。 main() { unsigned a=32768; printf("a=%d\n",a); } A、a=32768 B、a=32767 C、a=-32768 D、a=-1 答案:C 知识点:整型数据 48. 有以下程序 main() { int m=0256,n=256; printf("%o %o\n",m,n); } 程序运行后的输出结果是______。 A、0256 0400 B、0256 256 C、256 400 D、400 400 答案:C 知识点:整型数据 49. 若执下面程序时从键盘上输入5, main() { int x; scanf("%d",&x); if(x++>5) printf("%d\n",x); else printf("%d\n",x--); } 则输出是______。 A、7 B、6 C、5 D、4 答案:B 知识点:自加、自减运算符和逗号运算符 50. 有以下程序 main () { char a1='M', a2='m'; printf("%c\n", (a1,a2)); 逗号最后的表达式是最后的值。 } 以下叙述中正确的是______。 A、程序输出大写字母M B、程序输出小写字母m C、格式说明符不足,编译出错 D、程序运行时产生出错信息 答案:B 知识点:自加、自减运算符和逗号运算符 51. 以下程序的输出结果是 ______。 main() { int a; printf("%d\n",(a=3*5,a*4,a+5)); } A、65 B、20 C、15 D、10 答案:B 知识点:自加、自减运算符和逗号运算符 54. 有以下程序 main() { int x,y,z; x=y=1; z=x++,y++,++y; printf("%d,%d,%d\n",x,y,z); } 程序运行后的输出结果是______。 A、2,3,3 B、2,3,2 C、2,3,1 D、2,2,1 答案:C 知识点:自加、自减运算符和逗号运算符 55. 设有以下定义 int a=0; double b=1.25; char c='A'; #define d 2 则下面语句中错误的是______。 A、a++; B、b++; C、c++; D、d++; 答案:D 知识点:自加、自减运算符和逗号运算符 56. 以下程序的输出结果是______。 main() { int x=10,y=10; printf("%d %d\n",x--,--y); } A、10 10 B、99 C、9 10 D、10 9 答案:D 知识点:自加、自减运算符和逗号运算符 57. 若x和y都是int型变量,x=100、y=200,且有下面的程序片段 printf("%d",(x,y)); 上面程序片段的输出结果是______。 A、200 B、100 C、100 200 D、输则格式符不够, 输出不确定的值 答案:A 知识点:自加、自减运算符和逗号运算符 58. 设有如下定义: int x=10,y=3,z; 则语句 printf("%d\n",z=(x%y,x/y)); 的输出结果是______。 A、1 B、0 C、4 D、3 答案:D 知识点:自加、自减运算符和逗号运算符 59. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是______。 main( ) { int x; scanf("%d",&x); if(x++ > 5) printf("%d",x); else printf("%d\n",x--); } A、7和5 B、6和3 C、7和4 D、6和4 答案:A 知识点:自加、自减运算符和逗号运算符 60. 若t为double类型,表达式t=1,t+5,t++的值是______。 A、1 B、6.0 C、2.0 D、1.0 答案:D 知识点:自加、自减运算符和逗号运算符 61. 以下程序的输出结果是______。 #include<stdio.h> main() { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、010,9 D、10,9 答案:A 知识点:自加、自减运算符和逗号运算符 62. 有以下程序 main() { int y=10; while(y--); printf("y=%d\n",y); } 程序执行后的输出结果是______。 A、y=0 B、y=-1 C、y=1 D、while构成无限循环 答案:B 知识点:自加、自减运算符和逗号运算符 64. 下面程序的输出是______。 fun3(int x) { static int a=3; a+=x; return(a); } main() { int k=2, m=1, n; n=fun3(k); n=fun3(m); printf("%d\n",n); } A、3 B、4 C、6 D、9 答案:C 知识点:局部变量与其作用域和生存期 66. 有以下程序 int fun(int x[],int n) { static int sum=0,i; for(i=0;i<n;i++) sum+=x[i]; return sum; } main() { int a[]={1,2,3,4,5},b[]={6,7,8,9,},s=0; s=fun(a,5)+fun(b,4); printf("%d\n",s); } 程序执行后的输出结果是______。 A、45 B、50 C、60 D、55 答案:C 知识点:局部变量与其作用域和生存期 67. 以下程序执行后sum的值是___初值未定义___。 main() { int i,sum; for(i=1;i<6;i++) sum+=i; printf("%d\n",sum); } A、15 B、14 C、不确定 D、0 答案:C 知识点:局部变量与其作用域和生存期 68. 以下程序的输出结果是______。 main() { int k=4,m=1,p; p=func(k,m); printf("%d,",p); p=func(k,m); printf("%d\n",p); } func(int a,int b) { static int m=0,i=2; i+=m+1; m=i+a+b; return(m); } A、8,17 B、8,16 C、8,20 D、8,8 答案:A 知识点:局部变量与其作用域和生存期 70. 有以下程序 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("%d,",k); k=fun(j,m); printf("%d\n",k); } 执行后的输出结果是______。 A、5,5 B、5,11 C、11,11 D、11,5 答案:B 知识点:局部变量与其作用域和生存期 71. 以下程序的输出结果是______。 int a,b; void fun() { a=100; b=200; } main() { int a=5,b=7; fun(); printf("%d%d\n",a,b); } A、100200 B、57 C、200100 D、75 答案:B 知识点:全局变量与其作用域和生存期 72. 有如下程序 int func(int a,int b) { return(a+b); } main() { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%d\n",r); } 该程序的输出结果是______。 A、12 B、13 C、14 D、15 答案:D 知识点:调用函数和被调用函数之间的数据传递 73. 有以下程序 void f(int v,int w) { int t; t=v;v=w;w=t; } main() { int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf("%d,%d,%d\n",x,y,z); } 执行后输出结果是______。 A、1,2,3 B、3,1,2 C、1,3,2 D、2,3,1 答案:C 知识点:调用函数和被调用函数之间的数据传递 74. 有以下程序 void f(int x,int y) { int t; if(x<y) {t=x; x=y; y=t;} }没有return 回去不了?? main() { int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf("%d,%d,%d\n",a,b,c); } 执行后输出结果是______。 A、3,4,5 B、5,3,4 C、5,4,3 D、4,3,5 答案:D 知识点:调用函数和被调用函数之间的数据传递 75.有以下程序 int fun1(double a) { return a*=a; } int fun2(double x,double y) { double a=0,b=0; a=fun1(x); b=fun1(y); return (int)(a+b); } main() { double w; w=fun2(1.1,2.0); } 程序执行后变量w中的值是______。 A、5.21 B、5 C、5.0 D、0.0 答案:C 知识点:调用函数和被调用函数之间的数据传递 81. 当执行下面的程序时,如果输入ABC,则输出结果是______。 #include "stdio.h" #include "string.h" main() { char ss[10]="12345"; gets(ss); strcat(ss,"6789"); printf("%s\n",ss); } A、ABC6789 B、ABC67 C、12345ABC6 D、ABC456789 答案:A 知识点:函数的调用 82. 有如下程序 long fib(int n) { if(n>2) return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%ld\n",fib(3)); } 该程序的输出结果是______。 A、2 B、4 C、6 D、8 答案:B 知识点:函数的调用 84. 有以下程序 char fun(char x,char y) { if(x<y) return x; return y; } main() { int a='9',b='8',c='7'; printf("%c\n",fun(fun(a,b),fun(b,c))); } 程序的执行结果是______。 A、函数调用出错 B、8 C、9 D、7 答案:D 知识点:函数的调用 94. 有以下程序 int f(int a) { return a%2; } main() { int s[8]={1,3,5,2,4,6},i,d=0; for(i=0;f(s[i]);i++) d+=s[i]; printf("%d\n",d); } 程序运行后的输出结果是______。 A、9 B、11 C、19 D、21 答案:A 知识点:函数的定义和返回值 103. 以下程序的输出结果是______。 main() { int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for (i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf("%d\n",s); } A、18 B、19 C、20 D、21 答案:A 知识点:二维数组的定义和二维数组元素的引用 104. 以下程序的输出结果是______。 main() { int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf("%d,",x[i][2-i]); } 答案:C 知识点:二维数组的定义和二维数组元素的引用 105. 有以下程序 main() { int i,t[][3]={9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++) printf("%d",t[2-i][i]); } 判序执行后的输出结果是______。 A、753 B、357 C、369 D、751 答案:B 知识点:二维数组的定义和二维数组元素的引用 108. 有以下程序 main() { int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++) { printf("%d ",m[k][i]); } } 执行后输出结果是______。 A、4 5 6 B、2 58 C、3 6 9 D、7 8 9 答案:C 知识点:二维数组的定义和二维数组元素的引用 111. 以下程序的输出结果是______。 main() { int a[4][4]={{1,3,5},{2,4,6},{3,5,7}}; printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]); } A、0650 B、1470 C、5430D、输出值不定 答案:A 知识点:二维数组的定义和二维数组元素的引用 112. 定义如下变量和数组: int i; int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是______。 for(i=0;i<3;i++) printf("%d ",x[i][2-i]); A、1 5 9 B、1 47 C、3 5 7 D、3 6 9 答案:C 知识点:二维数组的定义和二维数组元素的引用 知识点:二维数组的定义和二维数组元素的引用 132. 有以下程序 void sum(int a[]) { a[0]=a[-1]+a[1]; } main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; sum (&a[2]); printf("%d\n",a[2]); } 程序运行后输出结果是______。 A、6 B、7 C、5 D、8 答案:A 知识点:函数之间对一维数组和数组元素的引用 138. 有以下程序 main() { char s[]="abcde"; s+=2; printf("%d\n",s[0]); } 执行后的结果是______。 A、输出字符a的ASCII码 B、输出字符c的ASCII码 C、输出字符c D、程序出错 答案:D 知识点:函数之间对一维数组和数组元素的引用 139. 请读程序: #include <stdio.h> f(int b[],int n) { int i,r; r=1; for(i=0;i<=n;i++) r=r*b[i]; return r; } main() { int x,a[]={2,3,4,5,6,7,8,9}; x=f(a,3); printf("%d\n",x); } 上面程序的输出结果是______。 A、720 B、120 C、24 D、6 答案:B 知识点:一维数组的定义和一维数组元素的引用 145. 有如下程序 main() { int n[5]={0,0,0},i,k=2; for(i=0;i<k;i++) n[i]=n[i]+1; printf("%d\n",n[k]); } 该程序的输出结果是______。 A、不确定的值 B、2 C、1 D、0 答案:D 知识点:一维数组的定义和一维数组元素的引用 146. 以下程序的输出结果是______。 main() { int i,a[10]; for(i=9;i>=0;i--) a[i]=10-i; printf("%d%d%d",a[2],a[5],a[8]); } A、258 B、741 C、852 D、369 答案:C 知识点:一维数组的定义和一维数组元素的引用 174. 下面程序的输出是______。 main() { int x=10,y=3; printf("%d\n",y=x/y); } A、0 B、1 C、3 D、不确定的值 答案:C 知识点:数据输出 175. 已知字母A的ASCII码为十进制的65,下面程序的输出是______。 main() { char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A、67,D B、B,C C、C,D D、不确定的值 答案:A 知识点:数据输出 176. 下列程序的运行结果是______。 #include <stdio.h> main() { int a=2,c=5; printf("a=%d,b=%d \n",a,c); } A、a=%2,b=%5 B、a=2,b=5 C、a=d,b=d D、a=%d,b=5d 答案:B 知识点:数据输出 177. 以下程序的输出结果是______。 #include <stdio.h> main() { int a=2,c=5; printf("a=%%d,b=%%d\n",a,c); } A、a=%2,b=%5 B、a=2,b=5 C、a=%%d,b=%%d D、a=%d,b=%d 答案:D 知识点:数据输出 178. 有以下程序 main( ) { int x=102,y=012; printf("%2d,%2d\n",x,y); } 执行后输出结果是______。 A、10,01 B、02,12 C、102,10 D、02,10 答案:C 知识点:数据输出 179. 有以下程序 main() { int a=666,b=888; printf("%d\n",a,b); } 程序运行后的输出结果是______。 A、错误信息 B、666 C、888 D、666,888 答案:B 知识点:数据输出 181. 执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是______。 main() { char s[100]; int c,i; scanf("%c",&c); scanf("%d",&i); scanf("%s",s); printf("%c,%d,%s \n",c,i,s); } A、123,456,789 B、1,456,789 C、1,23,456,789 D、1,23,456 答案:D 知识点:数据输入 186. 有以下程序 #include <stdio.h> main() { char c1,c2,c3,c4,c5,c6; scanf("%c%c%c%c",&c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf("%c%c\n",c5,c6); } 程序运行后,若从键盘输入(从第1列开始) ______。 123<回车> 45678<回车> 则输出结果是 A、1267 B、1256 C、1278 D、1245 答案:D 知识点:数据输入 195. 假定所有变量均已正确说明,下列程序段运行后x的值是______。 a=b=c=0;x=35; if(!a) x--; else if(b) ; if(c) x=3; else x=4; A、34 B、4 C、35 D、3 答案:B 知识点:if语句和用if语句构成的选择结构 196. 有以下程序 main() { int i; for(i=1;i<40;i++) { if(i++%5==0) if(++i%8==0) printf("%d ",i); } printf("\n"); } 执行后的输出结果是______。 A、5 B、24 C、32 D、40 答案:C 知识点:if语句和用if语句构成的选择结构 198. 有如下程序 main() { int a=2,b=-1,c=2; if(a<b) if(b<0) c=0; else c++; printf("%d\n",c); } 该程序的输出结果是______。 A、0 B、1 C、2 D、3 答案:C 知识点:if语句和用if语句构成的选择结构 199. 请读程序: #include<math.h> #include<stdio.h> main() { float x,y,z; scanf("%f%f",&x,&y); z=x/y; while(z) { if(fabs(z)>1.0) { x=y; y=z; z=x/y; } else break; } printf("%f\n",y); } 若运行时从键盘上输入3.6 2.4<CR>(<CR>表示回车),则输出的结果是______。 A、1.500000 B、1.600000 C、2.000000 D、2.400000 答案:B 知识点:if语句和用if语句构成的选择结构 204. 有以下程序 main() { int k=5,n=0; while(k>0) { switch(k) { default : break; case 1: n+=k; case 2: case 3: n+=k; } k- -; } printf("%d\n",n); } 程序运行后的输出结果是______。 A、0 B、4 C、6 D、7 答案:D 知识点:switch语句以与用switch语句和break语句构成的选择结构 207. 有以下程序 main() { int i; for(i=0;i<3;i++) switch(i) { case 1: printf("%d",i); case 2: printf("%d",i); default: printf("%d",i); } } 执行后输出结果是______。 A、011122 B、012 C、012020 D、120 答案:A 知识点:switch语句以与用switch语句和break语句构成的选择结构 209. 有如下程序 main() { int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;b++; } printf("a=%d,b=%d\n",a,b); } 该程序的输出的结果是______。 A、a=2,b=1 B、a=1,b=1 C、a=1,b=0 D、a=2,b=2 答案:A 知识点:switch语句以与用switch语句和break语句构成的选择结构 210. 以下程序的输出结果是______。 main() { int a=0,i; for(i=1;i<5;i++) { switch(i) { case 0: case 3: a+=2; case 1: case 2: a+=3; default: a+=5; } } printf("%d\n",a); } A、31 B、13 C、10 D、20 答案:A 知识点:switch语句以与用switch语句和break语句构成的选择结构 261. 下列程序的输出结果是______。 main() { int i,j,m=0,n=0; for(i=0;i<2;i++) for(j=0;j<2;j++) if(j>=i) m=1; n++; printf("%d \n",n); } A、4 B、2 C、1 D、0 答案:C 知识点:循环结构的嵌套 262. 有以下程序 main() { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; } while(!i); n++; } printf("n=%d\n",n); } 程序执行后的输出结果是______。 A、n=5 B、n=2 C、n=3 D、n=4 答案:D 知识点:循环结构的嵌套 263. 阅读下列程序: main() { int n[3],i,j,k; for(i=0;i<3;i++) n[i]=0; k=2; for(i=0;i<k;i++) for(j=0;j<k;j++) n[j]=n[i]+1; printf("%d\n",n[1]); } 下述程序运行后输出结果是______。 A、2 B、1 C、0 D、3 答案:D 知识点:循环结构的嵌套 328. 若执行下面的程序时从键盘上输入3和4,则输出是______。 main() { int a,b,s; scanf("%d %d",&a,&b); s=a; if(a<b) s=b; s=s*s; printf("%d\n",s); } A、14 B、16 C、18 D、20 答案:B 知识点:程序分析 329. 以下程序的输出结果是______。 #include <stdio.h> main() { int i; for(i=1;i<5;i++) { if(i%2) printf("*"); else continue; printf("#"); } printf("$\n"); } A、*#*#*#$ B、#*#*#*$ C、*#*#$ D、#*#*$ 答案:C 知识点:程序分析 331. 以下程序的输出结果是______。 main() { int i; for(i=1;i<6;i++) { if(i%2) { printf("#"); continue; } printf("*"); } printf("\n"); } A、#*#*# B、##### C、***** D、*#*#* 答案:A 知识点:程序分析 332. 以下程序的输出结果是______。 #include <stdio.h> main() { int i=0,a=0; while(i<20) { for(;;) { if(i%10==0) break; else i--; } i+=11; a+=i; } printf("%d\n",a); } A、21 B、32 C、33 D、11 答案:B 知识点:程序分析 333. 下面程序的输出结果是______。 #include <stdio.h> main() { int i=2; printf("%d",f(i,i+1)); } int f(int a,int b) { int c; c=a; if(a>b) c=1; else if(a==b) c=0; else c=-1; return(c); } A、-1 B、0 C、1 D、2 答案:A 知识点:程序分析 336. 下面的程序运行结果为______。 main() { int x=3,y=0,z=0; if(x=y+z) printf("* * * *"); else printf("# # # #"); } A、有语法错误不能通过编译 B、输出* * * *。 C、可以通过编译,但是不能通过连接,因而不能运行。 D、输出# # # #。 答案:D 知识点:程序分析 337. 若执行以下程序时从键盘上输入9,则输出结果是______。 main() { int n; scanf("%d",&n); if(n++<10) printf("%d\n",n); else printf("%d\n",n--); } A、11 B、10 C、9 D、8 答案:B 知识点:程序分析 40 / 40
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服