副本计算机与网络技术类-计算机编程基础_第1页
副本计算机与网络技术类-计算机编程基础_第2页
副本计算机与网络技术类-计算机编程基础_第3页
副本计算机与网络技术类-计算机编程基础_第4页
副本计算机与网络技术类-计算机编程基础_第5页
已阅读5页,还剩59页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1.C语言源程序中主函数名是()A.masterB.leadingC.mainD.major答案:C

2.下列程序的运行结果是()#include<stdio.h>main(){inti,j,n=0;for(i=0;i<5;i++){j=i%2;do{n++;}while(j--);}printf("%d,%d,%d",i,j,n);}

A.4,0,7B.5,-1,7C.4,0,5D.5,-1,5答案:B

3.下列程序运行结果为()#include<stdio.h>main(){inti,j,k;for(i=100,k=0;k<3;i--){for(j=2;j<i;j++)if(i%j==0)break;if(j>=i){printf("%d\t",i);k++;}}}

A.978983B.999795C.979593D.998979答案:A

4.此程序的主要功能是求()for(n=100;n<1000;n++){hun=n/100;ten=(n-hun*100)/10;ind=n%10;if(n==hun*hun*hun+ten*ten*ten+ind*ind*ind)printf("%d",n);}

A.素数B.阿姆斯特朗数C.最小公倍数D.水仙花数答案:D

5.由键盘输入一个待查的整数n,若n存在,则输出它在数组中的第一次出现的位置,否则给出没找到信息。则_____应填写的内容是()#include<stdio.h>#defineN10voidmain(){inti,n;inta[10]={25,2,67,34,65,86,56,78,24,34};scanf("%d",&n);i=0;while(a[i]!=n&&___________)i=i+1;if(i==10)printf("%dnotfound!",n);elseprintf("%dinposition%d\n",n,i);}A.i<=10B.i<10C.i!=10D.i>10答案:B

6.现有100元人民币换成5元,1元,0.5元,但要求100元换以上的零钱共100张,且要求每种不少于1张,主要程序段中横线中应该填()for(i=1;i<=20;i++)for(j=1;j<=100;j++){k=100-i-j;if(_________)printf("%d,%d,%d\n",i,j,k);}A.i+j+k*0.5==100B.i+j+k==100C.5*i+j+k*0.5==100D.5*i+j+k==100答案:C

7.char型数据占内存空间是________位。A.8B.16C.32D.64答案:A

8.下列文件名不是C语言中常用的头文件的是A.stdio.hB.math.hC.file.hD.string.h答案:C

9.若有定义:intm=7,n=4;floata=38.4,b=0.4;则表达式m/2+n*a/b+1/2的值是A.22B.27C.28D.387答案:D

10.下列C语言中引用头文件的命令行正确的是A.#includeB.#includestdio.hC.#include'stdio.h'D.#include"stdio.h"答案:D

11.对一维整型数组a的正确定义是()A.inta(10);B.intn=10,a[n];C.inta;scanf("%d",&n)inta[n];D.#defineSIZE10inta[SIZE];答案:D

12.若有inta=4,则执行表达式a+=a-=a*a后,a的值是()A.6B.-8C.18D.-24答案:D

13.#include<stdio.h>main(){charc1='B',c2='h';switch(c1){case'A':c2++;case'B':switch(c2){case'a':printf(“%”);default:printf(“!”);case99:printf(“%d”,--c2);}case'C':switch(c2){case'g':printf(“*”);case'h':printf(“?”);}break;default:printf(“&”);}}

A.!*?&B.*!?C.!103*?D.&!&答案:C

14.main(){charch='A';intk=0;do{switch(ch++){case'A':k++;break;case'B':k++;case'C':k++;continue;case'D':k++;}}while(k<3);printf("k=%d,ch=%c\n",k,ch);}运行结果是()。A.k=3,ch=CB.k=4,ch=CC.k=3,ch=DD.k=4,ch=D答案:A

15.下列4段程序,哪个输出的结果与其他3段代码不一样A.s=0;i=0;while(iB.s=0;i=1;while(i++C.s=0;i=0;while(iD.s=0;i=0;while(++i答案:B

16.下面程序运行结果是#include<stdio.h>intmain(){inti=0,a[]={1,2,3,4,5};do{a[i]+=10;}while(a[++i]>2);for(i=0;i<5;i++)printf("%3d",a[i]);}A.112345B.12345C.1112131415D.1112345答案:A

17.以下程序运行后输出的结果是#include<stdio.h>intmain(){inta;a=(int)((double)(3/2)+0.5+(int)1.99*2);printf("%d",a);}A.3B.4C.5D.6答案:A

18.以下4个选项中,不能看做一条语句的是A.{;}B.a=0,b=1,c=2;C.if(iD.if(a>0)i++;j++;答案:D

19.数组定义为inta[3][2]={1,2,3,4,5,6},值为6的数组元素是()A.a[3][2]B.a[2][1]C.a[1][2]D.a[2][3]答案:B

20.下列程序的运行结果是:#include<stdio.h>intmain(){inti,a[10]={1,2,3,4,5,6,7,8,9,10};for(i=0;i<10;i++)if(a[i]%2)printf("%3d",a[i]);return0;}A.13579B.246810C.12345D.678910答案:A

21.有这样一段程序:inta=2,b=3,t=0;if(a>b)t=a;a=b;b=t;程序运行后a,b的值分别为多少A.23B.32C.33D.30答案:D

22.下列格式符中,哪一个可以用于以八进制形式输入整数()。A.%8dB.%oC.%dD.%ld答案:B

23.下列程序的运行结果是()#include<stdio.h>main(){inti,j;i=1;do{for(j=1;j<4-i;j++)printf(“”);for(j=3-i;j<5;j++)printf(“*”);printf(“\n”);i++;}while(i<=3);}A.************B.*********C.************·D.***************答案:A

24.下面正确的字符常量是()A.“C”B.“?”C.‘'D.‘a'答案:D

25.C语言程序从()开始执行A.程序中的main函数B.包含文件中的第一个函数C.程序中第一个函数D.程序中第一条可执行语句答案:A

26.从循环体内某一层跳出,继续执行循环外的语句是:()。A.break语句B.return语句C.continue语句D.空语句答案:A

27.下列程序的运行结果是()#include<stdio.h>main(){inti,j,k=6;for(i=1;i<=4;i++){k++;for(j=0;j<3;j++)k++;k++;}printf(“%d”,k);}

A.20B.22C.24D.26答案:D

28.输入一个实数,对其进行分半,一直到小于0.001为止,输出分半的次数#include<stdio.h>main(){inti=0;floatn;scanf("%f",&n);while(_________){n=n/2;i++;}printf("%d",i);}A.n>=0.001B.n<0.001C.n<=0.001D.n!=0.001答案:A

29.以下程序的运行结果是()#include<stdio.h>main(){inta;if(a=6)printf(“%d”,a);elseif(a>6)printf(“%d”,a+2);elseprintf(“%d”,a+3);}A.5B.6C.7D.出错答案:B

30.下面程序的运行结果是()。main(){inti,j,a=0;for(i=0;i<2;i++){for(j=0;j<4;j++){if(j%2)break;a++;}a++;}printf(“%d\n”,a);}A.4B.5C.6D.7答案:A

31.以下能对数组a进行正确初始化的语句是A.inta[5]=(1,2,3,4,5);B.inta[5]=[0];C.inta[5]={1,2,3,4,5,6};D.inta[]={0};答案:D

32.已知inta=12,b=3,则表达式a=b+2的值是()A.14B.15C.5D.17答案:C

33.C语言源程序的扩展名是()A..exeB..objC..cD..doc答案:C

34.以下不能定义为用户标识符的是()A.a12bB.Vi_dC._c4beD.int答案:D

35.有以下定义:intk=7,x=12;则执行完x%=k%4;语句后x的值为A.0B.1C.3D.5答案:A

36.a数组中是一组升序的数,现由键盘输入一个待查的整数x,用二分法查找,若x存在输出其所在的位置,否则给出没找到信息。请将程序填充完整。#include<stdio.h>#defineN10voidmain(){inti,x,low,high,mid;inta[N]={25,28,37,44,65,76,79,83,85,92};scanf("%d",&n);low=0;high=N-1;scanf("%d",&x);while(low<=high){mid=(low+high)/2;if(x<a[mid])high=mid-1;if(x>a[mid])low=mid+1;if(x==a[mid])_________;}if(low<=high)printf("found,%dinposition%d\n",x,mid);elseprintf("%dnofound\n",x);}

A.mid++B.mid--C.breakD.continue答案:C

37.下列程序运行结果为()。main(){intx=0,y=2,z=2;switch(x){case0:switch(y==2){case1:printf("*");break;case2:printf("%%");break;}case1:switch(z){case1:printf("$");break;default:printf("!");break;case2:printf("*");}}}A.%!B.%%!C.**D.*!*答案:C

38.下列哪个是赋值运算符()A.==B.!=C.=!D.=答案:D

39.设x和y均为int型变量,则执行以下的循环后,y的值为()。for(y=1,x=1;y<=50;y++){if(x>=0)break;if(x%2==1){x+=5;continue;}x-=3;}A.1B.50C.51D.52答案:A

40.当#include后面的头文件用""双撇号括起来时,寻找包含文件的方式是A.只在当前目录中搜索B.直接按系统设定的方式搜索C.先在当前目录中搜索,再按系统设定的方式搜索D.先按系统设定的方式搜索,再在当前目录中搜索答案:C

41.下列程序运行结果为()#include<stdio.h>main(){charstr[]="SSWLIA",c;intk;for(k=2;(c=str[k])!='\0';k++){switch(c){case'I':++k;break;default:putchar(c);continue;case'L':putchar(c);}putchar('*');}}A.W*AB.WL*C.WL*AD.WLA答案:C

42.下列程序的运行结果是()voidmain(){charb[]="Hello,job";b[5]=0;puts(b);}A.Hello,jobB.Hello,C.HelloD.job答案:C

43.若定义:inta=2,b=3,c=1;则执行下面程序段后的结果是()if(a>b)if(a>c)printf(“%d”,a);elseprintf(“%d”,b);printf(“%d”,c);A.31B.21C.3D.1答案:D

44.main(){intc=0,k;for(k=1;k<3;k++)switch(k){default:c+=k;case2:c++;break;case4:c+=2;break;}printf("%d\n",c);}

A.1B.2C.3D.4答案:C

45.在C语言中,错误的int类型的常数是()A.0B.32768C.037D.0xaf答案:B

46.C语言中要使用输入输出库函数,需要在源文件中包含的头文件是A.stdio.hB.math.hC.string.hD.ctype.h答案:A

47.有定义:intm=4,n=5,k;则________是符合C语言语法的表达式。()A.5=nB.n+2=mC.m=(n=5)D.(m+n)*=k答案:C

48.有如下逗号表达式语句a=((3,4),(2,1));下面对此语句的判断正确的是A.使a的值为1B.使a的值为2C.使a的值为3D.使a的值为4答案:A

49.()是构成C语言程序的基本单位A.函数B.过程C.子程序D.子例程答案:A

50.Fibonacci数列第1项值是:()、1、2、3……A.0B.1C.2D.3答案:B

51.百马百担问题:在横线处应该填写()for(x=0;x<=33;x++)//大马的数量for(y=0;y<=50;y++)//中马的数量{__________________//小马的数量if(3*x+2*y+z/2==100)//判断是否100匹马伏100担货printf("大马:%d中马:%d小马:%d\n",x,y,z);}A.z=xB.z=100-x-y;C.z=yD.z=x+y答案:B

52.在定义intm[][3]={1,2,3,4,5,6};后,m[1][0]的值是()A.4B.1C.2D.5答案:A

53.下列程序的运行结果是()#include<stdio.h>voidmain(){intx1,x2,x3,i;inta[]={-6,3,0,0,5,-7,2,-8,0,3};x1=x2=x3=0;for(i=0;i<10;i++)if(a[i]>0)x1++;elseif(a[i]==0)x2++;elsex3++;printf("%d\t%d\t%d\t",x1,x2,x3);}A.433B.532C.631D.712答案:A

54.以下程序的运行结果是()#include<stdio.h>main(){intm=-1,n=1,t=-1;if(t==-1)t=-t;elsem=n;m=t;printf(“%d”,m.);}A.1B.-1C.7D.3答案:A

55.以下程序的运行结果是()#include<stdio.h>main(){intx=5;if(x=4)printf(“T”);elseprintf(“F”);}A.TB.FC.1D.0答案:A

56.扩展名为.exe的文件称为C语言的()A.用户程序B.目标程序C.源程序D.可执行程序答案:D

57.计算a,b之和的平方的C语言表达式语句是A.(a+b)2B.(a+b)(a+b)C.(a+b)*(a+b)D.(a+b)*(a+b);答案:D

58.以下程序的运行结果是()#include<stdio.h>main(){inta=3,b=2;intk;k=(--a==b++)?a:b+1;printf(“%d”,k);}A.0B.1C.2D.3答案:C

59.程序中定义charc1,c2;执行c1='A'+4;c2='A'+'8'-'5';后printf("%c,%d\n",c1,c2);输出结果是A.D,69B.E,68C.E,DD.D,68答案:B

60.下列程序运行结果为()。#include<stdio.h>main(){intk=1,m=0;switch(k){case1:switch(++m){case0:k++;case1:m++;break;}break;case2:k++;m++;break;case3:k++;m++;case4:k++;m++;}printf(“k=%d,m=%d”,k,m);}

A.k=1,m=0B.k=1,m=1C.k=1,m=2D.k=2,m=2答案:C

61.若inti=10;执行下列程序后,变量i的正确结果是()。switch(i){case9:i+=1;case10:i+=1;case11:i+=1;default:i+=1;}

A.10B.11C.12D.13答案:D

62.下列程序运行结果为()。#include<stdio.h>main(){intk=1,m=0;switch(k){case1:switch(++m){case0:k++;case1:m++;break;}case2:k++;m++;break;case3:k++;m++;case4:k++;m++;}printf(“k=%d,m=%d”,k,m);}

A.k=2,m=3B.k=3,m=4C.k=1,m=2D.k=4,m=5答案:A

63.将8个两位正整数的数组中下标范围为【3,6】范围内的元素用插入法进行升序排序,并保持其他元素的顺序不变,___处应填入的内容是()#include<stdio.h>voidmain(){inti,j,x;inta[8]={34,65,24,76,87,96,43,21};for(i=0;i<8;i++)printf("%d\t",a[i]);printf("\n");for(i=5;i>=3;i--){x=a[i];j=i+1;while(j<7&&x>a[j]){a[j-1]=a[j];j++;}____________;}printf("排序后:");for(i=0;i<8;i++)printf("%d\t",a[i]);printf("\n");}

A.a[j-1]=xB.x=a[j-1]C.a[j+1]=xD.x=a[j+1]答案:A

64.若有定义inti=1,j=9;则表达式(++j)*(i--)的值是()A.0B.10C.8D.7答案:B

65.定义:doublea=5.5,b=2.5;则表达式(int)a+b/b的值是A.6B.6.0C.6.5D.7答案:B

66.下列程序的运行结果是()#include<stdio.h>main(){intn=0,x,i;for(x=3;x<=9;x+=2)if(x%3==0){i=1;while(i<=3){printf(“%d”,x);i++;}n++;printf("\n");}printf(“%d”,n);}

A.3336669993B.3339992C.3336669992D.3339993答案:B

67.下列各项中,________和表达式x/=y-4等价。A.x=x/y-4B.x=x/(y-4)C.x=y-4/xD.x=x-4/y答案:B

68.下列程序的运行结果是()#include<stdio.h>main(){inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)printf(“%d”,i+j);printf(“”);}}

A.453423B.332211C.112233D.233445答案:A

69.当#include后面的头文件用<>(尖括号)括起来时,寻找包含文件的方式是A.只在当前目录中搜索B.直接按系统设定的方式搜索C.先在当前目录中搜索,再按系统设定的方式搜索D.先按系统设定的方式搜索,再在当前目录中搜索答案:B

70.如果已定义inta=5;floatb=9.8;以下__语句中能输出正确值是A.printf("%d%.1f",a,b);B.printf("%.3f%.1f",a,b);C.printf("%d%d",a,b);D.printf("%.3f%.3f",a,b);答案:A

71.定义:charw;intx;floaty;doublez;则表达式w*x+z-y的值的数据类型是A.charB.intC.floatD.double答案:D

72.以下说法中正确的是()。A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分答案:C

73.已知inta=7,b=3,则表达式a%=b+1的值是()A.10B.6C.4D.3答案:D

74.下列程序的功能是统计一个字符串中的字母、数字、空格和其它字符的个数。与str[i]==''等价的语句是()#include<stdio.h>#include<ctype.h>voidmain(){charstr[81];intn[4]={0};inti,k;gets(str);for(i=0;str[i];i++)if(isalpha(str[i]))n[0]++;elseif(isdigit(str[i]))n[1]++;elseif(str[i]=='')n[2]++;elsen[3]++;for(k=0;k<4;k++)printf("%4d",n[k]);}

A.str[i]=''B.str[i]==32C.str[i]=32D.str[i]!=''答案:B

75.下列程序的运行结果是#include<stdio.h>intmain(){inti,j,a[][3]={1,2,3,4,5,6,7,8,9},max[3];for(i=0;i<3;i++){max[i]=a[i][0];for(j=0;j<3;j++)if(max[i]<a[i][j])max[i]=a[i][j];printf("%3d",max[i]);}}A.789B.369C.987D.963答案:B

76.以下程序的运行结果是#include<stdio.h>intmain(){inti=0,s=0;while(i<5){i++;s+=i;if(s>=6)break;}printf("%d",s);}A.10B.15C.6D.7答案:C

77.C语言中,数组名代表()A.数组全部元素的值B.数组的首地址C.数组第一个元素的值D.数组元素的个数答案:B

78.执行以下程序时输入1234567,程序的运行结果是()。main(){intx,y;scanf("%2d%2d",&x,&y);printf("%d\n",x+y);}A.17B.15C.46D.输入格式符不够,输出不确定的值答案:C

79.赋值运算符的结合性是()A.从左向右B.从两边向中间C.从中间向两边D.从右向左答案:D

80.以下4个选项中,不是正确的表达式语句的是A.i++;B.a=b=c=0;C.a=b+c=1;D.k=i=j;答案:C

81.下列正确的定义语句是A.charstr[3][5]={"one","two","three"};B.charstr[3]={"one","two","three"};C.charstr[][6]={"one","two","three"};D.charstr[3][]={"one","two","three"};答案:C

82.由机器随机产生20个在10~99之间(含10和99)的整数存入a数组,然后进行冒泡法升序排序。最后将排序结果输出,要求每行输出10个数。___处应填入的内容是()#include<stdio.h>#include<stdlib.h>#defineN20voidmain(){inti,j,x,y,m,n,k;inta[N];for(i=0;i<N;i++)a[i]=rand()%90+10;for(i=0;i<N-1;i++)for(j=0;j<N-1-i;j++)if(a[j]>a[j+1]){k=a[j];a[j]=a[j+1];a[j+1]=k;}for(i=0;i<N;i++){printf("%4d",a[i]);if(_________)printf("\n");}}A.i%10==0B.i%9==0C.i%9==1D.i%10==9答案:D

83.定义inti=2,j=3;执行完表达式语句i*=j+2;后i的值为A.2B.8C.10D.12答案:C

84.下面叙述正确的是()A.变量不用定义就能使用B.main函数必须位于文件的开头C.每行只能写一条语句D.每条语句最后必须有一个分号答案:D

85.下面哪一个不是浮点数()A.10B.-0.1C.3.2D.3e-02答案:A

86.定义intx=011;则printf("%d\n",++x);的输出结果是A.9B.10C.11D.12答案:B

87.已定义inta,b,c;下面________与其它3个不同。A.if(a>b){c=a;a=b;b=c;}B.if(a>b){c=a,a=b,b=c;}C.if(a>b)c=a;a=b;b=c;D.if(a>b)c=a,a=b,b=c;答案:C

88.intx=6,y=-8,则x*=y%5表达式的值是()A.2B.-2C.3D.-3答案:C

89.以下程序段,输出结果是()chars[]="\\141\141abc\t";printf("%d",strlen(s));A.9B.10C.13D.14答案:A

90.#include<stdio.h>intmain(){inti,j,a[5]={2,9,11,13,15};for(i=0;i<5;i++){for(j=2;j<=a[i]-1;j++)if(a[i]%j==0)break;if(j==a[i])printf("%3d",a[i]);}return0;}A.21113B.1113C.2D.915答案:A

91.下列程序运行结果为()main(){inti,j,k,s,p,t;p=-1,t=0;for(i=6;i>0;i--){s=1;p=p+i;t=t-i;for(j=1;j<=i;j++)for(k=1;k<=j;k++)s=s+1;t=t+j;}printf(“%d,%d,%d”,s,t,p);}

A.1,7,21B.2,6,20C.3,8,20D.4,9,21答案:B

92.求1000以内的同构数#include<stdio.h>main(){inti,k;for(i=2;i<=1000;i++){k=i*i;if(__________________)printf("%d\t",i);}}A.k%10==i&&k%100==i||k%1000==iB.k%10==i||k%100==i&&k%1000==iC.k%10==i||k%100==i||k%1000==iD.k%10==i&&k%100==i&&k%1000==i答案:C

93.若运行以下程序时,从键盘输入2473<回车>,则下面程序的运行结果是()。#include"stdio.h"main(){intc;while((c=getchar())!='\n')switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}printf("\n");}A.668977B.668966C.66778777D.6688766答案:A

94.下列程序运行结果为()main(){intx=1,y=1,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;}printf("a=%d,b=%d",a,b);}

A.a=2,b=1B.a=1,b=2C.a=2,b=3D.a=3,b=2答案:B

95.inta[3][4]={{1,2},{0},{1,2,3}};则a[1][1]的值为A.0B.1C.2D.3答案:A

96.若a,b,c都是int型变量,且a=2,b=3,c=4,若执行以下语句a*=16+(b++)-(++c)后a的值为A.28B.30C.32D.34答案:A

97.以下对一维数组初始化正确的是()A.inta[3]={1,2,3,4};B.inta[]={1,2,3};C.inta[3]=0D.inta[3]=1,2,3;答案:B

98.C语言中要使用数学库函数,需要在源文件中包含的头文件是A.stdio.hB.math.hC.string.hD.ctype.h答案:B

99.如果输入8,4,下列程序的运行结果是#include<stdio.h>intmain(){inta,b,t;scanf("%d,%d",&a,&b);if(a<b){t=a;a=b;b=t;}while(a%b!=0){t=a%b;a=b;b=t;}printf("%d",b);return0;}A.32B.16C.8D.4答案:D

100.下面属于C语言调试软件的是()A.PowerpointB.ExcelC.WordD.devc++答案:D

101.下列程序的运行结果是#include<stdio.h>intmain(){intm,n;m=0;n=123;while(n){m=m*10+n%10;n=n/10;}printf("%d",m);return0;}A.123B.132C.312D.321答案:D

102.a数组中是一组升序的数,现由键盘输入一个待查的整数x,用二分法查找,若x存在输出其所在的位置,否则给出没找到信息。请将程序填充完整。#include<stdio.h>#defineN10voidmain(){inti,x,low,high;inta[10]={25,28,37,44,65,76,79,83,85,92};scanf("%d",&n);low=0;high=9;scanf("%d",&x);while(low<=high){mid=(low+high)/2;if(x<a[mid])high=mid-1;if(x>a[mid])low=mid+1;if(x==a[mid])break;}if(______)printf("found,%dinposition%d\n",n,mid);elseprintf("%dnofound\n",n);}A.low<highB.low<=highC.low>highD.low>=high答案:B

103.若有定义inti=2,j=7;则表达式(++j)*(i--)的值是()A.14B.15C.16D.7答案:C

104.以下程序运行后,循环体运行的次数是inti=10,x;for(;i<10;i++)x=x+i;A.0B.1C.10D.无限答案:A

105.下列程序的运行结果是#include<stdio.h>intmain(){inti,m=0,n=0,a[5]={-1,2,-3,9,0};for(i=0;i<5;i++)if(a[i]>0)m++;elsen++;printf("%d,%d",m,n);return0;}A.2,2B.2,3C.3,2D.3,3答案:B

106.扩展名为.exe的文件称为C语言的()A.源程序B.目标程序C.可执行程序D.用户程序答案:C

107.下面关于C语言叙述错误的是()A.C程序必须有一个main函数B.构成C语言源程序的基本单元是算术表达式C.若一条语句较长,也可分写在下一行上D.一个C语言源程序由一个或多个函数组成答案:B

108.下面________是程序的正确运行结果()。main(){inta=66;charc=‘B';printf(“%d+%c=%d”,a,c,a+c);}A.B+B=BBB.66+B=66BC.66+66=132D.66+B=132答案:D

109.下列程序运行结果为()。main(){intx=0,y=2,z=3;switch(x){case0:switch(y=2){case1:printf("*");break;case2:printf("%%");break;}case1:switch(z){case1:printf("$");break;case2:printf("*");break;default:printf("!");}}}

A.%!B.%%$C.*$D.!$*答案:A

110.以下程序的运行结果是()#include<stdio.h>main(){inta=1,b=2,t=3;if(a<b){t=b;b=a;a=t;}printf(“%d,%d,%d”,a,b,t);}A.2,1,3B.2,1,1C.2,1,2D.3,1,2答案:C

111.break语句的正确的用法是()。A.无论在任何情况下,都中断程序的执行,退出程序。B.在多重循环中,只能退出最靠近的那一层循环语句。C.跳出本层循环。D.只能修改控制变量。答案:C

112.由键盘输入一个待查的整数n,若n存在,则输出它在数组中的第一个出现的位置,否则给出没找到信息。请将程序填充完整。#include<stdio.h>#defineN10voidmain(){inti,n;inta[10]={25,2,67,34,65,86,56,78,24,34};scanf("%d",&n);i=0;while(a[i]!=n&&i<10)i=i+1;if(____________)printf("%dnotfound!",n);elseprintf("%dinposition%d\n",n,i);}

A.i==nB.i<10C.i!=10D.i==10答案:D

113.当执行下面的程序时,如果输入ABC,则写出下面程序的运行结果()#include<stdio.h>#include<string.h>main(){charss[10]="12345";gets(ss);strcat(ss,"6789");printf("%s\n",ss);}A.ABC6789B.ABCC.6789D.12345答案:A

114.判断字符串a和b是否相等,应当使用()A.if(strcmp(a,b)==0)B.if(strcpy(a,b))C.if(a=b)D.if(a==b)答案:A

115.下列程序运行结果为()#include<stdio.h>main(){inti,j,k,a,b,c;a=b=0;c=1;for(j=1;j<=5;j++){a++;for(k=1;k<=j;k++){b+=2;for(i=-1;i<=k;i++)c++;}}printf("a=%d\nb=%d\nc=%d",a,b,c);}

A.a=5b=30c=66B.a=6b=31c=60C.a=7b=31c=66D.a=5b=31c=65答案:A

116.表达式18/4*4.0/8值的数据类型为()A.intB.floatC.charD.不确定答案:B

117.下列程序段运行结果为()charch[]=”600”;inta,s=0;for(a=0;ch[a]>=’0’&&ch[a]<=’9’;a++)s=10*s+ch[a]-‘0’;printf(“%d”,s);A."600"B.600C."6"D.6答案:B

118.执行语句:printf(“|%10.5f|”,12345.678);的输出是()。A.|12345.67800|B.|12345.678000|C.|12345.6780|D.|12345.678|答案:A

119.下列程序的运行结果是()#include<stdio.h>voidmain(){charch[4][5]={"AAAA","BBB","CC","DDD"};printf("%s\n",ch[0]);}

A.AAAAB.BBBC.CCD.DDD答案:A

120.由机器随机产生20个在10~99之间(含10和99)的整数存入a数组,然后进行冒泡法升序排序。___处应填入的内容是()#include<stdio.h>#include<stdlib.h>#defineN20voidmain(){inti,j,x,y,m,n,k;inta[N];for(i=0;i<N;i++)a[i]=rand()%90+10;for(i=0;i<N-1;i++)for(j=0;j<______;j++)if(a[j]>a[j+1]){k=a[j];a[j]=a[j+1];a[j+1]=k;}for(i=0;i<N;i++){printf("%4d",a[i]);if((i+1)%10==0)printf("\n");}}

A.N-1-iB.N-2C.N-2-iD.N-1答案:A

121.下列程序的运行结果是#include<stdio.h>intmain(){inti=1,sum=0;while(i<=10){if(i%2==0)sum=sum+i;elsebreak;i++;}printf("%d",sum);}

A.0B.1C.25D.30答案:A

122.C语言规定一条语句必须以()作为结束标志A.逗号B.句号C.分号D.空格答案:C

123.inta;则语句a='a'+2%3的值为A.2B.97C.99D.100答案:C

124.在main函数中定义了变量inti=1;在复合语句中又定义了{inti=2;printf("%d",i++);}则printf函数输出结果是A.1B.2C.3D.程序出错,提示重复定义答案:B

125.下列程序运行结果为()。main(){intx=0,y=2,z=2;switch(x){case0:switch(y==2){case1:printf("*");case2:printf("%%");break;}break;case1:switch(z){case1:printf("$");break;default:printf("!");break;case2:printf("*");}}}

A.**B.%!C.$*D.*%答案:D

126.下列成对的表达式中,运算符结果相同的一对是A.5.0/3.05/3B.5/3.05/3C.5.0/35/3D.5.0/3.05/(float)3答案:D

127.floatx=3.5;intz=8;则表达式x+z%3/4的值是A.3.75B.3.5C.3D.4答案:B

128.有以下数组定义:charstr[20];下面对数组赋值的方法正确的是A.str="boy";B.str={"boy"};C.strcpy(str,"boy");D.str[20]={"boy"};答案:C

129.下列叙述正确的是()。A.break语句只能用于switch语句B.在switch语句中必须使用defaultC.break语句必须与switch语句中的case配对D.在switch语句中,不一定使用break语句答案:D

130.intx=6,y=8,则x*=(y%5)表达式的值是()A.6B.8C.18D.24答案:C

131.以下程序charstr[]="ab\\cd";printf("%d",strlen(str));输出的结果是A.4B.5C.6D.7答案:B

132.定义charstr[6]={'a','b','\0','d','e','f'};则语句puts(str);的结果为A.ab\B.ab\0defC.abD.ab\0答案:C

133.下列程序运行结果为()#include<stdio.h>main(){inti,j,p,n=3,s=0;for(i=1;i<=n;i++){p=1;for(j=1;j<=i;j++)p=p*j;s=s+p;}printf(“s=%d\n”,s);}

A.s=15B.s=10C.s=9D.s=8答案:C

134.定义二维数组inta[][3]={1,2,3,4,5,6,7};则数组的行数是A.2B.3C.4D.无法确定答案:B

135.下列各项中,_____和表达式x/=y-4等价()A.x=x/y-4B.x=x/(y-4)C.x=y-4/xD.x=x-4/y答案:B

136.求Fibonacci数列前20项主要程序段中横线中应该填()for(i=1;i<=18;i++){f3=f1+f2;printf("%d\t",f3);f1=f2;_________}A.f2=f3;B.f3=f2;C.f1=f3;D.f1=f2;答案:A

137.C语言中要使用字符库函数,需要在源文件中包含的头文件是A.stdio.hB.math.hC.string.hD.ctype.h答案:D

138.x=-13%-5则x的值是()A.2B.-2C.3D.-3答案:D

139.inta,b;doublex;正确的C语言表达式是A.x%(-2)B.a+=-2C.a=b=-2D.x=a+b-2答案:B、C、D

140.下面属于关系运算符的是()A.=B.>=C.>D.!=答案:B、C、D

141.设x,k都是整形,则选项等价的是()A.x%=k-k%5B.x%=(k%=5)C.x%=(k-k%5)D.(x%=k)-(k%=5)答案:A、C

142.下列程序的功能是统计一个字符串中的字母、数字、空格和其它字符的个数。______处可以填写的语句是()#include<stdio.h>#include<ctype.h>voidmain(){charstr[81];intn[4]={0};inti,k;gets(str);for(i=0;str[i];i++)if(isalpha(str[i])n[0]++;elseif(___________)n[1]++;elseif(str[i]=='')n[2]++;elsen[3]++;for(k=0;k<4;k++)printf("%4d",n[k]);}

A.isdigit(str[i])B.0=<str[i]<=9C.0'=<str[i]<='9'D.str[i]>='0'&&str[i]<='9'答案:A、D

143.以下描述正确的是()。A.break语句不能用于循环语句和switch语句外的任何其他语句B.在switch语句中使用contine语句和break语句的作用相同C.在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行D.在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环答案:C、D

144.下列关于C语言空语句的作用说法正确的是A.空语句只有一个分号,它什么也不做。B.空语句中的分号可以不用写。C.空语句可以用来作为流程的转向点。D.空语句可用来作为循环语句中的循环体,表示循环什么也不做。答案:A、C、D

145.能把字符串"Hello!"赋值给数组b的语句是A.charb[10];b="Hello!";B.charb[10];strcpy(b,"Hello!");C.charb[10]="Hello!"D.charb[10]={'H','e','l','l','o','!'};答案:B、C、D

146.下列C语言代码属于表达式语句的是A.a=3B.a=3;C.i=i+1D.i=i+1;答案:B、D

147.如有语句scanf("%d%d",&a,&b);正确的键盘输入是A.35B.3-5C.3%5D.3+5答案:A、B、D

148.若有定义:inta[3][4]={0};则下面不正确的叙述是()A.只有元素a[0][0]可得到初值0B.此说明语句不正确C.数组a中各元素都可得到初值,但其值不一定为0D.数组a中每个元素均可得到初值0答案:A、B、C

149.字符‘a'占用的存储空间不为()A.1个字节B.2个字节C.3个字节D.4个字节答案:B、C、D

150.以下定义语句中,正确的是A.inta[]={1,2,3};B.charb[20]="boy";C.charc[]="China";D.intn=10,d[n];答案:A、B、C

151.下面关于循环语句for、while、dowhile的叙述正确的是A.3种循环都可以用来处理同一问题,一般情况下它们可以互相代替B.3种循环都可能出现无限循环的情况C.3种循环语句的循环体都至少被无条件地执行一次D.3种循环都可以缺省循环终止条件表达式答案:A、B

152.关于递推法,下列说法正确的是()A.递推算法的首要问题是得到相邻的数据项间的关系B.递推算法避开了求通项公式的麻烦,把一个复杂的问题的求解,分解成了连续的若干步简单运算。C.一般说来,可以将递推算法看成是一种特殊的迭代算法。D.所谓递推,是指从已知的初始条件出发,依据某种递推关系,逐次推出所要求的各中间结果及最后结果。答案:A、B、C、D

153.与下面程序段不等价的是()for(n=100;n<=200;n++){if(n%3==0)continue;printf(“%4d”,n);}A.for(n=100;(n%3&&n<=200;n++)printf(“%4d”,n);B.for(n=100;(n%3)||n<=200;n++)printf(“%4d”,n);C.for(n=100;n<=200;n++)if(n%3!=0)printf(“%4d”,n);D.for(n=100;n<=200;n++){if(n%3)printf(“%4d”,n);elsecontinue;break;}答案:A、B、D

154.以下能对二维数组a正确初始化的语句是()A.inta[2][3]={0};B.inta[][3]={{1,2},{0}};C.inta[2][3]={{1,2},{3,4},{5,6}};D.inta[][3]={1,2,3,4,5,6};答案:A、B、D

155.下面那些设计程序的习惯能提高我们编写程序效率A.在编写统计元素个数的程序时,定义计数器变量,并赋初值为0B.在编写求和程序时,定义求和变量,并赋初值为0C.在编写求乘积的程序时,定义积变量,并赋初值为1D.在编写求极值的程序时,定义极值变量,并赋值为第一个待比较元素答案:A、B、C、D

156.()下列不是构成C语言程序的基本单位。A.函数B.过程C.子程序D.子例程答案:B、C、D

157.下列语句中,不正确的是A.chara[3][]={'abc','1'};B.chara[][3]={"a","1"};C.chara[][3]={'abc','1'};D.chara[3][]={'a',"1"};答案:A、C、D

158.关于迭代法,下列说法正确的是()A.迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程B.每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值C.迭代法又分为精确迭代和近似迭代。D.是一种不断用变量的旧值递推新值的过程答案:A、B、C、D

159.定义数组:floata[8];则下列对数组元素引用不正确的是()A.a[0]=1;B.a[8]=a[0];C.a=1;D.a[3.5]=1;答案:B、C、D

160.下面不属于关系运算符的是()A.>=B.C.!D.!=答案:A、B、D

161.下面叙述错误的是()A.每条语句最后必须有一个分号B.变量不用定义就能使用C.main函数必须位于文件的开头D.每行只能写一条语句答案:B、C、D

162.若inti=10;执行下列程序后,变量i的正确结果是11()。switch(i){case9:i+=1;case10:i+=1;case11:i+=1;default:i+=1;}答案:错误

163.在编写求一组数据最大值max的程序时,可以把第一个元素先赋值给变量max。答案:正确

164.对一维数组进行初始化时,可以只对部分元素初始化,未被初始化的元素初值为0。答案:正确

165.inta[3];数组元素依次表示为a[1],a[2],a[3]。答案:错误

166.定义floaty=3.8;intx;则表达式x=(int)y;执行后,x的值为4。答案:错误

167.表达式和表达式语句在C语言中没有区别。答案:错误

168.由于C程序是高级语言程序,因此输入后即可执行()答案:错误

169.#include<stdio.h>main(){intk=10;while(k>5)switch(k--){default:printf("%d",--k);case8:case6:printf("%d",k--);break;case4:printf("%d",k--);case2:printf("%d",--k);}}运行结果为:8855答案:正确

170.下列程序的运行结果是e()#include<stdio.h>#include<string.h>main(){chara[7]="abcdef";charb[4]="ABC";strcpy(a,b);printf("%c",a[4]);}

答案:正确

171.将N个数按升序进行排序,最后将排序的结果输出。________处应填入N-2。#include<stdio.h>#defineN8voidmain(){inti,j;inttemp;intR[]={8,7,4,3,1,6,2,9};printf("排序前:\n");for(i=0;i<N;i++)printf("%d\t",R[i]);printf("\n");for(i=______;i>=0;i--){temp=R[i];j=i+1;while(j<N&&(temp>R[j])){R[j-1]=R[j];j++;}R[j-1]=temp;}printf("排序后:\n");for(i=0;i<N;i++)printf("%d\t",R[i]);printf("\n");}答案:正确

172.每个语句以。结束答案:错误

173.下列程序(1)处和(2)处可以合并,可以在(1)处写成k+=2()。#include<stdio.h>main(){inti,j,k=10;for(i=1;i<=4;i++){k++;//(1)for(j=0;j<3;j++)k++;k++;//(2)}printf(“%d”,k);}答案:正确

174.关系运算符的优先级低于算术运算符()答案:正确

175.设x=4.5,a=7,y=3.4,表达式x+a%3*(int)(x+y)%2/4的值为4.5。答案:正确

176.执行下列程序片段时输出结果是1()。intx=13,y=5;printf(“%d”,x%=(y/=2));答案:正确

177.判断a是否既是5又是7的倍数,可以用if(a%7==0&&a%5==0)表示。答案:正确

178.小球自由下落算法问题属于迭代法。答案:正确

179.C语言中一条语句可以写在多行上。()答案:正确

180.头文件的文件后缀.h,因为这些文件都是放在程序各文件模块的开头的。答案:正确

181.穷举法的结构一般是多重循环结构。答案:正确

182.C语言不允许整型、实型和字符型数据进行混合运算。答案:错误

183.for循环不限于计数循环,循环条件可以是逻辑表达式和字符表达式等。答案:正确

184.复合语句中不能声明变量。答案:错误

185.intn=5,a[n];这句定义语句是正确的。答案:错误

186.头文件调用属于编译预处理,不占用运行时间,只占编译时间。答案:正确

187.break语句是结束本次循环。答案:错误

188.赋值运算符右边可以为常量、变量、表达式、关键字。答案:错误

189.浮点数有正负,而整数只有正数。答案:错误

190.if语句的分支语句如果有多个语句,要用“{}”括起来。答案:正确

191.C语言中,关系表达式和逻辑表达式的值是‘T’或’F’()答案:错误

192.C语言中将浮点型数据赋值给整型变量时,先对浮点数取整,舍弃小数部分,然后赋值给整型变量。答案:正确

193.在循环过程中,使用break语句和continue语句的作用是一样的。答案:错误

194.若intx=2,y=3,z=4则表达式x>z?y:z的结果是3答案:错误

195.定义数组时,可以不指定数组元素的个数。答案:错误

196.while循环是先判断条件后执行循环体,有可能一次也不执行循环体。答案:正确

197.使用while循环和dowhile循环时,都不需要提前给循环变量赋初值。答案:错误

198.在嵌套使用if语句时,C语言规定else总是和之前与其最近的且不带else的if配对。答案:正确

199.定义intx=1,y;则执行y=x+3/2;语句后,y的值是2.5。答案:错误

200.当运行以下程序时,从键盘分别输入:BOOK<CR>CUT<CR>GAME<CR>PAGE<CR>(<CR>表示回车),则下面程序的运行结果是PAGE()#include<stdio.h>#include<string.h>main(){intI;charstr[10],temp[10]=”Control”;for(I=0;I<4;I++){gets(str);if(strcmp(temp,str)<0)strcpy(temp,str);}puts(temp);}答案:正确

201.一个C语言语句必须在最后有一个分号,分号是语句不可缺少的组成部分。答案:正确

202.求一组字符串的极值时,也可以通过关系运算符直接比较字符串的大小。答案:错误

203.有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是a=1b=3c=2↙()。答案:错误

204.C语言中任何表达式都可以加上分号而成为语句。答案:正确

205.所谓回文数就是一个数和他各位数字反过来组成的数相等。下列程序能够实现判断一个数是否是回文数#include<stdio.h>intmain(){intn,m;scanf("%d",&n);while(n){m=m*10+n%10;n=n/10;}if(m==n)printf("n是回文数");return0;}答案:错误

206.对两个数组a和b进行如下初始化,则两个数组完全相同()chara[]="ABCDEF";charb[]={'A','B','C','D','E','F'};答案:错误

207.在switch语句中,有没有break的情况都是相同的。答案:错误

208.一维数组元素的下标依次是1、2、3……答案:错误

209.=和==是表示相同的运算符。答案:错误

210.main(){charc1;c1='a';printf(“%d,%c\n”,c1,c1);printf(“%s”,“abc”);}运行结果是:97,aabc答案:正确

211.求两个数的最小公倍数,可以先求出两数的最大公约数,然后用两数乘积除以最大公约数得到最小公倍数。答案:正确

212.a数组中是一组升序的数,现由键盘输入一个待查的整数x,用二分法查找,若x存在输出其所在的位置,否则给出没找到信息。___处应填入的内容是k=1()。#include<stdio.h>#defineN10intmain(){inti,x,low,high,mid,k;inta[N]={25,28,37,44,65,76,79,83,85,92};low=0;high=N-1;scanf("%d",&x);k=0;low=0;high=N-1;scanf("%d",&x);low=0;high=9;k=0;scanf("%d",&n);while(k==0&&low<=high){mid=(low+high)/2;if(x<a[mid])high=mid-1;if(x>a[mid])low=mid+1;if(x==a[mid])______;}if(k==1)printf("found,%dinposition%d\n",x,mid);elseprintf("%dnofound\n",x);return0;}答案:正确

213.下列程序运行结果为:2870()#include<stdio.h>main(){intx,i;for(i=1;i<=100;i++){x=1;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf(“%d”,x)}}

答案:错误

214.判断n是否是素数,没必要从2检查到n-1,可以从2检查到sqrt(n)。答案:正确

215.从键盘输入20个整数,统计出其中素数的个数,并求出素数的平均值,_____应填入的内容是sum/num。#include<stdio.h>voidmain(){inta[20],i,j,flag,sum,num;sum=num=0;for(i=0;i<20;i++)scanf("%d",&a[i]);for(i=0;i<20;i++){flag=1;for(j=2;j<=a[i]/2;j++)if(a[i]%j==0){flag=0;break;}if(flag==1){sum+=a[i];num++;}}printf("Geshu=%dAverage=%.1f\n",num,_______);}答案:正确

216.多分支if语句可以用switch语句来实现。答案:正确

217.下面程序段的运行结果是abc0echarc[6]={'a','b','c','\0','e'};puts(c);答案:错误

218.数组中各数据的排列是有一定规律的,下标代表数据在数组中的序号。答案:正确

219.定义chara=’a’;floatf=2;则表达式a+f值得数据类型是double。答案:错误

220.continue语句只能用于循环语句中。答案:正确

221.大写字母A的ASCII值比小写字母a的ASCII值大32。答案:错误

222.字符串常量是一对单撇号括起来的零个或多个字符序列。答案:错误

223.从键盘输入10个数,再将这10个数按升序进行排序,最后将排序的结果输出。_____处应填入的内容是k!=j()。#include<stdio.h>intmain(){inta[10];inti,j,k,t;for(i=0;i<10;i++)scanf("%d",&a[i]);i=0;do{k=i;j=i+1;while(j<10){if(a[j]<a[k])k=j;j++;}if(_____){t=a[i];a[i]=a[k];a[k]=t;}i++;}while(i<9);for(i=0;i<10;i++)printf("%d\t",a[i]);return0;}答案:错误

224.C语言不区分大小写。()答案:错误

225.下列程序运行结果为3,6,3()#include<stdio.h>main(){inti,j,k,x,y,z;x=y=z=0;f

温馨提示

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

评论

0/150

提交评论