當前位置:首頁 » 編程語言 » 福建c語言題庫

福建c語言題庫

發布時間: 2024-09-03 09:53:28

Ⅰ 誰知道哪有關於c語言的練習題

C 程序設計試題庫C語言概述練習題

1.一個C程序的執行是從( )
A.本程序的main函數開始,到main函數結束
B.本程序文件的第一個函數開始,到本程序文件的最後一個函數結束
C.本程序的main函數開始,到本程序文件的最後一個函數結束
D.本程序文件的第一個函數開始,到本程序main函數結束

2.以下敘述正確的是:( )
A.在C程序中,main函數必須位於程序的最前面
B.程序的每行中只能寫一條語句
C.C語言本身沒有輸入輸出語句
D.在對一個C程序進行編譯的過程中,可發現注釋中的拼寫錯誤

3.以下敘述不正確的是:( )
A.一個C源程序可由一個或多個函數組成
B.一個C源程序必須包含一個main函數
C.C程序的基本組成單位是函數
D.在C程序中,注釋說明只能位於一條語句的後面

4.C語言規定:在一個源程序中,main的位置( )
A.必須在最開始
B.必須在系統調用的庫函數後面
C.可以任意
D.必須在最後

5.一個C語言程序是由( )
A.一個主程序和若乾子程序組成
B.函數組成
C.若干過程組成
D.若乾子程序組成

6.C源程序的基本單位是____________

7.一個C源程序中至少包括一個____________

8.在一個C源程序中,注釋部分兩側的分界符分別為____________ 和____________

9.在C語言中,輸入操作是由庫函數____________ 完成的,輸出操作是由庫函數____________ 完成的

c語言模擬練習題

一、 判斷題(2×8=16分)
1、Printf()函數總是從新行的起始位置開始列印。 ( )
2、所有的變數在使用前都必須予以申明。( )
3、在申明變數時必須給出變數的類型。( )
4、C語言認為變數number和NuMbEr是相同的。( )
5、列印三行輸出的C語言程序必須用三條printf語句。( )
6、求余運算符%只能用於兩個整數操作數。( )
7、switch選擇結構中必須有default子句。( )
8、如果x>y或a<b為真,那麼表達式(x>y&&a<b)為真。( )
二、 選擇題(3×16=48分)
1、下面實現換行功能的格式符為 。( )
A. \t B. \n C. \a D. \k
2. C語言程序由什麼組成?(單選)
A. 子程序 B. 主程序和子程序 C. 函數 D. 過程
3. 下面哪個表達式的值為4.
A. 11/3 B. 11.0/3
C. (float)11/3 D. (int)(11.0/3+0.5)
4. 該源程序執行後,屏幕上顯示什麼?
void main()
{
int a;
float b;
a=4;
b=9.5;
printf("a=%d,b=%4.2f\n",a,b);
}

A. a=%d,b=%f\n B. a=%d,b=%f
C. a=4,b=9.50 D. a=4,b=9.5
5. 若有以下說明語句:
char s='\\\092';
則下面哪一項是正確的.
A. 使s的值包含2個字元 B. 說明語句不合法
C. 使s的值包含6個字元 D. 使s的值包含4個字元
6.若k,g均為int型變數,則以下語句的輸出為哪一項?
int k,g;
k=017;
g=111;
printf("%d,",k);
printf("%x\n",g);

A. 15,6f B. f,6f C. f,111 D. 15,111

7. 在C語言的if語句中,用作判斷的表達式為___。
A. 關系表達式 B. 邏輯表達式
C. 算術表達式 D. 任意表達式

8. 請問:下面這個程序段的輸出是什麼?
int a,b,c;
a=7;b=8;c=9;
if(a>b)
a=b,b=c;c=a;
printf("a=%d b=%d c=%d\n",a,b,c);

A. a=7 b=8 c=7 B. a=7 b=9 c=7
C. a=8 b=9 c=7 D. a=8 b=9 c=8

9. 下面這個程序的輸出是什麼?
#include <stdio.h>
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}

A. y=0 B. while構成死循環 C. y=1 D. y=-1

10. 若有以下說明和語句,則輸出結果是___。
char str[]="\"c:\\abc.dat\"";
printf("%s",str);

A. 字元串中有非法字元 B. \"c:\\abc.dat\"
C. "c:\abc.dat" D. "c:\\abc.dat"

11. 如果要把常量327存入變數a中,a不能定義成哪些類型?
A. int B. char C. long D. float
12. C語言中,預處理總是以 符號開頭。 ( )
A. ¥ B.# C. @ D. ◇
13. C語言中,double類型的數據占 個位元組的空間。( )
A. 1 B.2 C. 4 D. 8
14. 下面語句執行完後,b的值為 。 ( )
int a=b=10;
b=10+(a++);
A. 10 B.19 C. 20 D. 21

15. 這段程序中的常量有: (多選) ( )
#define PI 3.14
void main()
{
int sum;
sum = 10 + 15;
printf("sum=%d\n",sum);
printf("result is 25\n");
}
這段程序中常量有:
A. 10 B. sum C. 15
D. 25 E. main F. PI

16. 指出下面錯誤的表達式:(多選) ( )
A. a+b=5 B. 56=a11 C. i=i++
D. 5.6+6.2%3.1 E. 12 F. a=5,b=6,c=7

三、 填空題(3×8=24分)
1、C語言程序都是從 函數開始執行。
2、函數體用 開始,用 結束。
3、C語言的語句都以 結束。
4、執行循環結構中的 語句能夠立即執行下一次循環。
5、執行循環結構或switch結構中的 語句能夠立即退出該結構。
6、輸出字元串的格式化符為 。
7、C語言中數組名表示數組的 。

Ⅱ 大一C語言期末考試求題庫

一、單項選擇題(共10題,每題2分,共20分。在備選答案中選擇一個最佳答案。多選、錯選、不選不得分)
1、不是C語言基本數據類型的是( )。
A、指針類型 B、整型
C、字元型 D、實型
2、設有:int a=3, b= 4, c= 5,x , y; 表達式0 && (x=a)&&(y=b)的值為( )。
A、1 B、0 C、3 D、4
3、設有語句 int a=3 ; 則執行了語句 a+=6;後,變數a 的值為( )。
A、18 B、-3 C、9 D、12
4、執行以下程序段後,輸出的y值為( )
void main()
{ int a[]={2,4,6,8,10};
int y, *p;
p=&a[0];
y=*p; printf(「%d」,y);
}
A、2 B、4 C、6 D、8
5、有定義語句:float a[4];則分配給數組a的內存空間為( )位元組。
A、 20 B、 12 C、 16 C、10
6、以下描述錯誤的是( )。
A、break語句可用於while語句。
B、break語句和continue語句的作用是一樣的。
C、在循環語句中使用break語句是為了跳出循環,提前結束循環。
D、在循環語句中使用continue語句是為了結束本次循環,而不終止整個循環。
7、C語言中規定,if語句的嵌套結構中,else總是( )。
A、與最近的if 配對 B、與第一個if 配對
C、按縮進位置相同的if配對 D、與最近的且尚未配對的if 配對
8、說明語句「int (*p)( ); 」的含義是( ) 。
A、p是一個指向一維數組的指針變數。
B、p是指針變數,指向一個整型數據。
C、p是一個指向函數的指針,該函數返回一個int型數據。
D、以上都不對。
9、以下對二維數組c的正確聲明是 ( ) 。
A、int c[3][ ]; B、int c(3,4);
C、int c(2)(2); D、int c[3][2];
10、下述程序段執行後輸出結果為( )。
int x=100, y=200;
printf ("% d", (x, y));
A、100 B、200 C、100,200 D、編譯出錯

二、填空題(共7題,共10空,每空1分,共10分。將答案填在題中橫線上)
1、C語言提供的三種邏輯運算符是 && 、 || 和!;
2、函數的返回值是通過函數中的 return 語句獲得的。
3、在"int a[ ][3]={{1},{3,2},{4,5,6},{0}};"定義後,a[2][2]的值為_6__ _;
4、對於"int *pa[5];" pa是一個具有5個元素的_數組指針_,每個元素是一個指向int型變數的__指針__;
5、單向鏈表的尾節點next指針應賦值__ NULL___;
6、在語句for(x=1,y=3;x>y;y++)中循環體執行的次數為 0 。
7、int a[5];數組a的首地址為2000,則元素a[1]的地址為 2002 ,元素a[2]的地址為 2004 。
三、程序填空題(共2題,共5空,每空4分,共20分)
1、以下程序完成計算1-1/2+1/3-1/4+1/5+……前n 項和,請填空。
#include <stdio.h>
int main( )
{ int i, n, flag;
float sum;
scanf("%d", &n);
flag= 1 ;
sum=0;
for(i=1;i<=n; i++ )
{ sum+=(float)flag/i;
flag=-flag ;
}
printf("%.3f\n", sum);
}
2、以下程序的功能是從鍵盤輸入n個整數,統計其中正數、0、負數的個數,請填空。
#include <stdio.h>
void main( )
{int a, i, count1,count2,count3;
count1=count2=count3=0 ;
for(i=1;i<=n;i++)
{ scanf(「%d」, &a);
if(a>0) count1++;
else if(a==0) count2++ ;
else count3++;
}
printf(「正數:&d個,零:%d個,負數:%d個\n」, count1,count2,count3 );
}

四、運行程序結果題(共4題,每題6分,共24分)
1、寫出程序運行結果。
void main( )
{ int x=1,y=2,t;
int *p1,*p2;
p1=&x; p2=&y;
t=*p1;*p1=*p2;*p2=t;
printf("x=%d,y=%d\n",x,y);
}
運行結果為:
程序有錯,不能運行!或寫:
x=2,y=1

2、寫出程序運行結果。
#include<stdio.h>
int max(int a,int b)
{ int c;
c=a>b?a:b;
return(c);
}
int min(int a,int b)
{int c;
c=a<b?a:b;
return(c);
}
void main()
{ int a=2,b=6;
printf("max=%d\n",max(a,b));
printf(「min=%d\n」,min(a,b));
}
運行結果為:
程序有錯,不能運行!或寫:
max=6
min=2

3、寫出程序運行結果。
#include <stdio.h>
void main()
{ int a[3][3]={1,2,3,4,5,6,7,8,9};
int i,j,sum=0;
for (i=0;i<3;i++)
for(j=0;j<3;j++)
if(i==j) sum=sum+a[i][j];
printf(「sum=%d\n」,sum);
}
運行結果為:
程序有錯,不能運行!或寫:
sum=15

4、寫出程序運行結果。
void main( )
{ int n,f;
n=1;
while(n<=10)
{ f=f*n;
n+=2;
}
printf(「f=%d\n」,&f);
}
運行結果為:
程序有錯,不能運行!或寫:
f=不確定
五、程序設計題(共2題,每題13分,共26分)
1、將一個數組按逆序存放,如元素1、2、3、4、5,按逆序存放後為5、4、3、2、1。

Ⅲ 誰有大一C語言考試題快考試了,跪求題庫··

單項選擇題(每小題2分,共50分)

1、一個C程序的執行是從___A__。

A、本程序的main函數開始,到main函數結束

B、本程序的main函數開始,到本程序文件的最後一個函數結束

C、本程序文件的第一個函數開始,到本程序文件的最後一個函數結束

D、本程序文件的第一個函數開始,到本程序main函數結束

2、C語言程序的基本單位是___C___。

A、程序行 B、語句

C、函數 D、字元

3、請選出可用作C語言用戶標識符的一組標識符___B___。

A、void B、a3_b3 C、For D、2a

define _123 -abc DO

WORD IF ase sizeof

主要特點

C語言是一種結構化語言,它有著清晰的層次,可按照模塊的方式對程序進行編寫,十分有利於程序的調試,且c語言的處理和表現能力都非常的強大,依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建,通過指針類型更可對內存直接定址以及對硬體進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟體。

以上內容參考:網路-c語言

Ⅳ C語言題庫,求發一份

單選題
1. 以下敘述中正確的是(1)。
A.若e1、e2為變數,e為表達式,則
e1=e2=e使得e1、e2都具有表達式e的值 。


B.程序中不能定義與庫函數名同名的變數。
C.一個C源程序可放在多個文件中,但
一個函數不能跨放在兩個不同的文件中。
D.C語言編譯系統以函數為單位編譯源程序。

2. 若a,b,c都是實型變數,則下列語句中除 (2) 之外,都可能得不到正確的計算結果。
A.if(b*b-4*a*c==0) x1=x2=-b/(2*a);
else x1=(-b+sqrt(b*b-4*a*c))/(2*a), x2=(-b-sqrt(b*b-4*a*c))/(2*a);

B.b=2.0e38+1.0-2.0e38;
C.a=456*768/2;
D.double define=1.0;
3. 以下正確的常量是(3 )。
A.『077』 B.『\0x89』 C.3.14u D.『\012』
4. 若已有聲明「float x= -1234.5678; int m,n=4;」則執行「m=printf(「\n%8.3f\n」,x)/n;」語句後,
變數m的值是 (4) 。
A. 2 B. 3 C. 4 D. 5
5. 若已有聲明「int x1; float x2; long x3; char x4;」,且以下選項均出現在switch語句中,其中正確
的是 (5) 。
A. case 1.1: scanf("%d",&x1);break;
B. case 1+2: scanf("%f",&x2); break;
C. case 'x':
case 'y'-1: scanf("%ld",&x3); break;
D. case x4: scanf("%c",&x4); break;
6. 33.以下表達式中,能夠作為「if(e) 語句」中判斷條件表達式e 的是 (6) 。

A. x==++(x+1) B. x+=++x||x++ C. x+1=z D. x%2.0!=0
7. 以下局部變數聲明中,正確的是 (7) 。
A.int x=0, void=1; B.int x=1,y=2x;
C.int x=2,y=sqrt(x); D.int x=sqrt(y),y=4;
8. 在以下語句中,正確的是 (8) 。
A.if(a>b)m=a;n=b;else m=b;n=a;
B.if(a>b){m=a;n=b;else m=b;n=a;}
C.if(a>b)m=a,n=b;else m=b,n=a;
D.if(a>b){m=a;n=b;}else(a<=b){m=b;n=a;}
9.24.已知有聲明:「char c=『1』 ; int x=300 ; float t=35000 ; double d=3.1234567e10 ;」,則以下表達式
求值時除 (9 ) 外,其結果都可能是不準確的。
A.x=t/c B.t=d/x C.t=d/1e5f D. t=x+c
10.若有聲明「int i,k=1; unsigned j;」,則下列語句執行時會出現無限循環的語句
是 (10) 。

A.for(j=15;j>0;j-=2) k++;

B.for(j=0;j<15;j+=2) k++;

C.for(i=0;i<15;i+=2) k++;

D.for(i=15;i>0;i-=2) k++;

11.已有聲明「int x=2,y=1,z=0;」,以下表達式的值不為0的是 (11) 。
A. x==(x=0,y=1,z=2)
B. z>y>x
C. x>y==1
D. x>(y=2)

12.若e1、e2和e3是表達式,以下選項中與語句while(e1){e2,e3;}功能等價的語句是 (12 ) 。
A. for( ;e1;e3)e2; B. for( ;e1;e2)e3; C. for(e1;e2;e3); D. for(e1; e2, e3; );
13.已有聲明「int x=3;」,以下選項中與「x+=x =x+1」功能不等價的表達式是 (13 ) 。
A.x=x+(x=xx+1) B.x=x+(x=x(x+1)) C.x=x+(x=xx1) D.x=x(x+1), x=x+x
14.若已有聲明「int a=2; 」,則執行語句「printf("%d", a, a+1 );」後的輸出結果是 (14) 。
A.語法錯 B. 2,3 C. 2 D. 3
15.語句「if (!n) n++;」中的「!n」等價於如下 (15) 條件的判定。

A.n==0 B.n!=0 C.n>0 D.n<0
16.若已有聲明「int a=1; 」,則以下表達式中錯誤的是 (16 ) 。
A.-a++ B.+a-- C.--a D.++-a
17.下列 (17) C語言表達式能正確表達數學計算式1÷× 2xy。
A. 1/sqrt(2*3.14)*2*pow(x,y) B.1.0/sqrt(2)*2*x**y
C. 1.0/sqrt(6.28)*2x^y D.1/6.28^0.5*2*pow(x,y)
18. 已有聲明「int a=3,b=3,c=2;」,以下表達式中值為0的是 (18) 。
A. !a&&!b&&c B. !a || !b || c C. a==b &&b>=c D. a>=b &&b>c
19.
36.若有: int w=1 , x=2 , y=3 , z=4; 則表達式 w>x?x--:y<z?y--:++z 的值為 (19 ) 。

A. 4 B. 3 C. 2 D. 1
20. 已知某程序中有以下片斷:
#define p 2.5
main( )
{ float x=p;
}
則main函數中標識符p代表一個 (20) 。
A. float型變數 B. double 型變數 C. float型常量D.double 型常量
20.


填空題
1.21.設有如下程序段:
int a=2, b, c=5 ;
scanf( 「%d」 , &b) ;
b = c-- || scanf (「%d」 , &c ) && a++;
執行該程序段時,若從鍵盤上輸入的數據是 4ƀ3 (ƀ代表空格鍵) , 則變數c 的值為 (21) 。
2. signed和unsigned只能用於聲明int型變數和 (22) 型變數。
3.代數式「||」的C語言表達式是 (23) 。
4.已有聲明「int a=-13,n=7;」,表達式「a%=n%=4」求值後變數a的值為 (24) 。
5.已有聲明「unsigned int a=30; 」 ,那麼 –a 的值為___(25)____。

6.
如下程序執行後的輸出是____(26)____。
#include<stdio.h>
main ( )
{
int i=1,m=0;
switch ( i )
{
case 1 :
case 2 : m++;
case 3 : m++;
}
printf ( 「%d」 ,m);
}
7.C語言的三個邏輯運算符(!、&&、||)中,優先順序高於算術運算符的是
(27) 。
8.已知sizeof(int)的值為2,執行如下程序後輸出結果為 (28) 。
main()
{ int a,b;
a=65536;
b=32767+1;
printf("%d %d\n",a,b);
}
9.若有聲明「int a=3,b=0,c=5;」, 則表達式 !a+b+c-1&&b+c/2 的值是 (29) 。
10.若有聲明「int x=1,y=2;」 ,則表達式 ++x, x+y++ 的值是 (30) 。

三、閱讀程序題
1.在PC機的TC中執行以下程序後的輸出是: (31) 。

main()
{
unsigned x=0x7f39;

int y;
char c;

c=x;
x+=0307;
y=x;
printf(「%d,%x,%c」,x,y,c);
}
2.以下程序運行後的輸出結果是 (32) 。
#include<stdio.h>
main ( )
{ int x=30, y=45;
while(x!=y)
if(x>y)x-=y;
else y-=x;
printf("%d", x);
}
3.
以下程序運行後輸出結果的第一行是 (33) ,第二行是 (34) 。
#include<stdio.h>
#include<math.h>
void main()
{ int a=0x65,b,c,count=0;
b=a;
while(b>0)
{ b=b/8;
count++;
}
printf("%d\n",count);
while(count>0)
{ c=pow(8,count-1);
printf("%d",a/c);
a=a%c;
count--;
}
}
4.以下程序運行時輸出結果是 (35) 。
#include <stdio.h>
main()
{
int i,x=3,y=5;
for(i=0;i<3;i++)
switch(y%x)
{
case 0: printf("%d",y);
case 1: printf("%d",y--);break;
case 2: printf("%d",--y);break;
}
}

5.以下程序執行後,輸出結果的第一行是 (36) ,第二行是 _(37)______。
#define N 100
main()
{ int i=0,sum=0;
do
{ if(i==(i/2)*2)
continue;
sum++;
if(sum>3)
break;
}while(++i<N);
printf("%d \n %d", sum,i);
}

四、完善程序題

1.下列程序的功能是按從鍵盤上輸入的整數m,判斷2m -1是否為素數,若為素數再求2m -1的反序數。例如:m為17,217 –1(131071)是素數,其反序數是170131。
#include <stdio.h>
(38)
main()
{
int m,j;
long q,k1,k2=0,k3;
scanf("%d",&m);
k3=k1=pow(2,m)-1;
q=sqrt(k1);
for(j=2;j<=q;j++)
if( (39) ) break;
if(j>q)
{ while(k3>0)
{ k2=k2*10+ (40) ;
k3/=10;
}
printf("m=%d\npow(2,m)-1=%ld is a prime.\nreverse order %ld\n",m,k1,k2);
}
else
printf("m=%d isn't a prime.\n",m);
}
2. 以下程序找到並輸出所有滿足給定條件的四位十進製表示的正整數:該數是某個數的平方、該數的後二位是25、組成該整數的各位數字中有兩位是2。例如:1225是滿足所給條件的四位正整數(352=1225)。
#include<stdio.h>
#include<math.h>
main()
{ long i,j,s,d=0;
for(i=1000;i<10000;i++)
{ (41) ;
j= (42) ;
if(i==j*j && i%100==25)
{ s=i;
while(s>0)
{ if( (43) )d++;
s=s/10;
}
if(d==2) printf("\n %d",i);
}
}
}
3..下列程序計算下列數學函數展開式的近似值,累加運算在最後一項的絕對值小於10-6時停止。
程序運行時從鍵盤上分別三個實數-1.0、0.5、1.0,作為x的值。
#include <stdio.h>
#include <math.h>
#define EPS 1.0e-6
main()
{ double x,n,tn,ft,sn,xn;
int i;
for(i=0;i<3;i++)
{ (44) ;
ft=1.0;
scanf("%lf",&x);
sn=xn=x;
do{
xn=xn*x*x;
ft=ft*(2*n-3)/(2*n-2);
tn=ft*xn/ (45) ;
sn=sn+tn;
n=n+1;
}while( (46) );
printf("f(%lf)=%0.6lf\n",x,sn);
}
}

《C語言程序設計》試卷答題紙
(本試卷滿分100分)

系科_____________學號_____________姓名_____________成績____________

單項選擇題得分 填空題得分 閱讀程序題得分 完善程序題得分 總分

一 、單項選擇題

(1) (2) (3) (4) (5)
(6) (7) (8) (9) (10)
(11) (12) (13) (14) (15)
(16) (17) (18) (19) (20)

二、填空題

(21) (22)
(23) (24)
(25) (26)
(27) (28)
(29) (30)

三、閱讀程序題

(31) (32)
(33) (34)
(35) (36)
(37

四、完善程序題

(38) (39)
(40) (41)
(42) (43)
(44) (45)
(46)
《C語言程序設計》試卷參考答案
(本試卷滿分100分)

一 、單項選擇題

(1)C (2)D (3)D (4)A (5) B
(6)B (7)C (8)C (9)D (10)A
(11)C (12)A (13)A (14)C (15)A
(16)D (17)A (18)A (19)B (20)D

二、填空題

(21) 4 (22) char
(23) fabs(exp(sqrt(1+sin(x)))) (24) -1
(25) 65506 (26) 2
(27) ! (28) 0 -32768
(29) 1 (30) 4

三、閱讀程序題

(31) -32768, 8000, 9 (32) 15
(33) 3 (34) 145
(35) 4433 (36) 4
(37) 7

四、完善程序題

(38) #include <math.h> (39) k1%j==0
(40) k3%10 (41) d=0
(42) sqrt(i) (43) s%10==2
(44) n=2.0 (45) (2*n-1)
(46) fabs(tn)>EPS

Ⅳ 急求C語言復習題庫加答案

一 選擇題(7分,每小題0.5分)
1.C語言源程序的基本單位是( B)。
A 過程 B 函數 C 子程序 D 標識符
2.下列程序的輸出結果是(C)。
main( )
{ int a=7,b=5;
printf("%d\n",b=b/a);
}
A 5 B 1 C 0 D不確定值
3.假設變數a,b均為整型,表達式(a=5,b=2,a>b?a++:b++,a+b)的值是(B)。
A 7 B 8 C 9 D 2
4.設a為int型變數,執行下列賦值語句後,a的取值分別是( B )。
a=125.534; a=(int)125.521%4; a=5<<2;
A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20
5.設有如下程序段,下面描述中正確的是 ( C )。
int k=10; while(k=0) k=k-1;
A 循環執行一次 B循環是無限循環 C循環體語句一次也不執行 D循環體語句執行一次
6.以下程序的輸出結果為(A)。
int i;
void prt( )
{ for(i=5;i<8;i++) printf("%c",'*');
printf("\t");
}
main( )
{ for(i=5;i<=8;i++) prt( );
}
A *** B *** *** *** *** C *** *** D * * *
7.在C語言程序中,以下說法正確的是(B)。
A函數的定義可以嵌套,但函數的調用不可以嵌套
B函數的定義不可以嵌套,但函數的調用可以嵌套
C函數的定義和函數的調用都不可以嵌套
D函數的定義和函數的調用都可以嵌套
8.以下函數調用語句中含有(A)個實參。
func((e1,e2),(e3,e4,e5));
A 2 B 3 C 5 D 語法錯誤
9.以下程序的輸出結果為(A)。
#define ADD(x) x*x
main( )
{ int a=4,b=6,c=7,d=ADD(a+b)*c;
printf("d=%d",d);
}
A d=70 B d=80 C d=140 D d=700
10.已知職工記錄描述如下,在Turbo C中,系統為變數w分配(C )位元組的空間。
struct worker
{ int no;
char name[20];
char sex;
union
{ int day; int month; int year;}birth;
} w;
A 29 B 20 C 25 D 6
11.設有以下定義,值為5的枚舉常量是(A )。
enum week{sun,mon=4,tue,wed,thu,fri,sat} w;
A tue B sat C fri D thu
12.下面選項中正確的賦值語句是(設 char a[5],*p=a;)(A)。
A p="abcd"; B a="abcd"; C *p="abcd"; D *a="abcd";
13.設有以下程序段,則值為6的表達式是(B )。
struct st { int n; struct st *next;};
static struct st a[3]={5,&a[1],7,&a[2],9,0 },*p;
p=&a[0];
A p++->n B ++p->n C p->n++ D (*p).n++
14.C語言中的文件類型只有( D )。
A 索引文件和文本文件兩種 B 文本文件一種
C 二進制文件一種 D ASCII碼文件和二進制文件兩種
二 判斷對錯,對的劃「√」,錯的劃「×」(5分,每小題0.5分)
1.在Turbo C中,整型數據在內存中佔2個位元組。(× )
2.int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的輸出結果為A。(× )
3.break語句用在循環體中,可結束本層循環,continue語句用在循環體中,可結束本次循環。( √ )
4.函數的遞歸調用不過是一個函數直接或間接地調用它自身。(√)
5.函數strlen("ASDFG\n")的值是7。(× )
6.通過return語句,函數可以帶回一個或一個以上的返回值。(×)
7.結構體類型只有一種。 ( × )
8.char *p="girl";的含義是定義字元型指針變數p,p的值是字元串"girl"。(× )
9.若有定義:char *p(char a[10]);則p是函數名。(√ )
10.用fopen("file","r+");打開的文件"file"可以進行修改。 ( √ )
答案
一 選擇題(7分,每小題0.5分)
1. B 2. C 3. B 4. B 5. C
6. A 7. B 8. A 9. A 10. C
11. A 12. A 13. B 14. D
二 判斷對錯,對的劃「√」,錯的劃「×」(5分,每小題0.5分)
1.× 2.× 3.√ 4.√ 5.×
6.× 7.× 8.× 9.√ 10.√
1選擇題(24分,每小題2分)
1.已知函數fread的調用形式為fread(buffer,size,count,fp),其中buffer代表的是(B)。
A 存放讀入數據項的存儲區 B 存放讀入數據的地址或指向此地址的指針
C 一個指向所讀文件的文件指針 D 一個整形變數,代表要讀入的數據項總數
2.以下程序的輸出結果為( C)。10,10
main( )
{ int i=010,j=10;
printf("%d,%d\n",i++,j--); }
A 11,9 B 9,10 C 8,10 D 9,9
3.設a為int型變數,執行下列賦值語句後,a的取值分別是( B )。a=125.534;a=20.0/3;a=(int)125.521%4;a=5<<2;
A 125,6,31,1 B 125,6,1,20 C 125,6.666666,31,20 D 125.534,6.666666,2,20
4.設i和k都是int類型,則for循環語句(D )。
for(i=0,k=-1;k=1;i++,k++) printf("****\n");
A 循環結束的條件不合法 B 循環體一次也不執行 C 循環體只執行一次 D 是無限循環
5.以下程序的輸出結果為(`D )。
main( )
{ char c;
int i;
for(i=65;i<68;i++)
{ c=i+32;
switch(c)
{ case 'a':case 'b':case 'c':printf("%c,",c);break; default:printf("end");}

}
}
A a,b,c,end B a,a,a,end C a,a,a, D a,b,c,
6.函數調用語句:fseek(fp,-10L,2);的含義是(A )。
A 將文件位置指針從文件末尾處向文件頭的方向移動10個位元組
B 將文件位置指針從當前位置向文件頭的方向移動10個位元組
C 將文件位置指針從當前位置向文件末尾方向移動10個位元組
D 將文件位置指針移到距離文件頭10個位元組處
7.以下程序的輸出結果為(D )。
main( )
{ char s1[40]="country",s2[20]="side";
int i=0,j=0;
while(s1[i]!='\0') i++;
while(s2[j]!='\0') s1[i++]=s2[j++];
s1[i]=0;
printf("%s\n",s1);
}
A side B country C sidetry D countryside
8.下列說法不正確的是(A)。
A 主函數main中定義的變數在整個文件或程序中有效
B 不同函數中,可以使用相同名字的變數
C 形式參數是局部變數
D 在一個函數內部,可以在復合語句中定義變數,這些變數只在本復合語句中有效
9.在下列程序段中,枚舉變數 c1的值是( D )。
enum color { red,yellow,blue=4,green,white}c1; c1=yellow; c1=white;
A 1 B 3 C 5 D 6
10.設有說明 int (*ptr)();其中標識符ptr是(B)。
A 是一個指向整形變數的指針 B 是一個指針,它指向一個函數值是int的函數
C 是一個函數名 D定義不合法
11.定義由n個指向整形數據的指針組成的數組p,其正確的方式為( C )。
A int p; B int (*p)[n]; C int *p[n]; D int (*p)( );
12.具有相同類型的指針類型變數p與數組a,不能進行的操作是( B)。
A p=a; B *p=a[0]; C p=&a[0]; D p=&a;
二 判斷對錯,對的劃「√」,錯的劃「×」(20分,每小題2分)
1.參加位運算的數據可以是任何類型的數據。(× )
2.若有定義和語句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通過鍵盤輸入:10,A,12.5,則a=10,c=『A』,f=12.5。(√)12.500000
3.C語言把文件看作是一個字元(位元組)的序列。(√ )
4.若有宏定義:#define S(a,b) t=a;a=b;b=t由於變數t沒定義,所以此宏定義是錯誤的。(× )
5.在Turbo C中,下面的定義和語句是合法的:file *fp;fp=fopen("a.txt","r");( × )
6.若有定義:char s[ ]="china";則Turbo C系統為數組s開辟6個位元組的內存單元。(√ )
7.若有定義和語句:int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i<3;i++) sum+=a[i][2-i];則sum=21。(√ )
8.若有定義和語句:struct student { int num; char name[10]; float score;} s[5]={{1,"lili",98.5},{9,"xiaohua",66}},*p=s;printf("%d",*p++);輸出結果是1。(× )
9.在程序中定義了一個結構體類型後,可以多次用它來定義具有該類型的變數。(√ )
10.在Turbo C中,此定義和語句是合法的:enum aa{ a=5,b,c}bb;bb=(enum aa)5;( √ )
答案
一 選擇題(24分,每小題2分)
1.( B ) 2.( C ) 3.( B ) 4.( D ) 5.( D ) 6.( A )
7.( D ) 8.( A ) 9.( D ) 10.( B ) 11.( C ) 12.( D )
二 判斷對錯,對的劃「√」,錯的劃「×」(20分,每小題2分)
1.( × ) 2.( √ ) 3.( √ ) 4.( × ) 5.( × )
6.( √ ) 7.( √ ) 8.( × ) 9.( √ ) 10.( √ )

熱點內容
支付寶支付密碼如何修改 發布:2024-11-25 06:38:47 瀏覽:923
java開發要學習什麼技術 發布:2024-11-25 06:20:28 瀏覽:1000
java猿 發布:2024-11-25 06:18:36 瀏覽:127
如何刷安卓44 發布:2024-11-25 06:18:32 瀏覽:529
安卓手機怎麼限制app時間 發布:2024-11-25 06:14:15 瀏覽:403
福建虛擬伺服器管理軟體雲伺服器 發布:2024-11-25 06:05:46 瀏覽:106
android載入圖片 發布:2024-11-25 06:05:00 瀏覽:168
linux的ls 發布:2024-11-25 05:47:56 瀏覽:844
oracle存儲過程游標實例 發布:2024-11-25 05:40:32 瀏覽:804
xpsql2000 發布:2024-11-25 05:20:20 瀏覽:372