C語(yǔ)言常見(jiàn)考試題型_第1頁(yè)
C語(yǔ)言常見(jiàn)考試題型_第2頁(yè)
C語(yǔ)言常見(jiàn)考試題型_第3頁(yè)
C語(yǔ)言常見(jiàn)考試題型_第4頁(yè)
C語(yǔ)言常見(jiàn)考試題型_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上常見(jiàn)考試題型選擇題(13年20題,每題1分,共20分)填空題(13年20分,基本概念、寫(xiě)程序運(yùn)行結(jié)果、完善程序)判斷題(13年10題、每題1分,共10分)編程題(13年4題,共40分)其他題型練習(xí)題選講選擇題(1) 一個(gè)C程序的執(zhí)行是從 。A) 本程序的main函數(shù)開(kāi)始,本程序的main函數(shù)結(jié)束B(niǎo)) 本程序的第一個(gè)函數(shù)開(kāi)始,本程序的最后一個(gè)函數(shù)結(jié)束C) 本程序的main函數(shù)開(kāi)始,本程序的最后一個(gè)函數(shù)結(jié)束D) 本程序的第一個(gè)函數(shù)開(kāi)始,本程序的main函數(shù)結(jié)束(2) C語(yǔ)言源程序名的后綴是 。A).exeB) .c C) .objD) .cpp(3) 以下不能用作C語(yǔ)言中

2、的標(biāo)識(shí)符的是 。A)_ab12cdB)ab12cd_C)12abcdD)ab12_cd(4) 下面關(guān)于字符常量的說(shuō)法錯(cuò)誤的是 。A)一個(gè)字符常量代表ASCII字符集中的一個(gè)字符B)單引號(hào)中的大寫(xiě)字母和小寫(xiě)字母代表不同的字符常量 C)字符常量只能包含一個(gè)字符 D)字符常量可以用單引號(hào)或雙引號(hào)括起來(lái)(5) 以下程序運(yùn)行后的輸出結(jié)果是 。 #include <stdio.h> main() int a=1,b=0; printf(“%d,”,b=a+b); printf(“%dn”,a=2*b); A)0,0B)1,0C)3,2D)1,2(6) 以下關(guān)于C語(yǔ)言中初始化的說(shuō)法中正確的是 。

3、A)若整型變量在定義時(shí)沒(méi)有初始化,則此時(shí)變量的值為0B)若整型變量在定義時(shí)沒(méi)有初始化,則變量的值是空值C)若整型數(shù)組在定義時(shí)做了不完全初始化,則無(wú)法確定未指定值的數(shù)組元素的取值D)變量定義時(shí)如果沒(méi)有初始化,則無(wú)法確定該變量的值(7) 已知字符A的ASCII碼值是65,以下程序 。#include <stdio.h>void main( )char a='A'int b=20;printf("%d,%o",(a=a+1),b );A)表達(dá)式非法,輸出零或不確定值B)因輸出項(xiàng)過(guò)多,無(wú)輸出或輸出不確定值C)輸出結(jié)果為20,142D)輸出結(jié)果為66,24

4、(8) 下列說(shuō)法中錯(cuò)誤的是 。A)只能在循環(huán)體內(nèi)使用break語(yǔ)句B)在循環(huán)體內(nèi)使用break語(yǔ)句可以使流程跳出本層循環(huán)體,從而提前結(jié)束本層循環(huán) C)在while和do-while循環(huán)中,continue語(yǔ)句并沒(méi)有使整個(gè)循環(huán)終止 D)continue的作用是結(jié)束本次循環(huán),即跳過(guò)本次循環(huán)體中余下尚未執(zhí)行的語(yǔ)句,繼續(xù)執(zhí)行下次循環(huán)(9) 若變量已正確定義并賦值,不符合C語(yǔ)言語(yǔ)法的表達(dá)式是 。A)a=a+7B)a=7+b+c,8C)a>b && b>cD)a=a+7=c+b(10) 設(shè)int類型的數(shù)據(jù)長(zhǎng)度為2個(gè)字節(jié),則unsigned int類型數(shù)據(jù)的取值范圍是 。A)0至

5、255B)0至65535C)0至32767D)-32768至32767(11) 以下程序的輸出結(jié)果是 。main()int x=10,y=10;printf(“%d %dn”,x-,-y);A)10 9B)9 9C)9 10D)10 10(12) 若以下選項(xiàng)中的變量已正確定義,則正確的賦值語(yǔ)句是 。A)x1=26.8%3B)x3=0x12C)1+2=x2D)x4=1+2=3; (13) 以下表示數(shù)學(xué)式子“a<b<c”的邏輯表達(dá)式中錯(cuò)誤的是 。 A)a<b<cB)a<b && b<cC)!(a>=b) && !(b>

6、=c)D)!(a>=b | b>=c)(14) 已知字符A的ASCII碼值是65,以下程序 。#include <stdio.h>void main( )char a='A'int b=20;printf("%d,%o",(a=a+1),b );A)表達(dá)式非法,輸出零或不確定值B)因輸出項(xiàng)過(guò)多,無(wú)輸出或輸出不確定值C)輸出結(jié)果為20,142D)輸出結(jié)果為66,24(15) 在下面的條件語(yǔ)句中(其中s1和s2代表C語(yǔ)言的語(yǔ)句),只有一個(gè)在功能上與其它三個(gè)語(yǔ)句不等價(jià),它是 【13】 。Aif(a) s1 ; else s2; Bif(a=

7、0) s2 ; else s1;Cif(a!=0) s1 ; else s2; Dif(a=0) s1 ; else s2;(16) 當(dāng)把以下四個(gè)表達(dá)式用作if語(yǔ)句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與其它三個(gè)選項(xiàng)含義不同,這個(gè)選項(xiàng)是 。A)k%2 B)k%2=1C)(k%2)!=0 D)!k%2=1(17) 已知x=3,y=2,則表達(dá)式x*=y+8的值為 【4】 。A)3B)2C)30D)10(18) 讀下列程序:#include <stdio.h>main( )float a,b,t; scanf("%f,%f",&a,&b); i

8、f ( a>b) t=a;a=b;b=t; printf ("%5.2f,%5.2f",a,b );運(yùn)行時(shí)從鍵盤(pán)輸入3.8和3.4,則正確的輸出結(jié)果是 。A)3.40,3.80B)3.40,3.80C)3.4,3.8D)3.80,3.40(19) 運(yùn)行以下程序,輸入6以后的輸出結(jié)果是 。#include <stdio.h>void main()int x,y;scanf("%d",&x);y=0;if(x>=0)if(x>0)y=1;elsey=-1;printf("%dn",y);A)0B)1C

9、)-1D)不確定(20) 已知:intx,a,b;下列選項(xiàng)中錯(cuò)誤的if語(yǔ)句是 。A)if (a=b) x+; B)if (a =<b) x+;C)if (x) x+;D)if (a-b) x+;(21) 兩次運(yùn)行下面的程序,如果從鍵盤(pán)上分別輸入6和4,則輸出結(jié)果是 。#include "stdio.h"void main()int x;scanf("%d",&x);if(x+>5) printf("%d",x);else printf("%dn",x-);A)7和5B)6和3C)7和4D)6和4

10、(22) 以下程序運(yùn)行后的輸出結(jié)果是 。#include "stdio.h"void main()int a;scanf(“%d”,&a);if (a>100)printf("%dn",a>100);elseprintf("%dn",a<=100);A)100B)1C)0D)不確定(23) 若變量已正確定義,則以下程序段的輸出結(jié)果是: 。x=0; y=2; z=3;switch(x) case 0:switch(y=2)case 1:printf("*");break;case 2:pri

11、ntf("%");break;case 1:switch(z)case 1:printf("$");case 2:printf("*");break;default:printf("#");A)*B)*# C)*%#D)*%$*(24) 設(shè)有程序段int k=10;while (k=0) k=k-1;則下面描述中正確的是 。A)while循環(huán)執(zhí)行10次B)循環(huán)時(shí)無(wú)限循環(huán)C)循環(huán)體語(yǔ)句一次也不執(zhí)行D)循環(huán)體語(yǔ)句執(zhí)行一次(25) 有以下程序main() int s,i=0,x=0;for (;)if(i=3|i=5)

12、continue;if (i=6) break;i+;s+=i;printf("%dn",s);程序運(yùn)行后的輸出結(jié)果是 。A10B13C21D程序進(jìn)入死循環(huán)(26) 運(yùn)行以下程序,輸入ADescriptor<CR>(<CR>表示回車),則輸出結(jié)果是 。#include <stdio.h>main()char c;int v1=0,v2=0;doswitch(c=getchar()case 'A':case 'e':case 'i':case 'o':default:v1=v1

13、+1;v2+=1;while(c!='n');printf("v1=%d,v2=%dn",v1,v2);A)v1=0,v2=0B)v1=4,v2=4C)v1=11,v2=11D)v1=12,v2=12(27) 若a 、b均為int型變量且a=100,則對(duì)以下for循環(huán)語(yǔ)句的正確判斷是 。for (b=100 ; a!= b; +a,b+) printf ( "-n"); A)循環(huán)體只執(zhí)行一次B)是死循環(huán)C)循環(huán)體一次也不執(zhí)行D)以上說(shuō)法都不對(duì)(28) 以下程序運(yùn)行后的輸出結(jié)果是 。#include <stdio.h>void

14、main() int n=2,k=0;while(k+&&n+>2);printf(“%d %dn”,k,n);A)1 2B)1 3C)5 7D)0 2(29) 判斷字符串s1是否大于字符串s2,應(yīng)當(dāng)使用 【10】 。A)if(s1>s2)B)if(strcmp(s1,s2)C)if(strcmp(s2,s1)>0)D)if(strcmp(s1,s2)>0)(30) 若有以下語(yǔ)句,則正確的描述是 。char x = " 12345"char y ='1','2','3','4&#

15、39;,'5'A)x數(shù)組和y數(shù)組的長(zhǎng)度相同B)x數(shù)組長(zhǎng)度大于y數(shù)組的長(zhǎng)度C)x數(shù)組長(zhǎng)度小于y數(shù)組的長(zhǎng)度D)x數(shù)組等價(jià)于y數(shù)組(31) 下列選項(xiàng)中,能正確定義數(shù)組的語(yǔ)句是 。A)int num0.2008;B)int num;C)int N=2008;int numN;D)#define N 2008int numN;(32) 下列關(guān)于輸出函數(shù)的說(shuō)法中,不正確的 。A)putchar()函數(shù)只能輸出一個(gè)字符B)printf()函數(shù)在輸出整數(shù)時(shí),使用"%f "格式控制符C)scanf()函數(shù)既可以輸入數(shù)值,也可以輸入字符串D)strcpy()函數(shù)可以實(shí)現(xiàn)字符串拷

16、貝(33) 若有以下定義 int x10, *pt=x; 則對(duì)x數(shù)組元素的正確引用是 。A)*&x10B)*(x+3)C)*(pt+10)D)pt+3 (34) 為了判斷兩個(gè)字符串s1和s2是否相等,應(yīng)當(dāng)使用 。A)if (s1= =s2) B)if (s1=s2)C)if ( strcpy (s1,s2) ) D)if ( strcmp( s1,s2)= =0 )(35) 現(xiàn)有如下定義語(yǔ)句 int *p,s20,i; p=s; 表示數(shù)組元素si的表達(dá)式不正確的是 。A)*(s+i)B)*(p+i)C)*(s=s+i)D)*(p=p+i) (36) 設(shè)有定義double a10,*s=

17、a;,以下能夠代表數(shù)組元素a3的是 。A)(*s)3B)*(s+3)C)*s3D)*s+3(37) 以下程序的運(yùn)行結(jié)果是 。 #include <stdio.h>struct st int x, y; data2=1,10,2,20;main() struct st *p=data;printf("%d,", p->y); printf("%dn",(+p)->x); A)10,1B)20,1 C)10,2D)20,2有以下程序運(yùn)行后的輸出結(jié)果是 。#include <stdio.h>void fun(char *c,

18、int d)*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main()char b='a',a='A'fun(&b,a);printf("%c,%cn",b,a);A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(38) 有以下程序#include <stdio.h>#include <string.h>struct A int a; char b10; double c;void f(struct A t);main() struct A

19、a=1001,"ZhangDa",1098.0;f(a); printf("%d,%s,%6.1fn",a.a,a.b,a.c);void f(struct A t) t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;程序運(yùn)行后的輸出結(jié)果是 A 。A)1001,zhangDa,1098.0B)1002,changRong,1202.0C)1001,ehangRong,1098.0D)1002,ZhangDa,1202.0(39) 以下程序的輸出結(jié)果是 。 #include "stdio

20、.h" void fun(int x) printf("%dn",+x); void main() fun(12+5); A)12B)13C)17D)18(40) 以下敘述中不正確的是 。A)在不同的函數(shù)中可以使用相同的名字的變量B)函數(shù)中的形式參數(shù)是局部變量C)在一個(gè)函數(shù)內(nèi)的復(fù)合語(yǔ)句中定義的變量在本函數(shù)范圍內(nèi)有效D)在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效填空題(1) C語(yǔ)言中最重要的一個(gè)函數(shù)是 main ,缺少該函數(shù)程序就無(wú)法運(yùn)行。(2) 若有代數(shù)式:,則正確的C語(yǔ)言表達(dá)式為: x*x/(3*x-5*y) 。 (3) 設(shè)a=2,b=3,x=3.5,y=2.5

21、;算術(shù)表達(dá)式(float)(a+b)/2+(int)x%(int)y的值是 3.5 。(4) 若定義了一個(gè)指針變量int a=90,*p,假設(shè)p=&a ,則執(zhí)行*p的值為 90 。(5) 在邏輯運(yùn)算符 !、&&、|中,運(yùn)算優(yōu)先級(jí)別最高的是 ! 。(6) 表示年份y是閏年(能被4整除但不能被100整除或者能被400整除為閏年)的邏輯表達(dá)式為 y%4=0 && y%100!=0 | y%400=0 。(7) C語(yǔ)言中數(shù)組的起始下標(biāo)默認(rèn)為 0 。(8) 若x,y是int型變量,x=100,y=200 ,則程序段printf("%d",(x,

22、y);的輸出是 200 。(9) break語(yǔ)句可以用在循環(huán)語(yǔ)句和 switch 語(yǔ)句中。(10) 定義數(shù)組int a10,則從鍵盤(pán)讀入數(shù)組a的最后一個(gè)元素的語(yǔ)句是 scanf(“%d”,&a9 ); 。(11) 若有聲明”int i=7;float x=3.1416;double y=3;”,則表達(dá)式i+a*x+i/y值的類型是 double 型。(12) 與數(shù)學(xué)算式等價(jià)的C語(yǔ)言表達(dá)式是 sqrt(abs(a-b)/(3*(a+b) 。(13) 設(shè)x為int型變量,請(qǐng)寫(xiě)出一個(gè)關(guān)系表達(dá)式 (x%3=0) &&(x%7=0) ,用以判斷x同時(shí)為3和7的倍數(shù)時(shí),關(guān)系表達(dá)式的

23、值為真。(14) 設(shè)x,y,z,k都是int型變量,當(dāng)執(zhí)行表達(dá)式x=(y=4,z=16,k=32)之后x的值為 32 。(15) 設(shè)char類型的數(shù)據(jù)長(zhǎng)度為1個(gè)字節(jié),則unsigned char類型數(shù)據(jù)的取值范圍是 0255 。(16) 以下程序段的輸出結(jié)果是: 1 0 。int a=-1,b=1;if (+a<0) && !(b-<=0)printf("%d %d",a,b);elseprintf("%d %d",b,a);(17) 以下程序的輸出結(jié)果為 6 。    #include<s

24、tdio.h>    void main()      int k=5,n=0;    while(k>0)      switch(k)         case 1:          case 3:n+=1;k-;break;    

25、0;     default:n=0;k-;          case 2:          case 4: n+=2;k-;break;               printf("%3d",n);   

26、 (18) 以下程序運(yùn)行后的輸出結(jié)果是 1 。#include<stdio.h>void main()int i,j,m=1;for(i=1;i<3;i+)for(j=3;j>0;j-)if (i*j)>3)break;m=i*j;printf("m=%dn",m);(19) 運(yùn)行下列程序,若輸入are(回車),則輸出結(jié)果為 Compare 。#include <stdio.h>void main() char str100="Computer" char *p=str; scanf("%s"

27、,p+4); puts(str);(20) 以下程序段的輸出結(jié)果為 15 。注意:*運(yùn)算優(yōu)先級(jí)高于條件運(yùn)算#include<stdio.h>#define MIN(x,y) (x)<(y)? (x):(y)void main() int i,j,k;i=10; j=15;k=10*MIN(i,j);printf("%dn",k);(21) 完善下列程序,計(jì)算sum=1+(1+2)+(1+2+3)+(1+2+3+n)的值。#include <stdio.h>main() int n,s,sum=0; scanf("%d",&a

28、mp;n); for(int i=1;i<=n;i+) s=0 ; for(int j=1;j<=i; j+ ) s+=j ; sum+=s; printf("%d",sum);(22) 完善下列程序,要求完成輸入一個(gè)長(zhǎng)度小于100的字符串,統(tǒng)計(jì)該字符串中大寫(xiě)字母、小寫(xiě)字母、數(shù)字及其他字符的個(gè)數(shù)。#include "stdio.h"void main() char str100; int i,big=0,small= 0,num= 0,other=0; printf("please input string:"); get

29、s(str); for(i= 0;stri;i+) if(stri>='A'&&stri<='Z') big+; else if(stri>='a' && stri<='z') small+; else if( stri>='0' && stri<='9' ) num+; else other+; printf("big= %d, small=%d,num=%d,other= %dn", big,

30、 small, num, other);(23) 完善下列程序,要求從鍵盤(pán)輸入10個(gè)整數(shù),使用冒泡法升序排序后輸出該數(shù)組。#include "stdio.h"void main() int a10; int i,j,t; printf("請(qǐng)輸入10個(gè)數(shù):");for(i= 0;i<10;i+) scanf("%d",&ai);for(i= 0;i<9;i+) for(j=0; j<9-i ;j+) if( aj>aj+1 ) t=aj; aj=aj+1; aj+1=t; printf("排序后:n");for(i= 0;i<10;i+) for(j=0;j<4;j+) printf("%d",aij); (24) 完善下列程序,將一個(gè)數(shù)組中的數(shù)據(jù)奇數(shù)放在前面,偶數(shù)放在后面。#include <stdio.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論