C语言练习题选择题100道
c语言编程题库100题

c语言编程题库100题1. 计算两个整数的和编写一个C程序,接收两个整数作为输入并计算它们的和,并将结果输出。
2. 计算两个整数的差编写一个C程序,接收两个整数作为输入并计算它们的差,并将结果输出。
3. 计算两个整数的乘积编写一个C程序,接收两个整数作为输入并计算它们的乘积,并将结果输出。
4. 计算两个整数的商编写一个C程序,接收两个整数作为输入并计算它们的商,并将结果输出。
5. 判断一个整数是否为偶数编写一个C程序,接收一个整数作为输入并判断它是否为偶数,并将结果输出。
6. 判断一个整数是否为质数编写一个C程序,接收一个整数作为输入并判断它是否为质数(只能被1和自身整除的数),并将结果输出。
7. 计算一个整数的阶乘编写一个C程序,接收一个整数作为输入并计算它的阶乘,并将结果输出。
8. 计算一个整数的平方根编写一个C程序,接收一个整数作为输入并计算它的平方根,并将结果输出。
9. 判断一个字符串是否为回文字符串编写一个C程序,接收一个字符串作为输入并判断它是否为回文字符串(正向和反向读取都相同的字符串),并将结果输出。
10. 排序一个整数数组编写一个C程序,接收一个整数数组作为输入并对其进行排序,并将结果输出。
11. 求两个整数之间的最大公约数编写一个C程序,接收两个整数作为输入并计算它们的最大公约数,并将结果输出。
......(依此类推,共100道题)这是一个C语言编程题库,包含100道不同类型的题目。
你可以选择其中的题目进行练习和实践,通过解决这些问题来提升自己的C语言编程能力。
每道题目都有具体的描述和要求,你可以按照题目要求编写相应的代码,并运行测试。
如果遇到问题,可以参考相关的解法或向他人寻求帮助。
通过不断地练习和学习,你将逐渐掌握C语言的编程技巧和思维方式,提高自己在编程领域中的能力。
祝你编程愉快!。
C语言基础练习100题

C 语言基础练习100 题(含答案)雷柳青编排1 、下边程序的输出是 ________ ch2='A'+'6'-'3';#include<> printf("%d,%c\n",ch1,ch2);void main() }{ int k=11; A) 67,D B) B,C C) C,D D) 不确立的值printf("k=%d,k=%o,k=%x\n",k,k,k); 9、以下程序的输出结果是________.} #include<>A) k=11,k=12,k=11 B) k=11,k=13,k=13 void main()C) k=11,k=013,k=0xb D) k=11,k=13,k=b { int x=10,y=10;printf("%d %d\n",x--,--y);2 、在以下选项中 ,不正确的赋值语句是 ________. }A) ++t; B) n1=(n2=(n3=0)); A) 10 10 B)99 C)910 D)109 C) k=i=j; D) a=b+c=1; 10、若 x 和 y 都是 int 型变量 ,x=100,y=200,且有下边的程序片段 :3 、下边合法的 C 语言字符常量是 __________. printf("%d",(x,y));A) '\t' B) "A" C) 65 D) A 上边程序片段的输出结果是_______.A) 200 B) 1004 、字符 (char) 型数据在微机内存中的储存形式是____. C) 100 200 D) 输出格式符不够 ,输出不确立的值A) 反码B) 补码C) EBCDIC码D) ASCII码11、阅读下边的程序5 、设 int a=12,则履行完语句a+=a-=a*a 后 ,a 的值是#include<>________ void main()A) 552 B) 264 C) 144 D) -264 {int i,j;6 、履行下边程序中的输出语句后,输出结果是 ______. i=010;#include<> j=9;void main() printf("%d,%d",i-j,i+j);{int a; }printf("%d\n",(a=3*5,a*4,a+5)); 则程序的运转结果是 ________.} A) 1,19 B) -1,19 C) 1,17 D) -1,17A) 65 B) 20 C) 15 D) 1012、阅读下边的程序7 、下边程序的输出是 __________. #include<>#include<> void main()void main() {{int x=023; int i,j,m,n;printf("%d\n",--x); i=8;j=10;} m=++i;A) 17 B) 18 C) 23 D) 24 n=j++;8 、下边程序的输出是 ___________. printf("%d,%d,%d,%d",i,j,m,n);#include<> }void main() 程序的运转结果是 _________.{char ch1,ch2; A) 8,10,8,10 B) 9,11,8,10ch1='A'+'5'-'3'; C) 9,11,9,10 D) 9,10,9,1113、若已定义int a, 则表达式 a=10,a+10,a++的值是 ___.A) 20B) 10C) 21D) 1114、阅读下边的程序#include<>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}假如从键盘上输入1234567<回车 >,则程序的运转结果是 ________.A) i=123,j=4567B) i=1234,j=567C) i=1,j=2D) i=123,j=4515、下边程序的输出结果是________.#include<>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,316、下边程序的输出结果是_______.#include<>void main(){int a=5,b=3;float x=, y=;printf("%d,%d\n",a+b!=a-b,x<=(y-=);}A) 1,0 B) 0,1 C) 1,1 D) 0,017、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是 _________.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1018、已知有double 型变量 x=,y=,整型变量a=7,则表达式x+a%3*(int)(x+y)%2/4 的值是 _________.A)B) 2.5C)D) 019 、设有以下语句 :intx=10;x+=3+x%3,则x 的值是 ._________A) 14B) 15C) 11D) 12 20、若 d 为 double 型变量 ,则表达式d=1,d+5,d++的值是_______.A) 1B) 6.0C)D)21、若有定义 int a=12,n=5, 则表达式 a%=(n%2)运算后 ,a 的值 __________.A)0B)1C)12D)622 、若有定义int x=3,y=2 和f loata=,b=, 则表达式:(x+y)%2+(int)a/(int)b 的值是 ____.A)0B)2C)D)123、在 C 语言中 ,以下表达不正确的选项是 ________.A)在 C 程序中 ,不论是整数仍是实数 ,都能被正确无误的表示B)在 C 程序中 ,变量名代表储存器中的一个地点C)静态变量的生计期与整个程序的生计期同样D)C语言中变量一定先定义后引用24、设 a 为整型变量 ,不可以正确表达数学关系10<a<15 的 C 语言表达式是 ________.A) 10<a<15B) a==11||a==12||a==13||a==14 C) a>10&&a<15D) !(a<=10)&&!(a>=15)25、假如 c 为字符型变量,判断 c 能否为空格不可以使用________.( 假定已知空格 ASCII码为 32)A) if(c=='32')B) if(c==32)C) if(c=='\40')D) if(c==' ')26、履行下边程序时,若从键盘输入"2<CR>",则程序的运转结果是 ________.#include <>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1027、履行下边程序后,运转结果是 ________.#include <>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);} else{y=x;printf("y=%d",y);}}A) y=41B) y=43C) y=42D) y=128、运转下边程序时,从键盘输入"12,34,9<CR>",则{ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);输出结果是 ______. }#include <> A) 8 B) 1 C) 9 D) 0 void main( ){ int x,y,z; 33、运转下边程序时,若从键盘输入"3, 4 <CR>",则scanf("%d,%d,%d",&x,&y,&z); 程序的输出结果是_______.if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A)34B)12C)9 D) 不确立的值#include <>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;29、运转下边程序时,从键盘输入字母果是 ________. H,则输出结}A) 14 B) 16 C) 18 D) 20#include <>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n"); 34、以下程序的履行结果是#include <>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);_________.} }A) Hello!C) Hello!Good morning! B) Hello!Good Morning!D) Hello!Bye_Bye!}A) 3,0B) 0,0C) 0,135、可以达成以下函数计算的程序段是┌ -1x<0y= ┤0x=0└1x>0D) 3,1______.Bye_Bye!30、履行以下程序段后的输出结果是_________.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<yy:x);A)3B)2C)1D)431、设 ch 是 char 型变量 ,值为 'A',则表达式ch=(ch>='A' && ch<='Z')ch+32:ch 的值是 _____.A) Z B) a C) z D) A32、下边程序的输出结果是________.void main( ) A) y=1;if(x!=0)if(x>0) y=1;else y=0;C) y=0;if (x>=0)if (x>0) y=1;else y=-1;36、以下程序的履行结果是#include <>void main( )switch (x)B) if (x>=0)if(x>0) y=1;else y=0;else y=-1;D) y=-1;if (x>0) y=1;else y=0;________.{case 2: a++;b++;case 1:}switch (y)printf("a=%d,b=%d\n",a,b);{}case 0:printf("first\n");break;该程序的输出结果是__________.case 1:printf("second\n");break;A) a=2,b=1B) a=1,b=1C) a=1,b=0D) a=2,b=2 }case 2:printf("third\n");40、下边程序的输出结果是_________.}#include <>}void main( )A) first B) first{ int a=-1,b=1,k;second third if ((++a<0) && (b--<=0))C) first D) second printf("%d %d\n",a,b);third elseprintf("%d %d\n",b,a);37、以下程序的履行结果是________. #include <>void main( ){ int a,b,c,d,x;a=c=0;b=1; d=20;if (a) d=d-10;else if(!b)}A)-11 B)01 C)10 D)0041、假定 w、 x、 y、 z、 m 均为 int 型变量,有以下程序段:w=1;x=2;y=3;z=4;m=(w<x)w:x; m=(m<y)m:y;m=(m<z)m:z;则该程序段履行后,m 的值是 _________.A)4B)3C)2D)1if (!c) x=15; 42、以下程序的输出结果是_________.else x=25; main( )printf("d=%d\n",d); { int a=100;} if (a>100) printf("%d\n",a>100);A) d=20 B) d=10 C) d=15 D) 25 else printf("%d\n",a<=100);38、以下程序履行后的输出结果是________. }#include <> A) a<=100B) 100 C) 0 D) 1 void main( ){ int x,y=1,z; 43、若履行下边的程序从键盘上输入9,则输出结果if ((z=y)<0) x=4; 是.______________else if (y==0) x=5; #include <>else x=6; void main( )printf("%d,%d\n",x,y); {int n;} scanf("%d",&n);A) 4,1 B) 6,1 C) 5,0 D) 犯错信息if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}39、有以下程序A) 11 B) 10 C) 9 D) 8#include <>void main( ) 44、以下程序段运转结果是________.{ int x=1,a=0,b=0; int x=1,y=1,z=-1;switch(x) x+=y+=z;{ printf("%d\n",x<yy:x);case 0: b++; A) 1 B) 2 C) 4 D) 不确立的值case 1: a++; 45、有以下程序#include <> 是______.void main( ) #include <>{ int a,b,c=246; void main( )a=c/100%9; { int a,b;b=(-1)&&(-1); scanf("%d",&a);printf("%d,%d\n",a,b); b=a>15a+10:a-10;} printf("%d\n",b) ;输出结果是 ________. }A) 2,1 B) 3,2 C) 4,3 D) 2,-1 A) 5 B) 25 C) 15D) 1046、运转下边程序时,若从键盘输入数据为"123" ,50、履行下边程序的输出结果是________. 则输出结果是 _______. #include <>#include "" void main( )void main() { int a=5,b=0,c=0;{ int num,i,j,k,place; if (a=a+b) printf("****\n");scanf("%d",&num); else printf("####\n");if (num>99) }place=3; A) 有语法错误不可以编译else if(num>9) B) 能经过编译,但不可以经过连结place=2; C) 输出 ****else D) 输出 ####place=1;i=num/100; 51、为了防止嵌套的if-else 语句的二义性, C 语言规j=(num-i*100)/10; 定 else 老是与 ______构成配对关系 .k=(num-i*100-j*10); A) 缩排地点同样的ifswitch (place) B) 在其以前未配对的if{ case 3: printf("%d%d%d\n",k,j,i); C) 在其以前还没有配对的近来的ifbreak; D) 同一行上的 ifcase 2: printf("%d%d\n",k,j);break; 52、以下程序段 __________.case 1: printf("%d\n",k); x=-1;} do} {A) 123 B) 1,2,3 C) 321 D) 3,2,1 x=x*x;} while (!x);47、履行以下程序后的输出结果是_______. A)是死循环B)循环履行两次#include <> C)循环履行一次D)有语法错误void main( ){ int k=4,a=3,b=2,c=1; 53、对下边程序段描绘正确的选项是_______.printf("%d\n",k<ak:c<bc:a); int x=0,s=0;} while (!x!=0) s+=++x;A) 4 B) 3 C) 2 D) 1 printf("%d",s);A) 运转程序段后输出048、以下条件表达式中能完整等价于条件表达式if(x) B) 运转程序段后输出 1中的 x 的是 ____. C) 程序段中的控制表达式是非法的A) (x==0) B) (x!=0) C) (x==1)D) (x!=1) D) 程序段循环无数次49、若运转下边程序时,给变量 a 输入 15,则输出结果54、下边程序段的输出结果是_______.x=3;do { y=x--; 60、下边程序的运转结果是________.if (!y) {printf("*");continue;} #include<>printf("#"); void main( )} while(x=2); { int a,b;A) ## B) ##*C) 死循环D)输犯错误信息a=-1;b=0;55、下边程序的运转结果是_______. do {#include<> ++a;void main( ) ++a;{ int a=1,b=10; b+=a;do } while(a<9);{ b-=a;a++; printf("%d\n",b);} while(b--<0); }printf("%d,%d\n",a,b); A) 34 B) 24 C) 26 D) 25 } 61、下边程序段的运转结果是___________.A) 3,11 B) 2,8 C) 1,-1 D) 4,9 for(i=1;i<=5;)printf("%d",i);56、下边程序段的运转结果是__________. i++;int n=0; A) 12345 B) 1234 C) 15 D) 无穷循环while (n++<=2)printf("%d",n); 62、下边程序的输出结果是__________.A) 012 B) 123 C) 234 D) 错误信息#include<>void main( )57、下边程序段的运转结果是________. { int n=4;int x=0,y=0; while (n--) printf("%d ",n--);while (x<15) y++,x+=++y; }printf("%d,%d",y,x); A)20 B)31 C)321 D)210A) 20,7 B) 6,12 C) 20,8 D)8,2058、下边程序的运转结果是________. 63、以下程序运转后的输出结果是 ________.#include<> #include<>void main() void main(){ int s=0,i=1; { int i=10,j=0;while (s<=10) do{ s=s+i*i; { j=j+1; i--;i++; }while(i>2);} printf("%d\n",j);printf("%d",--i); }} A) 50 B) 52 C) 51 D) 8 A) 4 B) 3 C) 5 D) 6 64、有以下程序#include<>59、下边程序段的运转结果是________. void main()for(x=10;x>3;x--) { int x=23;{ if(x%3) x--; do--x; --x; { printf("%d",x--);printf("%d ",x); }while(!x);} }A)63 B)74 C)62 D)73 该程序的履行结果是 _______A) 321 B) 23 该程序段的输出结果是__________.C) 不输出任何内容D) 堕入死循环A) 987 B) 876 C) 8765 D) 987665、以下程序段的履行结果是_______. 70、有以下程序int i,j,m=0; #include<>for(i=1;i<=15;i+=4) void main( )for(j=3;j<=19;j+=4) { int i,sum=0;m++; for(i=1;i<=3;sum++) sum+=i;printf("%d\n",m); printf("%d\n",sum);A) 12 B) 15 C) 20 D) 25 }该程序的履行结果是 ___________.66、下边程序的输出结果是___________. A) 6 B) 3 C) 死循环D) 0#include<>void main( ) 71、以下循环体的履行次数是_______{ int i; #include<>for(i=1;i<6;i++) void main( ){ if (i%2!=0) {printf("#");continue;} { int i,j;printf("*"); for(i=0,j=1; i<=j+1; i+=2, j--)} printf("%d \n",i);printf("\n"); }} A) 3 B) 2 C) 1 D) 0A) #*#*# B) ##### C) ***** D) *#*#*72、在履行以下程序时,假如从键盘上输入: ABCdef< 67、下边程序的输出结果是__________. 回车 >,则输出为 ________.#include<> #include <>void main( ) void main( ){ int x=10,y=10,i; { char ch;for(i=0;x>8;y=++i) while ((ch=getchar( ))!='\n')printf("%d %d ",x--,y); { if (ch>='A' && ch<='Z') ch=ch+32;} else if (ch>='a' && ch<'z') ch=ch-32;A)10192 B)9876 printf("%c",ch);C)10990 D)101091 }printf("\n");68、履行以下程序后,输出的结果是__________. }#include<> A) ABCdef B) abcDEF C) abc D) DEF void main( ){ int y=10; 73、下边程序的输出结果是__________.do {y--;} main( )while (--y); {printf("%d\n",y--); int i,k=0, a=0, b=0;} for(i=1;i<=4;i++)A) -1 B) 1 C) 8 D) 0 {k++;69、有以下程序if (k%2==0) {a=a+k; continue;}#include<> b=b+k;void main( ) a=a+k;{ int n=9; }while(n>6) {n--;printf("%d",n);} printf("k=%d a=%d b=%d\n",k,a,b);} }A) k=5 a=10 b=4B) k=3 a=6 b=4C) k=4 a=10 b=3D) k=4 a=10 b=474、履行下边程序段后,k 的值是 _________.int i,j,k;for(i=0,j=10;i<j;i++,j--)k=i+j;A)9B)11C)8D)1075、以下程序的功能是:从键盘上输入若干个学生的成绩 , 统计并输出最高成绩和最低成绩 ,当输入负数时结束输入。
C语言练习题-选择题(带答案)

C语言练习题-选择题(带答案)1.下列字符序列中,可用作C标识符的一组字符序列是(D)。
A:S.b,um,average,_aboveB:cla,day,lotu_1,2dayC:#md,&12某,month,tudent_n!D:D56,r_1_2,name,_t_12.C语言程序从main()函数开始执行,所以这个函数要写在(C).A:程序文件的开始B:程序文件的最后C:程序文件的任何位置(除别的函数体内)D:它所调用的函数的前面3.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为(B).A:连接、编译B:编译、连接C:连接、运行D:运行4.要调用文件处理函数时,在#include命令行中应包含(C).A:\5.以下数据中,不正确的数值或字符常量是(C)。
A:0B:5LC:o13D:98616.在C语言中,错误的语句是(C).A:a=b=c;B:;C:breakD:b=3某5,a某=4;7.以下标识符中,不能作为合法的C用户定义标识符的是(B)。
A:a3_b3B:voidC:_123D:IF8.一个C语言程序是由(C)组成.A:一个主程序和若干子程序B:函数C:若干过程D:若干子程序9.C语言源程序的基本单位是(B)。
A:过程B:函数C:子程序D:标识符10.已知宏定义#defineN3#defineY(n)((N+1)某n)执行语句z=2某(N+Y(5+1));变量z的值为(B).A:42B:48C:54D:出错第11题C语言文件系统中,整数1008若以ASCII形式存储,则占几个字节(B).A:2B:4C:1D:5第12题正确的自定义标识符是(C).A:ifB:a某bC:IfD:8pq第13题有说明语句chara='\\101';,则变量a(D).A:包含4个字符B:包含2个字符C:包含3个字符D:包含1个字符第14题下面正确的字符常量是(C).A:\第15题在main函数体内部和外部均允许出现的实体是(A).A:预处理命令B:语句C:另一函数的定义D:函数形式参数声明第16题若变量已正确说明为float类型,要通过语句canf(\给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是(B).A:102233B:10.0,22.0,33.0C:10.022.033.0第17题(B)是C语言提供的合法数据类型关键字.A:FloatB:ignedC:integerD:Char第18题下列选项中,合法的C语言关键字是(D).A:VARB:cherC:integerD:default第19题使用语句canf(\输入变量某,y的值([]代表空格),正确的输入是(C).A:1.25,2.4B:1.25[]2.4C:某=1.25,y=2.4D:某=1.25[]y=2.4第20题宏定义\\的宏替换\应为(A).A:a=某+5某y-3.1;B:a=(某+5)某(y-3.1);C:a=某+5某y-3.1D:a=(某+5)某(y-3.1)答案:A第21题(1.0分)题号:919下述程序段的输出结果是(A).int某=10;inty=某++;printf(\A:11,10B:11,11C:10,10D:10,11答案:A第22题(1.0分)题号:925以下不正确的C语言标识符是(A).A:2yB:a_1_2C:able某eD:_某答案:A第23题(1.0分)题号:914以下所列的C语言常量中,错误的是(B).A:0某ffB:1.2e0.5C:2LD:'\\72'答案:B第24题(1.0分)题号:918下列程序的输出是(B).#includemain(){printf(\A:0B:变量无定义C:-1D:1答案:B第25题(1.0分)题号:930在C程序中,1如果用来表示逻辑值时,应代表(A).A:真B:假C:整数1D:长整型数1答案:A第26题(1.0分)题号:927以下答案中不是C语言最基本数据类型的是(A).A:逻辑型B:整型C:字符型D:实型答案:A第27题(1.0分)题号:922常数的书写格式决定了常数的类型和值,0某1011是(C).A:8进制整型常量B:字符常量C:16进制整型常数D:2进制整型常数答案:C第28题(1.0分)题号:928若某,y均定义为int型,z为double型,以下不合法的canf函数调用语句是(D).A:canf(\\B:canf(\\C:canf(\\D:canf(\\答案:D第29题(1.0分)题号:931以下所列字符常量中,不合法的是(A).A:'\\0某a2'B:'\\65'C:'$'D:'\\某2a'答案:A第30题(1.0分)题号:912若变量都已正确说明,则以下程序段(C).a=2;b=3;printf(a>b\A:没有正确的输出格式控制B:输出为:某某某a=2C:输出为:###b=2D:输出为:某某某a=2###b=3答案:C第31题(1.0分)题号:929以下四个字符序列中,能用作用户自定义的标识符是(A).A:PutcharB:-doubleC:A123-D:int答案:A第32题(1.0分)题号:923下列格式符中,可以用于以8进制形式输出整数的是(C).A:%dB:C:%oD:答案:C第33题(1.0分)题号:936以下叙述中正确的是(D).A:输入项可以是一个实型常量,如:canf(\B:只有格式控制,没有输入项,也能正确输入数据到内存,例如:canf(\ C:当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:canf(\D:当输入数据时,必须指明变量地址,例如:canf(\答案:D第34题(1.0分)题号:926C语言中字符型(char)数据在内存中的存储形式是(D).A:原码B:补码C:反码D:ASCII码答案:D。
C语言各章节练习题(含答案)

一、C语言概述练习题选择1.一个C程序的执行是从。
本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。
A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。
A)一个主程序和若干个子程序组成函数组成 C) 若干过程组成 D) 若干子程序组成二、数据类型、运算符与表达式选择. 1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为。
x=(i=4,j=16,k=32) A) 4 B) 16 D) 522.下列四组选项中,均不是C语言关键字的选项是。
C) include case scanf D) while go pow3.下列四组选项中,均是不合法的用户标识符的选项是。
int C) float la0 _A D) -123 abc TEMP4.下列四组选项中,均是合法转义字符的选项是。
\”’‘\\’‘\n’ B)‘\’‘\017’‘\”’ C)‘\018’‘\f’‘xab’ D)‘\\0’‘\101’‘xlf’5.下面不正确的字符常量是。
“c”B) ‘\\’’C) ‘’D) ‘K’6.以下叙述不正确的是。
A) 在C程序中,逗号运算符的优先级最低 B) 在C程序中,MAX和max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值7.以下叙述正确的是。
C语言基础练习100题含

C 语言基础练习 100 题〔含答案〕雷柳青编排1、下面程序的输出是 ________#include<stdio.h>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在以下选项中 ,不正确的赋值语句是 ________.A) ++t;B) n1=(n2=(n3=0));C) k=i=j;D) a=b+c=1;3、下面合法的 C 语言字符常量是 __________.A) '\t'B) "A"C) 65D) A4、字符 (char)型数据在微机内存中的储藏形式是____.A) 反码B) 补码C) EBCDIC码D) ASCII码5、设 int a=12,那么执行完语句a+=a-=a*a后,a 的值是 ________A) 552B) ) 144D) -2646、执行下面程序中的输出语句后,输出结果是 ______.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65B))15D) 107、下面程序的输出是 __________.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);}A)17B))23D)248、下面程序的输出是 ___________.#include<stdio.h>void 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) 不确定的值9、以下程序的输出结果是________.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A)1010B)9)910D)1090、假设 x 和 y 都是 int 型变量 ,x=100,y=200,且有下面的程序片段 : printf("%d",(x,y));上面程序片段的输出结果是_______.A) 200B) 100C)100 200D) 输出格式符不够 ,输出不确定的值1、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}那么程序的运行结果是________.A) 1,19B) -1,) 1,17D) -1,172、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是 _________.A) 8,10,8,10B) 9,11,8,10C) 9,11,9,10D) 9,10,9,113、假设已定义 int a,那么表达式 a=10,a+10,a++的值是 ___.A)20B))21D)114、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}若是从键盘上输入1234567<回车 >,那么程序的运行结果是 ________.A) i=123,j=4567B) i=1234,j=567C) i=1,j=2D) i=123,j=455、下面程序的输出结果是________.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2B) 1,0,) 0,1,2D) 0,0,36、下面程序的输出结果是_______.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0B) 0,) 1,1D) 0,07、假设有以下定义和语句 :int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);那么输出结果是 _________.A) 10,10,10B) 8,16,) 8,10,10D) 8,8,108、有 double 型变量 x=2.5,y=4.7,整型变量 a=7, 那么表达式 x+a%3*(int)(x+y)%2/4 的值是 _________.D) 09、设有以下语句 :int x=10;x+=3+x%3,那么 x 的值是 ._________A) 14B))11D) 120、假设 d 为 double 型变量 ,那么表达式 d=1,d+5,d++的值是 _______.A) 11、假设有定义 int a=12,n=5,那么表达式 a%=(n%2)运算后 ,a 的值__________.A) 0B))12D) 62、假设有定义 int x=3,y=2 和 float a=2.5,b=3.5,那么表达式 :(x+y)%2+(int)a/(int)b的值是 ____.A) 0D) 13、在 C 语言中 ,以下表达不正确的选项是 ________.A)在 C 程序中 ,无论是整数还是实数 ,都能被正确无误的表示B)在 C 程序中 ,变量名代表储藏器中的一个地址C)静态变量的生计期与整个程序的生计期相同D)C语言中变量必定先定义后引用4、设 a 为整型变量 ,不能够正确表达数学关系10<a<15的 C 语言表达式是________.A) 10<a<15B) a==11||a==12||a==13||a==14C) a>10&&a<15D) !(a<=10)&&!(a>=15)5、若是 c 为字符型变量,判断 c 可否为空格不能够使用 ________.(假设空格 ASCII码为 32)A) if(c=='32')B) if(c==32)C) if(c=='\40')D) if(c=='')6、执行下面程序时 ,假设从键盘输入 "2<CR>",那么程序的运行结果是________.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')else k=cp-'A'+10;printf("%d\n",k);}A)2B))1D)107、执行下面程序后 ,运行结果是 ________.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41B) y=) y=42D) y=18、运行下面程序时,从键盘输入"12,34,9<CR>",那么输出结果是 ______. #include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34B) ) 9D) 不确定的值9、运行下面程序时,从键盘输入字母H,那么输出结果是 ________. #include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello!B) Hello!Good Morning!C) Hello!D) Hello!Good morning!Bye_Bye!Bye_Bye!0、执行以下程序段后的输出结果是_________.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A)3B))1D)41、设 ch 是 char 型变量 ,值为 'A',那么表达式 ch=(ch>='A' && ch<='Z')?ch+32:ch 的值是 _____.A) Z B) a C) z D) A2、下面程序的输出结果是________.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A)8B))9D)03、运行下面程序时,假设从键盘输入"3,4 <CR>",那么程序的输出结果是_______.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A)14B))18D)204、以下程序的执行结果是_________.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0B) 0,) 0,1D) 3,15、能够完成以下函数计算的程序段是______.┌-1x<0y= ┤ 0x=0└ 1x>0A) y=1;B) if (x>=0) if(x!=0)if(x>0) y=1; if(x>0) y=1;else y=0; else y=0;else y=-1; C) y=0;D) y=-1;if (x>=0)if (x>0) y=1; if (x>0) y=1;else y=0;else y=-1;6、以下程序的执行结果是________. #include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird7、以下程序的执行结果是________.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0; b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20B) d=) d=15D) 258、以下程序执行后的输出结果是________.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0)x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1B) 6,) 5,0D) 出错信息9、有以下程序#include <stdio.h>void 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=) a=1,b=0 D) a=2,b=2 0、下面程序的输出结果是 _________. #include<stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A)-11B)0)10D)001、假设 w、x、y、z、m 均为 int 型变量,有以下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y;m=(m<z)?m:z;那么该程序段执行后, m 的值是 _________.A)4B))2D)12、以下程序的输出结果是_________.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100B))0D) 13、假设执行下面的程序从键盘上输入9,那么输出结果是 .______________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11B))9D) 84、以下程序段运行结果是________. int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1B) ) 4D) 不确定的值5、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是 ________.A) 2,1B) 3,) 4,3D) 2,-16、运行下面程序时,假设从键盘输入数据为"123",那么输出结果是 _______.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123B) 1,2,) 321D) 3,2,17、执行以下程序后的输出结果是_______.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A)4B))2D)18、以下条件表达式中能完好等价于条件表达式if(x)中的 x 的是 ____.A) (x==0)B) (x!=0)C) (x==1)D) (x!=1)9、假设运行下面程序时 ,给变量 a 输入 15,那么输出结果是 ______.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5B))15D) 100、执行下面程序的输出结果是________.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A)有语法错误不能够编译B)能经过编译,但不能够经过连接C)输出 ****D)输出 ####1、为了防范嵌套的if-else 语句的二义性, C 语言规定 else 总是与 ______组成配对关系 .A)缩排地址相同的 ifB)在其从前未配对的 ifC)在其从前还没有配对的近来的 ifD)同一行上的 if2、以下程序段 __________.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误3、对下面程序段描述正确的选项是_______. int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A)运行程序段后输出 0B)运行程序段后输出 1C)程序段中的控制表达式是非法的D)程序段循环无数次4、下面程序段的输出结果是_______.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ##B) ##*C) 死循环D)输出错误信息5、下面程序的运行结果是_______.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11B) 2,) 1,-1D) 4,96、下面程序段的运行结果是__________.int n=0;while (n++<=2)printf("%d",n);A) 012B) ) 234D) 错误信息7、下面程序段的运行结果是________.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7B) 6,) 20,8D)8,208、下面程序的运行结果是________.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4B))5D) 69、下面程序段的运行结果是________. for(x=10;x>3;x--){ if(x%3) x--; --x; --x;printf("%d ",x);}A)63B)7)62D)730、下面程序的运行结果是________.#include<stdio.h>void main( ){ int a,b;a=-1;b=0;do {++a;++a;b+=a;} while(a<9);printf("%d\n",b);}A)34B))26D)251、下面程序段的运行结果是___________. for(i=1;i<=5;)printf("%d",i);i++;A) 12345B) ) 15D) 无量循环2、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int n=4;while (n--) printf("%d ",n--);}A)20B)3)321D)2103、以下程序运行后的输出结果是________. #include<stdio.h>void main(){ int i=10,j=0;do{ j=j+1; i--; }while(i>2);printf("%d\n",j);}A)50B))51D)84、有以下程序#include<stdio.h>void main(){ int x=23;do{ printf("%d",x--); }while(!x);}该程序的执行结果是 _______A) 321B) 23C) 不输出任何内容D) 坠入死循环5、以下程序段的执行结果是_______.int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf("%d\n",m);A)12B))20D)256、下面程序的输出结果是___________. #include<stdio.h>void main( ){ int i;for(i=1;i<6;i++){ if (i%2!=0) {printf("#");continue;}printf("*");}printf("\n");}A) #*#*#B) #####C) *****D) *#*#*7、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d%d ",x--,y);}A)10192B)9876C)10990D)1010918、执行以下程序后,输出的结果是__________. #include<stdio.h>void main( ){ int y=10; do {y--;} while (--y);printf("%d\n",y--);}A)-1B)C)8D)09、有以下程序#include<stdio.h>void main( ){ int n=9;while(n>6) {n--;printf("%d",n);}}该程序段的输出结果是__________.A) 987B) ) 8765D) 98760、有以下程序#include<stdio.h>void main( ){ int i,sum=0;for(i=1;i<=3;sum++) sum+=i;printf("%d\n",sum);}该程序的执行结果是 ___________.A)6B))死循环D)01、以下循环体的执行次数是_______ #include<stdio.h>void main( ){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A)3B))1D)02、在执行以下程序时,若是从键盘上输入:ABCdef<回车 >,那么输出为________.#include <stdio.h>void main( ){ char ch;while ((ch=getchar( ))!='\n'){ if (ch>='A' && ch<='Z') ch=ch+32;else if (ch>='a' && ch<'z') ch=ch-32;printf("%c",ch);}printf("\n");}A) ABCdef B) abcDEF C) abc D) DEF 3、下面程序的输出结果是 __________. main( ){int i,k=0, a=0, b=0;for(i=1;i<=4;i++){k++;if (k%2==0) {a=a+k; continue;}b=b+k;a=a+k;}printf("k=%d a=%d b=%d\n",k,a,b);}A) k==10 b=4B) k==6 b=4C) k==10 b=3D) k==10 b=44、执行下面程序段后 ,k 的值是 _________.int i,j,k;for(i=0,j=10;i<j;i++,j--)k=i+j;A)9B))8D)105、以下程序的功能是 :从键盘上输入假设干个学生的成绩, 统计并输出最高成绩和最低成绩 ,当输入负数时结束输入。
C语言练习题(带详解答案)

C语言练习题(带详解答案)一单项选择题1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。
A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D)包含文件中的第一个函数3、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)A)C程序的工作过程是编辑、编译、连接、运行B)C语言不区分大小写。
C)C程序的三种基本结构是顺序、选择、循环D)C程序从main函数开始执行5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.intt5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的-,选项B中[与]不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。
A)3a某B)某C)caeD)-e2E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的-不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A)%某B)a+bC)a123D)123选项A中的%,选项B中+不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print_3ddb8aBcB、I\\amone_halftart$it3paiC、tr_1CpppowwhileD、P某qMy->bookline#Hi.age选项B中的\\,$,选项D中>,#,.,-不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
(完整版)C语言各章练习题

目录第一章程序设计和C语言 (2)第二章最简单的C程序设计 (2)第三章选择结构程序设计 (4)第四章循环结构程序设计 (7)第五章数组 (11)第六章函数 (14)第七章指针 (18)第一章程序设计和C语言一、选择题:1.一个C程序的执行是从( )A、本程序的main函数开始,到main函数结束B、本文件第一个函数开始,到本文件的最后一个函数结束C、本程序的main函数开始,到本文件的最后一个函数结束D、本文件的第一个函数开始,到本文件的main结束2.以下说法不正确的是()A、一个C源程序可由一个或多个函数组成B、一个C程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面3.C语言规定:在一个源程序中,main函数的位置()A、必须在开始B、必须在系统调用的库函数的位置C、可以任意D、必须在最后4.源程序program.c经编译产生的目标文件和连接后产生的可执行文件是( )A、program.bak和program.objB、program.obj和program.exeC、program.exl和program.cD、program.bak和prgram.exe第二章最简单的C程序设计一、选择题1.是合法的用户自定义标识符的( )A、ah-spksB、doubleC、<ctrl>D、_myapple2.以下正确的C语言标识符是()A、%xB、a+bC、a123D、test!3.以下不能定义为用户标识符的是( )A、V oidB、b_2C、intD、name4.以下选项中可作为C语言合法整数的是( )A、11010(B)B、0583C、x2b2D、0xafb5.VC++6.0中的短整型数值在计算机中占用的字节个数是( )A、1B、2C、3D、46.设short int型的数据长度为2个字节,则unsigned short 类型数据的取值范围是()P34A、均为2个字节B、0至65535C、-3276至32767D、-256至255 7.以下选项中可作为C语言合法常量的是()(指数E或e前必须有数字,后面必须有整数)A、-80.0B、-080C、-8e1.2D、-80.0e8.在VC++6.0编译环境下,下列式中,值不为4的表达式是()P34,double为8字节A、sizeof(unsigned long)B、sizeof(long)C、sizeof(unsigned int)D、sizeof(double)9.设有说明语句:char a=’\123’;则变量a( )一个ascii字符A、包含1个字符B、包含2个字符C、3个字符D、说明不合法10.设x为一数字字符,则其所对应的十进制数值为()。
C语言练习题-选择题(带答案)

试卷编号:65所属语言:C语言试卷方案:平时练习-选择试卷总分:276分共有题型:1种━━━━━━━━━━━━━━━━━━一、单项选择共276题(共计276分)━━━━━━━━━━━━━━━━━━第1题(1.0分)题号:288下列字符序列中,可用作C标识符的一组字符序列是()。
A:S.b,sum,average,_above B:class,day,lotus_1,2dayC:#md,&12x,month,student_n! D:D56,r_1_2,name,_st_1答案:D第2题(1.0分)题号:910C语言程序从main()函数开始执行,所以这个函数要写在( ).A:程序文件的开始 B:程序文件的最后C:程序文件的任何位置(除别的函数体内) D:它所调用的函数的前面答案:C第3题(1.0分)题号:908完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( ). A:连接、编译 B:编译、连接 C:连接、运行 D:运行答:B第4题(1.0分)题号:909要调用文件处理函数时,在#include 命令行中应包含( ).A:"ctype.h" B:"string.h" C:"stdio.h" D:"math.h"答案:C第5题(1.0分)题号:609以下数据中,不正确的数值或字符常量是()。
A:0B:5LC:o13D:9861答案:C第6题(1.0分)题号:911在C语言中,错误的语句是( ).A:a=b=c;B:;C:breakD:b=3*5,a*=4;答案:C第7题(1.0分)题号:574以下标识符中,不能作为合法的C用户定义标识符的是()。
A:a3_b3B:voidC:_123D:IF答案:B第8题(1.0分)题号:907一个C语言程序是由( )组成.A:一个主程序和若干子程序B:函数C:若干过程D:若干子程序答案:B第9题(1.0分)题号:234C语言源程序的基本单位是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目部分,(卷面共有100题,300.0分,各大题标有题量和总分)一、单项选择题(100小题,共300.0分)(3分)[1]以下是有关汉诺塔问题的程序段,若在main函数中有调用语句hanoi(3,‘A’,‘B’,‘C’);则符合程序段运行结果的选项是void move(char getone,char putone){printf(“%c-->%c\n”,getone,putone);}void hanoi(int n,char one,char two,char three){if(n==1) move(one,three);else{hanoi(n-1,one,three,two);move(one,three);hanoi(n-1,two,one,three);}}A、A-->CB、A-->CC、A-->CD、A-->CA-->B A-->B A-->B A-->BC-->B C-->A C-->B C-->BB-->A A-->B A-->C A-->CC-->B B-->C B-->A A-->BA-->C A-->C B-->C B-->CA-->B A-->B A-->C A-->C(3分)[2]以下不正确的说法是C语言规定A、实参可以是常量、变量或表达式B、形参可以是常量、变量或表达式C、实参可以为任意类型D、形参应与其对应的实参类型一致(3分)[3]以下正确的描述是在C语言程序中A、函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和函数的调用均不可以嵌套D、函数的定义和函数的调用均可以嵌套(3分)[4]以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。
#include <stdio.h>#include <math.h>main(){float x,y,z,sum;scanf(“%f %f %f”,&x,&y,&z);sum=f(【1】)+f(【2】);printf(“sum=%f\n”,sum);}float f(float a,float b){float value;value=a/b;return(value);}【1】A、x-y,x+y B、x+y,x-y C、z+y,z-y D、z-y,z+y 【2】A、x-y,x+y B、x+y,x-y C、z+y,z-y D、z-y,z+y (3分)[5]以下错误的描述是函数调用可以A、出现在执行语句中B、出现在一表达式中C、做为一个函数的实参D、做为一个函数的形参(3分)[6]下面函数调用语句含有实参的个数为func((exp1,exp2),(exp3,exp4,exp5));A、1B、2C、4D、5(3分)[7]C语言规定,函数返回值的类型是由A、return语句中的表达式类型所决定B、调用该函数时的主调函数类型所决定C、调用该函数时系统临时决定D、在定义该函数时所指定的函数类型所决定(3分)[8]C语言允许函数值类型缺省定义,此时该函数值隐含的类型是A、float型B、int型C、long型D、double型(3分)[9]以下程序有语法性错误,有关错误原因的正确说法是main(){int G=5,k;void prt_char();… …k=prt_char(G);… …}A、语句void prt_char();有错,它是函数调用语句,不能用void说明B、变量名不能使用大写字母C、函数说明和函数调用语句之间有矛盾D、函数名不能使用下划线(3分)[10]以下正确的说法是A、定义函数时,形参的类型说明可以放在函数体内B、return后边的值不能为表达式C、如果函数值的类型与返回值类型不一致,以函数值类型为准D、如果形参与实参的类型不一致,以实参类型为准(3分)[11]若调用一个函数,且此函数中没有return语句,则正确的说法是该函数A、没有返回值B、返回若干个系统默认值C、能返回一个用户所希望的函数值D、返回一个不确定的值(3分)[12]以下正确的说法是在C语言中A、实参和与其对应的形参各占用独立的存储单元B、实参和与其对应的形参共占用一个存储单元C、只有当实参和与其对应的形参同名时才共占用存储单元D、形参是虚拟的,不占用存储单元(3分)[13]以下正确的函数形式是A、double fun(int x,int y){ z=x+y; return z; }B、fun(int x,y){ int z; return z; }C、fun(x,y){ int x,y; double z; z=x+y; return z; }D、double fun(int x,int y){ double z; z=x+y; return z; }(3分)[14]以下正确的函数定义形式是A、double fun(int x,int y)B、double fun(int x;int y)C、double fun(int x,int y);D、double fun(int x,y);(3分)[15]以下正确的说法是A、用户若需调用标准库函数,调用前必须重新定义B、用户可以重新定义标准库函数,若如此,该函数将失去原有含义C、系统根本不允许用户重新定义标准库函数D、用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调(3分)[16]建立函数的目的之一是A、提高程序的执行效率B、提高程序的可读性C、减少程序的篇幅D、减少程序文件所占内存(3分)[17]C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是A、地址传递B、单向值传递C、由实参传给形参,再由形参传回给实参D、由用户指定传递方式(3分)[18]若用数组名作为函数调用的实参,传递给形参的是A、数组的首地址B、数组第一个元素的值C、数组中全部元素的值D、数组元素的个数(3分)[19]以下程序是选出能被3整除且至少有一位是5的两位数,打印出所有这样的数及其个数。
请选择填空。
sub(int k,int n){int a1,a2;a2=【1】;a1=k-【2】;if((k%3==0&&a2==5)||(k%3==0&&a1==5)){printf(“%d”,k);n++;return n;}else return -1;}main(){int n=0,k,m;for(k=10;k<=99;k++){m=sub(k,n);if(m!=-1) n=m;}printf(“\nn=%d”,n);}【1】A、k*10 B、k%10 C、k/10 D、k*10%10 【2】A、a2*10 B、a2 C、a2/10 D、a2%10(3分)[20]下面程序的功能是将小写字母变成对应大写字母后的第二个字母。
其中y变成A,z变成B。
请选择填空。
#include <stdio.h>main(){char c;while((c=getchar())!=…\n‟){if(c>=…a‟&&c<=…z‟){【1】;if(c>…Z‟)【2】;}printf(“%c”,c);}}【1】A、c+=2 B、c-=32 C、c=c+32+2 D、c-=30 【2】A、c=‘B’B、c=‘A’C、c-=26 D、c=c+26 (3分)[21]一个C语言程序是由A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(3分)[22]C语言规定:在一个源程序中,main函数的位置A、必须在最开始B、必须在系统调用的库函数的后面C、可以任意D、必须在最后(3分)[23]以下叙述不正确的是A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面(3分)[24]以下叙述正确的是A、在C程序中,main函数必须位于程序的最前面B、C程序的每行中只能写一条语句C、C语言本身没有输入输出语句D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误(3分)[25]一个C程序的执行是从A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束(3分)[26]在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是A、externB、registerC、autoD、static(3分)[27]以下程序的正确运行结果是main(){int a=2,i;for(i=0;i<3;i++) printf(“%4d”,f(a));}f(int a){int b=0;static int c=3;b++; c++;return(a+b+c);}A、7 7 7B、7 10 13C、7 9 11D、7 8 9(3分)[28]凡是函数中未指定存储类型的局部变量,其隐含的存储类别为A、自动(auto)B、静态(static)C、外部(extern)D、寄存器(register)(3分)[29]以下程序的正确运行结果是#include <stdio.h>void num(){extern int x,y;int a=15,b=10;x=a-b;y=a+b;}int x,y;main(){int a=7,b=5;x=a+b;y=a-b;num();printf(“%d,%d\n”,x,y);}A、12,2B、不确定C、5,25D、1,12 (3分)[30]以下程序的正确运行结果是#define MAX 10int a[MAX],i;main(){printf(“\n”); sub1(); sub3(a); sub2(); sub3(a);}sub2(){int a[MAX],i,max;max=5;for(i=0;i<max;i++) a[i]=i;}sub1(){for(i=0;i<MAX;i++) a[i]=i+i;}sub3(int a[]){int i;for(i=0;i<MAX;i++) printf(“%d”,a[i]);printf(“\n”);}A、0 2 4 6 8 10 12 14 16 180 1 2 3 4B、0 1 2 3 40 2 4 6 8 10 12 14 16 18C、0 1 2 3 4 5 6 7 8 90 1 2 3 4D、0 2 4 6 8 10 12 14 16 180 2 4 6 8 10 12 14 16 18(3分)[31]以下不正确的说法为A、在不同函数中可以使用相同名字的变量B、形式参数是局部变量C、在函数内定义的变量只在本函数范围内有效D、在函数内的复合语句中定义的变量在本函数范围内有效(3分)[32]以下正确的说法是如果在一个函数中的复合语句中定义了一个变量,则该变量A、只在该复合语句中有效B、在该函数中有效C、在本程序范围内均有效D、为非法变量(3分)[33]折半查找法的思路是:先确定待查元素的范围,将其分成两半,然后测试位于中间点元素的值。