當前位置:首頁 » 編程語言 » 浙大c語言題庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

浙大c語言題庫

發布時間: 2022-11-19 15:31:11

㈠ 浙大版《c語言程序設計實驗與習題指導(第3版)》答案 求哥哥幫忙

一本書的答案嗎,這里寫不完的。

㈡ 浙大ZOJ 1001 C語言a+b問題

while(scanf("%d %d",&a, &b) != EOF)這一句可以讓你實現多組a b的輸入 (EOF是End Of file的縮寫) 按你的寫法輸入一組a+b之後程序就會終止 OJ無法實現多組輸入 當然判錯啦

㈢ c語言計算機二級考試選擇題如圖

全國計算機二級考試試題題庫(附答案)
下列各題 A) 、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項在答題
卡相應位置上塗黑,答在試卷上不得分。
(1) 應用軟體是指
A) 所有能夠使用的軟體 B) 能被各應用單位共同使用的某種軟體
C) 所有微機上都應使用的基本軟體 D) 專門為某一應用目的而編制的軟體
(2) 下列述敘中錯誤的是
A) 計算機要經常使用不要長期閑置不用
B) 為了延長計算機的壽命,應避免頻繁開關計算機
C) 在計算機附近應避免磁場干擾
D) 計算機用幾小時後,應關機一會兒再用
(3) 下列字元中,ASCII碼值最小的是
A) A B) a C) Z D) x
(4) 用晶體管作為電子器件製成的計算機屬於
A) 第一代 B) 第二代 C) 第三代 D) 第四代
(5) 下列各不同進制的四個無符號數中,最小的數是
A) ()2 B) (37)8 C) (75)10 D) (2A)16
(6) 二進制數轉換成十六進制數是
A) B) C) D)
(7) 下列各無符號十進制數中,能用八位二進製表示的是
A) 296 B) 333 C) 256 D) 199
(8) 計算機的軟體系統可分類為
A) 程序與數據 B) 系統軟體與應用軟體
D) 操作系統與語言處理程序 D) 程序、數據與文檔
(9) 486機中的CPU同時能處理的二進制位數為
A) 8 B) 16 C) 32 D) 64
(10) 在使用計算機的過程中,需要重新啟動DOS,則要
A) 按Ctrl+Break鍵 B) 按^C鍵 C) 按Ctrl+Alt+Del鍵 D) 按^H鍵
(11) 現要從軟盤啟動DOS(軟盤中已存有DOS系統),設有如下一些操作:①打開計算機
電源;②將該軟盤插入A驅動器;③關好A驅動器門。則冷啟動的操作順序應為
A) ①→②→③ B) ③→②→① C) ②→①→③ D) ②→③→①
(12) 設當前盤中某一文件路徑為\A\C\B\,當前目錄為\A。下列命令中錯誤的是
A) CD.. B) RD \A\C\B
C) TYPE \A\C\B\ D) TYPE C\B\
(13) 設當前盤中的根目錄下有一子目錄AB,在子目錄AB下有一文件。現要查看文件
的內容,應使用命令
A) TYPE \AB B) TYPE \AB\
C) TYPE \ D) DIR \AB\
(14) 自動批處理文件必須放在
A) C盤根目錄中 B) A盤根目錄中
C) 啟動盤的任一個目錄中 D) 啟動盤的根目錄中
(15) 設當前盤當前目錄為C:\USER\XY\P,且當前盤當前目錄為空,則下列命令中能正
確執行的是
A) RD C:\USER\XY\P B) RD USER\XY\P
C) MD \USER\XY\P\USER D) MD \USER\XY\P\X\Y
(16) 下列DOS命令中,合法的是
A) DISKCOMP B) TYPE >>
C) COMP A: B: D) COMP A: A:
(17) 設當前盤為C盤,所用的所有軟盤已格式化,且容量相同,則下列DOS命令中錯
誤的是
A) DISKCOPY A: A: B) COPY A:*.* C) COPY *.* D) COPY A:*.* C:
(18) 下列DOS命令中錯誤的是
A) TYPE >PRN B) TYPE PRN
C) COPY *.TXT PRN D) COPY CON PRN
(19) 下列四組DOS命令中,互相等價的一組是
A) COPY A:*.* B:與DISKCOPY A: B:
B) COPY +與TYPE >>
C) COPY + 與COPY +
D) TYPE *.FOR>CON與COPY *.FOR CON
(20) 設C盤目錄結構如下:
且C盤根目錄下文件的內容為
CD FORTRAN
CD \TC
如果在A驅動器中插入一張根目錄中只有擴展名為.C的若干文件(即A盤中無DOS系統
文件)的軟碟片,則由C盤啟動DOS系統後,第一次鍵入下列命令中,正確的是
A) COPY A:\*.C B) COPY A:\*.C TC
C) COPY A:\*.C FORTRAN D) CD USER
(21) C語言提供的合法的數據類型關鍵字是
A) Double B) short C) integer D) Char
(22) 在C語言中,合法的長整型常數是
A) 0L B) 4962710 C) D)
(23) 表達式:10!=9的值是
A) true B) 非零值 C) 0 D) 1
(24) 合法的C語言中,合法的長整型常數是
A) '\t' B) "A" C) 65 D) A
(25) 若有說明和語句:
int a=5;
a++;
此處表達式a++的值是
A) 7 B) 6 C) 5 D) 4
(26) 在下列選項中,不正確的賦值語句是
A) ++t; B) n1=(n2=(n3=0)); C) k=i==j; D) a=b+c=1;
(27) 若有說明:int i,j=7, *p=&i;,則與i=j;等價的語句是
A) I= *P; B) *P=*&J; C) i=&j; D) i=* *p;
(28) 不能把字元串:Hello!賦給數組b的語句是
A) char b[10]={'H','e','l','l','o','!'};
B) char b[10];b="Hello!";
C) char b[10];strcpy(b,"Hello!");
D) char b[10]="Hello!";
(29) 若有以下說明:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c='a',d,g;
則數值為4的表達式是
A)a[g-c] B)a[4] C)a['d'-'c'] D)a['d'-c]
(30) 若有以下說明:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
則數值為6的表達式是
A) *p+6 B) *(p+6) C) *p+=5 D) p+5
(31) 若有以下說明:
int w[3][4]o={{0,1},{2,4},{5,8}};
int(*p)[4]=w;
則數值為4的表達式是
A) *w[1]+1 B) p++,*(p+1) C) w[2][2] D) p[1][1]
(32) 若程序中有下面的說明和定義
struct abc
{int x;char y;}
struct abc s1,s2;
則會發生的情況是
A) 編譯進錯 B) 程序將順利編譯`連接`執行
C) 能順利通過編譯`連接`但不能執行 D) 能順利通過編譯`但連接出錯
(33) 能正確表示a≥10或a≤0的關系表達式是
A)a>=10 or a<=0 B)a>=10│a<=0
C)a>=10││a<=0 D)a>=10 ││a<=0
(34) 下面程序的輸出是
main()
{ int x=3,y=6,a=0;
while(x++!=(y+=o1))
{ a+o=1;
if(y
#include
main()
{ char ss[10]="12345";
strcat(ss,"6789");
gets(ss);printf("%s\n",ss);
}
A) ABC B) ABC9 C) 123456ABC D) ABC456789
(35) 下面程序的輸出是
main()
{ char *a="";
int v1=0,v2=0,v3=0,v4=0,k;
for(k=0;s[k];k++)
switch(s[k])
{ default:v4++;
case '1': v1++;
case '3': v3++;
case '2': v2++; }
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4); }
A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1
C) v1=5,v2=8,v3=6,v4=1 D) v1=8,v2=8,v3=8,v4=8
(36) 下面程序的輸出是
main()
{int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}
A)k=11,k=12,k=11 B)k=11,k=13,k=13 C)k=11,k=013,k=0xb D)k=11,k=13,k=b
(37) 若有以下程序段,w和k都是整型變數:

w=k;
LB: if(w==0) go to LE;
w--;
printf("*");
goto LB;
LE: ┆
則不能與上面程序段等價的循環語句是
A)for(w=k;w!=0;w--) printf("*"); B)for(w=k;w;--w)printf("*");
C)w=k; D)w=k;
while(w--!=0)printf("*");w++; do{ w--;printf("*");}while(w!=0);
(38) 若有說明,double *p,a;則能通過scanf語句正確給輸入項讀入數據的程序段是
A)*p=&a; scanf("%lf",p); B)p=(double *)malloc(8);scanf("%f",p);
C) p=&a;scanf("%lf",a); D)p=&a; scanf("%le",p);
(39) 當執行下面程序且輸入:ABC時,輸出的結果是
#include
#include
main()
{ char ss[10]="12345";
gets(ss);printf("%s\n",ss); }
A) ABC B) ABC9 C) 123456ABC D) ABC456789
(40) 若有以下的說明和語句:
main()
{int t[3][2], *pt[3],k;
fpr(k=o; k<3;k++)pt[k]=t[k];
}
則以一選項中能正確表示t數組元素地址的表達式是
A) &t[3][2] B) *pt[0] C) *(pt+1) D) &pt[2]
(41) 下面程序輸出數組中的最大值,由s指針指向該元素.
main()
{ int a[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s;
flr(p=a, s=a; p-a<10; p++)
if(---?---)s=p;
printf("The max:%d",*s):
}
則在if語句中的判斷表達式應該是
A) p>s B) *p>*s C) a[p]>a[s] D) p-a>p-s
(42) 下面程序的輸出是
#include
main()
{ char*a="abcdefgh";
fun(a);puts(a); }
fun (char * s)
{ int x=0,y;char c;
for(y=strlen(s)-1;x
A)abcdefgh B)hgfdecba C)dcbahgfe D)hgfedcba
(43) 若有以下函數調用語句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函數調用語句
中實參的個數是
A)3 B)4 C)5 D)6
(44) 下面程序的輸出是
main()
{ int t=1; fun(fun(t));}
fun(int h)
{ static int a[3]={1,2,3};
int k;
for(k=0;k<3;k++) a[k]+=a[k]-h;
for(k=1;k<3;k++) printf("%d",a[k]);
printf("\n"); return(a[h]);}
A)1,2,3, B)1,3,5, C) 1,3,5, D) 1,3,5,
1,5,9, 1,3,5, 0,4,8, -1,3,7,
(45) C語言中,函數的隱含存儲類別是
A)auto B)static C)extern D)無存儲類別
(46) 下面程序的輸出是
int w=3;
main()
{ int w=10; printf("%d\n",fun(5)*w); }

㈣ 誰有大一C語言考試題快考試了,跪求題庫··

單項選擇題(每小題2分,共50分)

1、一個C程序的執行是從___A__。

A、本程序的main函數開始,到main函數結束

B、本程序的main函數開始,到本程序文件的最後一個函數結束

C、本程序文件的第一個函數開始,到本程序文件的最後一個函數結束

D、本程序文件的第一個函數開始,到本程序main函數結束

2、C語言程序的基本單位是___C___。

A、程序行 B、語句

C、函數 D、字元

3、請選出可用作C語言用戶標識符的一組標識符___B___。

A、void B、a3_b3 C、For D、2a

define _123 -abc DO

WORD IF ase sizeof

主要特點

C語言是一種結構化語言,它有著清晰的層次,可按照模塊的方式對程序進行編寫,十分有利於程序的調試,且c語言的處理和表現能力都非常的強大,依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建,通過指針類型更可對內存直接定址以及對硬體進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟體。

以上內容參考:網路-c語言

㈤ C語言題急求!~!~!~!~!~!~!~!~!~!

1.
最初的C語言是為描述和實現
UNIX
操作系統而設計的。
2.
C語言規定,標識符必須以字母或
下劃線
開頭。
3.
C語言的double型數據在內存中佔用
8
個位元組的存儲單元。
4.
×C語言的變數有
2
種存儲類型,其中
static
型變數不進行初始化時,初值自動為0
5.寫出下列表達式的求值結果:
(1)
2+3<=2
0
(2)
5/3+2
3
(3)
!
(3>2)||8!=7
1
(4)
3+7%3
4
6.已知int=12;
執行語句a*=2+4後,變數a的值為
24

7.已知int=2,b;
執行語句b=
a--;
後,變數a的值為
1
,
b的值為
2

8.若有int
a=2,b=1,c=0;
執行語句c=a++
-
b
-
-;
後,變數c的值為
1
,b的值為
0
一、
判斷題(1×5分,正確的畫√,錯誤的畫×)
(×)1.
C語言俗稱「低級語言的高級形式」,這說明C語言的功能不強。
(√)2.
C語言允許用實型表達式向整型變數賦值。
×(×)3.
C語言的全局變數只能是extern存儲類型。
×(×)4.
已知int
a[4],*p;則語句p=&a;是正確的。
(×)5.
下面的程序段構成死循環。
a=5;
while
(1)
{a--;
if
(a<0)
break
;
}
三、單項選擇題:(2×10分)
1.
在IBM-PC機中,unsigned
int類型表示的數據范圍是(
D
)。
A)0-127
B)0-255
C)0-32767
D)0-65535
2.
下列符號中,合法的C常量是(
C
)。
A)
1e8.2
B)
0XFFH
C)
『\n』
D)
089
3.語句x=3;
do{printf(「%d」,x);x--}while(x=
=0);
的執行結果是(
C
)。
A)3210
B)
321
C)3
D)無任何顯示
4.
已知p、q
是兩個同類型的指針變數,下列表達式有語法錯誤的是(
B
)。
(A)p!=NULL&&p=
=q
(B)
p*q
(C)p++,q--
(D)p-q+1
5.若k=
-1,
表達式k=
k>=0
?
(k-2)
:
(
k+2)
的值為(
D
)。
(A)-3
(B)
-2
(C)1
(D)2
×6.下面關於C函數的說法中正確的是(
B
)。
A)C函數的返回值類型必須是整型、實型或指針三者之一
B)C函數的返回值必須用return語句帶回主函數
C)C函數允許遞歸調用,也允許在函數體中定義子函數
D)任何C函數必須使用return語句帶回主程序
×7.若定義typedef
struct
user
{int
num;
char
name[21];
long
code;}
UserTp,;
則表達式
sizeof(UserTp)的值為(
D
)。
A)
0
B)
21
C)
31
D)
27
×8.已知static
int
a[
]={1,2,3,4};
int
*p;
若有p=a+2;
則*p++的值為(
C
)。
A)1
B)2
C)3
D)4
×9.定義C函數時,若預設函數返回值類型,則返回值類型為(
A
)。
A)int
B)char
C)void
D)char
*
10.
×為只讀操作打開正文(文本)文件,正確的打開方式是(
A
)。
A)
「r+」
B)
「a」
C)
「w」
D)
「rb」
四、多項選擇題(2×5分,多選或錯選不得分,少選得1分)
1.以下數據類型在內存中佔用4個位元組的是(
BC
)。
A)
int
B)
unsigned
long
C)
float
D)
unsigned
char
×2.
定義char
s[81];
後,能正確輸入一個字元串到數組s的語句是(
ABC
)。
A)gets(s);
B)scanf
(」%c」,s);
C)scanf
(」%s」,&s[0]);
D)gets(&s[0]);
3.
以下關於C源程序文件的說法中正確的是(
BCD

A)是一種二進制文件
B)是一種文本(ASCII碼)文件
C)可以用DOS的type命令顯示其內容
D)文件擴展名一般為c
×4.
下面關於C語言的說法錯誤的是(
ACD
)。
A)
C函數必須有形式參數
B)
任何復合語句體的{
}中允許定義局部變數
C)
局部變數都存儲在動態存貯區
D)
C程序的執行起點只能是main函數
5.
以下程序正確計算p=n!
(n>=0)的是(
AB
)。
A)
for(p=1.0,k=1;k<=n;)
p*=k++;
B)
p=1.0;k=0;while(k<n)
p*=++k;
C)
p=1.0;k=1;do{++k;p*=k;}
while(k<=n);
D)
p=1.0;for(k=n;k>=1;k--)
p*=k--;
五、讀程序與程序填空(共22分)
1.閱讀以下程序,寫出程序運行結果:(共3Χ4分)
×
(1)
#include
」stdio.h」
void
main()
{char
a[61],*s;int
n;
gets(a);
for(s=a;*s;s++)
if(*s>=』a』&&*s<=』z』)
*s-32;
puts(a);
}
若程序的輸入為abcb,則輸出結果為
ABCD

(2)
#include
」stdio.h」
void
main()
{
int
s=0,k=0;
while(k<4)
{s+=k;k++;printf(「%d」,s);}
}
該程序的輸出是
0136

(3)
#include
「stdio.h」
void
main(
)
{static
int
a[5]={2,-15,1,0,-7};
int
i;
for(i=0;i<5;i++)
if(a[i]<0)
a[i]
=
-a[i];
for(i=4;i>=0;i--)
printf(「%4d」,
a[i]);
}
該程序的輸出是7
0
1
15
12
(4)
×#include
「stdio.h」
#define
N
5
int
swap(int
*p,
int
*q)
{int
t;
if(p<q)
{t=*p;*p=*q;*q=t;}
return
p<q;
}
void
f(int
a[
],int
m)
{int
*p,
*q;
p=a;q=a+m;
while(swap(p,q))
{p++;
q--}
}
void
main(
)
{int
m,a[N];
for(m=0;m<N;m++)
scanf(「%d」,a+m);
f(a,N-1);
for(m=0;m<N;m++)
printf(「%d」,a[m]);
}
若程序的輸入為1
2
3
4
5,
則輸出結果為
5
4
3
2
1
2.程序填空:(共10分)
(1)
×以下程序的功能是輸入年、月、日,求該日期是這一年的第幾天,填空使之完善。
#include
「stdio.h」
int
IsLeap(int
y)
/*
此函數的功能是判斷年號y是否為閏年
*/
/*
已知閏年的條件是年號y能被4整除,但不能被100整除,或年號y能被400整除
*/
{int
r;
if(
y%4=
=0&&y%100!=0||y%400=
=0
)
r=1;
else
r=
0
;return
r;}
int
DaysofMonth(int
y,int
m)
/*
此函數的功能是求y年m月的天數
*/
{
int
days;
switch(m)
{case
4,6,9,11:days=30;break;
case
2:if(IsLeap(y))
days=28;else
days=29;break;
default:days=
31
;
}
return
days
;
}
void
main
(
)
{int
k,y,m,d,days;
printf(「Input
year,month,date:」);scanf(「%d%d%d」,&y,&m,&d);
days=0;
for(k=
1
;
k<m
;k++)days+=
DaysofMonth(y,k);
days+=d;
printf(「days=%d\n」,days);}
(2)
下面程序的功能是輸出100至1000以內的素數,請填空使之完善。
#include
「stdio.h」
#include

math.h

void
main
(
)
{
int
m,k,j;
for(m=100;m<=1000;m++)
{k=sqrt(m);
for(j=2;
j<=k
;j++)
if(m%j
=
=
0)
break;
if(
j>k或
j>=k+1
)
printf(「%5d」,m);
}
}
六、根據題意編寫程序:(3Χ6+10=28分)
1.
編程序,從鍵盤輸入a0,a1,a2,…,an計算s=ao+a1x+a2x2+…+anxn
×2.編程序,將正文(文本)文件中的小寫字母變成大寫並統計輸出文件有多少個字元,
要求文件名由鍵盤輸入。
×3.編程序,輸入n個英文單詞(n用#define定義為8),然後將這些單詞按英文字典順
序輸出。
×4.編程序,從鍵盤輸入n個學生的姓名、學號和住址,按照學號次序把它們串成一個單向鏈表。
1.
main(
)
{float
x,a[n+1],s=0.0;
int
i,n;printf(「請輸入n和x的值」);scanf(「%d,%f」,n,x);printf(「請輸入所有系數的值」);
for(i=0;i<=n;i++)scanf(「%f」,&a[i]);
for(i=0;i<=n;i++)
s=s+a[i]*pow(x,i);printf(「s=%f」,s」);}
2.
#include
「stdio.h」
main
(
)
{int
i;char
ch,name[80];
FILE
*fp;
i=0;
printf(「please
input
the
filename:」);
scanf(「%s」,name);
if((fp=fopen(name,」r+」))==NULL)
{
printf(「cannot
open
the
file」);
exit(0);}
ch=fgetc(fp);
i++;
if((ch>=』a』)&&(ch<=』z』))
ch=ch-32;
fputc(ch,fp);
printf(「字元總數為%」,i);
fclose(fp);
}
3.
#include
"stdio.h"
#include
"string.h"
#define
n
8
void
main(
)
{char
*p,*s[n],t[21];
int
i,j;
for(i=0;i<n;i++)
{scanf("%s",t);
s[i]=(char
*)malloc(strlen(t)+1);
strcpy(s[i],t);
}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(strcmp(s[i],s[j])>0)
{p=s[i];s[i]=s[j];s[j]=p;}
for(i=0;i<n;i++)
printf("%s\n",s[i]);
}
輸入
basic
good
well
c
pascal
morning
hlr
cpp
輸出:
basic
c
cpp
good
hlr
morning
pascal
well

㈥ 15道C語言的選擇題,請各位幫忙阿。

.設有char str[10], 下列語句正確的是( D )。
(A)printf(「%s」,&str); (B) printf(「%c」,str);
(C) printf(「%s」,str[0]); (D) printf(「%s」,str);
2.下面程序的輸出結果是( )。
int fun(int x, int y)
{ int m=3;
return(x*y-m);
}
main()
{int a=7,b=5;
printf(「%d\n」,fun(a,b));
}
(A) 28 (B) 32 (C)35 (D) 12
3.若有說明:int a[3][4]; 則對a 數組元素的正確引用是( C )。
(A)a[2][4] (B) a[1,3] (C) a[1+1][0] (D) a(2) (1)
4. 若已知a=10,b=20,則表達式!a<b的值為( C )。
(A)10 (B)20 (C)1 (D)0
5.程序段如下:
int k=1;
while(!k= =0)
{ k=k+1;
printf(「%d\n」,k); }
則以下說法中正確的是( )。
(A)while循環執行2次 (B)循環是無限循環
(C)循環體語句一次也不執行 (D)循環體語句執行一次
6.若j已定義為int型,則以下程序段中循環體的執行結果是( )。
for(j=1; j<=10; )
{printf(「%2d」, j); j=j+2;}
(A) 1 2 3 4 5 (B) 1 3 5 7 9 (C) 2 4 6 8 10 (D)3 4 5 6 7
7.下面程序的運行結果是( )。
main()
{ int a[5], i;
for(i=0;i<5;i++)
{ a[i]= 3*(i>2) ;
printf(「%2d」, a[i]);
}
}
(A) 0 0 0 0 0 (B) 1 0 1 0 1 (C) 0 0 0 1 3 (D) 0 0 0 3 3
8.假設array是一個有10個元素的整型數組,則下列寫法中正確的是( )。
(A)array[0]=10 (B) array=0 (C) array[10]=0 (D) array[-1]=0
9. 已知: int a=4,b=5; 則執行表達式c=a=a>b後變數的值為( )
(A) 0 (B ). 1 (C) . 4 (D) . 5
10.若說明:int a[][3]={0,1,2,3,4,5,6,7,8,9};則數組第一下標(行數)的大小為( )
(A) . 2 (B) . 3 (C ). 4 (D) . 不確定的值
11. 為了從鍵盤上輸入字元串「HOW ARE YOU?」,可以直接使用函數( )。
(A) .scanf (B ). gets
(C) .getchar (D) . 都不能直接使用
12. 設有int x=5, y=6 ,z=7; 則執行程序段 if(x>y)z=x; x=y; y=z後,x, y, z的值分別為( ).
(A)5,6,7 (B)6,7,8 (C)7,7,8 (D)6,7,7
13. 下列選項中,與k=n++等價的表達式是( )
(A)k=++n (B)n=n+1, k=n (C)k=n, n=n+1 (D)k+=n+1
14.合法的數組定義是:( )
(A )char a={『H』,』e』,』I』,』l』,』o』};
(B )char a[5]={「h」,」e」,」I」,」l」,」o」};
(C )char a[4]={『H』,』e』,』I』,』l』,』o』};
(D )char a[6]=」hello」;
15.sizeof(double)是( )
(A) 函數調用 (B ). double 型表達式
(C ). int 型表達式 (D) . 非法表達式
給:
DBCCB
BDAAC
BDCDA

其中所有程序運行結果題目都實際運行確認了

㈦ 誰知道哪有關於C語言的練習題

C 程序設計試題庫C語言概述練習題

1.一個C程序的執行是從( )
A.本程序的main函數開始,到main函數結束
B.本程序文件的第一個函數開始,到本程序文件的最後一個函數結束
C.本程序的main函數開始,到本程序文件的最後一個函數結束
D.本程序文件的第一個函數開始,到本程序main函數結束

2.以下敘述正確的是:( )
A.在C程序中,main函數必須位於程序的最前面
B.程序的每行中只能寫一條語句
C.C語言本身沒有輸入輸出語句
D.在對一個C程序進行編譯的過程中,可發現注釋中的拼寫錯誤

3.以下敘述不正確的是:( )
A.一個C源程序可由一個或多個函數組成
B.一個C源程序必須包含一個main函數
C.C程序的基本組成單位是函數
D.在C程序中,注釋說明只能位於一條語句的後面

4.C語言規定:在一個源程序中,main的位置( )
A.必須在最開始
B.必須在系統調用的庫函數後面
C.可以任意
D.必須在最後

5.一個C語言程序是由( )
A.一個主程序和若乾子程序組成
B.函數組成
C.若干過程組成
D.若乾子程序組成

6.C源程序的基本單位是____________

7.一個C源程序中至少包括一個____________

8.在一個C源程序中,注釋部分兩側的分界符分別為____________ 和____________

9.在C語言中,輸入操作是由庫函數____________ 完成的,輸出操作是由庫函數____________ 完成的

c語言模擬練習題

一、 判斷題(2×8=16分)
1、Printf()函數總是從新行的起始位置開始列印。 ( )
2、所有的變數在使用前都必須予以申明。( )
3、在申明變數時必須給出變數的類型。( )
4、C語言認為變數number和NuMbEr是相同的。( )
5、列印三行輸出的C語言程序必須用三條printf語句。( )
6、求余運算符%只能用於兩個整數操作數。( )
7、switch選擇結構中必須有default子句。( )
8、如果x>y或a<b為真,那麼表達式(x>y&&a<b)為真。( )
二、 選擇題(3×16=48分)
1、下面實現換行功能的格式符為 。( )
A. \t B. \n C. \a D. \k
2. C語言程序由什麼組成?(單選)
A. 子程序 B. 主程序和子程序 C. 函數 D. 過程
3. 下面哪個表達式的值為4.
A. 11/3 B. 11.0/3
C. (float)11/3 D. (int)(11.0/3+0.5)
4. 該源程序執行後,屏幕上顯示什麼?
void main()
{
int a;
float b;
a=4;
b=9.5;
printf("a=%d,b=%4.2f\n",a,b);
}

A. a=%d,b=%f\n B. a=%d,b=%f
C. a=4,b=9.50 D. a=4,b=9.5
5. 若有以下說明語句:
char s='\\\092';
則下面哪一項是正確的.
A. 使s的值包含2個字元 B. 說明語句不合法
C. 使s的值包含6個字元 D. 使s的值包含4個字元
6.若k,g均為int型變數,則以下語句的輸出為哪一項?
int k,g;
k=017;
g=111;
printf("%d,",k);
printf("%x\n",g);

A. 15,6f B. f,6f C. f,111 D. 15,111

7. 在C語言的if語句中,用作判斷的表達式為___。
A. 關系表達式 B. 邏輯表達式
C. 算術表達式 D. 任意表達式

8. 請問:下面這個程序段的輸出是什麼?
int a,b,c;
a=7;b=8;c=9;
if(a>b)
a=b,b=c;c=a;
printf("a=%d b=%d c=%d\n",a,b,c);

A. a=7 b=8 c=7 B. a=7 b=9 c=7
C. a=8 b=9 c=7 D. a=8 b=9 c=8

9. 下面這個程序的輸出是什麼?
#include <stdio.h>
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}

A. y=0 B. while構成死循環 C. y=1 D. y=-1

10. 若有以下說明和語句,則輸出結果是___。
char str[]="\"c:\\abc.dat\"";
printf("%s",str);

A. 字元串中有非法字元 B. \"c:\\abc.dat\"
C. "c:\abc.dat" D. "c:\\abc.dat"

11. 如果要把常量327存入變數a中,a不能定義成哪些類型?
A. int B. char C. long D. float
12. C語言中,預處理總是以 符號開頭。 ( )
A. ¥ B.# C. @ D. ◇
13. C語言中,double類型的數據占 個位元組的空間。( )
A. 1 B.2 C. 4 D. 8
14. 下面語句執行完後,b的值為 。 ( )
int a=b=10;
b=10+(a++);
A. 10 B.19 C. 20 D. 21

15. 這段程序中的常量有: (多選) ( )
#define PI 3.14
void main()
{
int sum;
sum = 10 + 15;
printf("sum=%d\n",sum);
printf("result is 25\n");
}
這段程序中常量有:
A. 10 B. sum C. 15
D. 25 E. main F. PI

16. 指出下面錯誤的表達式:(多選) ( )
A. a+b=5 B. 56=a11 C. i=i++
D. 5.6+6.2%3.1 E. 12 F. a=5,b=6,c=7

三、 填空題(3×8=24分)
1、C語言程序都是從 函數開始執行。
2、函數體用 開始,用 結束。
3、C語言的語句都以 結束。
4、執行循環結構中的 語句能夠立即執行下一次循環。
5、執行循環結構或switch結構中的 語句能夠立即退出該結構。
6、輸出字元串的格式化符為 。
7、C語言中數組名表示數組的 。

㈧ 本題要求編寫程序,計算序列 2/1+3/2+5/3+8/5+... 的前N項之和。

首先需要明確,常常看到int取值范圍為-32768~32767,實際上int的取值范圍依賴於計算機系統,在16位機器中,int佔16位,取值范圍為前面所說的-32768~32767(-2^16~2^16-1)。

而在32位和64位機器中,int佔32位,取值范圍為-2147483648~2147483647(-2^32~2^32-1)。

本題中當N為44時,分子的取值將達到2971215073,超出int取值范圍(2147483647),出現異常,導致計算結果出錯,也就是PTA中判斷的較大N出錯。

N<44時一切正常,當N=44時,分子值因為超出int取值范圍出現錯誤。因此本題中,fm,fz,t應為double類型。

(8)浙大c語言題庫擴展閱讀:

在計算機系統中,一條機器指令規定了計算機系統的一個特定動作。一個系列的計算機在硬體設計製造時就用了若干指令規定了該系列計算機能夠進行的基本操作,這些指令一起構成了該系列計算機的指令系統。

在計算機應用的初期,程序員使用機器的指令系統來編寫計算機應用程序,這種程序稱為機器語言程序。

使用機器語言編寫的程序,由於每條指令都對應計算機一個特定的基本動作,所以程序佔用內存少、執行效率高。缺點也很明顯,如:編程工作量大,容易出錯;依賴具體的計算機體系,因而程序的通用性、移植性都很差。

㈨ 急求C語言復習題庫加答案

一 選擇題(7分,每小題0.5分)
1.C語言源程序的基本單位是( B)。
A 過程 B 函數 C 子程序 D 標識符
2.下列程序的輸出結果是(C)。
main( )
{ int a=7,b=5;
printf("%d\n",b=b/a);
}
A 5 B 1 C 0 D不確定值
3.假設變數a,b均為整型,表達式(a=5,b=2,a>b?a++:b++,a+b)的值是(B)。
A 7 B 8 C 9 D 2
4.設a為int型變數,執行下列賦值語句後,a的取值分別是( B )。
a=125.534; a=(int)125.521%4; a=5<<2;
A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20
5.設有如下程序段,下面描述中正確的是 ( C )。
int k=10; while(k=0) k=k-1;
A 循環執行一次 B循環是無限循環 C循環體語句一次也不執行 D循環體語句執行一次
6.以下程序的輸出結果為(A)。
int i;
void prt( )
{ for(i=5;i<8;i++) printf("%c",'*');
printf("\t");
}
main( )
{ for(i=5;i<=8;i++) prt( );
}
A *** B *** *** *** *** C *** *** D * * *
7.在C語言程序中,以下說法正確的是(B)。
A函數的定義可以嵌套,但函數的調用不可以嵌套
B函數的定義不可以嵌套,但函數的調用可以嵌套
C函數的定義和函數的調用都不可以嵌套
D函數的定義和函數的調用都可以嵌套
8.以下函數調用語句中含有(A)個實參。
func((e1,e2),(e3,e4,e5));
A 2 B 3 C 5 D 語法錯誤
9.以下程序的輸出結果為(A)。
#define ADD(x) x*x
main( )
{ int a=4,b=6,c=7,d=ADD(a+b)*c;
printf("d=%d",d);
}
A d=70 B d=80 C d=140 D d=700
10.已知職工記錄描述如下,在Turbo C中,系統為變數w分配(C )位元組的空間。
struct worker
{ int no;
char name[20];
char sex;
union
{ int day; int month; int year;}birth;
} w;
A 29 B 20 C 25 D 6
11.設有以下定義,值為5的枚舉常量是(A )。
enum week{sun,mon=4,tue,wed,thu,fri,sat} w;
A tue B sat C fri D thu
12.下面選項中正確的賦值語句是(設 char a[5],*p=a;)(A)。
A p="abcd"; B a="abcd"; C *p="abcd"; D *a="abcd";
13.設有以下程序段,則值為6的表達式是(B )。
struct st { int n; struct st *next;};
static struct st a[3]={5,&a[1],7,&a[2],9,0 },*p;
p=&a[0];
A p++->n B ++p->n C p->n++ D (*p).n++
14.C語言中的文件類型只有( D )。
A 索引文件和文本文件兩種 B 文本文件一種
C 二進制文件一種 D ASCII碼文件和二進制文件兩種
二 判斷對錯,對的劃「√」,錯的劃「×」(5分,每小題0.5分)
1.在Turbo C中,整型數據在內存中佔2個位元組。(× )
2.int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的輸出結果為A。(× )
3.break語句用在循環體中,可結束本層循環,continue語句用在循環體中,可結束本次循環。( √ )
4.函數的遞歸調用不過是一個函數直接或間接地調用它自身。(√)
5.函數strlen("ASDFG\n")的值是7。(× )
6.通過return語句,函數可以帶回一個或一個以上的返回值。(×)
7.結構體類型只有一種。 ( × )
8.char *p="girl";的含義是定義字元型指針變數p,p的值是字元串"girl"。(× )
9.若有定義:char *p(char a[10]);則p是函數名。(√ )
10.用fopen("file","r+");打開的文件"file"可以進行修改。 ( √ )
答案
一 選擇題(7分,每小題0.5分)
1. B 2. C 3. B 4. B 5. C
6. A 7. B 8. A 9. A 10. C
11. A 12. A 13. B 14. D
二 判斷對錯,對的劃「√」,錯的劃「×」(5分,每小題0.5分)
1.× 2.× 3.√ 4.√ 5.×
6.× 7.× 8.× 9.√ 10.√
1選擇題(24分,每小題2分)
1.已知函數fread的調用形式為fread(buffer,size,count,fp),其中buffer代表的是(B)。
A 存放讀入數據項的存儲區 B 存放讀入數據的地址或指向此地址的指針
C 一個指向所讀文件的文件指針 D 一個整形變數,代表要讀入的數據項總數
2.以下程序的輸出結果為( C)。10,10
main( )
{ int i=010,j=10;
printf("%d,%d\n",i++,j--); }
A 11,9 B 9,10 C 8,10 D 9,9
3.設a為int型變數,執行下列賦值語句後,a的取值分別是( B )。a=125.534;a=20.0/3;a=(int)125.521%4;a=5<<2;
A 125,6,31,1 B 125,6,1,20 C 125,6.666666,31,20 D 125.534,6.666666,2,20
4.設i和k都是int類型,則for循環語句(D )。
for(i=0,k=-1;k=1;i++,k++) printf("****\n");
A 循環結束的條件不合法 B 循環體一次也不執行 C 循環體只執行一次 D 是無限循環
5.以下程序的輸出結果為(`D )。
main( )
{ char c;
int i;
for(i=65;i<68;i++)
{ c=i+32;
switch(c)
{ case 'a':case 'b':case 'c':printf("%c,",c);break; default:printf("end");}

}
}
A a,b,c,end B a,a,a,end C a,a,a, D a,b,c,
6.函數調用語句:fseek(fp,-10L,2);的含義是(A )。
A 將文件位置指針從文件末尾處向文件頭的方向移動10個位元組
B 將文件位置指針從當前位置向文件頭的方向移動10個位元組
C 將文件位置指針從當前位置向文件末尾方向移動10個位元組
D 將文件位置指針移到距離文件頭10個位元組處
7.以下程序的輸出結果為(D )。
main( )
{ char s1[40]="country",s2[20]="side";
int i=0,j=0;
while(s1[i]!='\0') i++;
while(s2[j]!='\0') s1[i++]=s2[j++];
s1[i]=0;
printf("%s\n",s1);
}
A side B country C sidetry D countryside
8.下列說法不正確的是(A)。
A 主函數main中定義的變數在整個文件或程序中有效
B 不同函數中,可以使用相同名字的變數
C 形式參數是局部變數
D 在一個函數內部,可以在復合語句中定義變數,這些變數只在本復合語句中有效
9.在下列程序段中,枚舉變數 c1的值是( D )。
enum color { red,yellow,blue=4,green,white}c1; c1=yellow; c1=white;
A 1 B 3 C 5 D 6
10.設有說明 int (*ptr)();其中標識符ptr是(B)。
A 是一個指向整形變數的指針 B 是一個指針,它指向一個函數值是int的函數
C 是一個函數名 D定義不合法
11.定義由n個指向整形數據的指針組成的數組p,其正確的方式為( C )。
A int p; B int (*p)[n]; C int *p[n]; D int (*p)( );
12.具有相同類型的指針類型變數p與數組a,不能進行的操作是( B)。
A p=a; B *p=a[0]; C p=&a[0]; D p=&a;
二 判斷對錯,對的劃「√」,錯的劃「×」(20分,每小題2分)
1.參加位運算的數據可以是任何類型的數據。(× )
2.若有定義和語句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通過鍵盤輸入:10,A,12.5,則a=10,c=『A』,f=12.5。(√)12.500000
3.C語言把文件看作是一個字元(位元組)的序列。(√ )
4.若有宏定義:#define S(a,b) t=a;a=b;b=t由於變數t沒定義,所以此宏定義是錯誤的。(× )
5.在Turbo C中,下面的定義和語句是合法的:file *fp;fp=fopen("a.txt","r");( × )
6.若有定義:char s[ ]="china";則Turbo C系統為數組s開辟6個位元組的內存單元。(√ )
7.若有定義和語句:int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i<3;i++) sum+=a[i][2-i];則sum=21。(√ )
8.若有定義和語句:struct student { int num; char name[10]; float score;} s[5]={{1,"lili",98.5},{9,"xiaohua",66}},*p=s;printf("%d",*p++);輸出結果是1。(× )
9.在程序中定義了一個結構體類型後,可以多次用它來定義具有該類型的變數。(√ )
10.在Turbo C中,此定義和語句是合法的:enum aa{ a=5,b,c}bb;bb=(enum aa)5;( √ )
答案
一 選擇題(24分,每小題2分)
1.( B ) 2.( C ) 3.( B ) 4.( D ) 5.( D ) 6.( A )
7.( D ) 8.( A ) 9.( D ) 10.( B ) 11.( C ) 12.( D )
二 判斷對錯,對的劃「√」,錯的劃「×」(20分,每小題2分)
1.( × ) 2.( √ ) 3.( √ ) 4.( × ) 5.( × )
6.( √ ) 7.( √ ) 8.( × ) 9.( √ ) 10.( √ )

㈩ C語言,求網友發可以刷C語言編程題的網址,不甚感激,OJ題!

在線編程網站:https://oj.leetcode.com/problemset/algorithms/
題庫不斷更新,注冊以後能記錄自己的答題內容,題的類型偏向實際應用,很多找IT方向工作的人都會在這刷題練習,效果很好。根據自己找工作的經驗,有的公司招聘編程題與這上面的題目很類似,所以個人感覺這個網站練習編程很有效果~