東大22年春學期《高級語言程序設計基礎X》在線平時作業2[答案怎么獲???]答案
東大22年春學期《高級語言程序設計基礎X》在線平時作業2-00001
試卷總分:100 得分:100
一、單選題 (共 25 道試題,共 100 分)
1.C語言中字符型(char)數據在內存中的存儲形式是( )。
A.原碼
B.補碼
C.反碼
D.ASCII碼
正確答案:-----
2.C語言的編譯系統對宏命令的處理是( )。
A.在對源程序中其它成分正式編譯之前進行的
B.和C程序中的其它語句同時進行的
C.在程序連接時進行的
D.在程序運行時進行的
正確答案:-----
3.以下對二維數組a的正確說明是( )。
A.int a[3][];
B.float a(3,4);
C.double a[1][4]
正確答案:-----
D.float a(3)(4);
正確答案:-----
4.若執行下述程序時從鍵盤輸入3 4,則輸出結果是( )。
#include main( ) { int a,b,s;
正確答案:-----
scanf("%d%d",&a,&b);
正確答案:-----
s=a; if (a<b) printf("%d ",s*s); s=b; }
正確答案:-----
A.216
B.256
C.324
D.400
正確答案:-----
5.設x、y均是int類型變量,且x值為100,則關于以下for循環的正確判斷是( )。 for (y=100; x!=y; ++x,y++) printf("**** ");
A.循環體只執行一次
B.是無限循環
C.循環體一次都不執行
D.for語句中存在語法錯誤
正確答案:-----
6.以下在任何情況下計算兩數積時都不會引起二義性的宏定義是( )。
A.#define MUL(x,y) x*y
正確答案:-----
B.#define MUL(x,y) (x)*(y)
正確答案:-----
C.#define MUL(x,y) (x*y)
正確答案:-----
D.#define MUL(x,y) ((x)*(y))"
正確答案:-----
7.對兩個數組a和b進行如下初始化 char a[]="ABCDEF"; char b[]={'A','B','C','D','E','F'}; 則以下敘述正確的是( )。
正確答案:-----
A.a與b數組完全相同
B.a與b長度相同
C.a和b中都存放字符串
D.a數組比b數組長
正確答案:-----
8.C語言允許函數值類型的缺省定義,此時該函數值隱含的類型是( )。
A.float
B.int
C.long
D.double
正確答案:-----
9.以下對C語言中共用體類型數據的敘述正確的是( )。
A.可以對共用體變量名直接賦值
B.一個共用體變量中可以同時存放其所有成員
C.一個共用體變量中不能同時存放其所有成員
D.共用體類型定義中不能出現結構體類型的成員
正確答案:-----
10.已知 long i=32768;執行語句printf("%d",i);屏幕顯示( )。
正確答案:-----
A.-1
B.-32768
C.1
D.32768
正確答案:-----
11.以下能對一維數組a進行正確初始化的語句是( )。
A.int a[10]=(0,0,0,0,0);
B.int a[10]={ };
C.int a[]={0};
D.int a[10]=(10*1);
正確答案:-----
12.下列程序的輸出結果是( )。 #include void fun(); void main() { int x=1; if(x= =1) { int x=2; printf(“%d”,++x); } void fun() { printf(“%d”,x++);}
正確答案:-----
A.2,1,1
B.1,2,1
C.2,2,2
D.2,2,1"
正確答案:-----
13.若二維數組a有m列,則在a[i][j]前的元素個數為( )。
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1
正確答案:-----
14.若有說明:int a[][4]={0,0};則下面不正確的敘述是( )。
A.數組a中的每個元素都可得到初值0
B.二維數組a的第1維大小為1
C.因為二維數組a中第二維大小的值除以初值個數的商為1,故數組a的行數為1
D.只有數組元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
正確答案:-----
15.已知學生記錄描述如下,下面對結構體成員"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;
正確答案:-----
16.設有定義:int a=1, *p=&a; float b=2.0; char c='A'; ,以下不合法的運算是( )。
A.p++;
B.a--;
C.b++;
D.c--;
正確答案:-----
17.若有說明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,則以下敘述正確的是( )。
正確答案:-----
A.*pc[0]代表的是字符串"aaa
B.*pc[0]代表的是字符'a'
C.pc[0]代表的是字符串"aaa"
D.pc[0]代表的是字符'a'
正確答案:-----
21.以下為一維整型數組a的正確說明是( )。
A.int a(10);
B.int n=10,a[n];
C.int n; scanf("%d",&n); int a[n];
正確答案:-----
D.#define SIZE 10;int a[SIZE];
正確答案:-----
19.若a和b均為int型變量,則執行以下程序斷后x的輸出是( )。 x=15;y=15;printf("%d ",x%=(y%=2));
正確答案:-----
A.0
B.1
C.6
D.12
正確答案:-----
20.以下程序段的執行結果是( )。 int x=-3; do { printf("%d ", x++); }while(!x);
正確答案:-----
A.-3
B.-2
C.-1
D.陷入死循環
正確答案:-----
21.以下不正確的定義語句是( )。
A.double x[5]={2.0,4,0,6,0,8,0,10.0};
正確答案:-----
B.int y[5]={0,1,3,5,7,9};
C.char c1[]={'1','2','3','4','5'};
D.char c2[]={'x10','xa','x8'};"
正確答案:-----
22.以下運算正確的程序段是( )。
A.char str1[]="ABCDE", str2[]="abcdef"; strcpy(str1, str2);
正確答案:-----
B.char str[10], *st="abcde"; strcat(str, st);
正確答案:-----
C.char *st1="ABCDS", *st2="abcde"; strcat(st1,st2);
正確答案:-----
D.char str[10]="", *st="abcde"; strcat(str, st);"
正確答案:-----
23.下面程序段的運行結果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]);
正確答案:-----
A.空格
B.\0
C.e
D.f
正確答案:-----
24.定義如下變量和數組:int k; int a[3][3]={1,2,3,4,5,6,7,8,9};則下面語句的輸出結果是( )。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
正確答案:-----
25.設c1、c2均是char類型變量,則以下不正確的函數調用是( )。
A.scanf("c1=%cc2=%c",&c1,&c2);
B.getchar( )
C.putchar(c2);
D.putchar(c1,c2)"
正確答案:-----
東大22年春學期《高級語言程序設計基礎X》在線平時作業2[答案怎么獲???]歷年參考題目如下:
21春學期《高級語言程序設計基礎X》在線平時作業3
試卷總分:100 得分:100
一、單選題 (共 25 道試題,共 100 分)
1.若有定義:int i, x[3][4];,則不能將x[1][1]的值賦給變量i的語句是( )。
A.i=x[1][1]
B.i=*(*(x+1))
C.i=*(*(x+1)+1)
D.i=*(x[1]+1)
2.下面程序段的運行結果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]);
A.空格
B.\0
C.e
D.f
3.C語言程序從main()函數開始執行,所以這個函數要寫在( )。
A.程序文件的開始
B.程序文件的最后
C.它所調用的函數的前面
D.程序文件的任何位置
4.若k為整型變量,則以下for循環的執行次數是( )。 for (k=2; k==0; ) printf("%d",k--);
A.無限次
B.0次
C.1次
D.2次
5.以下程序段中的do-while循環( )。 m=-1; do { m=m*m; }while(!m);
A.是死循環
B.執行二次
C.執行一次
D.有語法錯誤
6.若執行下述程序時從鍵盤輸入3 4,則輸出結果是( )。
#include main( ) { int a,b,s;
scanf("%d%d",&a,&b);
s=a; if (a<b) printf("%d ",s*s); s=b; }
A.186
B.256
C.324
D.400
7.設ch是char類型變量,其值是A,則表達式ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( )。
A.Z
B.A
C.a
D.z
8.對兩個數組a和b進行如下初始化 char a[]="ABCDEF"; char b[]={'A','B','C','D','E','F'}; 則以下敘述正確的是( )。
A.a與b數組完全相同
B.a與b長度相同
C.a和b中都存放字符串
D.a數組比b數組長
9.以下程序運行后,輸出結果是( )。 #define ADD(x) x+x main( ) { int m=1, n=2, s=3; s*=ADD(m+n); printf("s=%d ", s); }
A.s=8
B.s=9
C.s=6
D.s=18
10.C語言允許函數值類型的缺省定義,此時該函數值隱含的類型是( )。
A.float
B.int
C.long
D.double
11.若有定義:int x[10], *p=x;,則*(p+5)表示( )。
A.數組元素x[5]的地址
B.數組元素x[5]的值
C.數組元素x[6]的地址
D.數組元素x[6]的值
E.選項內容11
F.選項內容11
12.若有語句:int a=4, *p=&a;,下面均代表地址的一組選項是( )。
A.a, p, &*a
B.*&a, &a, *p
C.&a, p, &*p
D.*&p, *p, &a"
13.設a、b、c、d均是int類型變量,為了使以下程序段的輸出為:1234+123+12+1,正確的輸入形式應當是( )。 scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);printf("%4d+%3d+%2d+%1d",a, b, c, d);
A.1234123121
B.1234123412341234
C.1234+1234+1234+1234
D.1234+123+12+1
14.以下對C語言中共用體類型數據的敘述正確的是( )。
A.可以對共用體變量名直接賦值
B.一個共用體變量中可以同時存放其所有成員
C.一個共用體變量中不能同時存放其所有成員
D.共用體類型定義中不能出現結構體類型的成員
15.C語言規定:簡單變量做實參時,它和對應形參之間的數據傳遞方式是( )。
A.地址傳遞
B.單向值傳遞
C.由實參傳給形參,再由形參傳回實參
D.由用戶指定傳遞方式
16.若有說明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,則以下敘述正確的是( )。
A.*pc[0]代表的是字符串"aaa
B.*pc[0]代表的是字符'a'
C.pc[0]代表的是字符串"aaa"
D.pc[0]代表的是字符'a'
17.若有說明:int a[3][4];則數組a中各元素( )。
A.可在程序的運行階段得到初值0
B.可在程序的編譯階段得到初值0
C.不能得到確定的初值
D.可在程序的編譯或運行階段得到初值0
18.當定義一個結構體變量時系統分配給它的內存是( )。
A.結構中第一個成員所需的內存量
B.結構中最后一個成員所需的內存量
C.結構體成員中占內存量最大者所需的容量
D.結構體中各成員所需內存量的總和
19.在C語言中,錯誤的int類型的常數是( )。
A.32768
B.0
C.37
D.0xAF
20.當正常執行了文件關閉操作時,fclose函數的返回值是( )。
A.-1
B.隨機值
C.0
D.1
21.以下運算正確的程序段是( )。
A.char str1[]="ABCDE", str2[]="abcdef"; strcpy(str1, str2);
B.char str[10], *st="abcde"; strcat(str, st);
C.char *st1="ABCDS", *st2="abcde"; strcat(st1,st2);
D.char str[10]="", *st="abcde"; strcat(str, st);"
22.以下對指針變量的操作中,不正確的是( )。
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;"
23.語句while (!y)中的表達式 !y 等價于( )。
A.y==0
B.y!=1
C.y!=0
D.y==1
24.若要使指針變量p指向一個動態開辟的字符型存儲單元,則空中應選擇填入的是( )。 char *p;p= malloc(sizeof(char));
A.char
B.char *
C.(*char)
D.(char *)
25.已知ch是字符型變量,則不正確的賦值語句是( )。
A.ch=5+9;
B.ch='\0';
C.ch='7'+'9';
D.ch='a+b';