東大22年春學(xué)期《高級(jí)語(yǔ)言程序設(shè)計(jì)基礎(chǔ)X》在線平時(shí)作業(yè)1-00001
試卷總分:100 得分:100
一、單選題 (共 25 道試題,共 100 分)
1.對(duì)以下說(shuō)明語(yǔ)句的正確理解是( )。 int a[10]={6,7,8,9,10};
A.將5個(gè)初值依次賦給a[1]至a[5]
B.將5個(gè)初值依次賦給a[0]至a[4]
C.將5個(gè)初值依次賦給a[6]至a[10]
D.因?yàn)閿?shù)組與初值的個(gè)數(shù)不相同,所以此語(yǔ)句不正確
2.下面程序段的輸出結(jié)果是( )。 int a=023;printf("%d\n",--a);
A.23
B.17
C.18
D.24
3.若調(diào)用fputc函數(shù)輸出字符成功,則函數(shù)的返回值是( )。
A.輸出的字符
B.-1
C.0
D.EOF
4.系統(tǒng)的標(biāo)準(zhǔn)輸入文件是指( )。
A.鍵盤(pán)
B.顯示器
C.軟盤(pán)
D.硬盤(pán)
5.已知學(xué)生記錄描述如下,下面對(duì)結(jié)構(gòu)體成員"computer"的賦值方式正確的是( )。 struct student { int num; char name[8]; struct { float math; float engl; float computer; } mark;} std;
A.student.computer=84;
B.mark.computer=84;
C.std.mark.computer=84;
D.std.computer=84;
6.執(zhí)行下面程序段后,x的值是( )。 int x;printf("%d\n",(x=3*5,x+5));
A.10
B.15
C.20
D.5
7.以下程序執(zhí)行后a的值為( )。 main( ) { int a,m=2, k=1, *p=&k; a=p!=&m; printf("%d\n",a); }
A.-1
B.0
C.1
D.2
8.C語(yǔ)言允許函數(shù)值類型的缺省定義,此時(shí)該函數(shù)值隱含的類型是( )。
A.float
B.int
C.long
D.double
9.設(shè)ch是char類型變量,其值是A,則表達(dá)式ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( )。
A.Z
B.A
C.a
D.z
10.若有以下語(yǔ)句,則對(duì)x數(shù)組元素引用不正確的是( )。 int x[ ]={1, 2, 3, 4, 5, 6}, *ptr;ptr=x;
A.*(--ptr)
B.*(ptr--)
C.*(ptr++)
D.*(++ptr)
11.設(shè)x、y均是int類型變量,且x值為100,則關(guān)于以下for循環(huán)的正確判斷是( )。 for (y=100; x!=y; ++x,y++) printf("****\n");
A.循環(huán)體只執(zhí)行一次
B.是無(wú)限循環(huán)
C.循環(huán)體一次都不執(zhí)行
D.for語(yǔ)句中存在語(yǔ)法錯(cuò)誤
12.若有說(shuō)明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,則以下敘述正確的是( )。
A.*pc[0]代表的是字符串"aaa
B.*pc[0]代表的是字符'a'
C.pc[0]代表的是字符串"aaa"
D.pc[0]代表的是字符'a'
13.若有以下程序段: for (m=1; m<=100; m++) { scanf("%d", &y); if (y<0) continue; printf("%3d", m); }正確的描述是( )。
A.當(dāng)y<0時(shí)整個(gè)循環(huán)結(jié)束
B.y>=0時(shí)什么也不輸出
C.printf函數(shù)永遠(yuǎn)也不執(zhí)行
D.最多允許輸出100個(gè)非負(fù)整數(shù)
14.若使用一維數(shù)組名作函數(shù)實(shí)參,則以下正確的說(shuō)法是( )。
A.必須在主調(diào)函數(shù)中說(shuō)明此數(shù)組的大小
B.實(shí)參數(shù)組類型與形參數(shù)組類型可以不匹配
C.在被調(diào)函數(shù)中,不需要考慮形參數(shù)組的大小
D.實(shí)參數(shù)組名與形參數(shù)組名必須一致
15.若a為int類型變量,則執(zhí)行以下程序段后a的值為( )。 a=5;a*=a/=a++;
A.2
B.1
C.40
D.3
16.若有說(shuō)明:int a[][3]={1,2,3,4,5,6,7};則數(shù)組a第一維的大小是( )。
A.2
B.3
C.4
D.無(wú)確定值
17.若希望當(dāng)num的值為奇數(shù)時(shí),表達(dá)式的值為“真”,num的值為偶數(shù)時(shí),表達(dá)式的值為“假”。則以下不能滿足要求的表達(dá)式是( )。
A.num%2==1
B.!(num%2==0)
C.!(num%2)
D.num%2
18.定義如下變量和數(shù)組:int k; int a[3][3]={1,2,3,4,5,6,7,8,9};則下面語(yǔ)句的輸出結(jié)果是( )。for(k=0;k<3;k++) printf("%d",a[k][2-k]);
A.3 5 7
B.3 6 9
C.1 5 9
D.1 4 7
19.設(shè)有一段程序: int *var,a; a=100;var=&a;a=*var+10; 執(zhí)行上面程序段后a的值為( )。
A.120
B.110
C.100
D.90
20.若有定義:int a[2][3];,則以下對(duì)a數(shù)組元素地址的正確表示為( )。
A.*(a+1)
B.*(a[1]+2)
C.a[1]+3
D.a[0][0]
21.若執(zhí)行fopen函數(shù)時(shí)發(fā)生錯(cuò)誤,則函數(shù)的返回值是( )。
A.隨機(jī)值
B.1
C.NULL
D.EOF
22.下面程序的運(yùn)行結(jié)果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]);
A.輸出空格
B.\0
C.e
D.f
23.以下對(duì)指針變量的操作中,不正確的是( )。
A.int p, *q; q=&p;
B.int *p, *q; q=p=NULL;
C.int a=5, *p; *p=a;
D.int a=5, *p=&a, *q=&a; *p=*q;"
24.下列關(guān)于C語(yǔ)言的敘述錯(cuò)誤的是( )。
A.大寫(xiě)字母和小寫(xiě)字母的意義相同
B.不同類型的變量可以在一個(gè)表達(dá)式中
C.在賦值表達(dá)式中等號(hào)(=)左邊的變量和右邊的值可以是不同類型
D.同一個(gè)運(yùn)算符號(hào)在不同的場(chǎng)合可以有不同的含義
25.如果在一個(gè)函數(shù)中的復(fù)合語(yǔ)句中定義了一個(gè)變量,則以下正確的說(shuō)法是( )。
A.該變量只在該復(fù)合語(yǔ)句中有效
B.該變量在該函數(shù)中有效
C.該變量在本程序范圍內(nèi)有效
D.該變量為非法變量

