




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高純銀合作協議書
- 2025年核防護材料及裝置項目合作計劃書
- 2025年船用動力堆及配套產品項目合作計劃書
- 2025二手車買賣合同范本購車合同
- 2025電力工程施工內部承包合同 施工合同協議書
- 2025工程項目合作協議合同范本
- 2025年二級穩壓裝置項目合作計劃書
- 2025年車載空氣凈化器項目建議書
- 2025年鎘鎳航空蓄電池項目建議書
- 人力資源員工培訓溝通技巧
- 一般企業財務報表附注(模板)
- 【MOOC】傾聽-音樂的形式與審美-武漢大學 中國大學慕課MOOC答案
- 人力資源調配應急演練
- 護士入職心得體會課件
- 藝術涂料施工協議
- 2023-2024學年遼寧省七校協作體高二下學期5月聯考地理試題(解析版)
- 電力行業設備檢修與維護規程
- 2024年大學試題(宗教學)-宗教學綜合練習考試近5年真題集錦(頻考類試題)帶答案
- 企業社會責任與顧客滿意
- 急性腦梗死患者的麻醉管理與圍術期管理指南
- 一例下肢靜脈血栓疑難病例護理討論
評論
0/150
提交評論