




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本文格式為Word版,下載可任意編輯——c語言基礎筆試題(十一篇)范文為教學中作為模范的文章,也往往用來指寫作的模板。往往用于文秘寫作的參考,也可以作為演講材料編寫前的參考。那么我們該如何寫一篇較為完美的范文呢?接下來我就給大家介紹一下優秀的范文該怎么寫,我們一起來看一看吧。
c語言基礎筆試題篇一
a:本程序的main函數開始,到main函數終止
b:本程序文件的第一個函數開始,到本程序文件的最終一個函數終止
c:本程序的main函數開始,到本程序文件的最終一個函數終止
d:本程序文件的第一個函數開始,到本程序main函數終止
2.[單項選擇題]在c語言中,要求運算數必需是整型的運算符是(d)
a:/
b:++
c:!=
d:%
3.[單項選擇題]c語言中,規律“真〞等價于(c)
a:大于零的數
b:大于零的整數
c:非零的數
d:非零的整數
4.[單項選擇題]若希望當a的值為奇數時,表達式的值為“真〞,a的值為偶數時,表達式的值為“假〞。則以下不能滿足要求的表達式為(c)
a:a%2==1
b:!(a%2==0)
c:!(a%2)
d:a%2
5.[單項選擇題]以下程序的運行結果是(b)。
intmain(void){
intm=5;
if(m++5)printf(“%d/n〞,m);
elseprintf(“%d/n〞,--m);
}
a:4
b:5
c:6
d:7
6.[單項選擇題]以下對一維整型數組a的正確說明是(d)
a:inta(10)
b:intn=10,a[n]
c:intn
scanf(“%d〞,n)
inta[n]
d:#definesize10
inta[size]
7.[單項選擇題]若有說明:inta[3][4];則對a數組元素的非法引用是(d)
a:a[0][2*1]
b:a[1][3]
c:a[4-2][0]
d:a[0][4]
c語言基礎筆試題篇二
1.[單項選擇題]下面程序的功能是將已按升序排好序的兩個字符串a和b中的字符,按升序歸并到字符串c中,請為程序中的空白處選擇適當的語句。其次空答案(d)
#include
intmain(void)
{
chara[]=“acegikm〞;
charb[]=“bdfhjlnpq〞;
charc[80],*p;
inti=0,j=0,k=0;
while(a[i]!=/0b[j]!=‘/0)
{
if(a[i]b[j]){(①)}
else{(②)}
k++;
}
c[k]=‘/0;
if(③)p=b+j;
elsep=a+i;
strcat(c,p);
puts(c);
}
a:c[k]=a[i];i++
b:c[k]=b[j];i++
c:c[k]=a[i];j++
d:c[k]=b[j];j++
2.[單項選擇題]在一個c源程序文件中,若要定義一個只允許來源文件中所有函數使用的全局變量,則該變量需要使用的存儲類別是(d)
a:extern
b:register
c:auto
d:static
3.[單項選擇題]以下程序的正確運行結果是(d)。
#include
intf(inta);
intmain(void)
{
inta=2,i;
for(i=0;i3;i++)printf(“%4d〞,f(a));
}
intf(inta)
{
intb=0;
staticintc=3;
b++;c++;
return(a+b+c);
}
a:777
b:71013
c:7911
d:789
4.[單項選擇題]以下程序的運行結果為(b)。
voidsub(intx,inty,int*z)
{*z=y-x;}
intmain(void)
{
inta,b,c;
sub(10,5,a);
sub(7,a,b);
sub(a,b,c);
printf(“%4d,%4d,%4d/n〞,a,b,c);
}
a:5,2,3
b:-5,-12,-7
c:-5,-12,-17
d:5,-2,-7
5.[單項選擇題]有如下語句inta=10,b=20,*p1,*p2;p1=ap2=b變量與指針的關系如圖1所示;若要實現圖2所示的存儲結構,可選用的賦值語句為(沒圖可能是b或a)
a:*p1=*p2
b:p1=p2
c:p1=*p2
d:*p1=p2
6.[單項選擇題]若已建立下面的鏈表結構,指針p、q分別指向圖中所示結點,則不能將q所指的結點插入到鏈表末尾的一組語句是()
a:q-next=null;p=p-next;p-next=q
b:p=p-next;q-next=p-next;p-next=q
c:p=p-next;q-next=p;p-next=q
d:p=(*p).next;(*q).next=(*p).next;(*p).next=q
7.[單項選擇題]以下程序的功能是:讀入一行字符(如:a,b,...y,z),按輸入時的逆序建立一個鏈接式的結點序列,即先輸入的位于鏈表尾(如下圖),然后再按輸入的相反順序輸出,并釋放全部結點。請在空白處為程序選擇適當的代碼。第一空答案(b)
#include
#definegetnode(type)①malloc(sizeof(type))
intmain(void)
{
structnode{
charinfo;
structnode*link;
}*top,*p;
charc;
top=null;
while((c=getchar()②)
{
p=getnode(structnode);
p-info=c;
p-link=top;
top=p;
}
while(top)
{
③;
top=top-link;
putchar(p-info);
free(p);
}
}
a:(type)
b:(type*)
c:type
d:type*
8.[單項選擇題]以下程序的功能是:讀入一行字符(如:a,b,...y,z),按輸入時的逆序建立一個鏈接式的結點序列,即先輸入的位于鏈表尾(如下圖),然后再按輸入的相反順序輸出,并釋放全部結點。請在空白處為程序選擇適當的代碼。其次空答案(d)
#include
#definegetnode(type)①malloc(sizeof(type))
intmain(void)
{
structnode{
charinfo;
structnode*link;
}*top,*p;
charc;
top=null;
while((c=getchar()②)
{
p=getnode(structnode);
p-info=c;
p-link=top;
top=p;
}
while(top)
{
③;
top=top-link;
putchar(p-info);
free(p);
}
}
a:==/0
b:!=/0
c:==/n
d:!=/n
9.[單項選擇題]以下程序的功能是:讀入一行字符(如:a,b,...y,z),按輸入時的逆序建立一個鏈接式的結點序列,即先輸入的位于鏈表尾(如下圖),然后再按輸入的相反順序輸出,并釋放全部結點。請在空白處為程序選擇適當的代碼。第三空答案(b)
#include
#definegetnode(type)①malloc(sizeof(type))
intmain(void)
{
structnode{
charinfo;
structnode*link;
}*top,*p;
charc;
top=null;
while((c=getchar()②)
{
p=getnode(structnode);
p-info=c;
p-link=top;
top=p;
}
while(top)
{
③;
top=top-link;
putchar(p-info);
free(p);
}
}
a:top=p
b:p=top
c:p==top
d:top==p
10.[單項選擇題]以下程序的輸出結果是(c)
#include
#definem5
#definenm+m
main
{
intk;
k=n*n*5;printf(“%d/n〞,k);
}
a:500
b:125
c:55
d:100
c語言基礎筆試題篇三
1.[單項選擇題]若二維數組a有m列,則計算任一元素a[i][j]在數組中位置的公式為(a)
a:i*m+j
b:j*m+i
c:i*m+j-1
d:i*m+j+1
2.[單項選擇題]以下程序的功能是將字符串s中所有的字符c刪除,那么空白處缺少的語句為:(a)。
#include
intmain(void)
{
chars[80];
inti,j;
gets(s);
for(i=j=0;s[i]!=‘/0;i++)
if(s[i]!=‘c)
;
s[j]=‘/0;
puts(s);
return0;
}
a:s[j++]=s[i]
b:s[++j]=s[i]
c:s[j]=s[i];j++
d:s[j]=s[i]
3.[單項選擇題]下面程序的功能是將已按升序排好序的兩個字符串a和b中的字符,按升序歸并到字符串c中,請為程序中的空白處選擇適當的語句。第一空答案(a)
#include
intmain(void)
{
chara[]=“acegikm〞;
charb[]=“bdfhjlnpq〞;
charc[80],*p;
inti=0,j=0,k=0;
while(a[i]!=/0b[j]!=‘/0)
{
if(a[i]b[j]){(①)}
else{(②)}
k++;
}
c[k]=‘/0;
if(③)p=b+j;
elsep=a+i;
strcat(c,p);
puts(c);
}
a:c[k]=a[i];i++
b:c[k]=b[j];i++
c:c[k]=a[i];j++
d:c[k]=a[j];j++
c語言基礎筆試題篇四
1.編寫my_strcpy函數,實現與庫函數strcpy類似的功能,不能使用任何庫函數;
答:char*strcpy(char*strdest,constchar*strsrc)
{
if(strdest==null||strsrc==null)
returnnull;
if(strdest==strsrc)
returnstrdest;
char*tempptr=strdest;
while((*strdest++=*strsrc++)!=‘’);
returntempptr;
}
2.頭文件中的ifndef/define/endif的作用?
答:防止該頭文件被重復引用。
3.#include與#include“file.h〞的區別?
答:前者編譯器從標準庫路徑開始探尋file.h,而后者編譯器從用戶的工作路徑開始探尋file.h。
4.在c++程序中調用被c編譯器編譯后的函數,為什么要加extern“c〞?
答:extern是c/c++語言中說明函數和全局變量作用范圍(可見性)的關鍵字,其聲明的函數和變量可以在本模塊或其它模塊中使用。
尋常,在模塊的頭文件中對本模塊提供應其它模塊引用的函數和全局變量以關鍵字extern聲明。
5.面向對象的三個基本特征,并簡單表達之?
答:1)封裝:將客觀事物抽象成類,每個類對自身的數據和方法實行protection(private,protected,public)
2)繼承:實現繼承(指使用基類的屬性和方法而無需額外編碼的能力)、可視繼承(子窗體使用父窗體的外觀和實現代碼)、接口繼承(僅使用屬性和方法,實現滯后到子類實現)。
3)多態:允許將子類類型的指針賦值給父類類型的指針。
6.重載(overload)和重寫(overried,有的書也叫做“覆蓋〞)的區別?
答:從定義上來說:
重載:是指允許存在多個同名函數,而這些函數的參數表不同(或許參數個數不同,或許參數類型不同,或許兩者都不同)。
重寫:是指子類重新定義復類虛函數的方法。
從實現原理上來說:
重載:編譯器根據函數不同的參數表,對同名函數的名稱做修飾,然后這些同名函數就成了不同的函數。
重寫:當子類重新定義了父類的虛函數后,父類指針根據賦給它的不同的子類指針,動態的調用屬于子類的該函數,這樣的函數調用在編譯期間是無法確定的(調用的子類的虛函數的地址無法給出)。
7.多態的作用?
答:主要是兩個:1)隱蔽實現細節,使得代碼能夠模塊化;擴展代碼模塊,實現代碼重用;2)接口重用,為了類在繼承和派生的時候,保證使用家族中任一類的實例的某一屬性時的正確調用。
8.分別寫出bool,int,float,指針類型的變量a與“零〞的對比語句。
答:bool:if(!a)orif(a)
int:if(a==0)
float:constexpressionexp=0.000001
if(aexpa-exp)
pointer:if(a!=null)orif(a==null)
9.請說出const與#define相比,有何優點?
答案:1)const常量有數據類型,而宏常量沒有數據類型。編譯器可以對前者進行類型安全檢查。而對后者只進行字符替換,沒有類型安全檢查,并且在字符替換可能會產生意料不到的錯誤。
2)有些集成化的調試工具可以對const常量進行調試,但是不能對宏常量進行調試。
10.簡述數組與指針的區別?
數組要么在靜態存儲區被創立(如全局數組),要么在棧上被創立。指針可以隨時指向任意類型的內存塊。
(1)修改內容上的區別
chara=“hello〞;
a[0]=‘x’;
char*p=“world〞;//注意p指向常量字符串
p[0]=‘x’;//編譯器不能發現該錯誤,運行時錯誤
(2)用運算符sizeof可以計算出數組的容量(字節數)。sizeof(p),p為指針得到的是一個指針變量的字節數,而不是p所指的內存容量。c++/c語言沒有方法知道指針所指的內存容量,除非在申請內存時記住它。注意當數組作為函數的參數進行傳遞時,該數組自動退化為同類型的指針。
chara=“helloworld〞;
char*p=a;
coutcout計算數組和指針的內存容量
voidfunc(chara[100])
{
cout}
c語言基礎筆試題篇五
1.變量的聲明和定義有什么區別?
答:聲明變量不分派空間,定義變量要分派空間。聲明主要是告訴編譯器,后面的引用都按聲明的格式。定義其實包含了聲明的意思,同時要分派內存空間。
2.解釋堆和棧的區別。
答:堆(heap)——一般由程序員分派釋放,若程序員不釋放,程序終止時可能由os回收。注意它與數據結構中的堆是兩回事,分派方式倒是類似于鏈表。速度對比慢,而且簡單產生內存碎片,不過用起來最便利。
棧(stack)——由編譯器自動分派釋放,存放函數的參數值,局部變量的值等。其操作方式類似于數據結構中的棧。由系統自動分派,速度較快。但程序員是無法控制的。
3.const的作用是什么?
答:(1)可以定義const常量
(2)const可以修飾函數的參數、返回值,甚至函數的定義體。被const修飾的東西都受到強制保護,可以預防意外的變動,能提高程序的剛強性。
4.以下哪兩個是等同的
intb;
aconstint*a=b//指向常量的指針,不能通過指針改變b,但指針的地址可以改變。
bconst*inta=b//指針的地址不可以改變,但可以通過指針改變b的值
cconstint*consta=b//指針指向的值,和指針本身的地址都不能改變
dintconst*consta=b//與c一致
5.完成程序,實現對數組的降序排序
#include
voidsort(intarray);
intmain
{
intarray={45,56,76,234,1,34,23,2,3};//數字任//意給出
sort(array);
return0;
}
voidsort(intarray)
{____________________________________
inti,j,k;
for(i=1;i=7;i++){if(array[i]array[i-1])
{
k=array[i];
j=i-1;
do
{
array[j+1]=array[j];
j–;
}
while(karray[j]j=0);
array[j+1]=k;
}
}
—————————————————–
}
6.inti=(j=4,k=8,l=16,m=32);printf(“%d〞,i);輸出是多少?
答:相當于i=j=4;i=k=8;i=l=16;i=m=32;故最終i=32;
7.請簡述以下兩個for循環的優缺點(5分)
1)for(i=0;i{
if(condition)
dosomething;
else
dootherthing;
}
2)if(condition)
{
for(i=0;idosomething;
}
else
{
for(i=0;i0)
{
*psto++=*psfrom++;
}
returnpvto;
}
8.c++里面如何聲明constvoidf(void)函數為c程序中的庫函數?
答:在該函數前添加extern“c〞聲明。由于編譯后的名字不同,c++程序不能直接調用c函數。
9.請寫出下面代碼在32位平臺上的運行結果,并說明sizeof的性質:
#include
#include
intmain(void)
{
chara[30];
char*b=(char*)malloc(20*sizeof(char));
printf(“%dn〞,sizeof(a));
printf(“%dn〞,sizeof(b));
printf(“%dn〞,sizeof(a[3]));
printf(“%dn〞,sizeof(b+3));
printf(“%dn〞,sizeof(*(b+4)));
return0;
}
答:在32位系統下(如win32),指針長度為32位。a是一個有30個元素的字符型數組;b是一個字符串指針;a[3]是字符型;b+3是指針;*(b+4)是字符型。
因此輸出:30、4、1、4、1
c語言基礎筆試題篇六
1.c++中,關鍵字struct和class的區別僅僅在于:
struct定義的類的缺省成員為公有的,而class定義的類的缺省成員為私有的;
2.頭文件的作用是什么?
答:1)通過頭文件來調用庫功能。2)頭文件能加強類型安全檢查。
3.c++函數中值的傳遞方式有哪幾種?
答:c++函數的三種傳遞方式為:值傳遞、指針傳遞和引用傳遞。
4.內存的分派方式的分派方式有幾種?
答:1)從靜態存儲區域分派。內存在程序編譯的時候就已經分派好,這塊內存在程序的整個運行期間都存在。例如全局變量。
2)在棧上創立。在執行函數時,函數內局部變量的存儲單元都可以在棧上創立,函數執行終止時這些存儲單元自動被釋放。棧內存分派運算內置于處理器的指令集中,效率很高,但是分派的內存容量有限。
3)從堆上分派,亦稱動態內存分派。程序在運行的時候用malloc或new申請任意多少的內存,程序員自己負責在何時用free或delete釋放內存。動態內存的生存期由我們決定,使用十分靈活,但問題也最多。
5.設計函數intatoi(char*s)。
答:intatoi(char*s)
{
inti=0,sum=0,sign;//輸入的數前面可能還有空格或制表符應加判斷
while(*s==〞||*s==’t’)
{
i++;
}
sign=(*s==’-)?-1:1;
if(*s==’-||*s==’+)
{
i++;
}
while(*s!=’′)
{
sum=*s-’0′+sum*10;
i++;
}
returnsign*sum;
}
6.編寫strcat函數(6分)
已知strcat函數的原型是char*strcat(char*strdest,constchar*strsrc);
其中strdest是目的字符串,strsrc是源字符串。
(1)不調用c++/c的字符串庫函數,請編寫函數strcat
答:
char*__cdeclstrcat(char*dst,constchar*src)
{
char*cp=dst;
while(*cp)
cp++;/*findendofdst*/
while(*cp++=*src++);/*copysrctoendofdst*/
return(dst);/*returndst*/
}
(2)strcat能把strsrc的內容連接到strdest,為什么還要char*類型的返回值?
答:便利賦值給其他變量。
7.mfc中cstring是類型安全類么?
答:不是,其它數據類型轉換到cstring可以使用cstring的成員函數format來轉換
8.函數模板與類模板有什么區別?
答:函數模板的實例化是由編譯程序在處理函數調用時自動完成的,而類模板的實例化必需由程序員在程序中顯式地指定。
9.寫一個“標準〞宏min,這個宏輸入兩個參數并返回較小的一個。
答:#definemin(a,b)((a)=(b)?(a):(b))宏的副作用(與某些函數的混淆):least=min(*p++,b)。宏定義#definemin(a,b)((a)=(b)?(a):(b))對min(*p++,b)的作用結果是:
((*p++)=(b)?(*p++):(*p++))
10.嵌入式系統中經常要用到無限循環,你怎么樣用c編寫死循環呢?
答:while(1)或者for(;;)
c語言基礎筆試題篇七
c筆試題
1)的內容(例如):
12
34
56
:
56
34
12
(逆序)
2)輸出和為一個給定整數的所有組合
例如n=5
5=1+4;5=2+3(相加的數不能重復)
則輸出
1,4;2,3,
第一題,注意可增長數組的應用.
#include
#include
intmain(void)
{intmax=10;
int*a=(int*)malloc(max*sizeof(int));
int*b;
file*fp1;
file*fp2;
fp1=fopen(“〞,〞r〞);
if(fp1==null)
{printf(“error1″);
exit(-1);
}
fp2=fopen(“〞,〞w〞);
if(fp2==null)
{printf(“error2″);
exit(-1);
}
inti=0;
intj=0;
while(fscanf(fp1,〞%d〞,a[i])!=eof)
{i++;
j++;
if(i=max)
{
max=2*max;
b=(int*)realloc(a,max*sizeof(int));
if(b==null)
{printf(“error3″);
exit(-1);
}a=b;
}}
for(;–j=0;)
fprintf(fp2,〞%dn〞,a[j]);
fclose(fp1);
fclose(fp2);
return0;
}
其次題.
#include
intmain(void)
{unsignedlonginti,j,k;
printf(“pleaseinputthenumbern〞);
scanf(“%d〞,i);
if(i%2==0)
j=i/2;
else
j=i/2+1;
printf(“theresultisn〞);
for(k=0;kj;k++)
printf(“%d=%d+%dn〞,i,k,i–k);
return0;
}
#include
voidmain()
{unsignedlonginta,i=1;
scanf(“%d〞,a);
if(a%2==0)
{for(i=1;iprintf(“%d〞,a,a-i);
}
else
for(i=1;i=a/2;i++)
printf(〞%d,%d〞,i,a-i);
}
兄弟,這樣的.題目若是做不出來實在是有些不應當,給你一個遞規反向輸出字符串的例子,可謂是反序的經典例程.
voidinverse(char*p)
{if(*p==‘′)
return;
inverse(p+1);
printf(“%c〞,*p);
}
intmain(intargc,char*argv[])
{
inverse(“abc″);
return0;
}
借簽了樓上的“遞規反向輸出〞
#include
voidtest(file*fread,file*fwrite)
{charbuf[1024]={0};
if(!fgets(buf,sizeof(buf),fread))
return;
test(fread,fwrite);
fputs(buf,fwrite);
}
intmain(intargc,char*argv[])
{file*fr=null;
file*fw=null;
fr=fopen(“data〞,“rb〞);
fw=fopen(“dataout〞,“wb〞);
test(fr,fw);
fclose(fr);
fclose(fw);
return0;
}
在對齊為4的狀況下
structbbb
{longnum;
char*name;
shortintdata;
charha;
shortba[5];
}*p;
p=0×1000000;
p+0×200=____;
(ulong)p+0×200=____;
(char*)p+0×200=____;
解答:假設在32位cpu上,
sizeof(long)=4bytes
sizeof(char*)=4bytes
sizeof(shortint)=sizeof(short)=2bytes
sizeof(char)=1bytes
由于是4字節對齊,
sizeof(structbbb)=sizeof(*p)
=4+4+2+1+1/*補齊*/+2*5+2/*補齊*/=24bytes(經dev-c++驗證)
p=0×1000000;
p+0×200=____;
=0×1000000+0×200*24
(ulong)p+0×200=____;
=0×1000000+0×200
(char*)p+0×200=____;
=0×1000000+0×200*4
你可以參考一下指針運算的細節
c語言基礎筆試題篇八
寫出二分查找的代碼:
intbinary_search(int*arr,intkey,intsize)
{
intmid;
intlow=0;
inthigh=size-1;
while(low=high)
{
mid=(low+high)/2;
if(arr[mid]key)
high=mid-1;
elseif(arr[mid]
low=mid+1;
else
returnmid;
}
return-1;
}
請編寫一個c函數,該函數在一個字符串中找到可能的最長的子字符串,該字符串是由同一字符組成的。
#include
#include
#include
intchildstring(char*p)
{
char*q=p;
intstringlen=0,i=0,j=1,len=0,maxlen=1;
//stringlen=strlen(p);
while(*q!=)//不能用strlen,求得長stringlen
{
stringlen++;
q++;
}
while(istringlen)
{
if(*(p+i)==*(p+j)jstringlen)
{
len++;//統計子串長度
i++;
j++;
}
else
{
if(len=maxlen)//統計最大子串長度
{
maxlen=len+1;
len=0;
}
else
len=0;
i++;
j++;
}
}
returnmaxlen;
}
intmain(intargc,char*argv)
{
chararr[11];
intlen;
printf(“pleaseinputchararr(10):n〞);
scanf(“%s〞,arr);
len=childstring(arr);
printf(“thelenofchildarris:%dn〞,len);
return1;
}
c語言基礎筆試題篇九
有一浮點型數組a,用c語言寫一函數實現對浮點數組a進行降序排序,并輸出結果,要求要以數組a作為函數的入口.(建議用冒泡排序法)
#include
#include
voidbubblesort(intarr,intn)
{
inti,j;
intexchange=1;//交換標志,提高算法效率;
inttemp;
for(i=0;i
{
exchange=0;//本趟排序開始前,交換標志應為假
for(j=0;j
{
if(arr[j+1]arr[j])
{
temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
exchange=1;//發生了交換,故將交換標志置為真
}
}
if(!exchange)//本趟排序未發生交換,提前終止算法
return;
}
}
intmain(intargc,char*argv)
{
intarr[5]={1,4,2,6,5};
inti;
bubblesort(arr,5);
printf(“aftersort,arris:n〞);
for(i=0;i5;i++)
{
printf(“%3d〞,arr[i]);
}
return1;
}
c語言基礎筆試題篇十
有兩個磁盤文件a和b,各存放一行字母,要求把這兩個文件中的信息合并(按字母順序排列),輸出到一個新文件c中.
#include
#include
intmain(intargc,char*argv)
{
file*fp;
inti,j,k,num,num;
charc[50],t,ch;
if((fp=fopen(“a〞,“r〞))==null)
/*canbereplacedbyopen
*intfd=open(“a〞,o_rdonly|o_creat);*/
{
printf(“fileacannotbeopenedn〞);
exit(0);
}
printf(“nacontentsare:n〞);
for(i=0;(ch=fgetc(fp))!=eof;i++)/*一個字符一個字符讀*/
{
c[i]=ch;
putchar(c[i]);
}
num=i+1;
fclose(fp);
if((fp=fopen(“b〞,“r〞))==null)
{
printf(“filebcannotbeopenedn〞);
exit(0);
}
printf(“nbcontentsare:n〞);
for(i=0;(ch=fgetc(fp))!=eof;i++)
{
c[num+i]=ch;
putchar(c[num+i]);
}
fclose(fp);
num=num+i+1;
for(k=0;k
{
for(j=0;j
{
if(c[j]c[j+1])
{
t=c[j];
c[j]=c[j+1];
c[j+1]=t;
}
}
}
printf(“ncfileis:n〞);
fp=fopen(“c〞,“w〞);
for(i=0;i
{
putc(c[i],fp);/*將字符一個個寫入文件中*/
putchar(c[i]);/*一個個輸出字符*/
}
fclose(fp);
return1;
}
c語言基礎筆試題篇十一
c語言基礎筆試題
1、c語言程序的基本單位是____a)程序行b)語句c)函數d)字符、c、1
2、c語言程序的三種基本結構是____a、順序結構,選擇結構,循環結構b、遞歸結構,循環結構,轉移結構c、嵌套結構,遞歸結構,順序結構d、循環結構,轉移結構,順序結構、a、1
3、c語言規定,程序中各函數之間a)既允許直接遞歸調用也允許間接遞歸調用b)不允許直接遞歸調用也不允許間接遞歸調用c)允許直接遞歸調用不允許間接遞歸調用d)不允許直接遞歸調用允許間接遞歸調用、a、1
4、c語言中可處理的文件類型是()a)文本文件和數據文件b)文本文件和二進制文件c)數據文件和二進制文件d)數據代碼文件、b、1
5、c語言可執行程序的開始執行點是()a)程序中第一條可執行語句b)程序中第一個函數c)程序中的main函數d)包含文件中的第一個函數、c、1
6、c語言提供的合法的數據類型關鍵字是a)doubleb)shortc)integerd)char、b、1
7、c語言中,運算對象必需是整型數的運算符是a)%b)c)%和d)**、a、1
8、c語言中函數返回值的類型是由()決定,a)return語句中的表達式類型b)調用函數的主調函數類型c)調用函數時臨時d)定義函數時所指定的函數類型、d、1
9、c語言中數組名作為參數傳遞給函數,作為實在參數的數組名被處理為_____。a、該數組的長度。b、該數組的元素個數。c、該數組中各元素的值。d、該數組的首地址。、d、1
10、c語言中數組下標的下限是________。a、1b、0c、視具體狀況d、無固定下限、b、1
11、c語言中提供的合法關鍵字是____a、swithb、cherc、cased、default、d、1
12、c語言中文件的.存取方式是________。a、順序存取b、隨機存取c、順序存取、隨機存取均可d、順序存取、隨機存取均不可、c、1
13、c語言中最簡單的數據類型包括a)整型、實型、規律型b)整型、實型、字符型c)整型、字符型、規律型d)整型、實型、規律型、字符型、b、1
14、sizeof(float)是()a)一種函數調用b)一個不合法的表示形式c)一個整型表達式d)一個浮點表達式、c、1
15、x、y、z被定義為int型變量,若從鍵盤給x、y、z輸入數據,正確的輸入語句是a)inputx,y,z;b)scanf(“%d%d%d〞,x,y,z);c)scanf(“%d%d%d〞,x,y,z);d)read(“%d%d%d〞,x,y,z);、b、1
16、表達式:10!=9的值是a)trueb)非零值c)0d)1、d、1
17、表示關系x=y=z的c語言表達式為a)(x=y)(y=z)b)(x=y)and(y=z)c)(x=y=z)d)(x=y)(y=z)、a、1
18、程序片段:在tc20中,inti=65536;printf(“%d〞,i);的輸出結果是____a)65536b)0c)有語法錯誤,無輸出結果d)-1、b、1
19、當調用函數時,實參是一個數組名,則向函數傳送的是____a)數組的長度b)數組的首地址c)數組每一個元素的地址d)數組每個元素中的值、b、1
20、對嵌套子程序調用說法正確的是____。a、外層子程序可以調用所有的內層子程序b、內層了程序只可以調用包含本身的外層子程序,不可以隔層調用c、外分程序必需能完全套住內分程序d、以上說法均不正確、c、1
21、對于基類型一致的兩個指針變量之間,不能進行的運算是a)b)=c)+d)-、c、1
22、合法的c語言中,合法的長整型常數是a)tb)“a〞c)65d)a、a、1
23、假定int類型變量占用兩個字節,其有定義:intx[10]={0,2,4};,則數組x在內存中所占字節數是a)3b)6c)10d)20、d、1
24、假定有以下變量定義:intk=7,x=12;則能使值為3的表達式是ax%=(k%=5)bx%=(k-k%5)cx%=k-k%5d(x%=k)-(k%=5)、d、1
25、請讀程序片段(字符串內沒有空格):printf(“%d〞,strlen(“ats0121〞));的輸出結果是a)11b)10c)9d)8、c、1
26、請選出合法的c語言賦值語句a)a=b=58b)i++;c)a=58,b=58d)k=int(a+b);、b、1
27、若a為int類型,且其值為3,則執行完表達式a+=a-=a*a后,a的值是a)-3b)9c)-12d)6、c、1
28、若int類型占兩個字節,則以下語句輸出為________。intk=-1;printf(“%d,u%〞,k,k);a、-1,-1b、-1,65536c、-1,32768d、-1,65535、d、1
29、若變量a是int類型,并執行了語句:a=‘a+1、6;,則正確的表達是a)a的值是字符cb)a的值是浮點型c)不允許字符型和浮點型相加d)a的值是字符‘a’的ascii值加上1,
、d、1
30、若變量已正確說明為float類型,要通過語句scanf(“%f%f%f〞,a,b,c);給a賦于10、0,b賦予22、0,c賦予33、0,不正確的輸入形式是:a)10b)10、0,22、0,3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論