東大22年春學(xué)期《高級語言程序設(shè)計基礎(chǔ)X》在線平時作業(yè)3-00001
試卷總分:100 得分:100
一、單選題 (共 25 道試題,共 100 分)
1.若k為整型變量,則以下for循環(huán)的執(zhí)行次數(shù)是( )。 for (k=2; k==0; ) printf("%d",k--);
A.無限次
B.0次
C.1次
D.2次
2.當(dāng)說明一個共用體變量時系統(tǒng)分配給它的內(nèi)存是( )。
A.共用體中第一個成員所需內(nèi)存量
B.共用體中最后一個成員所需內(nèi)存量
C.共用體成員中占內(nèi)存量最大者所需的容量
D.共用體中各成員所需內(nèi)存量的總和
3.若執(zhí)行fopen函數(shù)時發(fā)生錯誤,則函數(shù)的返回值是( )。
A.隨機值
B.1
C.NULL
D.EOF
4.以下正確的函數(shù)形式是( )。
A.double fun1(int x, int y) { z=x+y; return z; }
B.fun1(int x, y){ int z;return z; }
C.fun1(x, y) { int x, y; double z;z=x+y;return z; }
D.double fun1(int x, int y){ double z;z=x+y; return z; }"
5.若有以下程序段: …… int a[]={4,0,2,3,1},i,j,t; for(i=1;i=0 && t>a[j]) { a[j+1]=a[j];j--;} a[j+1]=t; } …… 則該程序段的功能是( )。
A.對數(shù)組a進行插入排序(升序)
B.對數(shù)組a進行插入排序(降序)
C.對數(shù)組a進行選擇排序(升序)
D.對數(shù)組a進行選擇排序(降序)
6.判斷char型變量c1是否為大寫字母的正確表達式是( )。
A.A'<=c1<='Z'
B.(c1>='A')&(c1<='Z')
C.(c1>='A')&&(c1<='Z')
D.('A'=c1)
7.設(shè)有一段程序: int *var,a; a=100;var=&a;a=*var+10; 執(zhí)行上面程序段后a的值為( )。
A.120
B.110
C.100
D.90
8.若有定義:int a[2][3];,則以下對a數(shù)組元素地址的正確表示為( )。
A.*(a+1)
B.*(a[1]+2)
C.a[1]+3
D.a[0][0]
9.若有以下說明,并且0≤i<10,則( )是對數(shù)組元素的錯誤引用。int a[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p=a, I;
A.*(a+i)
B.a[p-a+i]
C.p+i
D.*(&a[i])
10.有兩個字符數(shù)組a、b,則以下正確的輸入語句是( )。
A.gets(a,b);
B.scanf("%s%s",a,b);
C.scanf("%s%s",&a,&b);
D.gets("a"); gets("b");"
11.對兩個數(shù)組a和b進行如下初始化 char a[]="ABCDEF"; char b[]={'A','B','C','D','E','F'}; 則以下敘述正確的是( )。
A.a與b數(shù)組完全相同
B.a與b長度相同
C.a和b中都存放字符串
D.a數(shù)組比b數(shù)組長
12.下程序( )。 main( ) { int x1=3, x2=0, x3=0; if (x1=x2+x3) printf("* * * *"); else printf("# # # #"); }
A.輸出:* * * *
B.輸出:# # #
C.#存在語法錯誤
D.無輸出結(jié)果
13.在C語言中,錯誤的int類型的常數(shù)是( )。
A.32768
B.0
C.37
D.0xAF
14.定義如下變量和數(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
15.C語言的編譯系統(tǒng)對宏命令的處理是( )。
A.在對源程序中其它成分正式編譯之前進行的
B.和C程序中的其它語句同時進行的
C.在程序連接時進行的
D.在程序運行時進行的
16.以下有關(guān)宏替換的敘述不正確的是( )。
A.宏名不具有類型
B.宏名必須用大寫字母表示
C.宏替換只是字符替換
D.宏替換不占用運行時間
17.已知intx=10,y=20,z=30;以下語句執(zhí)行后x,y,z的值是( )。if(x>y)z=x;x=y;y=z;
A.x=10,y=20,z=30
B.x=20,y=30,z=30
C.x=20,y=30,z=10
D.x=20,y=30,z=20"
18.一個C語言程序總是從( )。
A.主過程開始執(zhí)行
B.主函數(shù)開始執(zhí)行
C.子程序開始執(zhí)行
D.主程序開始執(zhí)行
19.若a、b、c均為int型變量,則執(zhí)行以下程序段后的輸出結(jié)果為( )。 b=(a=10,a+5,c=10); printf("a=%d,b=%d,c=%d\n",a,b,c); c=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d\n",a,b,c);
A.a=10,b=15,c=10a=10,b=5,c=10
B.a=10,b=10,c=10a=10,b=5,c=10
C.a=10,b=10,c=10a=10,b=5,c=15
D.a=10,b=10,c=10a=10,b=5,c=5
20.若二維數(shù)組a有m列,則在a[i][j]前的元素個數(shù)為( )。
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1
21.設(shè)x,y是float型變量,則不正確的賦值語句是( )。
A.++x;
B.y=int(5);
C.x*=y+1;
D.x=y=0;
22.設(shè)有定義:int a=1, *p=&a; float b=2.0; char c='A'; ,以下不合法的運算是( )。
A.p++;
B.a--;
C.b++;
D.c--;
23.C語言允許函數(shù)值類型的缺省定義,此時該函數(shù)值隱含的類型是( )。
A.float
B.int
C.long
D.double
24.已知 long i=32768;執(zhí)行語句printf("%d",i);屏幕顯示( )。
A.-1
B.-32768
C.1
D.32768
25.若執(zhí)行下述程序時從鍵盤輸入3 4,則輸出結(jié)果是( )。
#include main( ) { int a,b,s;
scanf("%d%d",&a,&b);
s=a; if (a<b) printf("%d\n",s*s); s=b; }
A.186
B.256
C.324
D.400