C語(yǔ)言筆試試題
言過(guò)其實(shí),終無(wú)大用。 知識(shí)愈淺,自信愈深。以下是小編為大家搜索整理C語(yǔ)言筆試試題,希望能給大家?guī)?lái)幫助!更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
一、選擇題((1)-(40)每小題1分,(41)-(50)每小題2分,共60分)
下列各題 A) 、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1) 第一臺(tái)電子數(shù)字計(jì)算機(jī)ENIAC誕生于
A.1927年
B.1936年
C.1946年
D.1951年
(2) 用FORTRAN語(yǔ)言編制的源程序要變?yōu)槟繕?biāo)程序,必須經(jīng)過(guò)
A.匯編
B.解釋
C.編輯
D.編譯
(3) 計(jì)算機(jī)軟件一般包括系統(tǒng)軟件和
A.字處理軟件
B.應(yīng)用軟件
C.管理軟件
D.科學(xué)計(jì)算機(jī)軟件
(4) 計(jì)算機(jī)內(nèi)使用的數(shù)是
A.二進(jìn)制數(shù)
B.八進(jìn)制數(shù)
C.十進(jìn)制數(shù)
D.十六進(jìn)制數(shù)
(5) 目前微型機(jī)常用的5.25寸雙面高密度軟盤的容量是
A.360KB
B.1.44MB
C.760KB
D.1.2MB
(6) 具有多媒體功能的微機(jī)系統(tǒng)常用CD-ROM作為外存儲(chǔ)器,它是
A.只讀內(nèi)存儲(chǔ)器
B.只讀大容量軟盤
C.只讀硬盤
D.只讀光盤
說(shuō)明:
(7)到(17)題給定的條件如下:
微機(jī)系統(tǒng)有A和B兩個(gè)容量相同的軟盤驅(qū)動(dòng)器,硬盤C的目錄結(jié)構(gòu)為
文件AUTOEXEC.BAT的內(nèi)容為
PROMPT $P$G
CD F4
CD \DOS
(7) 微機(jī)系統(tǒng)用硬盤C啟動(dòng)后,當(dāng)前系統(tǒng)提示符是
A.C:\>
B.C:\DOS>
C.C:\F4>
D.C>
(8) 在用C盤啟動(dòng)后,把A盤格式化成系統(tǒng)盤的命令為
A.FORMAT A:
B.\FORMAT A:/S
C.\DOS\FORMAT A:/S
D.\DOS\FORMAT A:\S
(9) 設(shè)當(dāng)前盤為C盤,C盤當(dāng)前目錄為\DOS。把JD1.FOR和JD2.FOR連接起來(lái)后存入A盤根目錄下,命名為JD3.FOR,應(yīng)使用命令
A.COPY JD1.FOR+JD2.FOR A:JD3.FOR
B.COPY \F4\JD1.FOR+JD2.FOR A:\JD3.FOR
C.COPY \F4\JD1.FOR+\F4\JD2.FOR A:\JD3.FOR
D.COPY \F4\JD1.FOR+\F4\JD2.FOR JD3.FOR
(10) 設(shè)當(dāng)前盤為C盤,C盤當(dāng)前目錄為\DOS。把FORMAT.COM和DISKCOPY.COM兩個(gè)命令文件復(fù)制到A盤上的命令為
A.COPY \DOS\*.* A:
B.COPY\*.COM A:
C.COPY DOS\*.* A:
D.COPY DOS\*.COM A:
(11) 列出硬盤C上所有擴(kuò)展名為.FOR文件的命令是
A.DIR\*.FOR
B.DIR C:\F4\*.FOR
C.DIR C:\*.FOR
D.DIR C:\F4\*.*
(12) 把A盤的所有信息復(fù)制到B盤上的命令為
A.COPY A:*.* B:
B.COPY A:*.* B:*.*
C.C:\DOS\DISKCOPY A: B:
D.C:\DOS\DISKCOPY B: A:(13) 設(shè)當(dāng)前盤為C盤。刪除硬盤C上的兩個(gè)擴(kuò)展名為.EXE文件的命令是
A.DEL\F4\*.EXE
B.DEL\XD?.EXE
C.DEL\F4\*.*
D.DEL \*.EXE
(14) 設(shè)當(dāng)前盤為C盤。C盤當(dāng)前目錄為\DOS。在硬盤C的根目錄下建立新子目錄USER的命令為
A.MD C:USER
B.MD\USER\
C.MD\USER
D.MD USER
(15) 設(shè)當(dāng)前盤為C盤,C盤當(dāng)前目錄為根目錄。在硬盤C上刪除子目錄F4的命令或命令組為
A.RD F4
B.RD\F4
C.DEL\F4\*.*
D.DEL\*.*
RD F4 RD F4
(16) 設(shè)當(dāng)前盤為C盤,C盤當(dāng)前目錄為根目錄。把JD1.FOR改名為JX1.FOR的命令為
A.REN JD1.FOR JX1.FOR
B.REN JX1.FOR JD1.FOR
C.REN F4\JD1.FOR JX1.FOR
D.REN \F4\JX1.FOR JD1.FOR
(17) 顯示C盤根目錄下所有.TXT文件內(nèi)容的命令為
A.TYPE C:\*.TXT
B.TYPE C:\*.TXT>CON
C.COPY C:\*.TXT>CON
D.COPY C:\*.TXT CON
(18) 按照數(shù)據(jù)模型分類,F(xiàn)oxBASE和dBASE是屬于
A.層次型
B.網(wǎng)狀型
C.關(guān)系型
D.混合型
(19) FoxBASE和dBASE命令文件的擴(kuò)展名為
A..PRG
B..DBF
C..MEM
D..TXT
(20) “計(jì)算機(jī)等級(jí)考試”這七個(gè)漢字作為字符串常量,在FoxBASE和dBASE中,可以表示為
A.{計(jì)算機(jī)等級(jí)考試}
B.(計(jì)算機(jī)等級(jí)考試)
C.計(jì)算機(jī)等級(jí)考試
D.“計(jì)算機(jī)等級(jí)考試”
(21) 請(qǐng)選出可用作C語(yǔ)言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符
A.void
B.a3_b3
C.For
D.2a
define _123 -abc DO
WORD IF Case sizeof
(22) 設(shè) int a=12,則執(zhí)行完語(yǔ)句 a+=a-=a*a后,a的值是
A.552
B.264
C.144
D.-264
(23) C語(yǔ)言程序的基本單位是
A.程序行
B.語(yǔ)句
C.函數(shù)
D.字符
(24) 請(qǐng)選出合法的C語(yǔ)言賦值語(yǔ)句
A.a=b=58
B.i++;
C.a=58,b=58
D.k=int(a+
B.;(25) 執(zhí)行下面程序片段的結(jié)果是
int x=23;
do
{ printf("-",x--);}
while(!x);
A.打印出321
B.打印出23
C.不打印任何內(nèi)容
D.陷入死循環(huán)
(26) 請(qǐng)選出以下語(yǔ)句的輸出結(jié)果
printf("%d\n",strlen("\t\"\065\xff\n"));
A.5
B.14
C.8
D.輸出項(xiàng)不合法,無(wú)正常輸出
(27) 設(shè)有如下的函數(shù)
ggg(x)
float x;
{ printf("\n%d",x*x);}
則函數(shù)的類型
A.與參數(shù)x的類型相同
B.是void
C.是int
D.無(wú)法確定
(28) 設(shè)有如下枚舉類型定義:
enum language { Basic=3,Assembly,Ada=100,COBOL,Fortran};
枚舉量Fortran的值為
A.4
B.7
C.102
D.103
(29) 若有以下說(shuō)明和語(yǔ)句,請(qǐng)選出哪個(gè)是對(duì)c數(shù)組元素的正確引用
int c[4][5], (*cp)[5];
cp=c;
A.cp+1
B.*(cp+3)
C.*(cp+1)+3
D.*(*cp+2)
(30) 標(biāo)準(zhǔn)函數(shù) fgets(s, n, f) 的功能是
A.從文件f中讀取長(zhǎng)度為n的字符串存入指針s所指的內(nèi)存
B.從文件f中讀取長(zhǎng)度不超過(guò)n-1的字符串存入指針s所指的內(nèi)存
C.從文件f中讀取n個(gè)字符串存入指針s所指的內(nèi)存
D.從文件f中讀取長(zhǎng)度為n-1的字符串存入指針s所指的內(nèi)存
(31) 設(shè)有如下一段程序:
int *var,ab;
ab=100
var=&ab;
ab=*var+10;
執(zhí)行上面的程序后,ab的值為
A.120
B.110
C.100
D.90
(32) 以下程序段給數(shù)組所有的元素輸入數(shù)據(jù),請(qǐng)選擇正確答案填入。
#include
main()
{ int a[10],i=0;
while(i<10) scanf("%d",________ );
┇
}
A.a+(i++)
B.&a[i+1]
C.a+i
D.&a[++i]
(33) 設(shè)有如下的程序段:
char str[ ]="Hello";
char *ptr;
ptr=str;
執(zhí)行上面的程序段后,*(ptr+5)的值為
A.’o’
B.’\0’
C.不確定的值
D.’o’的地址
(34) 在宏定義 #define PI 3.14159中,用宏名PI代替一個(gè)
A.單精度數(shù)
B.雙精度數(shù)
C.常量
D.字符串
(35) 字符(char)型數(shù)據(jù)在微機(jī)內(nèi)存中的存儲(chǔ)形式是
A.反碼
B.補(bǔ)碼
C.EBCDIC碼
D.ASCII碼
(36) 執(zhí)行下面的程序段
int x=35;
char z=’A’;
int b;
B=((x&15)&&(z<’a’));
后,B的值為
A.0
B.1
C.2
D.3(37) C語(yǔ)言規(guī)定,程序中各函數(shù)之間
A.既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用
B.不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用
C.允許直接遞歸調(diào)用不允許間接遞歸調(diào)用
D.不允許直接遞歸調(diào)用允許間接遞歸調(diào)用
(38) 假設(shè)在程序中a,b,c均被定義成整型,并且已賦大于1的值,則下列能正確表示代數(shù)式 的表達(dá)式是
A.1/a*b*c
B.1/(a*b*
C.
C.1/a/b/(float)c
D.1.0/a/b/c
(39) 若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達(dá)式是
A.pb=&x
B.pb=x;
C.*pb=&x;
D.*pb=*x
(40) 設(shè)有
static char str[ ]="Beijing";
則執(zhí)行
printf("%d\n", strlen(strcpy(str,"China")));
后的輸出結(jié)果為
A.5
B.7
C.12
D.14
(41) 設(shè)有如下程序:
#include
main()
{ int **k, *j, i=100;
j=&i; k=&j;
printf("%d\n", **k);
}
上面程序的輸出結(jié)果是
A.運(yùn)行錯(cuò)誤
B.100
C.i的地址
D.j的地址
(42) 設(shè) a=5, b=6, c=7, d=8, m=2, n=2, 執(zhí)行 (m=a>B)&&(n=c>D)后n的值為
A.1
B.2
C.3
D.4
(43) 下面函數(shù)的功能是
sss(s, t)
char *s, *t;
{ while((*s)&&(*t)&&(*t++== *s++));
return(*s-*t);
}
A.求字符串的長(zhǎng)度
B.比較兩個(gè)字符串的大小
C.將字符串s復(fù)制到字符串t中
D.將字符串s接續(xù)到字符串t中
(44) 請(qǐng)選出以下程序的輸出結(jié)果
#include
sub(x,y,z)
int x, y, *z;
{ *z=y-x; }
main()
{ int a, b, c;
sub(10,5,&a); sub(7,a,&
B.; sub(a,b,&
C.;
printf("%d,%d,%d\n", a,b,
C.;
}
A.5,2,3
B.-5,-12,-7
C.-5,-12,-17
D.5,-2,-7
(45) 下面程序的輸出結(jié)果是
#include
main()
{ int i=2,p;
p=f(i,i+1);
printf("%d",p);
}
int f(a,
B.
int a,b;
{ int c;
if(a>
B.c=1;
else
if(a==
B.c=0;
else c=-1;
return(
C.;
}
A.-1
B.0
C.1
D.2
(46) 請(qǐng)選出以下程序段的輸出結(jié)果
#include
#define MIN(x,y) (x)<(y)? (x):(y)
main()
{ int i,j,k;
i=10; j=15;
k=10*MIN(i,j);
printf("%d\n",k);
}
A.15
B.100
C.10
D.150
(47) 請(qǐng)選出以下程序段的輸出結(jié)果
#include
main()
{ char sl[10], s2[10], s3[10], s4[10];
scanf("%s%s",s1,s2); gets(s3); gets(s4);
puts(s1); puts(s2); puts(s3); puts(s4);
}
輸入數(shù)據(jù)如下:(此處代表回車符)
aaaa bbbb
cccc dddd
A.aaaa
B.aaaa
C.aaaa
D.aaaa bbbb
bbbb bbbb bbbb cccc
cccc cccc dddd dddd
cccc dddd dddd eeee
(48) 請(qǐng)選出以下程序的輸出結(jié)果
#include
fun(s, n1, n2)
int *s, n1, n2;
{ int i, j, t;
i=n1; j=n2;
while(i { t= *(s+i); *(s+i)= *(s+j); *(s+j)=t;
i++; j--;
}
}
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,0},i, *p=a;
fun(p,0,3); fun(p,4,9); fun(p,0,9);
for(i=0; i<10; i++) printf("%d", *(a+i));
printf("\n");
}
A.0 9 8 7 6 5 4 3 2 1
B.4 3 2 1 0 9 8 7 6 5
C.5 6 7 8 9 0 1 2 3 4
D.0 9 8 7 6 5 1 2 3 4
(49) 請(qǐng)選出以下程序的輸出結(jié)果
#include
main()
{ int a[ ]={ 1,2,3,4 },i;
int x=0;
for(i=0; i<4; i++)
{ sub(a,x); printf("%d",x);}
printf("\n");
}
sub(s,y)
int *s, y;
{ static int t=3;
y=s[t]; t--;
}
A.1 2 3 4
B.4 3 2 1
C.0 0 0 0
D.4 4 4 4
(50) 下面程序的輸出結(jié)果為
struct st
{ int x;
int *y;
} *p;
int dt[4]={10,20,30,40};
struct st aa[4]={ 50,&dt[0],60,&dt[1],
70,&dt[2],80,&dt[3] };
main()
{ p=aa;
printf("%d\n", ++p->x );
printf("%d\n", (++p)->x);
printf("%d\n", ++( *p->y));
}
A.10
B.50
C.51
D.60
20 60 60 70
20 21 21 31二、填空題(每空2分,共40分)
請(qǐng)將每空的正確答案寫在答題卡上【1】-【20】序號(hào)的橫線上,答在試卷上不得分。
(1) 十進(jìn)制數(shù)123用八位二進(jìn)制表示為 【1】 。
(2) 70年代末開始出現(xiàn)16位微處理器,標(biāo)志著微型計(jì)算機(jī)進(jìn)入了第三代;80年代起使用 【2】 位微處理器,標(biāo)志微型計(jì)算機(jī)進(jìn)入了第四代。
(3) 通用計(jì)算機(jī)操作系統(tǒng)的功能和任務(wù)是:作業(yè)管理、文件管理、外設(shè)管理、CPU管理和 【3】 管理。
(4) PC-DOS的兩個(gè)隱含文件是:IBMBIO.COM(輸入輸出程序)與 【4】 (磁盤操作管理程序)。
(5) FoxBASE和dBASE有兩種變量:即內(nèi)存變量和 【5】 變量 。
(6) 設(shè)有如下程序段:
int i=0, sum=1;
do
{ sum+=i++;}
while(i<6);
printf("%d\n", sum);
上述程序段的輸出結(jié)果是 【6】 。
(7) 閱讀下列程序:
#include
main()
{ int i, j, row, column,m;
static int array[3][3]={{100,200,300},
{28,72,-30},
{-850,2,6}
};
m=array[0][0];
for (i=0; i<3; i++)
for (j=0; j<3; i++)
if (array[i][j] { m=array[i][j]; row=i; column=j;}
printf("%d,%d,%d\n",m,row,column);
}
上述程序的輸出結(jié)果是 【7】 。
(8) 設(shè)a、b、c為整型數(shù), 且a=2、b=3、c=4, 則執(zhí)行完以下語(yǔ)句:
a*=16+(b++)-(++c);
后,a的值是 【8】 。
(9) 下面程序的輸出結(jié)果是 【9】 。
#include
main()
{ int a=3, b=2, c=1;
c-=++b;
b*=a+c;
{ int b=5, c=12;
c/=b*2;
a-=c;
printf( ’%d,%d,%d,",a,b,c);
a+=--c;
}
printf( ’%d,%d,%d,",a,b,c);
}
(10) 設(shè)有如下程序:
#include
main(argc,argv)
int argc; char *argv[ ];
{ while( --argc>0) printf("%s",argv[argc]);
printf("\n");
}
假定上述程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在DOS提示符下鍵入PROG ABCD EFGH IJKL ,則輸出結(jié)果為 【10】 。
(11) 閱讀下列程序:
#include
#define MAX_COUNT 4
void fun();
main()
{ int count;
for (count=1; count<=MAX_COUNT; count++) fun();
}
void fun()
{ static int i;
i+=2; printf("%d",i);
}
上述程序的輸出結(jié)果是 【11】 。(12) 設(shè)有下列程序:
#include
#include
main()
{ int i;
char str[10], temp[10];
gets(temp);
for (i=0; i<4; i++)
{ gets(str);
if (strcmp(temp,str)<0) strcpy(temp,str);
}
printf("%s\n",temp);
}
上述程序運(yùn)行后,如果從鍵盤上輸入(在此代表回車符):
C++
BASIC
QuickC
Ada
Pascal
則程序的輸出結(jié)果是 【12】 。
(13) 設(shè)有如下程序:
#include
main(argc,argv)
int argc; char *argv[ ];
{ FILE *fp;
void fc();
int i=1;
while( --argc>0)
if((fp=fopen(argv[i++],"r"))==NULL)
{ printf("Cannot open file! \n");
exit(1);
}
else
{ fc(fp); fclose(fp); }
}
void fc(ifp)
FILE *ifp;
{ char c;
while((c=getc(ifp))!=’#’) putchar(c-32);
}
上述程序經(jīng)編譯、連接后生成可執(zhí)行文件名為cpy.exe。假定磁盤上有三個(gè)
文本文件,其文件名和內(nèi)容分別為:
文件名 內(nèi)容
a aaaa#
b bbbb#
c cccc#
如果在DOS下鍵入
cpy a b c
則程序輸出 【13】 。
(14) 若輸入3個(gè)整數(shù)3,2,1,則下面程序的輸出結(jié)果是【14】 。
#include
void sub( n,uu)
int n, uu[ ];
{ int t;
t=uu[n--]; t+=3*uu[n];
n=n++;
if(t>=10)
{ uu[n++]=t/10; uu[n]=t;}
else uu[n]=t;
}
main( )
{ int i, n, aa[10]={0,0,0,0,0,0}
scanf( "%d%d%d",&n,&aa[0],&aa[1]);
for(i=1; i for(i=0; i<=n; i++) printf("%d",aa[i]);
printf("\n");
}
(15) 若有以下定義:
double w[10];
則w數(shù)組元素下標(biāo)的上限為 【15】 ,下限為 【16】 。
(16) 以下程序統(tǒng)計(jì)從終端輸入的字符中每個(gè)大寫字母的個(gè)數(shù)。用#號(hào)作為輸入結(jié)束標(biāo)志,請(qǐng)?zhí)羁铡?/p>
#include
#include
main( )
{ int num[26],i; char c;
for(i=0; i<26; i++) num[i]=0;
while( 【17】 !=’#’) /*統(tǒng)計(jì)從終端輸入的大寫字母?jìng)(gè)數(shù)*/
if( isupper(c)) num[c-65]+=1;
for(i=0; i<26; i++) /*輸出大寫字母和該字母的個(gè)數(shù)*/
if(num[i]) printf("%c:%d\n,i 【18】 , num[i]);
}
(17) 下面的程序調(diào)用getone函數(shù)開辟一個(gè)動(dòng)態(tài)存儲(chǔ)單元,調(diào)用assone函數(shù)把數(shù)據(jù)輸入此動(dòng)態(tài)存儲(chǔ)單元,調(diào)用outone函數(shù)輸出此動(dòng)態(tài)存儲(chǔ)單元中的數(shù)據(jù)。請(qǐng)?zhí)羁铡?/p>
#include
getone(s)
int **s;
{ *s=(int *)malloc(sizeof(int));}
assone(a)
int *a;
{ scanf("%d", 【19】 );}
outone(b)
int *b;
printf("%d\n", 【20】 );}
main( )
{ int *p;
getone(&p);
assone(p);
outone(p);
}
參考答案
一`選擇題((1)~(40)題每題1分,(41)~(50)題每題2分,共60分)
(1)C (2)D (3)B (4)A (5)D (6)D (7)B (8)C (9)C (10)A
(11)B (12)C (13)A (14)C (15)C (16)C (17)D (18)C (19)A (20)D
(21)B (22)D (23)C (24)B (25)B (26)A (27)C (28)C (29)D (30)B
(31)B (32)A (33)B (34)D (35)D (36)B (37)A (38)D (39)A (40)A
(41)B (42)B (43)B (44)B (45)A (46)A (47)A (48)C (49)C (50)C
二` 填空題(每空2分,共40分)
(1) 01111011
(2) 32
(3) 內(nèi)存 或存儲(chǔ)器 或存儲(chǔ)
(4) IBMDOS.COM 允許用小寫字母
(5) 字段 或字段名
(6) 16
(7) -850,2,0若遺漏逗號(hào)扣1分
(8) 28
(9) 2,5,1,2,3,-2若遺漏逗號(hào)扣1分
(10) IJKLEFGHABCD 若在字符間嵌入空格扣1分 若在字符間嵌入空格扣1分
(12) QuickC 若大寫字母寫成小寫字母,或小寫字母寫成大寫字母扣1分
(13) AAAABBBBCCCC 若在字符間嵌入空格扣1分若用小寫字母扣1分
(14) 2 7 2 1 或2721
(15) 9
(16) 0
(17) (c=getchar()) 注意,外層括號(hào)不得遺漏
(18) +65 或 +’A’
(19) a 或&*a
(20) *b
【C語(yǔ)言筆試試題】相關(guān)文章:
c語(yǔ)言經(jīng)典筆試題05-24
C語(yǔ)言筆試題及答案05-13
c語(yǔ)言常見(jiàn)筆試題總結(jié)05-27
C語(yǔ)言筆試題100道08-14
C語(yǔ)言筆試試題及答案08-03
C語(yǔ)言面試筆試題07-31
C語(yǔ)言模擬筆試題(附答案)01-21