需要答案請加QQ:296856541 微信:aopopengzs
可做奧鵬全部院校在線作業(yè)、離線作業(yè)、畢業(yè)論文
《高級語言程序設(shè)計基礎(chǔ)X》在線平時作業(yè)2
試卷總分:100 得分:100
一、單選題 (共 25 道試題,共 100 分)
1.以下程序段的運行結(jié)果是( )。 char a[ ]="program", *p; p=a; while (*p!='g') { printf("%c", *p-32); p++; }
A.PROgram
B.PROGRAM
C.PRO
D.proGRAM
2.已知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"
3.當說明一個共用體變量時系統(tǒng)分配給它的內(nèi)存是( )。
A.共用體中第一個成員所需內(nèi)存量
B.共用體中最后一個成員所需內(nèi)存量
C.共用體成員中占內(nèi)存量最大者所需的容量
D.共用體中各成員所需內(nèi)存量的總和
4.以下對二維數(shù)組a的正確說明是( )。
A.int a[3][];
B.float a(3,4);
C.double a[1][4]
D.float a(3)(4);
5.若有說明:int a[][3]={1,2,3,4,5,6,7};則數(shù)組a第一維的大小是( )。
A.2
B.3
C.4
D.無確定值
6.以下能正確定義整型變量x、y和z并為其賦初值5的語句是( )。
A.int x=y=z=5;
B.int x,y,z=5;
C.int x=5,y=5,z=5;
D.x=5,y=5,z=5;"
7.以下程序段的執(zhí)行結(jié)果是( )。 int x=-3; do { printf("%d\n", x++); }while(!x);
A.-3
B.-2
C.-1
D.陷入死循環(huán)
8.有下面的程序段 char a[3],b[]="China"; a=b; printf("%s",a); 則( )。
A.運行后將輸出China
B.運行后將輸出Ch
C.運行后將輸出Chi
D.編譯時出錯
9.下面程序段的輸出結(jié)果是( )。 int a=023;printf("%d\n",--a);
A.23
B.17
C.18
D.24
10.在C語言中,一維數(shù)組的定義方式為:類型說明符 數(shù)組名( )。
A.[常量表達式]
B.[整型表達式]
C.[整型常量或整型表達式]
D.[整型常量]
11.若有以下程序段: for (m=1; m<=100; m++) { scanf("%d", &y); if (y<0) continue; printf("%3d", m); }正確的描述是( )。
A.當y<0時整個循環(huán)結(jié)束
B.y>=0時什么也不輸出
C.printf函數(shù)永遠也不執(zhí)行
D.最多允許輸出100個非負整數(shù)
12.設(shè)c1、c2均是char類型變量,則以下不正確的函數(shù)調(diào)用是( )。
A.scanf("c1=%cc2=%c",&c1,&c2);
B.getchar( )
C.putchar(c2);
D.putchar(c1,c2)"
13.若a為int類型變量,則執(zhí)行以下程序段后a的值為( )。 a=5;a*=a/=a++;
A.2
B.1
C.40
D.3
14.如果在一個函數(shù)中的復(fù)合語句中定義了一個變量,則以下正確的說法是( )。
A.該變量只在該復(fù)合語句中有效
B.該變量在該函數(shù)中有效
C.該變量在本程序范圍內(nèi)有效
D.該變量為非法變量
15.若有定義:int x[10], *p=x;,則*(p+5)表示( )。
A.數(shù)組元素x[5]的地址
B.數(shù)組元素x[5]的值
C.數(shù)組元素x[6]的地址
D.數(shù)組元素x[6]的值
E.選項內(nèi)容11
F.選項內(nèi)容11
G.選項內(nèi)容11
16.設(shè)有定義:int a=1, *p=&a; float b=2.0; char c='A'; ,以下不合法的運算是( )。
A.p++;
B.a--;
C.b++;
D.c--;
17.若二維數(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
18.C語言結(jié)構(gòu)體類型變量在程序執(zhí)行期間( )。
A.所有成員一直駐留在內(nèi)存中
B.只有一個成員駐留在內(nèi)存中
C.部分成員駐留在內(nèi)存中
D.沒有成員駐留在內(nèi)存中
19.若執(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
20.下程序( )。 main( ) { int x1=3, x2=0, x3=0; if (x1=x2+x3) printf("* * * *"); else printf("# # # #"); }
A.輸出:* * * *
B.輸出:# # #
C.#存在語法錯誤
D.無輸出結(jié)果
21.若有定義:int x[10], *p=x;,則*(p+5)表示( )。
A.數(shù)組元素x[5]的地址
B.數(shù)組元素x[5]的值
C.數(shù)組元素x[6]的地址
D.數(shù)組元素x[6]的值
E.選項內(nèi)容11
F.選項內(nèi)容11
22.執(zhí)行以下程序后,m的值是( )。 #define MIN(x, y) (x)<(y) ? (x) : (y) main( ) { int i=12, j=8, m; m=10*MIN(i, j); printf("%d\n", m); }
A.120
B.80
C.12
D.8
23.若二維數(shù)組a有m列,則計算任一元素a[i][j]在數(shù)組中位置的公式為( )。(假設(shè)a[0][0]位于數(shù)組的第一個位置上。)
A.i*m+j
B.j*m+i
C.i*m+j-1
D.i*m+j+1
24.以下能正確讀入字符串的程序段是( )。
A.char *p; scanf("%s", p);
B.char str[10]; scanf("%s", &str);
C.char str[10], *p; p=str; scanf("%s", p);
D.char str[10], *p=str; scanf("%s", p[1]);"
25.以下對指針變量的操作中,不正確的是( )。
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;"