C語言練習(xí)題及答案
單項選擇題:
1.( A )是構(gòu)成C語言程序的基本單位。
A、函數(shù) B、過程 C、子程序 D、子例程
2.C語言程序從 開始執(zhí)行。
A) 程序中第一條可執(zhí)行語句 B) 程序中第一個函數(shù)
C) 程序中的main函數(shù) D) 包含文件中的第一個函數(shù)
3、以下說法中正確的是( C )。
A、C語言程序總是從第一個定義的函數(shù)開始執(zhí)行
B、在C語言程序中,要調(diào)用的函數(shù)必須在main( )函數(shù)中定義
C、C語言程序總是從main( )函數(shù)開始執(zhí)行
D、C語言程序中的main( )函數(shù)必須放在程序的開始部分
4.下列關(guān)于C語言的說法錯誤的是( B) 。
A) C程序的工作過程是編輯、編譯、連接、運(yùn)行
B) C語言不區(qū)分大小寫。
C) C程序的三種基本結(jié)構(gòu)是順序、選擇、循環(huán)
D) C程序從main函數(shù)開始執(zhí)行
5.下列正確的標(biāo)識符是(C )。
A.-a1 B.a[i] C.a2_i D.int t
6.下列C語言用戶標(biāo)識符中合法的是( B )。
A)3axB)xC)caseD)-e2 E)union
7.下列四組選項中,正確的C語言標(biāo)識符是( C )。
A) %x B)a+b C) a123 D) 123
8、下列四組字符串中都可以用作C語言程序中的標(biāo)識符的是( A )。
A、print _3ddb8 aBc B、Iam one_half start$it 3pai
C、str_1 Cpp pow while D、Pxq My->book line# His.age
9.C語言中的簡單數(shù)據(jù)類型包括(D )。
A、整型、實型、邏輯型 B、整型、實型、邏輯型、字符型
C、整型、字符型、邏輯型D、整型、實型、字符型
10.在C語言程序中,表達(dá)式5%2的結(jié)果是
A)2.5 B)2C)1D)3
11.如果int a=3,b=4;則條件表達(dá)式"a<b? a:b"的值是____。
A) 3B) 4C) 0 D) 1
12.若int x=2,y=3,z=4 則表達(dá)式x<z?y:z的結(jié)果是( B ).
A)4B)3 C)2 D)0 E)1
13.C語言中,關(guān)系表達(dá)式和邏輯表達(dá)式的值是( B) 。
A) 0B) 0或1 C) 1 D) ‘T?或?F?
14. 下面( D)表達(dá)式的值為4.
A) 11/3B) 11.0/3
C) (float)11/3 D) (int)(11.0/3+0.5)
15.設(shè)整型變量 a=2,則執(zhí)行下列語句后,浮點(diǎn)型變量b的值不為0.5的是(
A.b=1.0/a B.b=(float)(1/a)
C.b=1/(float)aD.b=1/(a*1.0)
B )
16. 若“int n; float f=13.8;”,則執(zhí)行“n=(int)f%3”后,n的值是(A)
A.1B.4 C.4.333333D.4.6
17. 以下對一維數(shù)組a的正確說明是:
A) char a(10); B) int a[];
C)int k=5,a[k];D)char a[3]={?a?,?b?,?c?};
18.以下能對一維數(shù)組a進(jìn)行初始化的語句是: ( C )
A. int a[5]=(0,1,2,3,4,) B. int a(5)={}
C. int a[3]={0,1,2} D. int a{5}={10*1}
19.在C語言中對一維整型數(shù)組的正確定義為 。
A)int a(10); B)int n=10,a[n];
C)int n;a[n]; D)#define N 10
int a[N];
20、已知:int a[10]; 則對a數(shù)組元素的正確引用是( D )。
A、a[10] B、a[3.5] C、a(5) D、a[0]
21.若有以下數(shù)組說明,則i=10;a[a[i]]元素數(shù)值是( B )。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A.10 B.9 C.6 D.5
22.若有說明:int a[][3]={{1,2,3},{4,5},{6,7}}; 則數(shù)組a的第一維的大小為: ( B
A. 2 B. 3 C. 4D.無確定值
5 7 D) 3 6 9
23.對二維數(shù)組的正確定義是( C )
A.int a[ ] [ ]={1,2,3,4,5,6}; B.int a[2] [ ]={1,2,3,4,5,6};
C.int a[ ] [3]={1,2,3,4,5,6}; D.int a[2,3]={1,2,3,4,5,6};
24.已知int a[3][4];則對數(shù)組元素引用正確的是_____
A)a[2][4] B)a[1,3]C)a[2][0] D)a(2)(1)
25.C語言中函數(shù)返回值的類型是由決定的.
A)函數(shù)定義時指定的類型 B) return語句中的表達(dá)式類型
C) 調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型 D) 形參的數(shù)據(jù)類型
26. 在C語言中,函數(shù)的數(shù)據(jù)類型是指( A )
A 函數(shù)返回值的數(shù)據(jù)類型 B. 函數(shù)形參的數(shù)據(jù)類型
C 調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型D.任意指定的數(shù)據(jù)類型
27. 在函數(shù)調(diào)用時,以下說法正確的是( B )
A.函數(shù)調(diào)用后必須帶回返回值
B.實際參數(shù)和形式參數(shù)可以同名
C.函數(shù)間的數(shù)據(jù)傳遞不可以使用全局變量
D.主調(diào)函數(shù)和被調(diào)函數(shù)總是在同一個文件里
28. 在C語言中,表示靜態(tài)存儲類別的關(guān)鍵字是: (C)
A) auto B) register C) static D) extern
29.未指定存儲類別的變量,其隱含的存儲類別為( A )。
A)autoB)staticC)externD)register
30. 若有以下說明語句:
struct student
)
{ int num;
char name[ ];
float score;
}stu;
則下面的敘述不正確的是: ( D )
A. struct是結(jié)構(gòu)體類型的關(guān)鍵字
B. struct student 是用戶定義的結(jié)構(gòu)體類型
C. num, score都是結(jié)構(gòu)體成員名
D. stu是用戶定義的結(jié)構(gòu)體類型名
31.若有以下說明語句:
struct date
{ int year;
int month;
int day;
}brithday;
則下面的敘述不正確的是_____.
A) struct是聲明結(jié)構(gòu)體類型時用的關(guān)鍵字
B) struct date 是用戶定義的結(jié)構(gòu)體類型名
C) brithday是用戶定義的結(jié)構(gòu)體類型名
D) year,day 都是結(jié)構(gòu)體成員名
32. 以下對結(jié)構(gòu)變量stul中成員age的非法引用是
struct student
{ int age;
int num;
}stu1,*p;
p=&stu1;
A) stu1.ageB) student.ageC) p->age D) (*p).age
33.設(shè)有如下定義:
struck sk
{int a;
float b;
}data;
int *p;
若要使P指向data中的a域,正確的賦值語句是 C
A) p=&a; B) p=data.a; C) p=&data.a; D)*p=data.a;
34.設(shè)有以下說明語句:
typedef struct stu
{ int a;
float b;
} stutype;
則下面敘述中錯誤的是( D )。
A、struct是結(jié)構(gòu)類型的`關(guān)鍵字
B、struct stu是用戶定義的結(jié)構(gòu)類型
C、a和b都是結(jié)構(gòu)成員名
D、stutype是用戶定義的結(jié)構(gòu)體變量名
35. 語句int *p;說明了
A)p是指向一維數(shù)組的指針
B)p是指向函數(shù)的指針,該函數(shù)返回一int型數(shù)據(jù)
C)p是指向int型數(shù)據(jù)的指針
D)p是函數(shù)名,該函數(shù)返回一指向int型數(shù)據(jù)的指針
36.下列不正確的定義是( A )。
A. int *p=&i,i;B.int *p,i;
C.int i,*p=&i;D.int i,*p;
37. 若有說明:int n=2,*p=&n,*q=p,則以下非法的賦值語句是: ( D )
A)p=q B)*p=*q C)n=*qD)p=n
38.有語句:int a[10],;則p的正確定義和初始化。
A)int p=*a; B)int *p=a;C)int p=&a; D)int *p=&a;
39.若有說明語句“int a[5],*p=a;”,則對數(shù)組元素的正確引用是( C )。
A.a[p]B.p[a] C.*(p+2)D.p+2
40. 有如下程序
int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a;
則數(shù)值為9的表達(dá)式是 B
A) *P+9B) *(P+8) C) *P+=9D) P+8
41. 在C語言中,以 作為字符串結(jié)束標(biāo)志
A)? ?B)? ?C) ?0? D)??
42.下列數(shù)據(jù)中屬于“字符串常量”的是( A )。
A.“a”B.{ABC}C.‘a(chǎn)bc’D.‘a(chǎn)’
43.已知char x[]="hello", y[]={'h','e','a','b','e'};, 則關(guān)于兩個數(shù)組長度的正確描述是A)相同 B)x大于y C)x小于yD)以上答案都不對
44. 下面各函數(shù)中能實現(xiàn)打開文件功能的是A) fopen B) fgetcC) fputc
A) FILE *fp; B) FILE fp;
C) file *fp;D) file fp;
46.以讀寫方式打開一個已有的文本文件file1,并且FILE *fp,下面fopen函數(shù)正確的調(diào)用方式是( B )。
A.fp=fopen(“file1”,“r”)
B.fp=fopen(“file1”,“r+”)
C.fp=fopen(“file1”,“rb”)
D.fp=fopen(“file1”,“w”) D) fclose 45. 下列語句中,把變量fp說明為一個文件型指針的是( A ) 。
一、 讀程序
基本輸入輸出及流程控制 1.
#include
main()
{ int a=1,b=3,c=5;
if (c==a+b)
printf("yes ");
else
printf("no ");
}
運(yùn)行結(jié)果為:no
2.
#include
main()
{ int a=12, b= -34, c=56, min=0; min=a;
if(min>b)
min=b;
if(min>c)
min=c;
printf("min=%d", min); }
運(yùn)行結(jié)果為: min=-34
3.
#include
main()
{ int x=2,y= -1,z=5;
if(x<y)
if(y<0)
z=0;
else
z=z+1;
printf(“%d ”,z);
}
運(yùn)行結(jié)果為:5
【C語言練習(xí)題及答案】相關(guān)文章: