22春學(xué)期(高起本1709-1803、全層次1809-2103)《C語(yǔ)言程序設(shè)計(jì)》在線作業(yè)-00001
試卷總分:100 得分:100
一、單選題 (共 40 道試題,共 80 分)
1.main() { int x,y,z; scanf (“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\n”,x+y+z); } 輸入數(shù)據(jù)的形式是25,13,10<回車>,則程序的輸出結(jié)果是( )
A.x+y+z=48
B.x+y+z=35
C.x+z=35
D.不確定值
2.在C語(yǔ)言中,int、char和short三種類型的數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)( )。
A.由用戶自己定義
B.均為2個(gè)字節(jié)
C.是任意的
D.由所用機(jī)器的機(jī)器字長(zhǎng)決定
3.如果在C語(yǔ)言中一個(gè)int型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),則unsigned int型數(shù)據(jù)的取值范圍為( )。
A.0~255
B.0~32 767
C.0~65 535
D.0~2 147 483 647
4.#include “stdio.h” void main() { int sum=0,a=1; while(a<=10) {sum=sum+a; a++; } printf(“sum=%d\n”,sum); } 以上程序段的運(yùn)行結(jié)果是( )
A.sum=0
B.sum=55
C.sum=10
D.sum=11
5.C語(yǔ)言的函數(shù)中,( )。
A.必須有形參
B.形參必須是變量名
C.可以有也可以沒(méi)有形參
D.數(shù)組名不能作形參
6.若執(zhí)行fopen函數(shù)時(shí)發(fā)生錯(cuò)誤,則函數(shù)的返回值是( )
A.地址值
B.null
C.1
D.EOF
7.從用戶使用的角度看,函數(shù)有兩種,它們是( )
A.庫(kù)函數(shù)和用戶自定義函數(shù)
B.庫(kù)函數(shù)和主函數(shù)
C.用戶自定義函數(shù)和主函數(shù)
D.主函數(shù)和子函數(shù)
8.已知學(xué)生記錄描述為 struct student {int no; char name[20]; char sex; struct {int year; int month; int day;}birth;}; struct student s; 設(shè)變量s中的“生日”應(yīng)該是“1984年11月11日”,下列對(duì)“生日”的正確賦值方式是( )。
A.year=1984; month=11; day=11;
B.birth.year=1984; birth.month=11; birth.day=11;
C.s.year=1984; s.month=11; s.day=11;
D.s.birth.year=1984; s.birth.month=11; s.birth.day=11;
9.設(shè)有說(shuō)明語(yǔ)句:char w;int x;float y;double z;w*x+z-y值的數(shù)據(jù)類型為( )。
A.float
B.char
C.int
D.double
10.以下對(duì)C語(yǔ)言中共用體類型數(shù)據(jù)的敘述正確的是( )
A.可以對(duì)共用體變量名直接賦值
B.一個(gè)共用體變量中可以同時(shí)存放其所有成員
C.一個(gè)共用體變量中不能同時(shí)存放其所有成員
D.共用體類型定義中不能出現(xiàn)結(jié)構(gòu)體類型的成員
11.x=-2; y=-1; if(x!=0) if(x>0) y=1; else y=0; 該程序段的輸出結(jié)果為( )。
A.1
B.0
C.-1
D.不確定
12.C語(yǔ)言中規(guī)定,if語(yǔ)句的嵌套結(jié)構(gòu)中,else總是與( )配對(duì)
A.與最近的if 配套
B.與第一個(gè)if 配套
C.按縮進(jìn)位置相同的if配套
D.與最近的且尚未配對(duì)的if 配套
13.下列哪個(gè)是讀寫文件出錯(cuò)檢測(cè)函數(shù)( )。
A.ferror
B.clearerr
C.feof
D.fwrite
14.for (i=2; i==0; ) printf(“%d” , i--) ; 以上程序段的循環(huán)次數(shù)是( )
A.2次
B.無(wú)限次
C.0次
D.1 次
15.以下不正確的語(yǔ)句為( )
A.if(x>y);
B.if(x>y){x++;y++;}
C.if(x=y)&&(x!=0)x+=y;
D.if(x!=y) scanf("%d",&x); else scanf("%d",&y);
16.下面4個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是( )
A.A P_0 do
B.float a0 _A
C.b-a 123 int
D._123 temp INT
17.main() {struct date {int year,month,day;}today; printf("%d\n",sizeof(struct date));} 以上程序的運(yùn)行結(jié)果是( )
A.6
B.8
C.10
D.12
18.若有以下定義語(yǔ)句:int a[10]={1,2,3,4,5,6,7,8,9,10}; 則下列哪個(gè)是對(duì)該數(shù)組元素的正確引用( )
A.a[10]
B.a[a[3]-5]
C.a[a[9]]
D.a[a[4]+4]
19.若要打開(kāi)D盤上user文件夾下名為abc.txt的文本文件進(jìn)行讀、寫操作,符合此要求的函數(shù)調(diào)用是( )
A.fopen("D:\\user\\abc.txt","r")
B.fopen("D:\user\abc.txt","w")
C.fopen("D:\\user\\abc.txt","r+")
D.fopen("D:\user\abc.txt","rb")
20.已知字母A的ASCII碼為十進(jìn)制數(shù)65,且定義c2為字符型變量,則執(zhí)行語(yǔ)句c2='A'+'6'-'3';后,c2中的值為( )
A.D
B.68
C.不確定的值
D.C
21.fscanf函數(shù)的正確調(diào)用形式是( )。
A.fscanf(文件指針,格式字符串,輸出表列)
B.fscanf(格式字符串,輸出表列, fp)
C.fscanf(格式字符串,文件指針,輸出表列)
D.fscanf(文件指針,格式字符串,輸入表列)
22.下面不正確的字符串常量是( )。
A.abc'
B."12'12"
C."0 "
D." "
23.若已有定義int x;下列說(shuō)明指針變量p指向x的正確語(yǔ)句是( )
A.int p=&x;
B.int *p=&x;
C.int p=x;
D.int *p=x;
24.putchar函數(shù)可以向終端輸出一個(gè):
A.整型變量表達(dá)式值
B.實(shí)型變量值
C.字符串
D.字符或字符型變量值
25.以下對(duì)一維整型數(shù)組 a 的正確說(shuō)明是( )
A.int a(10) ;
B.int n=10,a[n];
C.int n;
D.define SIZE 10 int a[SIZE];
26.若定義語(yǔ)句:int a=7;float x=2.5;y=4. 7; 則表達(dá)式x+a%3*(int)(x+y)%2/4的值是( )
A.2.500000
B.2.750000
C.3.500000
D.0.000000
27.下面正確的字符常量是( )
A."c"
B."\\"
C.'W'
D.''(中間沒(méi)有空格)
28.int k=1; while (k<=10); 上述語(yǔ)句執(zhí)行后,變量k的值是( )。
A.10
B.11
C.9
D.無(wú)限循環(huán),值不定
29.printf函數(shù)中用到格式符%5s ,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長(zhǎng)度大于5,則輸出按方式( )
A.從左起輸出該字串,右補(bǔ)空格
B.按原字符長(zhǎng)從左向右全部輸出
C.右對(duì)齊輸出該字串,左補(bǔ)空格
D.輸出錯(cuò)誤信息
30.#include<stdio.h> main() {union { long a; int b; char c;}m; printf("%d\n",sizeof(m));} 以上程序的運(yùn)行結(jié)果是( )。
A.2
B.4
C.6
D.8
31.在C語(yǔ)言中,char型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是( )
A.補(bǔ)碼
B.反碼
C.原碼
D.ASCII碼
32.判斷字符串a(chǎn)是否大于b,應(yīng)當(dāng)使用( )
A.if (a>b)
B.if (strcmp(a,b))
C.if (strcmp(b,a)>0)
D.if (strcmp(a,b)>0)
33.x=-1; do { x=x*x; } while (x); 以上程序段( )
A.是死循環(huán)
B.循環(huán)執(zhí)行2次
C.循環(huán)執(zhí)行1次
D.有語(yǔ)法錯(cuò)誤
34.fwrite函數(shù)的一般調(diào)用形式是( )
A.fwrite(buffer,count,size,fp)
B.fwrite(fp,size,count,buffer)
C.fwrite(fp,count,size,buffer)
D.fwirte(buffer,size,count,fp)
35.main( ) {int n=4; while(n)printf("%d ",--n); } 以上程序的輸出結(jié)果是( )。
A.2 0
B.3 1
C.3 2 1 0
D.2 1 0
36.main() {int x=2,y=-1,z=2; if(x<y) if(y<0) z=0; else z+=1; printf("%d\n",z); } 以上程序的輸出結(jié)果為( )。
A.3
B.2
C.1
D.0
37.在C語(yǔ)言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是( )。
A./
B.&&
C.!=
D.%
38.設(shè)有如下程序 # include<stdio.h> main() { char ch1='A',ch2='a'; printf("%c\n",(ch1,ch2)); } 則下列敘述正確的為( )
A.程序的輸出結(jié)果為大寫字母A
B.程序的輸出結(jié)果為小寫字母a
C.運(yùn)行時(shí)產(chǎn)生錯(cuò)誤信息
D.格式說(shuō)明符的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù),編譯出錯(cuò)
39.fgetc函數(shù)的作用是從指定文件讀入一個(gè)字符,該文件的打開(kāi)方式必須是( )
A.只寫
B.追加
C.讀或讀寫
D.答案B和C都正確
40.下列關(guān)于數(shù)組的特征錯(cuò)誤的是( )。
A.先定義后使用
B.可以有多維
C.定義數(shù)組長(zhǎng)度時(shí)可以用常量或變量
D.可以作參數(shù)傳遞
二、判斷題 (共 10 道試題,共 20 分)
41.在Visual C中,實(shí)型數(shù)據(jù)在內(nèi)存中占4個(gè)字節(jié)。( )
42.用C語(yǔ)言可直接進(jìn)行位運(yùn)算和取地址等運(yùn)算,因此C語(yǔ)言是一種低級(jí)語(yǔ)言。( )
43.C語(yǔ)言中的任何類型數(shù)據(jù)都可進(jìn)行四則運(yùn)算。( )
44.在Turbo C++中,字符型數(shù)據(jù)在內(nèi)存中占1個(gè)字節(jié)。( )
45.在Visual C中,整型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié)。( )
46.在C語(yǔ)言中,字母的大小寫不被區(qū)分。( )
47.C程序是由函數(shù)構(gòu)成的,每一個(gè)函數(shù)完成相對(duì)獨(dú)立的功能。( )
48.字符常數(shù)和字符串常數(shù)的存儲(chǔ)是相同的,都是以字符的ASCII碼值進(jìn)行存放。( )
49.賦值表達(dá)式c=b=a=3是錯(cuò)誤的。( )
50.在Turbo C++中,存儲(chǔ)字符串常數(shù)時(shí)所占內(nèi)存空間是不固定。( )