- 相關推薦
C語言筆試題100道
以下是小編為您收集整理的C語言筆試題100道,歡迎參考學習!更多內容請關注應屆畢業生考試網!
1) 設x,y均為整型變量,且x=10 y=3,則以下C語言的輸出結果是()。(選擇一項)
printf(“%d,%d\n”,x–,–y);
a)10,3
b)9,3
c)9,2
d)10,2
2)在C語言中,要計算一個數(變量i)的開平方,下面代碼正確的是()。(選擇一項)
a)printf(sqrt(t), “\n Square of%d”,i)
b)printf(“\n Square of %d is %d”,i,sqrt(i))
c)printf(sqrt(i),i,t, “\n Sqrt of %d is %d”)
d)printf(i,t,”\n Square of%d”)
e)scanf(i,”\n Square of%d is %d”,sqrt(i))
3)運行下列C程序:
#include
void fun(int x,int y,int z)
{z=x*x+y*y;}
void main()
{
int a=31;
fun(5,2,a);
printf(“%d”,a);
}
輸出結果是()。(選擇一項)
a)0
b)29
c)31
d)無定值
4)在C語言中,下面選項()是合法的變量名。(選擇兩項)
a)Minimum
b)3 rd_row
c)n1+n2;
d)Doubles
e)First.name
5)運行下面的C程序:
#include
void main()
{
int n;
scanf(“%d”,&n);
if(n++<10)
printf(“%d\n”,n);
else
printf(“%d\n”,n--);
}
若從鍵盤上輸入9,則輸出結果是()。(選擇一項)
a)11
b)10
c)9
d)8
6)運行下面的C程序:
#include
void main()
{
int n;
scanf(“%d”,&n);
if(n++<10)
printf(“%d\n”,n);
else
printf(“%d\n”,n--);
}
若從鍵盤上輸入9,則輸出結果是()。(選擇一項)
a)11
b)10
c)9
d)8
7)在C語言中,當說明一個結構體變量時系統分配給它的內存是()(選擇一項)
a)各成員所需內存量的總和
b)結構中第一個成員所需內存量
c)成員中占內存量最大者所需的容量
d)結構中最后一個成員所需的內存量
8)在C語言中,下列關于條件語句的描述中,正確的是()。(選擇兩項)
a)當if語句嵌套使用的時候,最后一個else和最近的一個沒有else匹配的if匹配
b)一個if可以有多個else與之匹配
c)一個switch語句總是可以被一系列if…else語句替換
d)當執行break語句時程序將停止執行
9)在C語言中,下面不正確的字符串常量是()。(選擇一項)
a)‘abc’
b)“12’12”
c)“0”
d)“ ”
10)int a=4,b=20;
if (a>b && ++a<b)
printf(“b=%d”,b)
else
printf(“a=%d”,a);
上面的C程序段的輸出結果是()(選擇一項)
a)b=20
b)a=5
c)a=4
d)b=21
11)在C語言中,有如下定義
void f(int x,int y)
{
int t;
if(x<y)
{t=x;x=y;y=t;}
}
main()
{
int a=4,b=3,c=5;
f(a,b);
f(a,c);
f(b,c);
printf(“%d,%d,%d\n”,a,b,c);
}
執行后輸出的結果是()。(選擇一項)
a)3,4,5
b)5,3,4
c)5,4,3
d)4,3,5
13) int a[5]={3,9,5,6,4};
printf(“%d”,*(a+4));
以上C程序段的輸出結果是()。(選擇一項)
a)3
b)5
c)4
d)6
14) 分析下面的C語言代碼:
int a=1,b=10;
do{
b-=a; a++;
}while (b--<0);
則執行循環語句后b的值為()。(選擇一項)
a)9
b)–2
c)–1
d)8
15) 設i是int型變量,f是float型變量,用下面的語句給這兩個變量輸入值:
scanf("i=%d,f=%f",&i,&f);
為了把100和765.12分別賦給i和f,則正確的輸入為()。(選擇一項)
a) 100 765.12
b) i=100,f=765.12
c) 100 765.12
d) x=100 y=765.12
16)在C語言中,下列()是合法的標識符。(選擇兩項)
a) COUNT
b) P234
c) 4x
e)short
17) 有數組int num [5] = {10,20,30,40,50};
num[3]的值為()。 (選擇一項)
a) 30
b) 50
c) 40
d) 20
e) 10
18) #include
void main()
{
int a=3,b=2,c=1;
int x=10,y=20;
if(a<b)
if(b!=0)
if(!x)
y=1;
else if(x)
y=0;
y=-1;
printf("%d",y);
}
上面的C程序的輸出結果是()。(選擇一項)
a) 20
b) 1
c) 0
d) -1
19) void main()
{
int i, x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf("%d ",x[i][2-i]);
}
以上C程序的輸出結果是()。(選擇一項)
a) 1 5 9
b) 1 4 7
c) 3 5 7
e)3 6 9
20) C語言中,while和do…while循環的主要區別是()。(選擇一項)
a) while的循環控制條件比do…while的循環控制條件嚴格
b) do…while的循環體至少無條件執行一次
c) do…while允許從外部轉到循環體內
d) do…while的循環體不能是復合語句
21) 執行下面的C程序段后,輸出結果是()。(選擇一項)
int a=5;
while( a--);
printf( "%d", a);
a) 54321
b) 4321
c) 0
d) -1
22) 以下正確的敘述有()。(選擇兩項)
a) 在C程序中,每行中只能寫一條語句
b) 在C程序中,Abc和abc是2個相同的變量
c) 若a和b 的類型相同,在計算了賦值表達式a=b后b的值將放入a,而b的值不變
d) 若a是float型變量,a=10是合法的,因為float型變量允許存放整型數
23) 下面C代碼的輸出結果是()。(選擇一項)
int answer,result;
answer=100;
result=answer-10;
printf(“The result is %d”, result+5);
a) The result is 90
b) The result is 95
c) The result is 10
d) The result is 100
24) char *p="happy new year";
char *q=p;
int k;
for( k=1;k<8;k++)
{
putchar(*q); //putchar函數用來輸出單個字符
q++;
}
上面C程序段的輸出結果是()。(選擇一項)
a) happy new year
b) happy new
c) happy n
d) happy
e) appy n
25) 在C語言中,根據下面的定義,能打印出字母m的語句是()。(選擇一項)
struct person{ char name[9]; int age; };
struct person per[10]={"john",17,
"paul",19,
"mary",18,
"adam",16};
a) printf("%c\n",per[3].name);
b) printf("%c\n",per[3].name[1]);
c) printf("%c\n",per[2].name[1]);
d) printf("%c\n",per[2].name[0]);
26) 在C語言中,存儲類別定義了變量的()。(選擇兩項)
a) 生命周期
b) 可見性
c) 關系性
27) 在C語言中,設有數組定義: char array [ ]="China"; 則數組 array所占的空間為( )。(選擇一項)
a) 4個字節
b) 5個字節
c) 6個字節
d) 7個字節
28) 在C語言中,()是在所有函數外部聲明的。(選擇一項)
a) 全局變量
b) 局部變量
c) 形參
29) 以下對C語言函數的有關描述中,正確的是()。(選擇一項)
a) 調用函數時,只能把實參的值傳送給形參,形參的值不能傳送給實參
b) C函數既可以嵌套定義又可以遞歸調用
c) 函數必須有返回值,否則不能使用函數
d) C程序中有調用關系的所有函數必須放在同一個源程序文件中
30) 分析下面的C程序:
#include
void main()
{
int num=0;
while(num<=2){
num++;
printf("%d ",num);
}
}
輸出結果是()。(選擇一項)
a)1 2 3
b)0 1 2
c)2 3
d)1 2
31) 分析下面的程序:
void fun (int a,int b,int c)
{
a=456; b=567; c=678;
}
void main()
{
int x=10, y=20,z=30;
fun (x,y,z);
printf("%d,%d,%d\n",z,y,x);
}
輸出結果是()。(選擇一項)
a)30,20,10
b)10,20,30
c)456,567,678
d)678,567,456
32) 研究下面的C程序段:
int i,j;
for (i=5;i;i--)
for(j=0;j<4;j++){…}
循環體的總執行次數是()。(選擇一項)
a)20
b)25
c)24
d)30
33) 設x,y,z,t均為int型變量,則執行以下語句后,t的值為()。
x=y=z=1;
t=++x||--y&&++z;(選擇一項)
a)不定值
b)2
c)1
d)0
34) void fun(int *x, int *y) { *x=3;*y=4; }
void main()
{
int x=1,y=2;
printf("%d %d ",x, y);
fun(&y,&x);
printf("%d %d",x, y);
}
上面的C程序段的輸出結果是()。(選擇一項)
a)2 1 4 3
b)1 2 1 2
c)1 2 4 3
d)2 1 1 2
35) 分析下面的C語言程序:
#include
struct stu
{
int num;
char name[10];
int age;
};
void main()
{
struct stu students[3]={{9801,”Zhang”,20},{9802,”Wang”,19},{9803,”Zhao”,18} };
printf(“%s\n”,(*(students+2)).name);
}
輸出結果是()。(選擇一項)
a)Zhang
b)Zhao
c)Wang
d)18
36) 閱讀下面的C語言代碼,輸出結果是()。
int x, y = 1, z=0;
if ( z < 0 )
x = 3;
else if ( y == 0 )
x = 5;
else
x = 7;
printf("%d, %d", x, y);(選擇一項)
a)7, 0
b)7, 1
c)3, 3
d)以上都不正確
37) 要將20賦值到數組Num的第三個元素,正確的方法是()。(選擇一項)
a)Num[3]=20
b)Num[2]=20
c)Num[4]=20
d)[3] Num=20
38) 在C語言中,已知字母A的ASCII碼是65,則執行語句:char ch='A'+3; 后ch的值為( )。(選擇一項)
a)不能確定
b)68
c)C
d)D
39) 在C語言中,以下所列的各函數首部中,正確的是( )。(選擇一項)
a)void play(var :Integer,var b:Integer)
b)void play(int a,b)
c)void play(int a,int b)
d)Sub play(a as integer,b as integer)
40) C語言中,可以通過指針訪問一個變量,表示指針的運算符是()。(選擇一項)
a)&
b)*
c)^
d)%
e)@
41) 下面的C程序段執行完后,x的值為( )。
int x=3, y=2;
x*=x+y;(選擇一項)
a)2
b)10
c)15
d)3
42) 在C語言中,能正確表示a和b同時為正或同時為負的邏輯表達式是()。(選擇一項)
a)(a>=0‖b>=0)&&(a<0‖b<0)
b)(a>=0&&b>=0)&&(a<0&&b<0)
c)(a+b>0)&&(a+b<=0)
d)a*b>0
43) 下面的C語言代碼段的輸出結果是()。(選擇一項)
int j;
for(j=1; j<10; j+=2)
printf("%d ",j);
a)1 2 3 4 5 6 7 8 9
b)2 4 6 8
c)1 3 5 7 9
d)1 2 4 6 8
44) 用來將兩個字符串合并為一個字符串的函數是()。(選擇一項)
a)strcat()
b)strcpy()
c)strlen()
45) 在C語言中,表達式:10!=9 的值是()。(選擇一項)
a)true
b)非零值
c)0
d)1
46) 分析下面的C代碼段:
char str1[15] = "Sea View";
char str2[15] = "Sea Breeze";
strcpy(str1,str2);
printf("%s\n",str1);
則輸出結果是()。(選擇一項)
a)Sea View
b)Sea Breeze
c)Sea View Sea Breeze
d)Sea Breeze Sea View
47) 在C語言中,下列正確的字符型常量是()。(選擇一項)
a)“f ”
b)‘9’
c) #
d)365
48) 下面說法正確的是()。(選擇三項)
1)C語言中for 循環可以重復執行操作
2)do 操作至少要執行一次
3)exit()函數會立即使程序結束
a)1)和2)都是錯誤的
b)1)是正確的
c)2)是正確的
d)3)是正確的
49) 在C語言中,以下不會出現死循環的語句是()。(選擇一項)
a) int x=0;
do{x++;}while(x=1);
b) for(k=10; ; k--);
c)for(y=0, x=1; x>++y; x=k++) k=x;
d)while(1) {x++;}
50) 分析下面的C語言程序:
void main()
{
int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf(“%d,%d\n”,a,b);
}
輸出結果是()。(選擇一項)
a)2,1
b)3,2
c)4,3
d)2,-1
52) 在C語言中,下面( )是邏輯運算符中優先級最高的。(選擇一項)
a)!
b)&&
c)||
d)|
e)&
53) 設P1和P2是指向同一個int型一維數組的指針變量,k為int型變量,則不能正確執行的語句是()。(選擇一項)
a)k=*P1+*P2;
b)P2=k;
c)P1=P2;
d)k=(*P1) * (*P2);
55) 運行如下程序:
#include
void main()
{
int a=2,b=-1,c=2;
if(a<b)
if(b<0)
c=0;
else
c++;
printf(“%d\n”,c);
}
輸出結果為()。(選擇一項)
a)0
b)3
c)2
d)4
56) 在C語言中,下列()是合法的標識符。(選擇兩項)
a)Minimum
b)3rd_row
c)n1+n2
d)Doubles
57) #include
void change(int x)
{
x+=5;
}
void main()
{
int x=5;
change(x);
printf(“%d”, x);
}
上述C程序運行后會顯示()。(選擇一項)
a)0
b)5
c)10
d)%d
58) 在C語言中,以下表達式計算結果是()。(選擇一項)
15 + 80 / 2 * 10 – 12 * 2 / 3 – 10
a)298
b)553
c)397
d)507
59) 以下C語言代碼的輸出結果是( )。(選擇一項)
#include
void main()
{
int a,b = 0;
int c[10] = {1,2,3,4,5,6,7,8,9,0};
for(a=0; a<10; ++a)
if((c[a] % 2)==1)
b = b + c[a];
printf("%d ", b);
}
a)16
b)45
c)20
d)25
60) 以下定義語句中,錯誤的是()。(選擇一項)
a)int a[]={1,2};
b)char a[3]={ '1', '2', '3'};
c)char s[10]= "test";
d)int n=5,a[n];
61) 在C語言中,假定所有變量均為整型,則下列代碼執行后c的值是()。(選擇一項)
a=2; b=5; b++; c=a+b;
a)2
b)6
c)7
d)8
61) 在C語言中,假設,char w; int x; float y; double z;
則表達式:w*x+z-y值的數據類型為( )。(選擇一項)
a)float
b)char
c)int
d)double
62) 下列C語言代碼的輸出是()。(選擇一項)
void main()
{
int temp=10;
printf(“%d ”,temp++);
temp++;
printf(“%d”,temp);
}
a)10 12
b)11 12
c)10 11
d)以上都不是
64) 閱讀下面的C語言代碼,輸出結果是( )。
int x, y = 1, z=0;
if ( z < 0 )
x = 3;
else if ( y == 0 )
x = 5;
else
x = 7;
printf("%d, %d", x, y);(選擇一項)
a)7, 0
b)7, 1
c)3, 3
d)以上都不正確
65) 在C語言中,以下所列的各函數首部中,正確的是()。(選擇一項)
a)void play(var :Integer,var b:Integer)
b)void play(int a,b)
c)void play(int a,int b)
d)Sub play(a as integer,b as integer)
66) C語言中,可以通過指針訪問一個變量,表示指針的運算符是()。(選擇一項)
a)&
b)*
c)^
d)%
e)@
67) 若有說明:int a[10];則對a數組元素的正確引用是()。(選擇兩項)
a)a[10]
b)a[3+1]
c)a(5)
d)a[0]
68) 在C語言中,聲明m,n為整型變量,p1,p2為整型指針,下列語句不正確的是()(選擇三項)
a)p1=&m;
b)p2=n;
c)*p1=&n
d)p1=&p2;
69) #include
void main()
{
int a=97,c=65;
printf(“a=%c,c=%c\n”,a,c);
}
以上C程序的運行結果是()。(選擇一項)
a)a=%a,c=%A
b)a=a,c=A
c)a=97,c=65
d)a=A,c=a
70) 任何整數與其本身進行“異或”運算的結果為()。(選擇一項)
a)0
b)本身
c)1
d)–1
71) 有如下C語言程序段:
int *p,a=10,b=1;
p=&a;
a=*p+b;
執行該程序段后,a的值為()。(選擇一項)
a)12
b)11
c)10
d)編譯出錯
72) 在以下C代碼執行后,*x的值是()。(選擇一項)
int a=20,b=50;
int *x;
x=&a;
x=&b;
a)20
b)50
c)a
d)b
73) 在C語言中,‘19+12’在這里,19和12是()。‘+’是()。(選擇一項)
a)操作數,操作符
b)操作符,操作數
c)變量,操作數
d)操作,操作數
74) 在C語言中,下列()是合法的標識符。(選擇兩項)
a)COUNT
b)P234
c)4x
d)short
75) 在C語言中,有以下程序:
int*f(int*x,int*y)
{if(*x<*y)return x;
else return y;}
main(){
int a=7,b=8,*p,*q,*r;
p=&a;
q=&b;
r=f(p,q);
printf(“%d,%d,%d\n”,*p,*q,*r);}
執行后輸出的結果是( )。(選擇一項)
a)7,8,8
b)7,8,7
c)8,7,7
d)8,7,8
76) void main()
{
int i, x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf("%d ",x[i][2-i]);
}
以上C程序的輸出結果是( )。(選擇一項)
a)1 5 9
b)1 4 7
c)3 5 7
d)3 6 9
77) (10*(2-8)+10)/(5-5*2)
在C語言中,上面的表達式計算結果為()。(選擇一項)
a)–10
b)10
c)30
d)32
78) 下面選項()是C語言中定義的循環語句類型。(選擇兩項)
a)if else
b)while
c)swich…case
d)for
e)repeat…until
79) int n=2;
while(n=0)
{
printf(“%d”,n);
n--;
}
在C語言中,上述循環體執行的次數是( ),(選擇一項)
a)0次
b)1次
c)2次
d)無限次
80) 分析下面的C程序:
#include
void main()
{
int num=0;
while(num<=2){
num++;
printf("%d ",num);
}
}
輸出結果是( )。(選擇一項)
a)1 2 3
b)0 1 2
c)2 3
d)1 2
81) sub(int x,int y,int *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”,a,b,c);
}
在C語言中,以上程序的運行結果是( )。(選擇一項)
a)5,2,3
b)-5,-12,-17
c)5,-2,-7
d)-5,-12,-7
84) 在C語言中,有以下程序:
main()
{
int x[8]={8,7,6,5,2,0},*s;
s=x+3;
printf(“%d\n”,s[2]);
}
執行后輸出的結果是()。(選擇一項)
a)隨機值
b)0
c)5
d)6
86 )int a[2][3]={{4,5,6},{7,8,9}};
int*p[]={a[0],a[1]};
int m,n;
m=0;
for(n=0;n<3;n++)
printf(“a[%d][%d]=%d”,m,n,*(p[m]+n));
在C語言中,以上程序的輸出結果,正確的是()。
(選擇一項)
a)a[1][1]=4 a[2][2]=5 a[3][3]=6
b)a[0][0]=4 a[0][1]=5 a[0][2]=6
c)a[0][0]=7 a[0][1]=8 a[0][2]=9
d)a[1][1]=7 a[2][2]=8 a[3][3]=9
87) 在C語言中,以下不正確的敘述是()。(選擇一項)
a)在C程序的算術運算符中,取模(%)的優先級最高
b)在C程序中,Aph和aph是兩個不同的變量
c)若a和b類型相同,在動行了賦值表達式a=b后,將b的值賦給a,而b的值不變
d)當從鍵盤輸入數據時,對于整型變量只能輸入整型數值,對于實型變量只能輸入實型數值
88) 在C語言中,下面選項()聲明一個數組用于保存4個參賽者參加5個不同項目的比賽成績。(選擇一項)
a)score[5][6]
b)score[4][5]
c)score[5][4]
89) 考慮以下的C程序:
#include
void main()
{
int i,j,num=0;
for(i=0;i<4;i++)
for(j=i;j<2;j++)
num=num+j;
printf("\nThe value of num is %d",num);
}
程序執行后,num的值應該是()。(選擇一項)
a)2
b)4
c)0
d)3
91) 關于C語言中的函數,正確的是()。(選擇兩項)
a)函數應該以它們調用的順序來定義
b)return語句可以出現在函數的任何地方
c)函數定義可以在主函數前面也可以出現在主函數后面
d)每一個函數必須有一個return語句
e)函數總是返回一個整型數據
93) 下面C語言代碼的輸出結果是()。(選擇一項)
printf(“[%8.4s]”,”Hello world!”);
a)[Hello world!]
b)[Hell ]
c)[ Hell]
d)[Hello wo]
94) 研究如下C語言程序:
#include
void main()
{
int n=9;
while(n>6)
{
n–;
printf(“%d”,n);
}
}
輸出結果是()。(選擇一項)
a)987
b)8765
c)876
d)9876
95) 在C語言中,下面不能對字符串正確賦初值的語句是()。(選擇一項)
a)char str[5]=”good!”;
b)char str[]=”good!”;
c)char *str=”good!”;
d)char str[5]={‘g’,’o’,’o’,’d’};
96) C語言中,可以用以下()退出循環,繼續執行循環之后的語句。(選擇一項)
a)break
b)loop
c)exit(0)
d)continue
97) 在C語言中,為一個特定的數據分配內存時,我們必須做()。(選擇一項)
a)定義一個特定數據類型的變量
b)定義一個值
c)定義一個特定數據類型的指針
d)以上都不是
100) 在C語言中,下列對數組的聲明中,非法的是()。(選擇三項)
a)int score(100);
b)float values[10][15];
c)float average[ROW],[COLUMN];
d)char name[15];
e)int sum[];
【C語言筆試題100道】相關文章:
C語言基礎筆試題(50道)05-25
C語言試題03-28
C語言試題(精選)12-05
C語言程序試題03-28
C語言試題及答案07-26
C語言考前模擬試題03-28
C語言模擬試題及答案03-28
C語言模擬試題練習12-09
標準c語言筆試題12-05