2011年廣東工業大學c語言試卷及答案
A. C語言試卷題目,有圖,試卷答案是C,但沒有過程,不懂怎麼得來,希望能給過程,能詳細一些,謝謝
首先你要明白switch語句的用法,當變數表達式所表達的量與其中一個case語句中的常量相符時,就執行此case語句後面的語句,並依次下去執行後面所有case語句中的語句,除非遇到break;語句跳出switch語句為止。如果變數表達式的量與所有case語句的常量都不相符,就執行default語句中的語句。
這時候程序in的值是3,out也是3,out+=3相當於out = out + 3代入就是out=3+3,此時out等於6,此時沒有break繼續往下,out++相當於out自增,就是out + 1,此時Out等於7,繼續往下走,又遇到out++,此時Out=8遇到break退出,不執行out = 0,所以最後out的值為8
B. 求:C語言程序設計試卷及答案一份
一、選擇題(1~40題每題1分,41~50題每題2分,共60分)下列各題A、B、C、D四個選項中,只有一個選項是正確的。請將正確選項塗寫在答題卡相應位置上,答在試卷上不得分。
1.微型計算機的運算器、控制器及內存儲器組合在一起,稱之為()(本題分值:1分)
【正確答案】D
A.ALU
B.CPU
C.MPU
D.主機
2.下列存儲器中,存取速度最快的是()(本題分值:1分)
【正確答案】D
A.軟盤
B.硬碟
C.光碟
D.內存
3.系統軟體中最重要的是()(本題分值:1分)
【正確答案】A
A.操作系統
B.語言處理程序
C.工具軟體
D.資料庫管理系統
4、CPU處理的數據基本單位為字,一個字的字長()(本題分值:1分)
【正確答案】D
A.為8個二進制位
B.為16個二進制位
C.為32個二進制位
D.與CPU晶元的型號有關
5.列印當前屏幕內容應使用的控制鍵是()(本題分值:1分)
【正確答案】D
A.Scroll-Lock
B.Num-Lock
C.PgDn
D.PrtSc(Print Screen)
6.能將高級語言源程序轉換成目標程序的是()(本題分值:1分)
【正確答案】C
A.調試程序
B.解釋程序
C.編譯程序
D.編輯程序
7.二進制數1110111.11轉換成十進制數是()(本題分值:1分)
【正確答案】B
A.119.375
B.119.75
C.119.125
D.119.3
8.十六進制數FF.1轉換成十進制數是()(本題分值:1分)
【正確答案】A
A.255.0625
B.255.125
C.127.0625
D.127.125
9.中國國家計算機網路設施是()(本題分值:1分)
【正確答案】A
A.NCFC
B.CERNET
C.ISDN
D.Internet
10.控制鍵^C的功能為()(本題分值:1分)
【正確答案】A
A.終止當前操作
B.系統復位
C.暫停標准輸出設備的輸出
D.結束命令行
11.COMMAND.COM為命令處理程序,DOS系統啟動後,它()(本題分值:1分)
【正確答案】B
A.駐留在外存,需要時裝入內存
B.常駐內存,包含所有內部命令
C.不能處理外部命令
D.不能處理後綴為.EXE的可執行文件
12.為了將所有擴展名為.PAS的文件改成擴展名為.P,應使用命令()(本題分值:1分)
【正確答案】C
A.REN *.PAS .?AS
B.REN PAS P
C.REN *.PAS *.P
D.REN *.PAS *.P??
13.設當前盤中文件XY.C的路徑為\A\B\XU,當前目錄為\A\B。為了查看文件XY.C的內容,應使用命令()(本題分值:1分)
【正確答案】A
A.TYPE XU\XY.C
B.TYPE \XU\XY.C
C.DIR XU\XY.C
D.DIR \A\B\XU\XY.C
14.要將提示符改成當前盤當前目錄後加一個大於號「>」,應使用命令()(本題分值:1分)
【正確答案】B
A.PROMPT
B.PROMPT $ p $ g
C.PROMPT $ $
D.PROMPT C\>
15.在多媒體計算機系統中,CD-ROM屬於()(本題分值:1分)
【正確答案】D
A.感覺媒體
B.表示媒體
C.表現媒體
D.存儲媒體
16.設當前盤為C盤,將A盤根目錄下的文件目錄信息存放到當前盤當前目錄下的文件AB中,應使用命令()(本題分值:1分)
【正確答案】C
A.TYPE A:\>AB
B.DIR >AB
C.DIR A:\>AB
D.DIR \>AB
17.在位運算中,操作數每右移一位,其結果相當於()(本題分值:1分)
【正確答案】B
A.操作數乘以2
B.操作數除以2
C.操作數除以16
D.操作數乘以16
18.在當前盤當前目錄下有一個文件A.BAT,其內容為
CD \
MD \XYZ\AB\B\C
CD XYZ\AB\B
在正確執行上述文件後,接著執行下列命令時,不會發生錯誤的是()(本題分值:1分)
【正確答案】C
A.MD C
B.RD \XYZ
C.RD C
D.RD B
19.下列命令組中兩個DOS命令互相等價的是()(本題分值:1分)
【正確答案】D
A.TYPE AB.TXT與DIR AB.TXT
B.DISKCOMP A:B:與COMP A:.* B:*.
C.TYPE AB.TXT>>XY.TXT與COPY AB.TXT XY.TXT
D.TYPE AB.TXT>XY.TXT與COPY AB.TXT XY.TXT
20.設A盤為啟動盤,其目錄結構為
根目錄
DOS子目錄 COMAND.COM
USER子目錄 AUTOEXEC.BAT
其文件AUTOEXEC.BAT的內容如下:
MD \XYZ
CD \DOS\USER
則由A盤啟動成功後,A盤的當前目錄是()(本題分值:2分)
【正確答案】C
A.\DOS\USER
B.\XYZ
C.根目錄
D.\DOS
21.C語言提供的合法關鍵字是()(本題分值:1分)
【正確答案】C
A.switch
B.cher
C.case
D.default
22.在C語言中,合法的字元常量是()(本題分值:1分)
【正確答案】B
A.′\084′
B.′\x43′
C.′ab′
D.′\0′
23.若已定義x和y為double類型,則表達式: x=1,y=x+3/2的值是()(本題分值:1分)
【正確答案】C
A.1
B.2
C.2.0
D.2.5
24.合法的數組定義是()(本題分值:1分)
【正確答案】D
A.int a[]=〃string〃;
B.int a[5]={0,1,2,3,4,5};
C.char a=〃string〃;
D.char a[]={0,1,2,3,4,5};
25.設a為整型變數,不能正確表達數學關系10<a<15的C語言表達式是()(本題分值:1分)
【正確答案】A
A.10<a<15
B.a==11||a==12||a==13||a==14
C.a>10&&a<15
D.!(a<=10)&&!(a>=15)
26.若t為double類型,表達式t=1,t+5,t++的值是()(本題分值:1分)
【正確答案】C
A.1
B.6.0
C.2.0
D.1.0
27.若有定義和語句:
char s[10];s=〃abcd〃;printf(〃%s\n〃,s);
則結果是(以下μ代表空格)()(本題分值:1分)
【正確答案】D
A.輸出abcd
B.輸出a
C.輸出abcdμμμμμ
D.編譯不通過
28.若有定義和語句:
int **pp,*p,a=10,b=20;
pp=&p;p=&a;p=&b;printf(〃%d,%d\n〃,*p,**pp);
則輸出結果是()(本題分值:1分)
【正確答案】D
A.10,10
B.10,20
C.20,10
D.20,20
29.若有以下定義和語句:
int u=010,v=0x10,w=10;
printf(〃%d,%d,%d\n〃,u,v,w);
則輸出結果是()(本題分值:1分)
【正確答案】A
A.8,16,10
B.10,10,10
C.8,8,10
D.8,10,10
30.若有以下定義和語句:
char c1=′b′,c2=′e′;
printf(〃%d,%c\n〃,c2-c1,c2-′a′+′A′);
則輸出結果是()(本題分值:1分)
【正確答案】B
A.2,M
B.3,E
C.2,E
D.輸出項與對應的格式控制不一致,輸出結果不確定
31.若有定義:int a[3][4];,()不能表示數組元素a[1][1]。(本題分值:1分)
【正確答案】D
A.*(a[1]+1)
B.*(&a[1][1])
C.(*(a+1))[1]
D.*(a+5)
32.若i、j已定義為int型,則以下程序段中內循環體的總的執行次數是()(本題分值:1分)
for(i=5;i>0;i--)
for(j=0;j<4;j++){…}
【正確答案】A
A.20
B.24
C.25
D.30
33.若有以下定義和語句:
char *s1=〃12345〃,*s2=〃1234〃;
printf(〃%d\n〃,strlen(strcpy(s1,s2)));
則輸出結果是()(本題分值:1分)
【正確答案】A
A.4
B.5
C.9
D.10
34.若有以下定義和語句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
則不能表示a數組元素的表達式是()(本題分值:1分)
【正確答案】B
A.*p
B.a[10]
C.*a
D.a[p-a]
35.下面程序的輸出結果是()(本題分值:2分)
【正確答案】C
A.k=3 a=2 b=3
B.k=3 a=3 b=2
C.k=2 a=3 b=2
D.k=2 a=2 b=3
36.下面程序的輸出結果是()(本題分值:1分)
main()
{unsigned a=32768;
printf(〃a=%d\n〃,a);}
【正確答案】C
A.a=32768
B.a=32767
C.a=-32768
D.a=-1
37.執行下面語句後的輸出結果為()(本題分值:1分)
int i=-1;
if(i<=0) printf(〃****\n〃);
else printf(〃%%%%\n〃)
【正確答案】D
A.****
B.%%%%
C.%%%%c
D.有語法錯誤,不能正確執行
38.對於條件表達式(M)?(a++):(a--),其中的表達式M等價於()(本題分值:1分)
【正確答案】C
A.M==0
B.M==1
C.M!=0
D.M!=1
39.下述程序段的輸出結果是()(本題分值:1分)
int x=10;
int7nbspy=x++;
printf(〃%d,%d〃,(x++,y),y++);
【正確答案】A
A.11,10
B.11,11
C.10,10
D.10,11
40.若有以下的定義:
int a[]={1,2,3,4,5,6,7,8,9,10},*p=a
則值為3的表達式是()(本題分值:1分)
【正確答案】A
A.p+=2,*(p++)
B.p+=2,*++p
C.p+=3,*p++
D.p+=2,++*p
41.假定所有變數均已正確說明,下列是程序段運行後x的值是()(本題分值:2分)
a=b=c=0;x=35;
if(!a) x--;
else if(b);
if(c) x=3;
else x=4;
【正確答案】B
A.34
B.4
C.35
D.3
42.在以下一組運算中,優先順序最高的運算符是()(本題分值:2分)
【正確答案】C
A.<=
B.=
C.%
D.&&
43.若有以下定義和語句:
int w[2][3],(*pw)[3];pw=w;
則對w數組元素的非法引用是()(本題分值:2分)
【正確答案】A
A.*(w[0]+2)
B.*(pw+1)[2]
C.pw[0][0]
D.*(pw[1]+2)
44.若有以下程序片段: char str[ ]=〃ab\n\012\\\\〃; printf(〃%d〃,strlen(str));
上面程序片段的輸出結果是()(本題分值:2分)
【正確答案】C
A.3
B.4
C.6
D.12
45.函數調用:strcat(strcpy(str1,str2),str3)的功能是()(本題分值:2分)
【正確答案】C
A.將串str1復制到串str2中後再連接到串str3之後
B.將串str1連接到串str2之後再復制到串str3之後
C.將串str2復制到串str1中後再將串str3連接到串str1之後
D.將串str2連接到串str1之後再將串str1復制到串str3中
46.以下對C語言函數的有關描述中,正確的是()(本題分值:2分)
【正確答案】A
A.在C中,調用函數時,只能把實參的值傳送給形參,形參的值不能傳送給實參
B.C函數既可以嵌套定義又可以遞歸調用
C.函數必須有返回值,否則不能使用函數
D.C程序中有調用關系的所有函數必須放在同一個源程序文件中
47.以下敘述中不正確的是()(本題分值:2分)
【正確答案】C
A.在C中,函數中的自動變數可以賦初值,每調用一次,賦一次初值
B.在C中,在調用函數時,實參和對應形參在類型上只需賦值兼容
C.在C中,外部變數的隱含類別是自動存儲類別
D.在C中,函數形參可以說明為register變數
48.設有以下定義或語句,則輸出的結果是(用small模式編譯,指針變數佔2個位元組)()(本題分值:2分)
struct date
{long *cat;
struct date *next;
double dog;
}too;
printf(〃%d〃,sizeof(too));
【正確答案】D
A.20
B.16
C.14
D.12
49.設有定義:struct sk
{int a;float b;}data,*p;
若有p=&data;,則對data中的a域的正確引用是()(本題分值:2分)
【正確答案】B
A.(*p).data.a
B.(*p).a
C.p->data.a
D.p.data.a
50.以下對枚舉類型名的定義中正確的是()(本題分值:2分)
【正確答案】B
A.enum a={one,two,three};
B.enum a{one=9,two=-1,three};
C.enum a={〃one〃,〃two〃,〃three〃};
D.enum a{〃one〃,〃two〃,〃three〃};
二、填空題(每空2分,共40分)請將答案分別寫在答題卡中序號【1】至【20】的橫線上,答在試卷上不得分。
1、與十進制數101等值的二進制數為。(本題分值:2分)
【正確答案】
【1】1100101
2、DOS命令分為內部命令與外部命令,XCOPY命令屬於命令。(本題分值:2分)
【正確答案】
【2】外部
3、設當前盤為A盤,當前系統提示符為「>」,在不改變當前盤的情況下,顯示C盤的當前目錄路徑,應使用命令。 (本題分值:2分)
【正確答案】
【3】CD C:
4、自動批處理文件名必須是。(本題分值:2分)
【正確答案】
【4】AUTOEXEC.BAT
5、設在當前盤當前目錄下有兩個文件W.TXT與P.TXT,現要將文件P.TXT連接到文件W.TXT的後面,若使用COPY命令,則完整的命令為。(本題分值:2分)
【正確答案】
【5】COPY W.TXT+P.TXT W.TXT
6、表示條件10<x<100或x<0的C語言表達式是。(本題分值:2分)
【正確答案】
【6】(x>10&& x<100)||x<0
或(10<x&&x<100)||x<0
或x<0 ||(x>10&&x<100)
或0>x ||(10<x&&x<100)
7、以下程序中,主函數調用了LineMax函數,實現在N行M列的二維數組中,找出每一行上的最籩怠G胩羈鍘?br> #define N 3
#define M 4
void LineMax(int x[N][M])
{ int i,j,p;
for(i=0;i<N;i++)
{p=0;
for(j=1;j<M;j++)
if(x[i][p]<x[i][j]) ;
printf(〃The max value in line is %d\n〃,);
}
}
main()
{ int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};
;
}
(本題分值:6分)
【正確答案】
【7】p=j
【8】x[i][p]
【9】LineMax(x)
8、以下程序的功能是:從鍵盤上輸入若干個學生的成績,統計計算出平均成績,並輸出低於平均分的學生成績,用輸入負數結束輸入。請填空。
main()
{float x[1000],sum=0.0,ave,a;
int n=0,i;
printf(〃Enter mark:\n〃);scanf(〃%f〃,&a);
while(a>= 0.0 && n<1000)
{sum+=;x[n]=;
n++; scanf(〃%f〃,&a);
}
ave= ;
printf(〃Output:\n〃);
printf(〃ave=%f\n〃,ave);
for(i=0;i<n;i++)
if() printf(〃%f\n〃,x[i]);
}
(本題分值:8分)
【正確答案】
【10】a
【11】a
【12】sum/n或sum/(float)n或sum/(double)n
【13】x[i]<ave或!(x[i]>=ave)或ave>x[i]
9、執行以下程序,輸入-10的結果是,輸入5的結果是,輸入10的結果是,輸入30的結果是。
(本題分值:8分)
【正確答案】
【14】0
【15】5
【16】10
【17】5
10、以下程序的功能是。
main()
{int num[10]={10,1,-20,-203,-21,2,-2,-2,11,-21};
int sum=0,i;
for(i=0;i<10;i++)
if(num[i]>0)
sum=num[i]+sum;
printf(〃sum=%6d〃,sum);
}
(本題分值:2分)
【正確答案】
【18】計算數組num中大於零的數據之和
11、以下程序可以把從鍵盤上輸入十進制數(long型)以二到十六進制數的形式輸出,請填空。
#include
main()
{char
b[16]={′0′,′1′,′2′,′3′,′4′,′5′,′6′,′7′,′8′,′9′,′A′,′B′,′C′,′D′,′E′,′F′};
int c[64],d,i=0,base;
long n;
printf(〃Enter a number:\n〃); scanf(〃%1d〃,&n);
printf(〃Enter new base:\n〃); scanf(〃%1d〃,&base);
do
{c[i]=;
i++;
n=n/base;
}while(n!=0);
printf(〃The result is:\n〃);
for(--i;i>=0;--i)
{?d=c[i];
printf(〃%c〃,b);
}
}
(本題分值:4分)
【正確答案】
【19】n%base
【20】 [d]
C. C語言程序設計試卷
答案:3:12,4:13,6:The out out is:12876543910
67821543910
7:1,minicomputer
------------------------------
D. c語言二級考試題及答案
2011年3月全國計算機等級考試二級筆試試卷
C語言程序設計
(考試時間90分鍾,滿分100分)
一、 選擇題(1-10,21-40每題2分,11-20每題1分,共70分)
(1)下列關於棧敘述正確的是
A)棧頂元素最先能被刪除
B)棧頂元素最後才能被刪除
C)棧底元素永遠不能被刪除
D)以上三種說法都不對
(2)下列敘述中正確的是
A)有一個以上根結點的數據結構不一定是非線性結構
B)只有一個根結點的數據結構不一定是線性結構
C)循環鏈表是非線性結構
D)雙向鏈表是非線性結構
(3)某二叉樹共有7個結點,其中葉子結點只有1個,則該二叉樹的深度為(假設根結點在第1層)
A)3 B)4 C)6 D)7
(4)在軟體開發中,需求分析階段產生的主要文檔是
A)軟體集成測試計劃 B)軟體詳細設計說明書
C)用戶手冊 D)軟體需求規格說明書
(5)結構化程序所要求的基本結構不包括
A)順序結構 B)GOTO跳轉
C)選擇(分支)結構 D)重復(循環)結構
(6)下面描述中錯誤的是
A)系統總體結構圖支持軟體系統的詳細設計
B)軟體設計是將軟體需求轉換為軟體表示的過程
C)數據結構與資料庫設計是軟體設計的任務之一
D)PAD圖是軟體詳細設計的表示工具
(7)負責資料庫中查詢操作的資料庫語言是
A)數據定義語言
B)數據管理語言
C)數據操縱語言
D)數據控制語言
(8)一個教師可講授多門課程,一門課程可由多個教師講授。則實體教師和課程間的聯系是
A)1:1聯系 B)1:m聯系
C)m:1聯系 D)m:n聯系
(9)有三個關系R、S和T如下:
則由關系R和S得到關系T的操作是
A)自然連接 B)交 C)除 D)並
(10)定義無符號整數類為UInt,下面可以作為類UInt實例化值的是
A)-369 B)369 C)0.369 D)整數集合{1,2,3,4,5}
(11)計算機高級語言程序的運行方法有編譯執行和解釋執行兩種,以下敘述中正確的是
A)C語言程序僅可以編譯執行
B)C語言程序僅可以解釋執行
C)C語言程序既可以編譯執行又可以解釋執行
D)以上說法都不對
(12)以下敘述中錯誤的是
A)C語言的可執行程序是由一系列機器指令構成的
B)用C語言編寫的源程序不能直接在計算機上運行
C)通過編譯得到的二進制目標程序需要連接才可以運行
D)在沒有安裝C語言集成開發環境的機器上不能運行C源程序生成的.exe文件
(13)以下選項中不能用作C程序合法常量的是
A)1,234 B)'123'
C)123 D)"\x7G"
(14)以下選項中可用作C程序合法實數的是
A).1e0 B)3.0e0.2
C)E9 D)9.12E
(15)若有定義語句:inta=3,b=2,c=1;,以下選項中錯誤的賦值表達式是
A)a=(b=4)=3; B)a=b=c+1;
C)a=(b=4)+c; D)a=1+(b=c=4);
(16)有以下程序段
char name[20];
int num;
scanf("name=%s num=%d",name;&num);
當執行上述程序段,並從鍵盤輸入:name=Lili num=1001<回車>後,name的值為
A)Lili B)name=Lili C)Lili num= D)name=Lili num=1001
(17)if語句的基本形式是:if(表達式)語句,以下關於「表達式」值的敘述中正確的是
A)必須是邏輯值 B)必須是整數值
C)必須是正數 D)可以是任意合法的數值
(18)有以下程序
#include
main()
{ int x=011;
printf("%d\n",++x);
}
程序運行後的輸出結果是
A)12 B)11 C)10 D)9
(19)有以下程序
#include
main()
{ int s;
scanf("%d",&s);
while(s>0)
{ switch(s)
{ case1:printf("%d",s+5);
case2:printf("%d",s+4); break;
case3:printf("%d",s+3);
default:printf("%d",s+1);break;
}
scanf("%d",&s);
}
}
運行時,若輸入1 2 3 4 5 0<回車>,則輸出結果是
A)6566456 B)66656 C)66666 D)6666656
(20)有以下程序段
int i,n;
for(i=0;i<8;i++)
{ n=rand()%5;
switch (n)
{ case 1:
case 3:printf("%d\n",n); break;
case 2:
case 4:printf("%d\n",n); continue;
case 0:exit(0);
}
printf("%d\n",n);
}
以下關於程序段執行情況的敘述,正確的是
A)for循環語句固定執行8次 B)當產生的隨機數n為4時結束循環操作
C)當產生的隨機數n為1和2時不做任何操作D)當產生的隨機數n為0時結束程序運行
(21)有以下程序
#include
main()
{ char s[]="012xy\08s34f4w2";
int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>='0'&&s[i]<='9') n++;
printf("%d\n",n);
}
程序運行後的輸出結果是
A)0 B)3 C)7 D)8
(22)若i和k都是int類型變數,有以下for語句
for(i=0,k=-1;k=1;k++) printf("*****\n");
下面關於語句執行情況的敘述中正確的是
A)循環體執行兩次B)循環體執行一次C)循環體一次也不執行D)構成無限循環
(23)有以下程序
#include
main()
{ char b,c; int i;
b='a'; c='A';
for(i=0;i<6;i++)
{ if(i%2) putchar(i+b);
else putchar(i+c);
} printf("\n");
}
程序運行後的輸出結果是
A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef
(24)設有定義:doublex[10],*p=x;,以下能給數組x下標為6的元素讀入數據的正確語句是
A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));
C)scanf("%lf",p+6); D)scanf("%lf",p[6]);
(25)有以下程序(說明:字母A的ASCII碼值是65)
#include
void fun(char *s)
{ while(*s)
{ if(*s%2) printf("%c",*s);
s++;
}
}
main()
{ char a[]="BYTE";
fun(a); printf("\n");
}
程序運行後的輸出結果是
A) BY B) BT C) YT D) YE
(26)有以下程序段
#include
main()
{ …
while( getchar()!='\n');
…
}
以下敘述中正確的是
A)此while語句將無限循環
B) getchar()不可以出現在while語句的條件表達式中
C)當執行此while語句時,只有按回車鍵程序才能繼續執行
D)當執行此while語句時,按任意鍵程序就能繼續執行
(27)有以下程序
#include
main()
{ int x=1,y=0;
if(!x) y++;
else if(x==0)
if (x) y+=2;
else y+=3;
printf("%d\n",y);
}
程序運行後的輸出結果是
A)3 B)2 C)1 D) 0
(28)若有定義語句:chars[3][10],(*k)[3],*p;,則以下賦值語句正確的是
A)p=s; B)p=k; C)p=s[0]; D)k=s;
(29)有以下程序
#include
void fun(char *c)
{ while(*c)
{ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');
c++;
}
}
main()
{ char s[81];
gets(s); fun(s); puts(s):
}
當執行程序時從鍵盤上輸入Hello Beijing<回車>,則程序的輸出結果是
A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing
(30)以下函數的功能是:通過鍵盤輸入數據,為數組中的所有元素賦值。
#include
#define N 10
void fun(int x[N])
{ int i=0;
while(i<>
}
在程序中下劃線處應填入的是
A)x+i B)&x[i+1]C)x+(i++) D)&x[++i]
(31)有以下程序
#include
main()
{ char a[30],b[30];
scanf("%s",a);
gets(b);
printf("%s\n %s\n",a,b);
}
程序運行時若輸入:
how are you? I am fine<回車>
則輸出結果是
A)how are you? B)how I am fine are you? I am fine
C)how are you? I am fine D)row are you?
(32)設有如下函數定義
int fun(int k)
{ if (k<1) return 0;
else if(k==1) return 1;
else return fun(k-1)+1;
}
若執行調用語句:n=fun(3);,則函數fun總共被調用的次數是
A)2 B)3 C)4 D)5
(33)有以下程序
#include
int fun (int x,int y)
{ if (x!=y) return ((x+y);2);
else return (x);
}
main()
{ int a=4,b=5,c=6;
printf("%d\n",fun(2*a,fun(b,c)));
}
程序運行後的輸出結果是 A)3 B)6 C)8 D)12
(34)有以下程序
#include
int fun()
{ static int x=1;
x*=2;
return x;
}
main()
{ int i,s=1;
for(i=1;i<=3;i++) s*=fun();
printf("%d\n",s);
}
程序運行後的輸出結果是 A)0 B)10 C)30 D)64
(35)有以下程序
#include
#define S(x) 4*(x)*x+1
main()
{ int k=5,j=2;
printf("%d\n",S(k+j));
}
程序運行後的輸出結果是 A)197 B)143 C)33 D)28
(36)設有定義:struct {charmark[12];int num1;double num2;} t1,t2;,若變數均已正確賦初值,則以下語句中錯誤的是
A)t1=t2; B)t2.num1=t1.num1;C)t2.mark=t1.mark; D)t2.num2=t1.num2;
(37)有以下程序
#include
struct ord
{ int x,y;}dt[2]={1,2,3,4};
main()
{
struct ord *p=dt;
printf("%d,",++(p->x));printf("%d\n",++(p->y));
}
程序運行後的輸出結果是 A)1,2 B)4,1 C)3,4 D)2,3
(38)有以下程序
#include
struct S
{ int a,b;}data[2]={10,100,20,200};
main()
{ struct S p=data[1];
printf("%d\n",++(p.a));
}
程序運行後的輸出結果是 A)10 B)11 C)20 D)21
(39)有以下程序
#include
main()
{ unsigned char a=8,c;
c=a>>3;
printf("%d\n",c);
}
程序運行後的輸出結果是 A)32 B)16 C)1 D)0
(40)設fp已定義,執行語句fp=fopen("file","w");後,以下針對文本文件file操作敘述的選項中正確的是
A)寫操作結束後可以從頭開始讀 B)只能寫不能讀
C)可以在原有內容後追加寫 D)可以隨意讀和寫
二、填空題
(1)有序線性表能進行二分查找的前提是該線性表必須是 【1】 存儲的。
(2)一棵二叉樹的中序遍歷結果為DBEAFC,前序遍歷結果為ABDECF,則後序遍歷結果為 【2】 。
(3)對軟體設計的最小單位(模塊或程序單元)進行的測試通常稱為【3】 測試
。
(4)實體完整性約束要求關系資料庫中元組的 【4】 屬性值不能為空。
(5)在關系A(S,SN,D)和關系B(D,CN,NM)中,A的主關鍵字是S,B的主關鍵字是D,則稱 【5】 是關系A的外碼。
(6)以下程序運行後的輸出結果是 【6】。
#include
main()
{ int a;
a=(int)((double)(3/2)+0.5+(int)1.99*2);
printf("%d\n",a);
}
(7)有以下程序
#include
main()
{ int x;
scanf("%d",&x);
if(x>15) printf("%d",x-5);
if(x>10) printf("%d",x);
if(x>5) printf("%d\n",x+5);
}
若程序運行時從鍵盤輸入12<回車>,則輸出結果為 【7】 。
(8)有以下程序(說明:字元0的ASCII碼值為48)
#include
main()
{ char c1,c2;
scanf("%d",&c1);
c2=c1+9;
printf("%c%c\n",c1,c2);
}
若程序運行時從鍵盤輸入48<回車>,則輸出結果為 【8】 。
(9)有以下函數
void prt(char ch,int n)
{ int i;
for(i=1;i<=n;i++)
printf(i%6!=0?"%c":"%c\n",ch);
}
執行調用語句prt('*',24);後,函數共輸出了 【9】 行*號。
(10)以下程序運行後的輸出結果是 【10】。
#include
main()
{ int x=10,y=20,t=0;
if(x==y)t=x;x=y;y=t;
printf("%d %d\n",x,y);
}
(11)己知a所指的數組中有N個元素。函數fun的功能是,將下標k(k>0)開始的後續元素全部向前移動一個位置。請填空。
void fun(int a[N],int k)
{ int i;
for(i=k;i
}
(12)有以下程序,請在 【12】 處填寫正確語句,使程序可正常編譯運行。
#include
【12】 ;
main()
{ double x,y,(*p)();
scanf("%lf%lf",&x,&y);
p=avg;
printf("%f\n",(*p)(x,y));
}
double avg(double a,double b)
{ return((a+b)/2);}
(13)以下程序運行後的輸出結果是 【13】。
#include
main()
{ int i,n[5]={0};
for(i=1;i<=4;i++)
{ n[i]==n[i-1]*2+1; printf("%d",n[i]); }
printf("\n");
}
(14)以下程序運行後的輸出結果是 【14】。
#include
#include
#include
main()
{ char *p; int i;
p=(char *)malloc(sizeof(char)*20);
strcpy(p,"welcome");
for(i=6;i>=0;i--) putchar(*(p+i));
printf("\n-"); free(p);
}
(15)以下程序運行後的輸出結果是 【15】。
#include
main()
{ FILE *fp; int x[6]={1,2,3,4,5,6},i;
fp=fopen("test.dat","wb");
fwrite(x,sizeof(int),3,fp);
rewind(fp);
fread(x,sizeof(int),3,fp);
for(i=0;i<6;i++) printf("%d",x[i]);
printf("\n");
fclose(fp);
}
2011年3月全國計算機等級考試二級筆試試卷
C語言程序設計答案
一.選擇題1-5 ABDDB
6-10 ACDCB 11-15 ADBAA
16-20 ADCAD 21-25 BDBCD
26-30 CDCCC 31-35 BBBDB
36-40 CDDCB
二,填空題
1) 順序 2) DEBFCA 3) 單元測試 4) 主鍵 5) D 6) 3 7) 1217
8) 09 9) 4 10) 20 0 11) i-1 12) double avg(doublea,double b) 13) 13715
14) e(E)moclew 15) 123456
2010年9月全國計算機等級考試二級C筆試試卷答案
一、選擇題
1~5: BCDAA 6~10:DDCCA 11~15:CBBAD 16~20: DAACB
21~25: BCBDC 26~30 :CBDDA 31~35:ACBCD 36~40 :BACBD
二、填空
1.1DCBA2345 2.n-1 3.25 4.結構化 5.物理設計 6.2008
7.15 8.非0 9. 1 4 13 40 10.i 11.2
12.a[row][col] 13.3 14.*s 15.FILE
E. c語言基本測試卷..跪求
二級公共基礎知識考試大綱
基本要求
1. 掌握演算法的基本概念。
2. 掌握基本數據結構及其操作。
3. 掌握基本排序和查找演算法。
4. 掌握逐步求精的結構化程序設計方法。
5. 掌握軟體工程的基本方法,具有初步應用相關技術進行軟體開發的能力。
6. 掌握數據的基本知識,了解關系資料庫的設計。
考試內容
一、 基本數據結構與演算法
1. 演算法的基本概念;演算法復雜度的概念和意義(時間復雜度與空間復雜度)。
2. 數據結構的定義;數據的邏輯結構與存儲結構;數據結構的圖形表示;線性結構與非線性結構的概念。
3. 線性表的定義;線性表的順序存儲結構及其插入與刪除運算。
4. 棧和隊列的定義;棧和隊列的順序存儲結構及其基本運算。
5. 線性單鏈表、雙向鏈表與循環鏈表的結構及其基本運算。
6. 樹的基本概念;二叉樹的定義及其存儲結構;二叉樹的前序、中序和後序遍歷。
7. 順序查找與二分法查找演算法;基本排序演算法(交換類排序,選擇類排序,插入類排序)。
二、 程序設計基礎
1. 程序設計方法與風格。
2. 結構化程序設計。
3. 面向對象的程序設計方法,對象,方法,屬性及繼承與多態性。
三、 軟體工程基礎
1. 軟體工程基本概念,軟體生命周戎概念,軟體工具與軟體開發環境。
2. 結構化分析方法,數據流圖,數據字典,軟體需求規格說明書。
3. 結構化設計方法,總體設計與詳細設計。
4. 軟體測試的方法,白盒測試與黑盒測試,測試用例設計,軟體測試的實施,單元測試、集成測試和系統測試。
5. 程序的調試,靜態調試與動態調試。
四、 資料庫設計基礎
1. 資料庫的基本概念:資料庫,資料庫管理系統,資料庫系統。
2. 數據模型,實體聯系模型及E-R圖,從E-R圖導出關系數據模型。
3. 關系代數運算,包括集合運算及選擇、投影、連接運算,資料庫規范化理論。
4. 資料庫設計方法和步驟:需求分析、概念設計、邏輯設計和物理設計的相關策略。
考試方式
1、 公共基礎的考試方式為筆試,與C語言(VisualBASIC、Visual FoxPro、Java、Access、Visual C++)的筆試部分合為一張試卷。公共基礎部分佔全卷的30分。
2、 公共基礎知識有10道選擇題和5道填空題。
二級(C語言程序設計)考試大綱
公共基礎知識
二級考試大綱中的公共基礎知識部分
基本要求
1. 掌握演算法的基本概念。
2. 掌握基本數據結構及其操作。
3. 掌握基本排序和查找演算法。
4. 掌握逐步求精的結構化程序設計方法。
5. 掌握軟體工程的基本方法,具有初步應用相關技術進行軟體開發的能力。
6. 掌握數據的基本知識,了解關系資料庫的設計。
考試內容
一、 基本數據結構與演算法
1. 演算法的基本概念;演算法復雜度的概念和意義(時間復雜度與空間復雜度)。
2. 數據結構的定義;數據的邏輯結構與存儲結構;數據結構的圖形表示;線性結構與非線性結構的概念。
3. 線性表的定義;線性表的順序存儲結構及其插入與刪除運算。
4. 棧和隊列的定義;棧和隊列的順序存儲結構及其基本運算。
5. 線性單鏈表、雙向鏈表與循環鏈表的結構及其基本運算。
6. 樹的基本概念;二叉樹的定義及其存儲結構;二叉樹的前序、中序和後序遍歷。
7. 順序查找與二分法查找演算法;基本排序演算法(交換類排序,選擇類排序,插入類排序)。
二、 程序設計基礎
1. 程序設計方法與風格。
2. 結構化程序設計。
3. 面向對象的程序設計方法,對象,方法,屬性及繼承與多態性。
三、 軟體工程基礎
1. 軟體工程基本概念,軟體生命周戎概念,軟體工具與軟體開發環境。
2. 結構化分析方法,數據流圖,數據字典,軟體需求規格說明書。
3. 結構化設計方法,總體設計與詳細設計。
4. 軟體測試的方法,白盒測試與黑盒測試,測試用例設計,軟體測試的實施,單元測試、集成測試和系統測試。
5. 程序的調試,靜態調試與動態調試。
四、 資料庫設計基礎
1. 資料庫的基本概念:資料庫,資料庫管理系統,資料庫系統。
2. 數據模型,實體聯系模型及E-R圖,從E-R圖導出關系數據模型。
3. 關系代數運算,包括集合運算及選擇、投影、連接運算,資料庫規范化理論。
4. 資料庫設計方法和步驟:需求分析、概念設計、邏輯設計和物理設計的相關策略。
考試方式
1、 公共基礎的考試方式為筆試,與C語言(VisualBASIC、Visual FoxPro、Java、Access、Visual C++)的筆試部分合為一張試卷。公共基礎部分佔全卷的30分。
2、 公共基礎知識有10道選擇題和5道填空題。
C語言程序設計
基本要求
1.熟悉TURBO C集成環境。
2.熟練掌握結構化程序設計的方法,具有良好的程序設計風格。
3.掌握程序設計中簡單的數據結構和演算法。
4.TURBO C的集成環境下,能夠編寫簡單的C程序,並具有基本的糾錯和調試程序的能力。
考試內容
一、C語言的結構
1.程序的構成,MAIN函數和其他函數。
2.頭文件,數據說明,函數的開始和結束標志。
3.源程序的書寫格式
4.C語言的風格。
二、數據類型及其運算
1.C的數據類型(基本類型,構造類型,指針類型,空類型)及其定義方法。
2.C運算符的種類、運算優先順序和結合性。
3.不同類型數據間的轉換與運算。
4.C表達式類型(賦值表達式、算術表達式、關系表達式、邏輯表達式、條件表達式、逗號表達式)和求值規則。
三、基本語句
1.表達式語句,空語句,復合語句。
2.數據的輸入和輸出,輸入輸出函數的調用。
3.復合語句。
4.GOTO語句和語句標號的使用。
四、選擇結構程序設計
1.用if語句實現選擇結構。
2.用switch語句實現多分支選擇結構。
3.選擇結構的嵌套。
五、循環結構程序設計
1.for 循環結構。
2.while和do while循環結構。
3.continue語句和break語句。
4.循環的嵌套。
六、數組的定義和引用
1.一維數組和多維數組的定義、初始化和引用。
2.字元串與字元數組。
七、函數
1.庫函數的正確調用。
2.函數的定義方法。
3.函數的類型和返回值。
4.形式參數與實在參數,參數值的傳遞。
5.函數的正確調用,嵌套調用,遞歸調用。
6.局部變數和全局變數。
7.變數的存儲類別(自動、靜態、寄存器、外部),變數的作用域和生存期。
8.內部函數與外部函數。
八、編譯預處理
1.宏定義:不帶參數的宏定義;帶參數的宏定義。
2.「文件包含」處理。
九、指針
1.指針與指針變數的概念,指針與地址運算符。
2.變數、數組、字元串、函數、結構體的指針以及指向變數、數組、字元串、函數、結構體的指針變數。通過指針引用以上各類型數據。
3.用指針作函數參數。
4.返回指針值的指針函數。
5.指針數組,指向指針的指針,MAIN函數的命令行參數。
十、結構體(即「結構」)與共用體(即「聯合」)
1.結構體和共用體類型數據的定義方法和引用方法。
2.用指針和結構體構成鏈表,單向鏈表的建立、輸出、刪除與插入。
十一、位運算
1.位運算符的含義及使用。
2.簡單的位運算。
十二、文件操作
只要求緩沖文件系統(即高級磁碟I/O系統),對非標准緩沖文件系統(即低級磁碟I/O系統)不要求。
1.文件類型指針(FILE類型指針)。
2.文件的打開與關閉(fopen,fclose)。
3.文件的讀寫(fputc,fgetc,fputs,fgets,fread,frwite,fprintf,fscanf函數),文件的定位(rewind,fseek函數)。
考試方式
1.筆試:120分鍾,滿分100分,其中含公共基礎知識部分的30分。
2.上機:60分鍾,滿分100分。
F. 求廣東工業大學831數據結構與C語言考研真題答案與詳解 哪位盆友有啊 求答案 [email protected]萬分感謝
廣東工業大學計算機學院831數據結構和C語言[專業碩士]歷年考研真題匯編,這里有11年到15年的考研真題
G. C語言試卷求答案
你的程序不能實現的說的功能
#include "stdio.h"
#define MAXNUM 100
int main(int argc, char* argv[])
{
int i = 0 ;
float max , min ;
float x[MAXNUM] ;
scanf("%f" , &x[0] ) ;
max = x[0] , min = x[0] ;
i++ ;
while ( i < MAXNUM)
{
scanf("%f" , &x[i] ) ;
if ( x[i] > max)
{
max = x[i] ;
}
if ( x[i] < min )
{
min = x[i] ;
}
i++ ;
} ;
printf("max:%f---min:%f\n" , max , min ) ;
return 0;
}
H. 求一份大一c語言考試試卷,加答案
附件上傳失敗...
C語言期末考試題及答案(1)
1、構成C語言的基本單位是___B____。
過程?
函數?
語句?
命令?
2、設x為整型變數,不能正確表達數學關系:5<x<10的c語言表達式是__B___。
5
x>5&&x<10?
x==6||x==7||x==8||x==9?
!(x<=5)&&(x<10)?
3、在C語言中,邏輯運算符的優先順序從高到低的排列順序為__D___。
&&、||、!?
||、&&、!?
&&、!、||?
!、&&、||?
4、下面語句中,正確的是__D___。
printf("%c\n","student");?
printf("%c\n","c");?
printf("%s\n",&a);?
printf("%s\n","hello");?
5、對於for(表達式1;;表達式3)可以理解為__B___。
for(表達式1;0;表達式3)?
for(表達式1;1;表達式3)?
for(表達式1;表達式1;表達式3)?
for(表達式1;表達式3;表達式3)?
6、執行下面程序段的結果是__B___。 main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d",a,b); }
a=1,b=1?
a=2,b=1?
a=1,b=0?
a=2,b=2?
7、執行下面程序段的結果是__D___。 int x=0; do { printf(「%2d」,x--); }while(x);
列印出321?
列印出23?
不列印任何結果?
陷入死循環?
8、設x=10,y=5;z=15,執行下面一段程序後z的結果是__C___。 If(x>y) if(y>z)x=y; else z=y;
7?
6?
5?
4?
9、如果一個函數被說明為static,那麼__B___。
該函數只能被main函數調用?
該函數能被當前文件的函數調用,但不能被其他文件的函數調用?
該函數不能被當前文件的函數調用,可以被其他文件的函數調用?
任何文件的函數都可以調用該函數?
10、下面關於局部變數的描述中,錯誤的是__D___。
函數的局部變數的有效范圍只能在本函數?
函數的形式參數也是局部變數?
局部變數的名稱不能和函數同名稱?
不同的函數中不能定義相同名稱的局部變數?
11、下列初始化字元數組的語句中,錯誤的是__A___。
char str[5]="hello";?
char str[]={'h','e','l','l','o','\0'};?
char str[5]={"hi"};?
char str[100]="";?
12、引用數組元素時,數組下標可以是__D___。
整型常量?
整型變數?
整型表達式?
以上均可?
13、 已知:char str[10],*p=str; 下面的語句中正確的是__B___。
str="ABC";?
p="ABC";?
*str="ABC";?
*p="ABC";?
14、下面語句中,錯誤的是___D__。
int i;int *p;p=&i;?
int i,*p;p=&a;?
int i,*p=&a;?
int i,*p;*p=i;?
15、下面對於結構體類型的描述正確的是__A___。
結構體類型的大小為各成員變數所佔內存的總和?
結構體類型變數與簡單數據類型變數的引用規則一致。?
結構體類型的大小為其成員中所佔內存空間最大的變數的大小?
結構體類型的大小為其最後一個成員中所佔內存空間的大小?
16、C語言規定:在一個源程序中,main函數的位置____C____。
必須在最開始?
必須在系統調用的庫函數的後面?
可以任意?
必須在最後?
17、表達式18/4*sqrt(4.0)/8值的數據類型是 ___C____。
int?
float?
double?
不確定?
18、在c語言中,char型數據在內存中的存儲形式是 ___D___。
補碼?
反碼?
原碼?
ASCII碼?
19、閱讀以下程序,當輸入的數據形式為:25,13,10<CR>時,正確的輸出結果為___D___。 main() { int x,y,z; scanf("%d%d%d",&x,&y,&z); printf("x+y+z=%d\n",x+y+z); }
x+y+z=48?
x+y+z=35?
x+z=35?
不能確定?
20、有如下程序 void main() { float x=2.0,y; if(x<0.0) y=0.0; else if(x<10.0) y=1.0/x; else y=1.0; printf(「%f\n」,y); } 該程序的輸出結果是( C )。
0.000000?
0.250000?
0.500000?
1.000000?
21、判斷char型變數s是否為小寫字母的正確表達式是__C____。
'a'<=s<='z'?
(s>='a')&(s<='z')?
(s>='a')&&(s<='z')?
('a'<=s)and('z'>=s)?
22、執行以下語句後,y 的值為___A___。 int x,y,z; x=y=z=0; ++x || ++y && ++z;
0?
1?
2?
不確定值?
23、有如下程序段: int number=0; while(number++<=3) printf(「%d\n」,number++); 則正確的執行結果是___C___。
2 3 4?
0 1 2?
1 3?
2 4?
24、有如下程序 void main() { int n=9; while(n>6) { n--; printf(「%d」,n); } } 該程序段的輸出結果是__B___。
987?
876?
8765?
9876?
25、要使以下程序段輸出10個整數,請在空格中填入一個整數。 for(i=0;i<=___B___;printf("%d\n",i+=2));
15?
18?
20?
10?
26、設函數fun的定義形式為: fun(char ch,float x){…} 則以下對函數fun的調用語句中正確的是___B___。
fun(「abc」,3)?
t=fun(『D』,5)?
fun(『ab』,3)?
fun(『78』,1)?
27、函數求sum(int n)的功能是計算自然數1到n的和,即1+2+…+n。 Main() { printf("The sum=%d\n",sum (10)); } int sum(int n){ int s=0,i; for(i=0;i<=n;i++) _____B_____ } 請從備選答案中選擇一答案,補全程序。
s=s+n;return s;?
s=s+i;return s;?
return s;?
return s+=I;?
28、設函數fun的定義形式為 int fun(int a[],int n) { int s=0,i=0; for(i=0;i<n;i++)s+=a[i]; return s; } main() { int a[10]={1,2,3,4,5}; printf("sum=%d", fun(&a[2],2)); } 則程序的運行結果為___C___。
3?
5?
7?
9?
29、若有說明:int a[10];則對數組元素的正確引用是___D____。
a[10]?
a[3,5]?
a(5)?
a[10-10]?
30、以下不正確的定義語句是___B___。
double x[5]={2.0,4,0,6,0,8,0,10.0};?
int y[5]={0,1,3,5,7,9};?
char c1[]={'1','2','3','4','5'};?
char c2[]={'\x10','\xa','\x8'};?
31、下面程序的運行結果是___B____。 #include "stdio.h" main() { char str[]="SWLIA",c; int k; for(k=0;(c=str[k])!='\0';k++) { switch(c) { case 'I':++k;break; c
SWA?
SW*?
SW*A?
SW?
32、以下能正確進行字元串賦值操作的是___D___。
char s[5]={"12345"};?
char s[5]={'1','2','3','4','5',『6』};?
char *s;*s="12345";?
char *s="12345";?
33、以下程序段的運行結果是___C___。 Char a[ ]="program", *p; p=a; while (*p!='g') { printf("%c", *p-32); p++; }
PROgram?
PROGRAM?
PRO?
proGRAM?
34、若有說明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,則以下敘述正確的是__C____。
*pc[0]代表的是字元串"aaa"的首地址?
*pc[0]代表的是字元'a'的首地址?
pc[0]代表的是字元串"aaa"的首地址?
pc[0]代表的是字元'a'的首地址?
35、下列程序的運行結果是___B___。 #include <stdio.h> #include <string.h> void f (char *s, int n) { char a,*q1,*q2; q1=s;q2=s+n-1; while(q1<q2) { a=*q1++; *q1=*q2--; *q2=a;} } main() { char b[]="ABCDEFG"; f(b, s
GAGGAGA?
AGAAGAG?
GFEDCBA?
AGADAGA?
36、定義如下的結構體描述同學信息 struct Student { unsigned long id; char name[30]; char class[30]; }s; 假設此同學的序號為1002,姓名為黎明,班級為冶金3班,則描述正確的為___C__。
id=1002; name=黎明; class=冶金3班;?
id=1002; name=」黎明」; class=」冶金3班」;?
s.id=1002; s.name=」黎明」; s.class=」冶金3班」;?
s.id=1002; s.name=黎明; s.class=冶金3班;?
37、用來描述C程序中注釋的是__C___。
//?
?
**?
38、下列變數中合法的定義是__A___。
short _a=2-1?
long if=0xabcL?
double 1_d=1.5e2?
float a=1.5e2.7?
39、當c的值不為0時,能夠將c的值賦給變數a和b的是__C___
c=b=a?
(a=c)||(b=c)?
(a=c)&&(b=c)?
a=c=b?
40、設有以下程序段,執行後的輸出結果是___B__ int x=100,y=200; printf("%d",(x,y));
100?
200?
100,200?
編譯出錯
C語言期末考試題及答案(2)
1、若執行下面的程序時從鍵盤輸入10,則輸出是__B__ main( ) { int a; scanf(「%d」,&a); if(a++>10) printf(「%d\n」,++a); else printf("%d\n",a--); }
12?
11?
10?
9?
2、執行下面程序段的結果是__D___ int x=0; do { printf(「%2d」,x--); }while(x);
列印出321?
列印出23?
不列印任何結果?
陷入死循環?
3、執行與句:for(n=0;n++<4; ); 後,變數n的值是__C__。
3?
4?
5?
不定?
4、以下關於循環的描述中,錯誤的是__D___。
可以用for語句實現的循環一定可以用while語句實現?
可以用while語句實現的循環一定可以用for語句實現?
可以用do…while語句實現的循環一定可以用while語句實現?
do…while語句與while語句的區別僅僅是關鍵字while的位置不同?
5、下面的描述錯誤的是__C__。
函數可以有多個形式參數?
函數可以沒有返回值?
函數內可以嵌套定義函數?
函數可以被其他函數調用?
6、函數返回值的類型是由__A__決定的。
定義函數時指定的返回類型?
函數中return語句的表達式類型?
主調函數的實際參數類型?
主調函數的返回值類型?
7、定義了一維int型數組a[10]後,下面錯誤的引用是__B__。
a[0]=1;?
a[10]=2;?
a[0]=5*2;?
a[1]=a[2]*a[0];?
8、定義了int型二維數組a[6][7]後,數組元素a[3][4]前的數組元素個數為__B__。
24?
25?
18?
17?
9、下面語句中,錯誤的是__D__。
int i; int *p; p=&i;?
int i,*p; p=&a;?
int i,*p=&a;?
int i,*p; *p=i;?
10、 已知int型二維數組a[3][4],數組元素a[1][2]的地址不能表達為__C__。
&a[1][2]?
a[1]+2?
*a[1]+2?
*(a+1)+2?
11、C語言中,5種基本數據類型的存儲空間長度的排列順序為___A___。
char
char=int
char
char=int=long int<=float
12、假設所有變數均為整型,則表達式(a=2,b=5,b++,a+b)的值是 ___B___。
7?
8?
6?
2?
13、若有說明語句:char c='\72';則變數c ___A___。
包含1個字元?
包含2個字元?
包含3個字元?
說明不合法,c的值不確定?
14、若x,y均定義為整型,z定義為double型,以下不合法的scanf函數調用語句是___C___。
scanf("%d%lx,%le",&x,&y,&z);?
scanf("%2d * %d%lf",&x,&y,&z);?
scanf("%x%*d%o",&x,&y,&z);?
scanf("%x%o%6.2f",&x,&y,&z);?
15、若輸入字元串:abcde<回車>,則以下while循環體將執行___A___次。 while((ch=getchar())=='e') printf("*");
1次?
死循環?
0次?
5次?
16、執行下面的程序段後,k的值是___C___。 k=1;n=263; do{k*=n%10;n/=10;}while(n);
3?
63?
36?
2?
17、下面程序段中循環的執行次數是___B___。 a=10;b=0; do{b+=2;a-=2+b;}while(a>=0);
10?
3?
5?
4?
18、下面程序段的運行結果是__D____。 x=2; do{printf("*");x--;}while(!x==0);
*?
***?
沒有輸出?
**?
19、下面程序段的運行結果是___B___。 i=1;s=1;a=0; do{a=a+s*i;s=-s;i++;}while(i<=10); printf("%d",a);
2?
-2?
3?
0?
20、有如下程序 void main() { int a=2,b=-1,c=2; if(a) if(b<0) c=0; else c++; printf("%d\n",c); } 該程序的輸出結果是___A___。
0?
1?
2?
3?
21、程序中對fun函數有如下說明 void fun(); 下面說明是錯誤的是___B___。
fun函數無返回值?
fun函數的返回值可以是任意的數據類型?
fun函數沒有形式參數?
void 可以省略?
22、函數求sum(int n)的功能是計算自然數1到n的和,即1+2+…+n。 main() { printf("The sum=%d\n",sum (10)); } int sum(int n){ int s=0,i; for(i=0;i<=n;i++) _____B_____ } 請從備選答案中選擇一答案,補全程序。
s=s+n; return s;?
s=s+i; return s;?
return s;?
return s+=i;?
23、 有以下程序 int f1(int x,int y){return x>y?x:y;} int f2(int x,int y){return x>y?y:x;} main() { int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d)); f=f1(f2(a,b),f2(c,d)); g=a+b+c+d-e-f; printf()__A___
4,3,7?
3,4,7?
5,2,7?
2,5,7?
24、若有說明:int a[][3]={1,2,3,4,5,6,7};則數組a第一維的大小是___B___。
2?
3?
4?
無確定值?
25、判斷字元串s1是否大於字元串s2,應當使用___D____。
if(s1>s2)?
if(strcmp(s1,s2))?
if(strcmp(s2,s1)>0)?
if(strcmp(s1,s2)>0)?
26、當運行以下程序時,從鍵盤輸入:AhaMA Aha<CR> <CR>表示回車,則下面程序的運行結果是___A____。 #include "stdio.h" main() { char s[80],c='a'; int i=0; scanf("%s",s); while(s[i]!='\0') { if(s[i]==c)
ahAMa?
AhAMa?
AhAMa ahA?
ahAMa ahA?
27、以下程序執行後a的值為___C____。main( ) { int a,m=2, k=1, *p=&k; a=p!=&m; printf("%d\n",a); }
-1?
0?
1?
2?
28、以下能正確讀入字元串的程序段是____C___。
char *p;scanf("%s", p);?
char str[10];scanf("%s", &str);?
char str[10], *p;p=str; scanf("%s", p);?
char str[10], *p=str;scanf("%s", p[1]);?
29、若有定義:int i, x[3][4];,則不能將x[1][1]的值賦給變數i的語句是___B___。
i=x[1][1] ?
i=*(*(x+1))?
i=*(*(x+1)+1)?
i=*(x[1]+1)?
30、下面程序的運行結果是____A___。 # include <stdio.h> # include <string.h> fun(char *s) { char t,*a,*z; a=s; z=s+strlen(s)-1; while(a++<z--) { t=*a++; *a=*z--; *z=t;} } main() { char *p; p="a
abdddfg?
afcdebg?
gbedcfa?
gfedcba?
31、用來描述C程序中注釋的是__C___
/ /?
?
* *?
32、對於"xy\n\102\\\'"字元串的長度是__B___
7?
6?
12?
13?
33、已知:int x=10;執行語句x-=x+x;後x的值是__A___
-10?
10?
-20?
20?
34、下列描述中,正確的是__A___
所有的輸入/輸出都是通過調用庫函數處理的?
所有的輸入/輸出都是通過輸入/輸出語句實現的?
getchar和putchar可以省略#include?
在輸入/輸出格式中的*表示跳過數據的含義?
35、設x=10,y=5;z=15,執行下面一段程序後z的結果是__C___ if(x>y) if(y>z)x=y; else z=y;
7?
6?
5?
4?
36、執行下面程序段的結果是__D___ int x=0; do { printf(「%2d」,x--); }while(x);
列印出321?
列印出23?
不列印任何結果?
陷入死循環?
37、以下關於switch語句和break語句的描述正確的是__D___
在switch語句中必須使用break語句?
break語句只能用於switch語句體中?
break語句只能用於循環語句中?
在switch語句中可以使用break語句?
38、與語句while(!x)等價的語句是__A___
while(x==0)?
while(x!=0)?
while(x!=1)?
while(~x)?
39、下面的描述錯誤的是__C___
?函數可以有多個形式參數?
?函數可以沒有返回值?
?函數內可以嵌套定義函數?
?函數可以被其他函數調用?
40、 下面關於局部變數的描述中,錯誤的是__D___
?函數的局部變數的有效范圍只能在本函數?
?函數的形式參數也是局部變數?
?局部變數的名稱不能和函數同名稱?
?不同的函數中不能定義相同名稱的局部變
I. 廣東工業大學c語言考試有沒有編程題
有啊,但是工大C語言考試很簡單的,我2011年考試的 很簡單
