




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、C語言程序設(shè)計復(fù)習(xí)資料一、選擇題下列各題ABCD四個選項中,只有一個選項是正確的,請將正確選項涂在答題卡的相應(yīng)位置上,答在試卷上不得分。1、不合法的整數(shù)是( B )。 A)0x35 B)43.6 C)0532 D)-3462、下列合法的字符常量是( D )。 A)“f” B)x C)65 D)Xab3、設(shè)有整型變量x,單精度變量y=5.5,表達(dá)式x=float(y*3+(int)y%4)執(zhí)行后,x的值為( A )。 A)17 B)17.500000 C)17.5 D)1.54、在C語言中,負(fù)整數(shù)在內(nèi)存中以( A )形式釋放。 A)補碼 B)BCD碼 C)反碼 D)十進(jìn)制數(shù)5、在C語言中,要求參
2、加運算的數(shù)必須是整數(shù)的運算符是(C )。 A)/ B)! C)% D)= =6、( D )是C語言中非法的數(shù)據(jù)類型關(guān)鍵字。 A)float B)singed C)integer D)Char7、現(xiàn)已定義整形變量int i=1;執(zhí)行循環(huán)語句while(i+<5);后i的值為( b )。 A)1 B)5 C)6 D)以上三個答案都不正確8、下列語句的輸出結(jié)果是( D )。 printf(“%fn”,(float)(2+4)/2); A)有語法錯誤不能通過編譯 B)3 C)3.0 D)3.00000012、定義a為整型,下列表達(dá)式a=3>6的運行后,a的值為( A )。 A)0 B)1
3、C)3 D)表達(dá)式錯誤13、如果a=1,b=2,c=3,d=4,則條件表達(dá)式a>b?a:c>d?c:d的值為( D )。 A)1 B)2 C)3 D)414、對于條件表達(dá)式(M)?(a+):(a-),其中的表達(dá)式M等價于( C )。 A)M= =0 B)M= =1 C)M!=0 D)M!=115、在x值處于-2到2,4到8時值為“真”,否則為“假”的表達(dá)式是( D )。 A)(2>x>-2)|(4>x>8) B)(x<=-2)|(x>=2)|(x>4)|(x>=8)C)(x<2)&&(x>=-2)&
4、&(x>4)&&(x<8) D)(x>-2)&&(x>4)|(x<8)&&(x<2)16、已知字母a的ASC|的十進(jìn)制代碼為97,則執(zhí)行下列語句后輸出為( C )。 Char a=a; a-; printf(“%d,%cn”,a+2-0,a+3-0); A)a,c B)a運算不合法,故有語法錯誤 C)98,c D)格式描述和輸出項不匹配,輸出無定值18、C語言中,邏輯“真”等價于( C )。 A)大于零的數(shù) B)大于零的整數(shù) C)非零的數(shù) D)非零的整數(shù)19、下列語句中,符合語法的語句式( D )。 A
5、)a+b=3 B)a=7 C)a=c+b+3=6; D)a=8,b=a+7;20、若x為float型變量,則以列程序段結(jié)果是( B )。x=1234.6789;printf(“%-2.1f”,x);A)輸出格式描述符的域?qū)挾炔粔?,不能輸?B)輸出為1234.7C)輸出為1234.6 D)輸出為-1234.621、下面函數(shù)的功能是( A )。Int funl(char*x)char*y=x;while(*y+);return(y-x-1);A)求字符串的長度 B)比較兩個字符串的大小 C)將字符串x復(fù)制到字符串yD)將字符串x連接到字符串y后面22、指針變量a所指的字符串長度為( D )。Ch
6、ar*a=”n”My Name is ”Zhang Li”n”;A)26 B)27 C)28 D)2323、若有以下說明和語句,則輸出結(jié)果是( B )。Char*sp=”n”;Printf(“%d”,strlen(sp);A)6 B)3 C) 5 D)字符串中有非法自負(fù),輸出值不定24、若有以下的說明語句,則對字符串中字符的不正確引用是(其中0<=i<6)( D ).Char*strp=“string”;A)*strp B)*(strp+i) C)strpi D)strp25、函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)的功能是( C )。A) 將串str
7、1復(fù)制到串str2中后再連接到串str3之后B) 將串str1連接到串str2之后再復(fù)制到串str3之后C) 將串str2復(fù)制到串str1中后再將串str3連接到串str1之后D) 將串str2連接到串str1之后再將串str1復(fù)制到串str3之后26、若使用下述程序段將整數(shù)12和浮點數(shù)13.6分別賦給變量a和b,那么輸入應(yīng)該式( B )。int a;float b;scanf(“a=%d,b=%f”,&a,&b);A)12 13.6 B)a=12, b=13.6 C)12, 13.6 D)a=12 b=13.627、對下面的程序說法正確的是( C )。main() int x
8、+3,y=0,z=0; if(x=y+z) printf(“*”); else printf(“#”); A)有語法錯誤,不能通過編譯 B)輸出為* C)輸出為# # # # D)通過編譯,但是不能運行28、下面程序的輸出是( B )。main() int x=10,y=3; printf(“%dn”,y=x%y); A)0 B)1 C)3 D)不確定的值29、( D )是不正確的C語言賦值語句。A)a=a+1; B)i+; C)a*=1,b=8; D)a=330、C語言程序的三種基本程序是( A )。A)順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu) B)遞歸結(jié)構(gòu),循環(huán)結(jié)構(gòu),轉(zhuǎn)移結(jié)構(gòu)C)嵌套結(jié)構(gòu),遞歸結(jié)構(gòu),順
9、序結(jié)構(gòu) D)循環(huán)結(jié)構(gòu),轉(zhuǎn)移結(jié)構(gòu),順序結(jié)構(gòu)33、以下程序段( B )。int x=1,y=4; printf(x<y?”x=%d”:”y=%d”,x,y);A)輸出控制格式錯誤 B)輸出:x=1 C)輸出:y=1 D)輸出:y=434、為了避免嵌套的條件語句if-else的二義性,C語言規(guī)定:else與( B )是正確的。A)縮排位置相同的if B)其之前最近的if C)其之后if D)同一行上的if35、下列關(guān)于switch語句和break語句的結(jié)論中,只有( B )是正確的。A) break語句是switch語句的一部分B) 在switch語句中可以根據(jù)需要使用或不使用break語句C
10、) 在switch語句中必須使用break語句D) 以上三個結(jié)論有兩個是正確的36、設(shè)I和x都是int類型,則對于for循環(huán)語句for(i=0,x=0;i<9;i+),下列哪句話正確( B )。A)執(zhí)行8次 B)執(zhí)行9次 C)是無限循環(huán) D)循環(huán)體一次也不執(zhí)行40、char(*A)5,則標(biāo)識符A的意義時( B )。A) A是一個指向有5個字符型元素的指針變量B) A是一個有5個元素的一維數(shù)組,每個元素指向字符型的指針變量C) A是一個指向字符型的函數(shù)的指針變量D) A是一個有5個元素的一維數(shù)組,每個元素指向整型變量的指針變量112、C語言程序的三種基本結(jié)構(gòu)是( A) A)順序結(jié)構(gòu),選擇結(jié)
11、構(gòu),循環(huán)結(jié)構(gòu) B)遞歸結(jié)構(gòu),循環(huán)結(jié)構(gòu),轉(zhuǎn)移結(jié)構(gòu)C)嵌套結(jié)構(gòu),遞歸結(jié)構(gòu),順序結(jié)構(gòu) D)循環(huán)結(jié)構(gòu),轉(zhuǎn)移結(jié)構(gòu),順序結(jié)構(gòu)1下列合法的字符常量是( D )。 A.“f” B.x C.65 D.Xab2下面那個是屬于合法的標(biāo)識符( C )A.99 B.1_s C. ab D.vb3在C語言中,要求參加運算的數(shù)必須是整數(shù)的運算符是( C )。 A. / B. ! C. % D. = =4現(xiàn)已定義整形變量int i=1;執(zhí)行循環(huán)語句while(i+<5);后i的值為( B )。 A. 1 B. 5 C. 6 D. 以上三個答案都不正確5下列語句的輸出結(jié)果是( D )。 printf(“%fn”,(flo
12、at)(2+4)/2); A. 有語法錯誤不能通過編譯 B. 3 C. 3.0 D. 3.0000006設(shè)C語言中,int類型數(shù)據(jù)占2個字節(jié),則long類型數(shù)據(jù)占( D )個字節(jié)。 A. 1 B. 2 C. 8 D. 47現(xiàn)有表達(dá)式y(tǒng)=x<1?1:(x<10?2:3),如x=12,則y等于( C )A.2 B.1 C. 3 D. 08定義a為整型,下列表達(dá)式a=3>6的運行后,a的值為( A )。 A. 0 B. 1 C. 3 D. 表達(dá)式錯誤9表達(dá)式a=3,a+1,a*a的值是( B )A.2 B.9 C. 16 D.410下列語句中,符合語法的語句式( D )。 A. a
13、+b=3 B. a=7 C. a=c+b+3=6; D. a=8,b=a+7;在c中單精度數(shù)據(jù)類型的精度是幾?( C )A.8 B.6 C. 7 D. 55在C語言中,用( B )表示邏輯值“真”。A.1 B.非0的數(shù) C. “a” D. 1016表達(dá)式2.5+7%3*3(int)(2.5+4.7)%2/4的結(jié)果是( D ) B.2.75 C. 3 D. 2.57表達(dá)式!4|3&&2的結(jié)果是( A )A.1 B.0 C.4 D. 28現(xiàn)有表達(dá)式y(tǒng)=x<1?1:(x<10?2:3),如x=5,則y等于( A )A.2 B.1 C. 3 D. 09若變量已正確定義,語句
14、“if(a>b) k=0;else k=1;”和其等價的是( D )A.k=(a>b)?1:0 B.k=a>b; C. k=a<=b; D. a<=b?0:1;10設(shè)x=3,執(zhí)行語句y=x+后,x、y分別等于( D )A.3,3 B.1,2 C. 3,4 D. 4,311表達(dá)式a=3,a=a+1,a*a的值是( C )A.2 B.9 C. 16 D.412函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)的功能是( C )。A. 將串str1復(fù)制到串str2中后再連接到串str3之后B.將串str1連接到串str2之后再復(fù)制到串str3之后C.
15、將串str2復(fù)制到串str1中后再將串str3連接到串str1之后D.將串str2連接到串str1之后再將串str1復(fù)制到串str3之后13break語句的作用是( B )A.結(jié)束本次循環(huán) B.結(jié)束所有循環(huán) C. 結(jié)束一條語句 D.結(jié)束整個程序14下列程序的輸出結(jié)果是( C )。fun(int a, int b, int c) c =a*b; main( ) int c=5; fun(2,3,c); printf(”%dn”,c);A.0 B.5 C.6 D.無法確定二、 填空。三、 5. 下述函數(shù)的功能是_將數(shù)組a的元素由小到大排序_ .void func(int a,int n) int
16、i,j; for(i=1;i<n;i+) for(j=i;j>0 && aj <aj-1;j-) int t=aj; aj=aj-1; aj-1=t; 8一個C源程序中至少應(yīng)包括一個main()函數(shù)_。9在一個C源程序中,注釋部分兩側(cè)的分界符分別為_/*_和_*/_。10在C語言中,輸入操作是由庫函數(shù)_scanf_完成的,輸出操作是由庫函數(shù)_printf_完成的。11經(jīng)過下述賦植后,變量X的數(shù)據(jù)類型是_整型int_。Int x=2;Double y;Y =(int)(float)x;12C語言的基本數(shù)據(jù)類型分別為_整_int_型、_字符_char_型、_實fl
17、oat_型。13若a、b和c均是int類型變量,則執(zhí)行下面表達(dá)式后,a值為_6_,b值為_4_,c值為_2_。a=(b=4)+(c=2)14若a是int型變量,則執(zhí)行下面表達(dá)式后,a的值為_2_。a=25/3%315若x和n均是int型變量,且x和n的初值均為5,則執(zhí)行下面表達(dá)式后,x的值為_10_,n的值為_6_。 x+=n+16若有定義:iloat a=2.5,cnt b=7;f=4.7;則執(zhí)行下面表達(dá)式的值為_5.5_。 a+(int)(b/3*(int)(a+c)/2)%417若x和y都是double型變量,且x的初值為3.0,y的初值為2.0,則表達(dá)式pow(y,fabs(x)的值為
18、_8.000000_。18若有定義:int e=1,f =4,g=2;float m=10.5,n=4.0,k;則執(zhí)行賦值表達(dá)式k=(e+f)/g+sqrt(double)n)*1.2/g+m后,k的值為_13.700000_。19表達(dá)式8/4*(int)2.5/(int)(1.25*(3.7+2.3)值的數(shù)據(jù)類型為_int整型_。20表達(dá)式pow(2.8,sqrt(double(x)值的數(shù)據(jù)類型為_double雙精度_。21若s是int型變量,且s=6,則下面表達(dá)式的值為_1_。 s%2+(s+1)%222.若a 是int型變量,則下面表達(dá)式的值為_26_。(a=4*5,a*2),a+623
19、.若x和a均是int型變量,則執(zhí)行表達(dá)式(1)后的x值為_12_,執(zhí)行表達(dá)式(2)后的x值為_4_。(1) x=(a=4,6*2)(2) x=a=4,6*2?24.若有以下定義,則執(zhí)行表達(dá)式y(tǒng)+=y-=m*=y后,y的值為_-16_ int m=5,y=2;25.設(shè)C語言中,一個int型數(shù)據(jù)在內(nèi)存中占兩個字節(jié),則int型數(shù)據(jù)的取值范圍為-32768-32767數(shù)組名中存放的是一個地址常量,它代表_數(shù)組的首地址_。2表示“xyz”的C語言表達(dá)式是_(x>=y&&y>=z)_。3設(shè)ch是字符型變量,判斷ch為英文字母的c語言表達(dá)式是: (ch>=A&&am
20、p;ch<=Z)|(ch>=a&&ch<=z) 。4已知 int a10; int *px=a,*py=&a3;那么py與px相隔_6_個字節(jié)。5If語句中if總是和_最近_else匹配。6從函數(shù)的參數(shù)來分函數(shù)分為_有參函數(shù)_、_無參函數(shù)_。7調(diào)用函數(shù)時,函數(shù)名稱必須與_被調(diào)用函數(shù)_名稱完全一致。8形參變量只有在_調(diào)用_時,才分配內(nèi)存單元。_調(diào)用結(jié)束_時,即刻釋放所分配的內(nèi)存單元。6從函數(shù)的參數(shù)來分函數(shù)分為_有參函數(shù)_、_無參函數(shù)_。7在x值處于-2到2,4到8時值為“真”,否則為“假”的表達(dá)式是_(x>=-2&&x<=2)
21、|(x>=4&&x<=8)_。8下面函數(shù)的功能是_求字符串的長度_。Int funl(char*x)char*y=x;while(*y+);return(y-x-1);。9設(shè)I和x都是int類型,則對于for循環(huán)語句for(i=0,x=0;i<9;i+)執(zhí)行了_9_次。10在C語言中,邏輯值“真”用_非0的數(shù)_來表示。四、 程序運行結(jié)果1下列程序輸出的結(jié)果是 11,13,14,16,17,19,20 。Main() int n; for(n=10;n<=20;n+) if(n%3= =0) Continue; Printf(“%d”,n); 2下列程序段
22、的輸出是_5_。#define f(a, b, x) a*x+bprintf("%d", f(3,2,1);3#include <stdio.h>#define M 3#define N M+1main()printf(“%dn”,N);4main() int array5=2,4,6,810; int *pointer=array;printf(”%d”,array0);printf(”%d”,*(array+1);printf(”%d”,*(pointer+2);printf(”%d”,*(pioter+);四、程序分析(23分)2下面程序的功能是什么?#i
23、nclude “stdio.h”main() int a,b,c,temp;printf(“n請輸入三個數(shù):”);scanf(“%d%d%d”,&a,&b,&c);printf(“a=%d,b=%d,c=%d”,a,b,c);temp=a;a=c;c=b;b=temp;printf(“n交換之后a=%d,b=%d,c=%d”,a,b,c);3下面程序的功能是什么?#include <stdio.h> prime(int a) int e,i,yes;yes=1;e=a/2;i=2;while(i<=e)&&yes) if(a%i)= =
24、0) yes=0; else i+; return yes;main() int x; printf(“輸入一個整數(shù)給:”); scanf(“%d”,&x); if(prime(x) printf(“YESn”);else printf(“Non”);4. 下列程序的輸出結(jié)果是( C )。#include<stdio.h>void fun();void main()int x=1;if(x= =1) int x=2; printf(“%d”,+x); void fun() printf(“%d”,x+);A)2,1,1 B)1,2,1 C)2,2,2 D)2,2,15. 以
25、下程序的輸出結(jié)果是( C )。main() char *a5=“how”,”do”,”you”,”do”,”!”; char *p; int i; p=a; for(i=0;i<4;i+) printf(“%s”,pi);A)howdoyoudo! B)how C)howdoyoudo D)hdyd6. 下述程序的輸出結(jié)果為( D )。 #include<stdio.h> void main() int a5=2,4,6,8,10; int *p=a,*q=&p; printf(“d%,”,*(p+); printf(“%d”,*q); A)4,4 B)2,2 C)4
26、,5 D)2,4五、程序填空。(27分)1. 下面程序是求100200間的全部素數(shù)。#include <stdio.h>main() (1)int prime(int n) ;for (m=101;m<=200;m=m+2)if ( (2)prime(m) ) printf(“%d”,m);int prime(int n) /* 判斷n是否為素數(shù) */ int flag=1,i;for (i=2;i<n/2&&flag= =1;i+) if (n%i= =0) flag=0;return ( _(3)_flag_);3.下述函數(shù)將字符串轉(zhuǎn)換成整數(shù)。字符串
27、中允許出現(xiàn)前導(dǎo)空格符、換行符和制表符,除此之外的其他非數(shù)字字符開頭作0處理。此外,若字符串中出現(xiàn)非數(shù)字字符,則終止字符串的轉(zhuǎn)換。 void stoa (char * s,long * a) int i=0,sign=_(1)_1_; while(si= = si= =t)i+;if(si= =+si= =) sing=si= =+? 1: 1;_(2)_i+_;for (*a=0;_(3)si>=0&&si<=9_;I+)*a=_(4)sign_;*a*=sign;4. 本程序用改進(jìn)的氣泡排序法對數(shù)組a的元素從小到大排序。void bubble(int a,int
28、n) int j,k,jmax,temp; jmax=_(1)_n-1_; do k=_(2)_0_; for(j=0;j<jmax;j+) if(aj>aj+1) temp=aj; aj=aj+1; aj+1=temp; k=_(3)_j_; jmax=_(4)_k_;while(jmax>0); 4、程序分析(1)程序有錯誤么?如有,請給予改正。并寫出程序運行結(jié)果。(5分)(2)指出哪些變量屬于局部變量,哪些變量屬于全局變量?同時給出給各變量的作用范圍(用行號表示)。(5分)1int s1, s3,v;2int vs(int a,int b,int c)3 int k;4
29、 k=a*b*c; s1=a*b; s2=b*c; s3=a*c;5 return k;6 7 int s2;8 main()9 int l,w,h;10 l=3;w=2;h=5;11 v=vs(l,w,h);12 printf("v=%d ,s1=%d , s2=%d, s3=%dn",v,s1,s2,s3);13 (1)程序有錯誤,改正:第3行與第4行之間插入語句extern int s2;程序運行結(jié)果:30,6,10,15。(2)局部變量:a,b,c,k,l,w,h,它們的作用范圍只在自己函數(shù)內(nèi),全局變量:s1,s3,v,s2;其中s1,s3,v的作用范圍為113,s2的作用范圍為713。(2)下面程序的功能是什么? 對三個數(shù)排序#include “stdio.h”main() int a,b,c,temp;printf(“n請輸入三個數(shù):”);scanf(“%d%d%d”,&a,&b,&c);printf(“a=%
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 加盟保潔公司合同范本
- 2024年鹽城市濱??h招聘教師考試真題
- 農(nóng)村房屋共建合同范例
- 2024年梧州市龍圩區(qū)招錄公益性崗位人員考試真題
- 公司之間供貨合同范本
- 動產(chǎn)轉(zhuǎn)讓合同范本
- 2024年普洱市墨江縣教體系統(tǒng)所屬事業(yè)單位緊缺招聘考試真題
- 2024年綿陽市投資控股有限公司招聘筆試真題
- 第12課 宋元時期的都市和文化(教學(xué)設(shè)計)七年級歷史下冊同步備課系列(部編版)
- 做代理合同范本
- 計算機行業(yè)人工智能系列深度報告:deepseek研究框架-國海證券-20250214
- DB1331T 102-2025雄安新區(qū)應(yīng)急物資儲備庫建設(shè)規(guī)范
- 2025年蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年湖南工程職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點試題含答案解析
- 北京市豐臺區(qū)2024-2025學(xué)年九年級上學(xué)期期末道德與法治試題(含答案)
- 醫(yī)院培訓(xùn)課件:《PET-CT的臨床應(yīng)用》
- (課件)-幼兒園中班社會教案《新年里的開心事》
- 2025海南省交通投資控股限公司招聘30人高頻重點提升(共500題)附帶答案詳解
- 宋代美學(xué)研究
- 行政管理學(xué)知識點全套
- 船舶安全管理培訓(xùn)課件
評論
0/150
提交評論