![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
江蘇省計算機等級考試C語言第一至三章考點 |
第一、二章節(jié)必會試題: 1.以下敘述中正確的是_________(多選) A)在編譯時可以發(fā)現(xiàn)注釋中的拼寫錯誤 B)C語言程序的每一行只能寫一條語句 C)main(){}必須位于程序的開始 E)main()函數(shù)至少必須有一條語句 F)C程序總是從main函數(shù)的第一條語句開始執(zhí)行 G)C程序總是在執(zhí)行完main函數(shù)的最后一條語句后結(jié)束 第三章必會試題: 考點1:常量與變量 在程序執(zhí)行過程中,值保持不變的量稱為常量。變量是指向內(nèi)存中的一個單元符號。在C語言中,規(guī)定變量只能由字母、數(shù)字和下劃線組成,且第一個字符必須是字母、數(shù)字或下劃線,常量分為:整型常量、實型常量、字符型常量、字符串型常量、標識符常量 (1)整型常量分為:八進制(以0開頭,由數(shù)字0—7組成,且第一個數(shù)字必須為0),十進制(由數(shù)字0—9組成,且第一個數(shù)字不能為0),十六進制(以0x開頭,由數(shù)字0—9,a--f組成) (2)整型變量:基本整型(int)、短整型(short int)、長整型(long int),長整型以L結(jié)尾,無符號整數(shù)以U結(jié)尾(3)實型常量:十進制小數(shù)形式與指數(shù)形式(用e表示,e之前必須要有數(shù)字,且在E或e之后的指數(shù)必須是整數(shù)), (4)實型變量:float,double (5)字符型常量:用一對單括號引起來的一個字符或以’\’開頭的字符序列 (6)字符變量:char (7)字符串型常量:用一對雙括號引起來的若干個字符,在字符串的最后有結(jié)束標記”\ 1.設(shè)有四個常數(shù):①4e0.5、②’\ 2.以下常數(shù)表示中不正確的是____________ A.’\ 3.以下選項中,不能作為合法常量的是_________ A.0X 4.設(shè)有聲明語句:char a=’\ A.包含一個字符 B.包含2個字符 C.包含三個字符 D.聲明不合法 5.以下哪個是合法的常量______________ A.35u B.1.25e 6.以下選項中不能用做用戶自定義標識符的是__________ A. length_ B._length C.length.d D.For 考點2:運算符與表達式 (1)算術(shù)運算符:單目運算符:+,- 雙目運算符:+,-,*,/,% (2)關(guān)系運算符:> , <, >=, <=, ==,!=,關(guān)系成立時,運算結(jié)果為整數(shù)1,否則為整數(shù)0 (3)邏輯運算符:&&(邏輯與),||(邏輯或),!(邏輯非),優(yōu)先級從高到底:!, ||, && &&與||有短路效應(yīng),&&只要第一個為假,則后面不再管結(jié)果,||只要有一個為真,則后面不再管結(jié)果 (4)賦值運算符:= , +=,-=,*=,/=,%=,^= (5)自增、自減運算符:++,--,只有變量才能自增,常量是不能自增的 (6)逗號運算符:其運算順序為從左到右依次計算各個表達式的值,并把最后一個表達式的值作為整個表達式的值 (7)sizeof()運算符:用來計算某種類型或數(shù)據(jù)做占用的字節(jié)數(shù) (8)條件運算符:條件表達式”?:”為三目運算符,要求有三個操作對象 (9)各類運算符號的順序:首先執(zhí)行:!,++,--,然后算術(shù)運算符,然后關(guān)系運算符,然后邏輯運算符,然后條件運算符,然后賦值運算符,然后逗號運算符 例題: 1.設(shè)有語句int a=6, b=3; float x=8,y; y=b/a*x/2;,則y的值是________________ 2.有數(shù)學式3xy/5ab中,變量x和y的取值為整數(shù),而變量a和b的取值為實數(shù),在C程序中對應(yīng)的正確表達式是______________________ A.3/5*x*y/a/b B.3*x*y/5/a/b C.3*x*y/5*a*b D.3/a/b/5*x*y 3..設(shè)有語句”float x=2.9;int a=5,b;b=a+x;”,則變量b的值是___________ 4.若a1、a2、a3和a4均為整型變量,則以下選項中符合C語法規(guī)則的表達式是______ A.a1=25%3.3 B.a2=a1+a3=3* 5.設(shè)有語句”int a,b,c;a=b=c=5;”,執(zhí)行語句”b+=++a>b &&++c>b;”,則a,b,c的值分別為____ 6. 設(shè)x為整數(shù),C中能正確的表達數(shù)學式0≤x<5的是_______ A.0<=x<5 B.x=0||x=1||x=2||x=3||x= 7.設(shè)有變量說明:”short int a=0,b=0;”,則表達式sizeof(‘a(chǎn)’+’b’)的值是_____ A.1 B. 8.設(shè)有語句:char s[ ]=”Rep\0Ch”; int m=sizeof(s);則m的值是_________ 9.執(zhí)行以下語句后,a的值為___________ int a=0,m=3,n=10; a=(m++,m+n); 10.設(shè)有說明語句int a=3,b=2,c; c=--a==b++;則a,b,c的值為_____________________ 11.設(shè)有說明語句”int a,b;”,執(zhí)行語句”b=(a=3*5,a*4),a+15;”后,b的值為________ 第四章考點: 考點一:字符輸入函數(shù)(getchar) 考點二:格式輸入函數(shù)(scanf) 1。設(shè)有說明語句:double x, 不能通過scanf語句正確的輸入數(shù)據(jù)的語句是________ A.scanf(“%lf”,x); B.scanf(“%f”,&x); C.scanf(“%lf”,&x) D.scanf(“%le”,&x); 例題2. 考點三:字符輸出函數(shù)(putchar) 考點四:格式輸出函數(shù)(printf) 2:如有聲明”float f=123.45678;”,則執(zhí)行語句”printf(“% 第五、六章考點: 考點一:分支結(jié)構(gòu)(單分支與多分支結(jié)構(gòu)) 1.以下函數(shù)中輸入5,3,輸出結(jié)果是_______ #include <stdio.h> int main() { int a,b,max; scanf(“%d,%d”,&a,&b); if(a>b) max=a; else max=b; printf(“%d%d”,a,b); return 0; } 考點二:switch語句 1.執(zhí)行以下程序段后,變量i的值是___________ int i=10; switch(i) { case 9: i+=1 case 10: i+=1; case 11: i+=1; default: i+=1; } 考點三:while語句 1.在while(!a)中,其中的!a與表達式_____________等價 A.a==0 B.a== 2.有以下程序段,while循環(huán)次數(shù)為__________ int k=0; while(k=1) k++; 考點四:do…while語句 1.以下程序輸出的第一行是____________,第二行是______________ #include <stdio.h> void main(void) { int x=6; do { x-=2; printf(“%d\n”,x); }while(--x); } 2.設(shè)整型變量x的當前值為3,執(zhí)行以下循環(huán)語句后,輸出結(jié)果為___________ do { x-=2; printf(“%d\n”,x); }while(!(--x)); 3。下面關(guān)于while與do……while循環(huán)語句的敘述中正確的是______ A.do……while的循環(huán)體至少執(zhí)行一次 B.while的循環(huán)體至少執(zhí)行一次 C.do……while的循環(huán)體不能是復合語句 D.do……while允許從循環(huán)體外跳轉(zhuǎn)到循環(huán)體內(nèi) 考點五:for循環(huán)語句 1.循環(huán)語句for(<表達式1>;<表達式2>;<表達式3>)<循環(huán)體>中,<循環(huán)體>執(zhí)行情況是___________ A.至少執(zhí)行一次 B至少執(zhí)行兩次 C.可能執(zhí)行,也可能不執(zhí)行 D.不執(zhí)行 2.有如下程序: void main() { int i,sum=0; for(i=1;i<=3;i++) sum+=i; printf(“%d\n”,sum); } 該程序的執(zhí)行結(jié)果是_______________ A.6 B 3.設(shè)有語句”for(int i=5,sum=0;i<10,sum++;i++) sum+=i;”,則for()語句的執(zhí)行情況是_____________________ A.循環(huán)0次 B.循環(huán)4次 C.循環(huán)5次 D.循環(huán)6次 考點六:break,continue 1。執(zhí)行以下程序后,輸出___________ int s1=0,s2=0,s3=0,s4=0; for(int t=1;t<=4;t++) switch(t) { case 4: s1++;break; case 3: s2++;break; case 2: s3++; default: s4++; } printf(“%d,%d,%d,%d\n”,s1,s2,s3,s4);; 2.continue語句只能用在______________語句中 3.下面程序的功能是:輸出100以內(nèi)(不含100)能被3整除且個位數(shù)為6的所有整數(shù),請?zhí)羁?/SPAN>: #include <stdio.h> #include <stdlib.h> main() { int i; int j; for(i=0;_____________;i++) { j=i*10+6; if(_____________) continue; else printf(“%d\n”, j); } } 考點3:switch語句 例題:下列程序運行后的輸出結(jié)果,第一行是__________(2008春) #include <stdio.h> main() { int i,a=0,c=2; switch(++a,a*c) {case 1: printf(“ case 2: printf(“ case 3:printf(“3\n”);break; default:printf(“other\n”); } } 第六章:循環(huán)控制 考點1:while與do while語句實現(xiàn)循環(huán) 例題:程序”int x=3; do{printf(“%d”,x--);}while(!x);”的執(zhí)行結(jié)果是____________(2006秋) A.3 2 1 B 例題:以下程序運行時輸出的結(jié)果是_____________(2007秋) main() { int s=1,n=235; do { s*=n%10; n/=10; }while(n); printf(“%d\n”,s); } 例題:以下程序運行后輸出結(jié)果的第一行為____________,第二行為_______________(2007春) #include “stdio.h” void main() { int i=5; do {switch(i%2) { case 0:i--;break; case 1:i--;break; } i--;printf(“%d\n”,i); }while(i>0); } 考點二:for循環(huán) 例題:若有聲明”int i,k=1;unsigned j;”,則下列語句執(zhí)行時會出現(xiàn)無限循環(huán)的語句是___________(2008春) A.for(j=15;j>0;j-=2) k++; B.for(j=0;j<15;j+=2) k++; C.for(i=0;i<15;i+=2) k++; D.for(i=15;i>0;i-=2) k++; 例題:以下程序運行時輸出結(jié)果為____________________(2007秋) #include <stdio.h> void main() { int i,sum=0; for(i=0;i<5;i++) {switch(i) {case 0: case 1:sum++; case 3:sum++; case 4: sum--;break; } } printf(“%d\n”,sum); } 例題:以下程序執(zhí)行后,輸出結(jié)果的第一行為____________,第二行為________________(2006秋) #include <stdio.h> void main() {int w=0,i; for(i=0;i<3;i++) switch(w++) {case 0: case 1: case 2: case 3: printf(“%d\n”,w++); } } 例題:下列關(guān)于語句的說法中正確的是___________________(2004秋) A. do…while語句的循環(huán)體至少會被執(zhí)行1次 B. while語句的循環(huán)至少會被執(zhí)行1次 C. for語句的循環(huán)體至少會被執(zhí)行1次 D. 在c語言中只能用do,do…while或for語句實現(xiàn)循環(huán) 例題:定理:對于任意一個正整數(shù)都可以找到至少一串連續(xù)奇數(shù),它們的和等于該正整數(shù)的立方。例如:33=27=7+9+11,43=64=1+3+5+7+9+11+13+15。以下程序用[2,20]之間的所有正整數(shù)驗證該定理。(2004秋) #include <stdio.h> main() { long n,i,k,j,p,sum; for(n=2;n<=20;n++) {k=n*n*n; for(i=1;i<k/2;i+=2) {for(j=i;sum=0;__________;j+=2) sum+=j; if(sum==k) {printf(“\n%ld*%ld*%ld=%ld=”,n,n,n,sum); for(p=i;p<___________;p+=2) printf(“%ld+”,p);printf(“%ld”,p); break; } } if(i>=k/2) printf(“\n error!”); } } 例題:以下程序采用遞推法計算 考點三:break,continue語句 例題:以下程序運行后輸出結(jié)果的第一行為_______________-,第二行為_______________(2007春) #include <stdio.h> void main() {int i=5; do {switch(i%2) { case 0:i--;break; case 1:i--;break; } i--;printf(“%d\n”,i); }while(i>0); } |