東大22年春學(xué)期《高級語言程序設(shè)計基礎(chǔ)X》在線平時作業(yè)1-00001
試卷總分:100 得分:100
一、單選題 (共 25 道試題,共 100 分)
1.對以下說明語句的正確理解是( )。 int a[10]={6,7,8,9,10};
A.將5個初值依次賦給a[1]至a[5]
B.將5個初值依次賦給a[0]至a[4]
C.將5個初值依次賦給a[6]至a[10]
D.因為數(shù)組與初值的個數(shù)不相同,所以此語句不正確
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.鍵盤
B.顯示器
C.軟盤
D.硬盤
5.已知學(xué)生記錄描述如下,下面對結(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語言允許函數(shù)值類型的缺省定義,此時該函數(shù)值隱含的類型是( )。
A.float
B.int
C.long
D.double
9.設(shè)ch是char類型變量,其值是A,則表達式ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( )。
A.Z
B.A
C.a
D.z
10.若有以下語句,則對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.是無限循環(huán)
C.循環(huán)體一次都不執(zhí)行
D.for語句中存在語法錯誤
12.若有說明: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時整個循環(huán)結(jié)束
B.y>=0時什么也不輸出
C.printf函數(shù)永遠也不執(zhí)行
D.最多允許輸出100個非負整數(shù)
14.若使用一維數(shù)組名作函數(shù)實參,則以下正確的說法是( )。
A.必須在主調(diào)函數(shù)中說明此數(shù)組的大小
B.實參數(shù)組類型與形參數(shù)組類型可以不匹配
C.在被調(diào)函數(shù)中,不需要考慮形參數(shù)組的大小
D.實參數(shù)組名與形參數(shù)組名必須一致
15.若a為int類型變量,則執(zhí)行以下程序段后a的值為( )。 a=5;a*=a/=a++;
A.2
B.1
C.40
D.3
16.若有說明:int a[][3]={1,2,3,4,5,6,7};則數(shù)組a第一維的大小是( )。
A.2
B.3
C.4
D.無確定值
17.若希望當(dāng)num的值為奇數(shù)時,表達式的值為“真”,num的值為偶數(shù)時,表達式的值為“假”。則以下不能滿足要求的表達式是( )。
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};則下面語句的輸出結(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];,則以下對a數(shù)組元素地址的正確表示為( )。
A.*(a+1)
B.*(a[1]+2)
C.a[1]+3
D.a[0][0]
21.若執(zhí)行fopen函數(shù)時發(fā)生錯誤,則函數(shù)的返回值是( )。
A.隨機值
B.1
C.NULL
D.EOF
22.下面程序的運行結(jié)果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]);
A.輸出空格
B.\0
C.e
D.f
23.以下對指針變量的操作中,不正確的是( )。
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語言的敘述錯誤的是( )。
A.大寫字母和小寫字母的意義相同
B.不同類型的變量可以在一個表達式中
C.在賦值表達式中等號(=)左邊的變量和右邊的值可以是不同類型
D.同一個運算符號在不同的場合可以有不同的含義
25.如果在一個函數(shù)中的復(fù)合語句中定義了一個變量,則以下正確的說法是( )。
A.該變量只在該復(fù)合語句中有效
B.該變量在該函數(shù)中有效
C.該變量在本程序范圍內(nèi)有效
D.該變量為非法變量