《C程序設(shè)計(jì)》2023年春學(xué)期在線作業(yè)1題目
試卷總分:100 得分:100
一、單選題 (共 20 道試題,共 60 分)
1.有以下程序 main() { int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=&a[3], *q=p+2; printf("%d\n", *p + *q); } 程序運(yùn)行后的輸出結(jié)果是()
A.16
B.10
C.8
D.6
2.fseek(fd,-10L,1)中的fd和1分別為()
A.文件指針,文件的開頭
B.文件指針,文件的當(dāng)前位置
C.文件號,文件的當(dāng)前位置
D.文件號,文件的開頭
3.若有下面的變量定義, int i,a[10],*p;以下語句中合法的是()
A.p=a+2;
B.p=a[5];
C.p=a[2]+2;
D.p=&(i+2);
4.設(shè)有如下定義: char *aa[2]={"abcd","ABCD"}; 則以下說法中正確的是()
A.aa數(shù)組成元素的值分別是"abcd"和ABCD"
B.aa是指針變量,它指向含有兩個(gè)數(shù)組元素的字符型一維數(shù)組
C.aa數(shù)組的兩個(gè)元素分別存放的是含有4個(gè)字符的一維字符數(shù)組的首地址
D.aa數(shù)組的兩個(gè)元素中各自存放了字符'a'和'A'的地址
5.表達(dá)式0x13&0x17的值是()
A.0x17
B.0x13
C.0xf8
D.0xec
6.以下程序運(yùn)行后, int func(char *str) { int num=0; while(*(str+num)!='\0') num++; return(num); } main() { char str[10],*p=str; gets(p); printf("%d\n",func(p)); } 如果從鍵盤上輸入ABCDE<回車>,則輸出結(jié)果為()
A.8
B.7
C.6
D.5
7.C語言要建立一個(gè)二進(jìn)制文件應(yīng)選擇的打開方式是()
A.”r”
B.”w”
C.”rb”
D.”wb”
8.以下程序: #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); } 的輸出結(jié)果為()
A.d=70
B.d=80
C.d=140
D.d=700
9.設(shè)整型變量a為5,使b不為2的表達(dá)式是()
A.b=a/2
B.b=6-(--a)
C.b=a%2
D.b=a>3?2:1
10.以下程序段: ??? char str[15]=”hello!”; printf(“%d\n”,strlen(str)); 的輸出結(jié)果是()
A.15
B.14
C.7
D.6
11.下列函數(shù)中不能用于對文件進(jìn)行輸入輸出操作的是()
A.fscanf()
B.printf()
C.fgetc()
D.fputs()
12.下面選項(xiàng)中正確的賦值語句是(設(shè) char a[5],*p=a;) ()
A.p="abcd";
B.a="abcd";
C.*p="abcd";
D.*a="abcd";
13.若有以下調(diào)用語句, main() { … int a[50],n; … fun(n, &a[9]); } 則不正確的fun函數(shù)的首部是()
A.void fun(int m, int x[])
B.void fun(int s, int h[41])
C.void fun(int p, int *s)
D.void fun(int n, int a)
14.在C語言中,字符型數(shù)據(jù)在內(nèi)存中是以什么形式存放的?()
A.原碼
B.BCD碼
C.反碼
D.ASCII碼
15.以下敘述中不正確的是()
A.在不同的函數(shù)中可以使用相同名字的變量
B.函數(shù)中的形式參數(shù)是局部變量
C.在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效
D.在一個(gè)函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效
16.在C程序中有如下語句:char *func(int x,int y); 它是()
A.對函數(shù)func的定義。
B.對函數(shù)func的調(diào)用。
C.對函數(shù)func的原型說明。
D.不合法的。
17.若有說明: int i,j=7, *p=&i;, 則與i=j; 等價(jià)的語句是()
A.i= *p;
B.*p=j;
C.i=&j;
D.i=* *p;
18.有以下程序: main() { char a1=’M’, a2=’m’; printf("%c\n", (a1, a2) ); } 以下敘述中正確的是 ()
A.程序輸出大寫字母M
B.程序輸出小寫字母m
C.格式說明符不足,編譯出錯
D.程序運(yùn)行時(shí)產(chǎn)生出錯信息
19.有以下程序 fun(int a, int b) { if(a>b) return(a); else return(b); } main() { int x=3, y=8, z=6, r; r=fun (fun(x,y), 2*z); printf("%d\n", r); } 程序運(yùn)行后的輸出結(jié)果是()
A.3
B.6
C.8
D.12
20.有以下程序: main() { char a1=’M’, a2=’m’; printf("%c\n", (a1, a2) ); } 以下敘述中正確的是 ()
A.程序輸出大寫字母M
B.程序輸出小寫字母m
C.格式說明符不足,編譯出錯
D.程序運(yùn)行時(shí)產(chǎn)生出錯信息
二、判斷題 (共 20 道試題,共 40 分)
21.循環(huán)可以并列,但不可以嵌套。
22.程序段if (u>s) t=u; t=s;的功能是將u,s中的最大值賦給變量t。
23.a==b;的功能是將b的值賦給a。
24.’ab’是合法的字符型常量。
25.C程序是以源程序文件為單位進(jìn)行編譯的。
26.從循環(huán)體中退出只能使用goto語句。
27.如果一個(gè)函數(shù)不需要參數(shù),則函數(shù)名后的括號可以省略。
28.若有宏定義:#define PI 3.14i5926,則系統(tǒng)預(yù)編譯時(shí)會報(bào)錯。
29.019是一個(gè)合法的整型常量。
30.二維數(shù)組中元素排列的順序是:按行存放,即在內(nèi)存中先順序存放第一行的元素,再存放第二行的元素。
31.允許定義無名結(jié)構(gòu),但是它只能在定義結(jié)構(gòu)類型時(shí)定義一次結(jié)構(gòu)變量。
32.通過return語句,函數(shù)可以帶回一個(gè)或一個(gè)以上的返回值。
33.若有形參定義:int a[10];則a++是合法的表達(dá)式。
34.假設(shè)有int? a[10],? *p;?? 則p=&a[0]與p=a等價(jià)。
35.getchar()函數(shù)的功能是從鍵盤上輸入一個(gè)字符串。
36.strlen是求字符串長度的函數(shù)。
37.當(dāng)C的值不為0時(shí),(A=C)&&(B=C)能正確地將C的值賦給變量A,B。
38.break語句用在循環(huán)體中,可結(jié)束本層循環(huán),continue語句用在循環(huán)體中,可結(jié)束本次循環(huán)。
39.定義在main函數(shù)后的任何函數(shù)都需在main中進(jìn)行函數(shù)聲明。
40.一個(gè)C程序可以包含多個(gè)函數(shù),但只能有一個(gè)main()函數(shù)。
奧鵬,國開,廣開,電大在線,各省平臺,新疆一體化等平臺學(xué)習(xí)
詳情請咨詢QQ : 3230981406或微信:aopopenfd777