西交《程序設(shè)計(jì)基礎(chǔ)(高起專(zhuān))》在線(xiàn)作業(yè)
一、單選題 (共 20 道試題,共 40 分)
1.C語(yǔ)言中,定義結(jié)構(gòu)體的保留字是()
A.union
B.struct
C.enum
D.typedef
2.C語(yǔ)言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是()
A.^
B.%
C.!
D.>
3.int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c; 則a的值為()
A.1
B.2
C.3
D.不一定
4.結(jié)構(gòu)體類(lèi)型的定義允許嵌套是指()
A.成員是已經(jīng)或正在定義的結(jié)構(gòu)體型
B.成員可以重名
C.結(jié)構(gòu)體型可以派生
D.定義多個(gè)結(jié)構(gòu)體型
5.邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類(lèi)型()
A.只能是0或1
B.只能是0或非0正數(shù)
C.只能是整型或字符型數(shù)據(jù)
D.可以是任何類(lèi)型的數(shù)據(jù)
6.若二維數(shù)組a有m列,則在a[i][j]前的元素個(gè)數(shù)為()
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1
7.若有int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;則輸出結(jié)果不為5的語(yǔ)句為()
A.printf("%d",*(a+5));
B.printf("%d",p[5]);
C.printf("%d",*(p+5));
D.printf("%d",*p[5]);
8.設(shè) int x=1, y=1; 表達(dá)式(!x||y--)的值是()
A.0
B.1
C.2
D.-1
9.設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類(lèi)型為()
A.int
B.float
C.double
D.不確定
10.下列程序的輸出結(jié)果是()。 main() { int x=1,y=0,a=0,b=0; switch(x) { case 1:switch(y) { case 0:a++;break; case 1:b++;break; } case 2:a++;b++;break; case 3:a++;b++;break; } printf("a=%d,b=%d\n",a,b); }
A.a=1,b=0
B.a=2,b=1
C.a=1,b=1
D.a=2,b=2
11.下列選項(xiàng)中正確的語(yǔ)句組是()
A.char s[8]; s={"Beijing"};
B.char *s; s={"Beijing"};
C.char s[8]; s="Beijing";
D.char *s; s="Beijing";
12.以下不能正確定義二維數(shù)組的選項(xiàng)是()
A.int a[2][2]={{1},{2}};
B.int a[][2]={1,2,3,4};
C.int a[2][2]={{1},2,3};
D.int a[2][]={{1,2},{3,4}};
13.以下數(shù)值中,不正確的八進(jìn)制數(shù)或十六進(jìn)制數(shù)是()
A.0x16
B.16
C.-16
D.0xaaaa
14.以下敘述正確的是()
A.在C程序中,main函數(shù)必須位于程序的最前面
B.C程序的每行中只能寫(xiě)一條語(yǔ)句
C.C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句
D.在對(duì)一個(gè)C程序進(jìn)行編譯的過(guò)程中,可發(fā)現(xiàn)注釋中的拼寫(xiě)錯(cuò)誤
15.以下敘述中正確的是()
A.C語(yǔ)言的源程序不必通過(guò)編譯就可以直接運(yùn)行
B.C語(yǔ)言中的每條可執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令
C.C源程序經(jīng)編譯形成的二進(jìn)制代碼可以直接運(yùn)行
D.C語(yǔ)言中的函數(shù)不可以單獨(dú)進(jìn)行編譯
16.以下選項(xiàng)中,與k=n++完全等價(jià)的表達(dá)式是()
A.k=n,n=n+1
B.n=n+1,k=n
C.k=++n
D.k+=n+1
17.以下運(yùn)算符中,優(yōu)先級(jí)最高的運(yùn)算符是()
A.*=
B.>=
C.(類(lèi)型)
D.+
18.用戶(hù)定義的函數(shù)不可以調(diào)用的函數(shù)是()
A.非整型返回值的
B.本文件外的
C.main函數(shù)
D.本函數(shù)下面定義的
19.用下列語(yǔ)句定義a,b,c,然后執(zhí)行b=a、c='b'+b,則b,c的值是()。 long a=0xffffff; int b; char c;
A.0ffffff 和0x61
B.-1和98
C.-1和97
D.指向同一地址
20.在調(diào)用函數(shù)時(shí),如果實(shí)參是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是()
A.地址傳遞
B.單向值傳遞
C.由實(shí)參傳給形參,再由形參傳回實(shí)參
D.傳遞方式由用戶(hù)指定
二、多選題 (共 20 道試題,共 40 分)
21.定義語(yǔ)句:int x,y;若要通過(guò)scanf("%d,%d",&x,&y); 語(yǔ)句使變量x得到數(shù)值11,變量y得到數(shù)值12,下面四組輸入形式中,正確的有()
A.11 12
B.11,12
C.11,12
D.11, 12
22.對(duì)do-while語(yǔ)句描述正確的是()
A.do-while語(yǔ)句構(gòu)成的循環(huán)可以使用break語(yǔ)句退出循環(huán)
B.do-while語(yǔ)句構(gòu)成的循環(huán)必須使用break語(yǔ)句退出循環(huán)
C.do-while語(yǔ)句構(gòu)成的循環(huán),當(dāng)while中的表達(dá)式值為非零時(shí)結(jié)束循環(huán)
D.do-while語(yǔ)句構(gòu)成的循環(huán),當(dāng)while中的表達(dá)式值為零時(shí)結(jié)束循環(huán)
23.若a,b,c,d都是int型變量且初值為0,以下選項(xiàng)中正確的賦值語(yǔ)句是()
A.a=b=c=d=100;
B.d++;
C.c+b;
D.d=(c=22)-(b++);
24.若以下選項(xiàng)中的變量已正確定義,則不正確的賦值語(yǔ)句是()
A.x1=26.8%3
B.x=3*x+x
C.x3=0x12
D.x4=1+2=3;
25.設(shè)有以下定義 int a=0; double b=1.25; char c='A'; #define d 2 則下面語(yǔ)句中正確的是()
A.a++;
B.b++;
C.c++;
D.d++;
26.下列選項(xiàng)中是C語(yǔ)言合法標(biāo)志符的有()
A.good_morning
B.main
C.stdio.h
D.8abc
27.以下4個(gè)選項(xiàng)中,可以看作是一條語(yǔ)句的有()
A.{;}
B.a=0,b=0,c=0;
C.if(a>0);
D.if(b==0) m=1;n=2;
28.C語(yǔ)言中三種基本的類(lèi)型為()
A.int
B.char
C.float
D.struct
29.以下描述正確的是()
A.調(diào)用函數(shù)時(shí),實(shí)參可以是表達(dá)式
B.調(diào)用函數(shù)時(shí),實(shí)參與形參可以共用內(nèi)存單元
C.調(diào)用函數(shù)時(shí),將為形參分配內(nèi)存單元
D.調(diào)用函數(shù)時(shí),實(shí)參與形參的類(lèi)型必須一致
30.以下敘述正確的是( )
A.C語(yǔ)言嚴(yán)格區(qū)分大小寫(xiě)英文字母
B.C語(yǔ)言用";"作為語(yǔ)句分隔符
C.C程序書(shū)寫(xiě)格式自由,一行內(nèi)可以寫(xiě)幾個(gè)語(yǔ)句,一個(gè)語(yǔ)句也可以寫(xiě)在幾行上.
D.可以使用/*…*/對(duì)C程序中的任何部分作注釋
31.以下敘述正確的是( )
A.預(yù)處理命令行都必須以"#"開(kāi)始
B.在程序中凡是以"#"開(kāi)始的語(yǔ)句行都是預(yù)處理命令行
C.C程序在執(zhí)行過(guò)程中對(duì)預(yù)處理命令行進(jìn)行處理
D.#define ABCD是正確的宏定義
32.若以下選項(xiàng)中的變量已正確定義,則不正確的賦值語(yǔ)句是()。
A.int
B.x=3*x+x
C.x3=0x12
D.x4=1+2=3;
33.以下選項(xiàng)中,合法的字符常量是()
A.\t'
B.'\17'
C."n"
D.'\xaa'
34.以下選項(xiàng)中不合法的字符常量是()
A."B"
B.'\010'
C.68
D.D
35.下列對(duì)邏輯運(yùn)算符兩側(cè)的運(yùn)算對(duì)象的數(shù)據(jù)類(lèi)型描述不正確的是()。
A.只能是0或1
B.只能是0或非0正數(shù)
C.a>=10
D.可以是任何類(lèi)型的數(shù)據(jù)
36.以下選項(xiàng)中合法的表達(dá)式是()
A.0<=x<100
B.i=j==0
C.(char)(65+3)
D.x+1=x+1
37.以下用戶(hù)標(biāo)識(shí)符,其中合法的是()
A.return
B.f2_G3
C.A3-3
D.abc
38.能正確表示邏輯關(guān)系:"a≥10"的C語(yǔ)言表達(dá)式是()。
A.a≥10
B.!(a<10)
C.a>=10
D.x4=1+2=3;
39.在定義int a[2][3];之后,對(duì)a的引用正確的有()
A.a[0][2]
B.a[1,3]
C.a[1>2][!1]
D.a[2][0]
40.正確的if語(yǔ)句形式是()
A.if (x>y && x!=y);
B.if (x==y) x+=y;
C.if (x!=y) scanf("%d",&x) else scanf("%d",&y);
D.if (x<y) {x++;y++;}
三、判斷題 (共 10 道試題,共 20 分)
41.break語(yǔ)句可用于switch語(yǔ)句,也可用于for、while和do循環(huán)語(yǔ)句中。( )
42.C程序中的每一行就是一個(gè)語(yǔ)句。( )
43.C語(yǔ)言的文件存取方式只能是順序存取,不能隨機(jī)存取。( )
44.C語(yǔ)言中,feof函數(shù)用來(lái)判斷即將讀入的是否是文件結(jié)束標(biāo)志,它可用于二進(jìn)制文件,但不能用于文本文件。( )
45.若定義char *str;則str="BOOK";是正確的。( )
46.數(shù)組類(lèi)型不是C的基本數(shù)據(jù)類(lèi)型,而是一種構(gòu)造類(lèi)型 。( )
47.一個(gè)C源程序可以由一個(gè)main()函數(shù)和若干個(gè)其它函數(shù)組成。( )
48.一個(gè)包含命令include可以包含幾個(gè)頭檔。( )
49.在某種意義上,char和int通用。( )
50.自增運(yùn)算符和自減運(yùn)算符的結(jié)合方向也是“自左向右”。( )

