




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1-11-1C語言中在else之后可以直接跟條件。(1分)
F
1-2C語言中的變量名屬于標識符。(1分)
T
1-3可以使用print輸出一個字符。(1分)
T
1-3c語言中書寫程序時一行可以寫多個語句。Q分)
T
1-5執行c程序時,不是從main函數開始。(1分)
F
1-6c程序書寫格式限制嚴格,--行內只能寫一條語句。(1分)
F
1-7-個程序可由一個或多個函數組成。(1分
T
1-8c程序的基本組成單位是函數。Q分)
T
1-9在c程序中,注釋語句只能位于一條語句的后面。Q分)
F
1-10c程序中注釋語句可以這樣寫:/注釋/和〃注釋。(1分)
F
1-11c語言具有位運算功能。(1分
T
1-12每一條c語言語句的最后都必須加分號。(1分)
T
1-13c語言的每個函數都可以用return語句返回一個返回值。(1分)
T
1-14c語言每個函數的返回值都是int型的。(1分)
F
1-15若有定義:charch='\105';測變量ch中包含4個字符。(1分)
F
1-16C語言中變量名和R表示同-一個變量。Q分)
F
1-17c語言中運算符%的優先級高于&&。Q分)
T
1-18C語言中3/2的值是1。(1分)
T
1-19C語言中字符串常量是用雙引號括起來的。Q分)
T
1-20在C語言中這個表達式是正確的:'a'+2(1分)
T
1-21在C語言中一個字符型變量中可以存放多個字符。Q分)
F
1?22在C語言中轉義字符可以算是多個字符,如,\101'。Q分)
F
1-23這個賦值語句是正確的:5=a;(l分)
F
1-24在C語言中一個float型變量一般是占2個字節的內存空間。Q分)
F
1-25求余數運算符%的兩邊只能是整型的數據。(1分)
T
1-26可以使用圓括號改變運算符的運算次序。(1分)
T
1?27C語言中的運算符有單目的、雙目的,還有三目的。(1分)
T
1-28函數pow(x,y)的作用是計算y的x次方。Q分)
F
判斷整型變量是否是偶數的表達式為分)
1-29aa%2=0o(1
F
判斷整型變量能否同時被和整除的表達式為分)
1-30a37a%3==0&&a%7==0o(1
T
1-31表達式的值只能是1或者0。(1分)
T
1-32賦值號左邊必須為變量。(1分)
T
假設有則的值為分)
1-33floatf=7;f%210(1
F
1-34復合語句是由一對大括號括起來的若F條語句組成的。(1分)
T
1-35空語句不是一條始法的語句,因為它沒有作用。(1分)
F
1-36可以使用getchar函數輸入一個字符串。Q分)
F
1-37不可以把一個實型數據賦給一個整型變量。(1分)
F
1-38可以把一個整型數據賦給一個實型變量。(1分)
T
1-39可以使用scant輸入.個字符。Q分)
T
1-40復合語句語法上是一條語句。。分)
T
1-41在邏輯運算符中,邏輯非⑴的優先級別最高。
T
1-42示變量x的值在1到9之間的邏輯表達式為l<=x<=9o(1分)
F
1-43若a=l;b=2;c=3;d=4;m=l;n=1;則執行語句(m=a>b)&&(n=c>d)后,m的值為0,n的
值也為0o(1分)
F
1-44if(a>b){t=a;a=b;b=t;}<3條c語句。(1分)
F
1-45switch語句中break語句是必須的。Q分)
F
1-46switch語句中default語句是必須的。(1分)
F
1-47switch語句中多個case標號可以共用一組語句。(1分)
T
的值為分)
1-48(floa0(l/2)0.5o(1
F
1-49在條件表達式(exp)?a:b中,表達式(exp)與表達式(exp!=0)完全等價。(1分)
T
已知:則執行表達式后,變量的值為分)
1-50intx=6,y=2,z;z=x=x>yz6O(1
F
1-51while循環的循環體最少要執行-次。(1分)
F
1-52對for(表達式L;表達式3)可理解為for(表達式1;1;表達式3)。(1分)
T
1-53c語言中三種循環語句可以相互嵌套。(1分)
T
1-54do-while循環的循環體最少要執行-次。(1分)
T
1-55循環體中若有多條語句,應構成一復合語句。(1分)
T
1-56C語言的數組下標從0開始。Q分)
T
1-57若有定義floata⑹={123},則數組中含有3個元素。(1分)
F
1-58若有定義:inta[3][4];則a「b'-a'][2]是對a數組元素的正確引用。(1分)
F
1-59數組初始化時,初始值個數小于數組元素的個數,C語言自動將剩余的元素初始化為初
始化列表中的最后一個初始值。(1分)
F
1-60對于定義inta[5];可以通過語句scanf(Wd“a)輸入全部元素的值。Q分)
F
1-61要對文件進行操作必須先使用fopen函數打開該文件。Q分)
T
1-62close⑴;表示關閉指針fp所指向的那個文件。(1分)
F
1-63fprintf(fp$d”,a);表示將變量a以十進制整數形式保存到指針fp所指向的文件中。Q
分)
T
1-64scanf(fp,"%c",&xch);表示從指針fp所指向的文件中讀出一個字符并保存到變量ch中。
(1分)
F
1-65語句int*p和printf(”%d”,*p);中的*p含義相同。(1分)
F
1-66可以將一個整型數據賦給一個指針變量,如P=3000。(1分)
F
1-67指針變量中保存的肯定是一個地址。(1分)
T
1-68指針變中保存的不一定是一個地址。(1分)
F
1-69如此定義指針變量int*p;后,可以把一個實型變量的地址賦給變量p。(1分)
F
1-70對于定義inta[5],*p=a后,*(p+l)和*(a+l)的值是相同的。(1分)
T
1-71chars[80];s="hello”;這樣賦值是可以的。(1分)
F
1-72chars[80],*p=s;p="hell。”,這樣賦值是可以的。(1分)
T
1-73charsl[80],s2[80];sl=s2;這樣賦值是正確的。(1分)
F
1-74語句char*pstr="lalala!”的含義是將字符串存入到變量pstr中。Q分)
F
1-75對于兩個字符串變量si和s2,使用if(s干s2)來比較大小是可以的。(1分)
F
1-76C語言的一個源程序文件中只能包含一個函數。(1分)
F
1-77C語言程序執行時是從main函數開始,最后也是結束于main函數。(1分)
T
1-78main函數必須位于其他函數之前。Q分)
F
1-79除了main函數,其他函數都必須先聲明才能調用。(1分)
F
1-80在不同函數中不能使用相同名稱的變量。(1分)
F
1-81以數組名作函數參數時,數據傳遞的方向是“雙向的”,因此我們可以說,在此情況
下,函數帶回的返回值可能不止一個。(1分)
T
1-82以數組名作函數參數時,實參數組與形參數組都不必定義長度,因為實參與形參的結
合方式是地址結合,與數組長度無關。(1分)
T
1-83在調用一個函數的過程中又出現直接或間接地調用該函數本身,這稱為函數的遞歸調
用。(1分)
T
1-84函數的遞歸調用是嵌套調用的特例。Q分)
T
1-85用指針變量做函數參數時,參數間進行的是地址傳遞。Q分)
T
1-86C語言中的預處理命令都以u#"開頭。(1分)
T
1-87//include<stdio.h>是一條編譯預處理命令。(1分)
T
1-88#definePI3.1415926是一條C語句。(1分)
F
1-89宏定義不存在類型問題,宏名無類型,它的參數也無類型。(1分)
T
1-90宏名必須用大寫字母表示。(1分)
F
1-91C語言中的結構體類型屬于-種構造類型。(1分)
T
1-92結構體變量的存儲空間是該結構體中所有成員所需存儲空間的總和。(1分)
T
1-93-個結構體類型中的各個成員的類型必須是相同的。(1分)
F
1-94結構體類型不可以嵌套定義。(1分)
F
1-95結構體變量不能進行整體輸入輸出。
T
1-96當對一個數進行左移運算時,每左移-位,-定相當于移位對象乘以2。(1分)
F
1-97若要使一個數中某些指定位翻轉而另-一些位保持不變,可以將此數與另-個數做”異
或“運算。Q分)
T
1-98a為任意整數,表達式a=a^a能將變量a清零。(1分)
T
1-995-2<<3的值為24。(1分)
T
1-100若已知a=l,b=2,則表達式!a>b的值為0。(1分)
F
2-1
以下敘述不正確的是(C)。
1.c程序中,語句之間必須用分號分隔。
2.c程序中,多行語句可以寫在一行上。
3.c程序中,可以不必包含主函數。
4.一個c程序,可以由多個函數組成。
2-2
c語言規定,在一個源程序中,main函數的位置(C)?
1.必須在最開始
2.必須在系統調用庫函數的后面
3.可以任意
4,必須在最后
2-3
以下敘述不正確的是(A)。
1.main函數必須位于程序的最前面。
2.c程序中,每行可以寫多條語句。
3.c語言本身不提供輸入輸出語句。
4.在對c語言程序進行編譯的過程中,不能發現注釋中的錯誤。
2-4
一個C程序的執行是從(A)。
1.本程序的main函數開始,到main函數結束
2.本程序文件的第一個函數開始,到本程序文件的最后一個函數結束
3.本程序文件的第一個函數開始,到本程序main函數結束
4.本程序的main函數開始,到本程序文件的最后一個函數結束
2-5
以下敘述不正確的是(D)。
1.一個C源程序必須包含一個main函數
2.一個C源程序可由一個或多個函數組成
3.C程序的基本組成是函數
4.在C程序中,注釋說明只能位于一條語句的后面
2-6
以下敘述不正確的是(B)。
1.若a和b類型相同,在計算了賦值表達式a=b后,b中的值將放入a中,且b中的值
不變。
2.當從鍵盤輸入數據時,對于整型變量只能輸入整型數值,對于實型變量只能輸入實型
數值。
3.在C程序中,逗號運算符的優先級最低。
4.在C程序中,MAX和max是兩個不同的變量。
2-7
已知字母A的ASCII碼為十進制數65,且c2為字符型,則執行語句c2=4+6-3
后,c2中的值為(C)。
1.D
2.68
3.不確定的值
4.C
2-8
sizeof(float)是(B)。
1.一個雙精度型表達式
2.一個整型表達式
3.一種函數表達式
4.一個不合法的表達式
2-9
若變量已正確定義,要將a和b中的值進行交換,下面不正確的語句組是(D)。
1.a=a+b,b=a-b,a=a-b;
2.t=a,a=b,b=t;
3.t=b;b=a;a=t;
4.a=t;t=b;b=a;
2-10
若有定義:charch=,\x42';則變量ch中包含(A)個字符。
1.1
2.2
3.4
4,定義不合法
2-11
下列選項中可以作為C語言的合法整數的是(B)o
1.bf
2.0x7e3
3.03678
4.1011B
2-12
putchar函數可以向終端輸出一個(D)。
1,整型變量表達式
2.實型變量值
3.字符串
4.字符
2-13
printf函數中用到格式符%-6s,其中數字6表示輸出的字符串占用6歹限如果字符串長度小
于6,則輸出按方式(A)。
1.從左起輸出該字符串,右補空格
2.從右起輸出該字符串,左補空格
3.0
4.輸出錯誤信息
2-14
printf函數中用到格式符%5s,其中數字5表示輸出的字符串占用5歹人如果字符串長度大于
5,則輸出按方式(B)0
1.從左起輸出該字符串,右補空格
2.按原字符長從左向右全部輸出
3.0
4.輸出錯誤信息
2-15
若變量已定義為float類型,要通過以下賦值語句scanf("%f,%f“,&a,&b);給a賦值為11,給b
賦值為22,以下正確的輸入形式是(D)。
1.1122
2.11&22
3.11:22
4.11,22
2-16
若變量已正確說明為int類型,要給a,b,c輸入數據,以下正確的輸入語句是(C)o
1.reada,b,c;
2.getchar(a,b,c);
3.scanf("%d%d%d",&ar&b,&c);
4.scanf("%d%d%d",a,b,c);
2-17
以下敘述正確的是(C)o
I.在c程序中,不允許把一個整數賦值給一個實型變量。
2.1/2的值為0.5o
3.在C程序中,%是只能用于整數運算的運算符。
4.在C程序中,無論是整數還是實數,都能被準確無誤地表示。
2-18
設有說明則表達式值的數據類型為(
:charw;intx;floaty;doublez;wx+z-yD)o
1.float
2.char
3.int
4.double
2-19
已知以下語句:二才丸行后的值是(
intx=10,y=20,z=31;if(x<y)z=x;x=y;yzx,y,zC)o
1.x=10,y=20,z=30
2.x=20,y=30,z=30
3.x=20,y=10,z=10
4.x=20,y=30,z=10
2-20
已知以下語句:執行后的值是(
intx=10,y=20,z=32if(x<y)z=x;elsex=y;y=z;x,y,zA)o
1.x=10,y=10,z=10
2.x=20,y=30,z=30
3.x=20,y=30,z-W
4.x=20,y=20,z=20
2-21
已知以下語句:〈執行后的值是
intx=10,y=20,z=33;if(xy)z=x;ulse{x=y;y=z;}x,y,z(B)o
1.x=10,y=20,z=30
2.x=10,y=20,z=10
3.x=20,y=30,z=10
4.x=20,y=30,z=20
2-22
表示關系1〈=x<=100的c語言表達式為(D)0
1.x>=l&x<=100
2.x>=landx<=100
3.l<=x<=100
4.x>=l&&x<=100
2-23
在下面的條件語句中(其中SI和S2表示c語言語句),哪一個在功能上與其他3個語句不
等價(B)。
1.if(a!=O)Sl;elseS2;
2.if(a==O)Sl;elseS2;
3.if(a)Sl;elseS2;
4.if(a==O)S2;elseSI;
2-24
以下不屬于算法的特征的是(A)o
1.無窮性
2.確切性
3.可行性
4.輸出項
2-25
判斷char型變量ch是否為大寫字母的正確表達式是(C)o
1.'A,<=ch<=*Z'
2.(ch>='A')&(chv二'Z)
3.(ch>=TV)&&(ch<=Z)
4.('A'<=ch)AND(Z>=ch)
2-26
設有:inta=l,b二2,c=3,d=4,m=2,n=2;執行(m=a>b)&&(n二c>d)后n的值為(B)o
1.1
2.2
3.3
4.4
2-27
若有intabd=241;語句a=d/100%9;b=(-1)&&(-1);執行后a,b的值為(B)。
1.6,1
2.2,1
3.6,0
4.2,0
2-28
設有程序段intk=10;while*=0)k=k-1;這下面描述中正確的是(C)。
1.while循環執行10次C
2.循環是無限循環
3.循環體語句一次也不執行
4.循環體語句執行一次
2-29
若i為整型變量,則以下循環for(i=2;-0;i--)pnntf(“%cT,i);執行次數是(B)0
1.無限次
2.。次
3.1次
4.2次
2-30
執行語句fo「(i=l;i<4;i++)后變量i的值是(C)o
1.3
2.5
3.4
4.不定
2-31
下列程序的循環次數是(A)o
inti=0;
while(i<100)
{if(i<l)
continue;
if(i==3)
break;
i++;
)
1.死循環
2.1
3.2
4.3
2-32
合法的數組定義語句是(D)o
1.inta□二“string”;
2.inta[5]={0,l,2,3,4,5);
3.chara="string";
4.chara□二“string”;
2-33
有定義語句inta[5],I;,輸入數組a的所有元素的語句應為(C)。
1.scanf("%d%d%d%d%d",a[5]);
2.scanf("%d",a);
3.for(i=0;i<5;i++)scanf("%d",&a[i]);
4.for(i=0;i<5;i++)scanf("%cT,a[i]);
2-34
以下能正確定義二維數組的語句是(D)o
1.intaQQ;
2.intaD[3];
3.inta[2]Q;
4.inta[2][3];
2-35
以下對二維數組a的正確說明是(C)o
1.inta[3][];
2.floata(3,4);
3.doublea[l][4];
4.floata(3)(4);
2-36
變量的指針,其含義是指該變量的(B)o
1,值
2.地址
3.名
4.一個標志
2-37
若想對文本文件進行只讀操作,打開此文件的方式是(D)o
1,"rb"
2."w"
3.nab"
4."r"
2-38
若執行fopen函數時發生錯誤,則函數的返回值是(C)o
1.一個隨機地址值
2.1
3.NULL
4.EOF
2-39
文件操作的一般步驟是(B)。
1.讀/寫文件一修改文件一關閉文件
2.打開文件T讀/寫文件一關閉文件
3.讀/寫文件T打開文件T關閉文件
4.讀文件T寫文件一關閉文件
2-40
若fp是指向某文件的指針,且已讀到文件末尾,則表達式feof(fp)的返回值是(C)。
1.EOF
2.-1
3.非零值
4.NULL
2-41
關于文件指針,以下說法錯誤的是(D)。
1.只有通過文件指針變量才能調用相應文件。
2,定義文件指針變量時,FILE必須大寫。
3.一個文件指針變量只能對應一個文件。
4.一個文件指針變量可以同時對應多個文件。
2-42
以下為一維整型數組a的正確說明是(D)。
1.inta(10);
2.intn=10,a[n];
3.intn;scanf("%d",&n);inta[n];
4.#defineSIZE10inta[SIZE];
2-43
若二維數組a有m列,則在前的元素個數為(B)。
1.j*m+i
2.i*m+j
3.i*m+j-l
4.i*m+j+l
2-44
若有語句int*point,a=4;和point=&a;下面均代表地址的一組選項是(D)。
1.a,point,*&a
2.&*a,&a/point
3.*&point,*point,&a
4.&a,&*point,point
2-45
若有說明:以下正確的程序段的是(
int*p,m=5,n;D)o
1.p=&n;scanf("%d",&p);
2.p=&n;scanf("%d",*p);
3.scanf("%d",&n);*p=n;
4.p=&n;*p=m;
2-46
若有以下定義,inta[5],*p=a;則對a數組元素的正確引用是(B)。
1.*&a[5]
2.*(a+2)
3.*(P+5)
4,a+2
2-47
若有以下定義,則表示
inta[10],*p=a;p+5(A)0
1.元素a[5]的地址
2.元素a⑸的值
3.元素a[6]的地址
4.元素a⑹的值
2-48
以下敘述錯誤的是(D)。
1.指針可以進行加、減等算術運算;
2.指針中存放的是地址值
3.指針是一個變量
4.指針變量不占用存儲空間
2-49
對于基類型相同的兩個指針變量之間,不能進行的運算是(C)o
1.<
2.二
3.+
4.-
2-50
假設整型變量a的值為100,a的地址為2000,若欲使p為指向a的指針變量,則以下復制
正確的是(D)o
1.*p=2000;
2.*p=12;
3.p=2000;
4.p=&a;
2-51
若有說明:intn=2,p=&n,q=p;則以下非法的賦值為(D)。
1.P=q;
2.P=q;
3.n=*q;
4.p=n;
2-52
有兩個字符數組a、b,則以下正確的輸入語句是(C)o
1.gets(a.b);
2.scanf("%s%s",*a,*b);
3.scanf("%s%s",&a,&b);
4.gets(a);gets(b);
2-53
判斷字符串si是否大于字符串s2,應當使用(D)。
1.if(sl>s2)
2.if(strcmp(sl,s2))
3.if(strcmp(s2,sl)>0)
4.if(strcmp(sl,s2)>0)
2-54
設pl和p2是指向同一個字符串的指針變量,c為字符變量,則以下不能正確執行的賦值
語句是(B)0
1.c=*pl;
2.p2二c
3.pl=p2
4.pl+=2
2-55
以下正確的程序段是(C)o
1.charstr[20];scanf("%s",&str);
2.char*p;scanf("%s",p);
3.charstr[20];scanf("%s",&str[2]);
4.charstr[20],*p=str;scanf("%s",p[2]);
2-56
若有說明語句charismine";char*p="ltismine";則以下不正確的敘述是(D)0
1,a+1表示的是字符t的地址
2.p指向另外的字符串時,字符串的長度不受限制
3.p變量中存放的地址值可以改變
4.a中只能存放10個字符
2-57
下列選項正確的語句組是(A)。
1.char*s;s="hello!";
2.char*s;s={"hello!"};
3.chars[8];s="hello!";
4.chars[8];s={"hello");
2-58
為了判斷兩個字符串si和s2是否相等,應當使用下列哪個語句(B)o
1.if(sl==s2);
2.if(strcmp(sl,s2)==0);
3.if(sl=s2);
4.if(strcpy(sl,s2));
2-59
有如下定義,Chars[80]*p=s;不能給數組s輸入字符串的是(B)。
1.gets(p)
2.gets(s[0]);
3.gets(&s[0]));
4.gets(s);
2-60
有以下定義,CharsD="012M356"*p=s;不能表示字符M的表達式是(D)o
1.*(P+3)
2.s[3]
3.*(s+3)
4.*p+3
2-61
有定義語句chararray口="China”;則數組array所占用的空間為(C)。
1.4個字節
2.5個字節
3.6個字節
4.7個字節
2-62
以下正確的函數聲明形式是(A)。
1.intfun(intx,inty)
2.intfun(intx;inty)
3.intfun(intx,y);
4.intfun(intx,inty);
2-63
C語言規定,簡單變量做實參時,它和對應形參之間的數據傳遞方式是(D)。
1.地址傳遞
2.由用戶指定傳遞方式
3.雙向值傳遞
4,單向值傳遞:實參的值傳給形參
2-64
以下程序有語法性錯誤,intmain(void){intN=3,k;voidfunl();〃函數聲明k=funl(N);//
函數調用...}o有關錯誤原因的正確說法是(B)。
1.語句voidfunl();有錯,它是函數調用語句,不能用void說明。
2.函數說明和函數調用語句之間有矛盾
3.函數聲明語句不應該放在這里。
4.變量名不能使用大寫字母
2-65
C語言在C89標準中允許函數定義時缺省函數類型,此時隱含的函數的類型是(C)。
1.long
2.float
3.int
4.double
2-66
在C語言中以下正確的敘述是(D)。
1.函數的定義和函數的調用均可以嵌套。
2,函數的定義和函數的調用均不可以嵌套。
3,函數的定義可以嵌套,但函數的調用不可以嵌套。
4.函數的定義不可以嵌套,但函數的調用可以嵌套。
2-67
若有數組名作為函數調用的實參,傳遞給形參的是(
A)o
1.數組的首地址
2.數組第一個元素的值
3.數組中全部元素的值
4,數組元素的個數
2-68
如果在一個函數中的復合語句中定義了一個變量,則該變量(B)。
1.在該函數中有效
2.只在該復合語句中有效
3.在該程序范圍內均有效
4.為非法變量
2-69
凡是函數中未指定存儲類別的局部變量,其隱含的存儲類別為(
B)o
1.靜態(static)
2.自動(auto)
3.外部(extern)
4,寄存器(register)
2-70
以下說法正確的是(B)。
1.實參類型不必同形參類型一致。
2.實參可以是常量、變量和表達式。
3.形參可以是常量、變量和表達式。D.實參順序與形參順序無關。
2-71
有關C語言的主函數描述正確的是(C)。
1.C程序可以有多個main函數
2.C程序可以沒有main函數
3.C程序有且只有一個main函數
4.C程序不一定從main函數開始執行
2-72
以下正確的描述是(D)。
1.如果形參和實參的類型不一致,應以實參類型為準。
2.定義函數時,可以省略不寫形參的類型,只寫形參名。
3.return語句后不能是表達式。
4.如果函數值類型與返回值類型不一致,應以函數值類型為準。
2-73
下列關于函數的描述錯誤的是(D)。
1.C程序是由函數組成的。
2.C程序中的函數是各自獨立的。
3.main函數可以調用其他的函數。
4.在main函數中可以嵌套定義別的函數。
2-74
對于一維數組名作為函數實參,以下描述正確的是
(B)o
1.實參數組類型與形參數組類型可以不一致。
2,必須在主調函數中說明此數組的大小。
3.函數調用時是將實參數組中的所有元素值復制到形參數組中。
4.實參數組名與形參數組名必須保持一致。
2-75
數組名作為參數時,以下敘述正確的是(C)。
1.函數調用時是將實參數組的所有元素值傳給形參。
2.函數調用時是將實參數組的第一個元素值傳給形參。
3,函數調用時是將實參數組的首地址傳給形參。
4.函數調用時是將實參數組的所有元素的地址傳給形參。
2-76
已有如下數組定義和函數調用語句,inta[3][4];fun(a);則fun函數的形參數組定義正確的
是(C)。
1.fun(inta□⑹)
2.fun(inta[3]Q)C.fun(intaQQ)
3.fun(inta[][4])
2-77
以下描述錯誤的是
(A)o
1.實參數可以與形參個數不一致。
2.C程序中,函數可以直接或間接地調用自己。C.函數調用時,函數名必須與所調用的
函數名字完全一致。D.函數聲明語句中的類型必須與函數返回值得類型一致。
2-78
關于遞歸函數以下敘述錯誤的是(
B)o
1.遞歸函數是自己調用自己。
2.遞歸函數的運行速度很快。
3.遞歸函數占用較多的存儲空間。
4.遞歸函數的運行速度一般比較慢。
2-79
以下對局部變量描述錯誤的是(B)。
1.在函數內部定義的變量。
2.在程序的全部執行過程中一直占用存儲單元。
3.在main函數中定義的變量是局部變量。
4.形式參數也是局部變量。
2-80
在一個源文件中定義的全局變量的作用域是(B)。
1.本文件的全部范圍。
2.從定義該變量的位置開始到本文件結束。
3.本程序的全部范圍。
4,本函數的全部范圍。
2-81
以下關于局部變量和全局變量的敘述錯誤的是(C)。
1.main函數中定義的變量是局部變量。
2.局部變量可以與全局變量重名。
3.形式參數不是局部變量。
4,在所有函數外定義的變量是全局變量。
2-82
若函數定義如下,intfun(floata){floatb=a+3;returnb;}假設將常數3.6傳給a,則函數的
返回值是(D)o
1.3
2.6.6
3.5
4.6
2-83
若有以下說明語句,structbirthday{intyear;intmonth;intday;}dayl;則下面敘述正確的是
(D)o
1.dayl為結構體類型名
2.structbirthday為結構體變量名
3.month為結構體變量名
4.dayl為結構體變量名
2-84
若有以下結構體類型定義,structworker{intx;floaty;}a;則賦值語句正確的是(C)。
1.worker.x=10;
2.worker.a.x=10
3.a.x=10;
4.x.a=10;
2-85
若有以下結構體類型定義,structworker{charname[16];structdate{intyear;intmonth;int
day;}birthday;}x;則賦值語句正確的是(B)。
1.x.year=1999;
2.x.birthday.month=3;
3.=“黎明”;
4.x.birthday二1999.9.9;
2-86
若有如下定義,structworker{charname[17];intage;intscore;}x;且sizeof(int)=4,貝lj變量
x在內存中需要的字節數是(C)。
1.17
2.21
3.25
4.4
2-87
根據下面的定義,structworker{charname[18];intage;};structworker
w[100]={"John",16,"Paul",17/'Mary",16);能輸出字母‘P'的語句是(D)。
1.printf("%c",w[l].name);
2.printf("%c",w[2].name[0]);
3.printf("%c",w[2].name[l]);
4.printf(',%c",w[l].name[O]);
2-88
根據下面的定義,structworker{charname[18];intage;};structworker
,
w[100]={"John",16,"Paur,17l"Mary",17);能輸出字符串‘Mary1的語句是(A)。
1.printf("%s",w[2].name);
2.printf("%s",w[l].name);
3.printf("%s"1w[2]);
4.printf("%s",w[l]);
2-89
若有以下定義,structdata{intx;inty;}datal;int*p;則使p指向datal中的成員x,正確的
賦值語句是(B)。
1.p=&a;
2.p=&datal.x
3.p=datal.x;
4.*p=datal.x;
2-90
表達式a?3|b的計算順序是(D)。
1.先執行左移,后執行或運算
2,先執行或運算,再執行左移
3,先執行或運算,再執行右移
4.先執行右移,再執行或運算
2-91
以下不能將變量m清零的表達式是(C)。
1.m=m&~m
2.m=m&0
3.m=m|m
4.m=mAm
2-92
表達式0xll&0xl3的值是(B)o
1.0x12
2.0x11
3.0x12
4..0x22
2-93
若有以下定義,structdata{intx;inty;}datal;int*p;則使p指向datal中的成員x,正確的
賦值語句是(B)。
1.p=&a;
2.p=&datal.x
3.p=datal.x;
4.*p=datal.x;
5-1
輸入一個整數,根據輸入,輸出該整數的絕對值。限定不能調用庫函數。。
#include<stdio.h>
intmain(void)
{intx;
(4分);
}
5-2
鍵盤輸入10個數存入一維數組中,編程實現輸出下標為奇數的元素。數據輸入時用空格
分隔,要求輸出完最后一個數據后要換行。
#include<stdio.h>
intmain(void)
{inta[10]
for(i=0;i<10;J(2分))〃輸入數據
ap]
scanf(“%d”J(2分));
for(i=l;i<10;l(2分))〃輸出數據
if(i!=9)
printf("%d",a[i]);
else
printfC'l(2分)"
return0;
回文數是指正讀和反讀都一樣的數。例如:12321、55455、35553等都是回文。請編寫
一個程序,從鍵盤上讀取一個包含5位數字的長整數,并判斷它是否是回文數。先將輸
入數據輸出,再輸出是否是回文,若是回文輸出“yes”,否則輸出“n。",中間用一個空格分
隔。
#include<stdio.h>
intmain(void)
{intn,nl,n2,n4,n5;〃nl表示萬位上的數字,n2千位數字,n4H立數字,n5個位數字
scanf("%d\&n);
^rVIOOOO
:i(2分);
n/1000%10
(2分);
n/10%10
(2分);
(2分);
n1=n5&&n2=n4
(2分))
printf(H%dyes\n"n);
else
printf("%dno\n",n);
return0;
5-4
請編程從鍵盤上輸入3個整數(用空格分隔),判斷這3個數是否可以構成一個三角形
(條件:三條邊均大于0且任意兩邊之和均大于第三邊),如果可以則進一步判斷是等
邊、等腰還是一般三角形。若為等邊三角形輸出“1",若為等腰三角形輸出"2",若為一般三
角形輸出"3",若無法組成三角形輸出
#include<stdio.h>
intmain(void)
{intx,y,z;
scanf(
(2分);
x+y>z&&x+z>y&8y-?z>X
(2分))//能構成三角形
XT&SyT
{if((2分))〃等邊三角形
printf("l\n");
x=y&x!=z||x=z&&xl=y||y=z&Sy!=x
(25))//等腰三角形
printf("2\n");
else
printf(“3\n”);〃一般三角形
)
else〃不能構成三角形
printf(
return。;
)
5-5
輸入三個整數,按照由小到大的順序輸出。數據輸入時數據之間用空格分隔,輸出時用逗
號,分隔。
#include<stdio.h>
intmain(void)
{intx,y,z,t;
scanf(
(2分);
if(x>y)
|{t=*p<=yy=<;}
if(x>z)
j{t=^x=Z?=t;}
if(y>z)
|{t寸;y=ZK;}
printf("%d,%d,%d\n",x,y,z);
return0;
5-6
輸入三個整數,求出其中的最大值并輸出。
#include<stdio.h>
intmain(void)
{intx,y,z,max;
scanf("%d%d%d”,&x,&y,&z);
maxE
(2分);
if(l—
)
max=y;
max<z
i"(2分))
max=z;
printf(
(2分);
return0;
}
5-7
編寫程序,求自然數1至n(n>1)的累加和。其中n的值從鍵盤輸入。
#include<stdio.h>
intmain(void)
{intn,s,i;
scanf("%d",&n);
?8ao(2分);
Ii=1Ii<=nIi*H-
for。(2分)1(2分);?(2分))
I皿(2分);
printf("%d\n",s);
return0;
)
5-8
鍵盤輸入10個數存入一維數組中,編程實現輸出下標為奇數的元素。數據輸入時用空格
分隔,輸出時用逗號,分隔。
#include<stdio.h>
intmain(void)
{inta[10],i;
forJ函"。;"—(2分))//輸入數據
scanf(I
(2分));
for。(2分))//輸出數據
i%21=0
if(l(2分))
printf(?(2分));
return0;
5-9
輸入一個3行3列的二維數組,輸出二維數組中行列號之和為3的數組元素以及它們的平
均值。
#include<stdio.h>
intmain(void)
{inta[3]sum=0Jcount=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
(2分);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{k=i+j;
if(l(2分))
{printf("%d\n\a[i][j]);
(sum=^urrwa[i]O]
count++
(2分);
}
}
|(double)sum^louble)oounl
printf("average=%.21f\n",?(2:/?);
return0;
5-10
一個整數n稱為完全平方數,是指它的值是另一個整數(1至n)的平方。例如81是個完
全平方數,因為它是9的平方。下列程序的功能是對輸入的一個數判定是否為完全平方
數。請將下列程序補充完整完成相應功能。輸入輸出樣例如下:
輸入樣例1:
81
輸出樣例1:
81isaperfectsquarenumber.
輸入樣例2:
999
輸出樣例2:
999isnotaperfectsquarenumber.
#include<stdio.h>
intnumber
intiswqs([(2分))
{inti=(2分);
while(i<=number)
i*i=number
{if(i(2分))
return1;
else
i++;
)
0
return1(2分);
)
intmain(void)
{intn;
scanf("%d",&n);
if(lls“(n)(2分)==。)〃調用函數
printf("%disnotaperfectsquarenumber.\n'\n);
else
printf("%disaperfectsquarenumber.\n",n);
return0;
)
5-11
下列程序的功能是調用函數fun計算表達式1+1/2+1/3+…+1/n的值并輸出,結果保留3位
小數,不添加任何提示信息,請填空完成程序功能。
#include<stdio.h>
doublefun(intn)
{doublet=1.0;
inti;
Ii<=n
for(i=2;?(2分);i++)
(2分);
t
return1(2分);
)
intmain(void)
{intm;
doubles;
scanf("%d,&m);
Ifun(m)
s=*(2分);〃調用函數
printf(*(2分));
return0;
5-12
編寫一個函數intmymod(inta,intb),用來求a除以b的余數,并寫出相應的主函數
調用它。請填空完成程序功能。
intmymod(inta?intb)
{ints,ys;
s=a/b;
ys
return」(2分);
)
#include<stdio.h>
intmain(void)
{intx,y,myys;
scanf(!(2分));
mymod(x,y)
myys』(2分);
printf('1(2分));
return0;
}
5-13
完美數是指一個正整數的所有的真因子(即除了自身以外的約數)的和,恰好等于它本
身,例如:由于6=1+2+3,因此6是完美數。下面的程序通過調用函數wms來判斷一個
數是否是完美數,然后輸出,請填空完成程序相應功能。
intwms(inta)
{inti,s=0;
Ii<a
for(i=l;>(2分);i++)
|a%=0
if(I(2<?))
S-M
(2分);
if(s==a)return1;
elsereturn0;
)
#include<stdio.h>
intmain(void)
{intx;
|scanf(
(2分);
if(lEl(2分))
printf("%dyes\n",x);
else
printf("%dno\n'',x);
return0;
)
5-14
輸入一個由小寫英文字母構成的字符串,統計出現次數最多的字母及其所在下標并輸出。
請填空完成相應程序功能。
#include<stdio.h>
#defineN80
intmain(void)
{charstr[N];
intcount[26]={0},i=0Jmax_n,max_i;
gets(str)
(2分);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CIQA 48-2023低酸性罐藏和酸性罐藏食品商業無菌快速檢測實時光電法
- T/CIMA 0070-2023交流電能表用隧道磁阻電流傳感器
- T/CIMA 0047-2022綜合能源電力感知終端
- T/CIMA 0016-2020飲用水中銅綠假單胞菌檢測系統
- T/CIES 032-2023離網光伏路燈應用設計規范
- T/CHTS 10130-2024高韌超薄瀝青磨耗層技術指南
- T/CHINABICYCLE 19-2023可持續時尚企業指南自行車與電動自行車
- T/CHES 65-2022生態護坡預制混凝土裝配式護岸技術規程
- T/CFDCC 0203-2018實木定制家居產品
- T/CECS 10340-2023超高性能減水劑
- 醫保按病種分值付費(DIP)院內培訓
- 施工鋼結構制作安裝環境因素識別表
- 污水井巡查記錄表
- 2關于更換現場項目經理的函
- 部編版小學道德與法治四年級下冊期末復習簡答及分析題專練(含答案)
- 電子商務那些事學習通超星課后章節答案期末考試題庫2023年
- 環境及理化因素損傷-凍傷
- Unit7SeasonPartALetslearn(教學設計)閩教版英語四年級下冊
- 世界文化遺產武當山古建筑群的資料
- 醫院醫療設備采購項目HIS系統及硬件采購投標文件
- 【橡膠工藝】-橡膠產品生產工藝規程
評論
0/150
提交評論