【渝粤题库】陕西师范大学200681C语言程序设计 作业(高起专、高起本)
一、單選題
1.有如下程序段,其執(zhí)行后的輸出結(jié)果為( )。
main()
{int i=8;
while(i>1) {–i; printf(“%d”,i–);}
}
A. 753 B. 7531 C. 8642 D. 864
2.在下列的數(shù)組定義中,哪一個有語法錯誤( )。
A. int a[]={1,2,3,4,5}; B. int a[10]={0};
C. int a[][]={0,2,4,6,8}; D. int a[][5]={1,2,3,4,5,6,7};
3.有如下程序:
#define N 2
#define M N+1
#define NUM 2*(M)-1
main()
{int i;
for(i=1;i<=NUM;i++)
printf(“%d\n”,i);
}
該程序中的for循環(huán)執(zhí)行的次數(shù)是( )。
A 5 B 4 C 3 D 6
4.設(shè)x、y均為整型變量,且x=8,y=7,則以下語句的輸出結(jié)果是( )。
printf(“%d,%d\n”,++x,y++);
A 9,6 B 9,7 C 8,7 D 9,5
5.表達(dá)式x=x+1表示成增量表達(dá)式為( )。
A x+或++x B x++或+x C x++或++x D x+或+x
6.instrlen函數(shù)的功能是計(jì)算str所指字符的長度,并作為函數(shù)值返回。請?zhí)羁铡?br /> int instrlen (char str)
{int i;
for(i=0; ( ) ;i++);
return (i);
}
A st [i] B sr[i] C str[i] D tr[i]
7.當(dāng)不需要函數(shù)返回任何值時,則應(yīng)把該函數(shù)類型定義為( )。
A void B viod C vdio Dvid
8.如有以下定義 int a[10]={1,2,3};則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是( )。
A 21 B 19 C 22 D20
9.若有以下語句
main()
{char s=”1234\”\067”;
printf(“%s”,s);
輸出結(jié)果為( )。
A 123”66 B 123”67 C 113”67 D 133”67
10.若有以下程序段:
main()
{int a=511;
unsigned char p;
p=(unsigned char)&a;
printf(“%d”,p);
}
輸出結(jié)果為( )。
A 254 B 253 C 255 D 256
11.若有定義語句 “int a=25,b=10,c=15;”以下語句執(zhí)行結(jié)果是( )。
if(a++<=25 &&b–<=2 && c++)
printf(“%d,%d,%d\n”,a,b,c);
else printf(“###%d,%d,%d\n”,a,b,c);
A ###26,8,15 B ###26,9,15 C ###25,9,15 D###26,9,16
12.設(shè)有下列運(yùn)算符:<<、/、++、&&、<=,其中優(yōu)先級最高的是( )。
A << B / C ++ D &&
13.若a為int 型變量,則以下哪一個語句是正確的( )。
A.int p=a; B. int p =a; C. int p=&a; D. int p=&a;
14.在以下一組運(yùn)算符中,優(yōu)先級最低的運(yùn)符是( )。
A.! B.= C.== D. ,
15.若變量a為char類型,能正確判斷出a為數(shù)字字母的表達(dá)式為( )。
A.0<=a<9 B.’0’<=a<=’9’
C.0<=a && a<=9 D.’0’<=a && a<=’9’
16.有如下程序:
main()
{int i,j;
for (i=1;i<=4;j++) j=j+i;
printf(“%d\n”,j);
}
該程序的的執(zhí)行結(jié)果是( )。
A.不確定 B.6 C.10 D.死循環(huán)
17.以下程序中,while循環(huán)的循環(huán)次數(shù)是( )。
main()
{int i=2;
while(–i)
{printf(“%d”,i–);
if (i) i=i+3;
else break;
}
}
A.1 B. 2 C.3 D.死循環(huán)
18.以下程序的輸出結(jié)果是( )。
main()
{int i, a[3][3]={0,1,2,3,4,5,6,7,8},p=&a[0][2];
for(i=0;i<4;i+=2) printf(“%d”,p[i]);
}
A.23 B.34 C.24 D.35
19.設(shè)有如下定義:
int a[]={1,2,3,4,5,6};
int p;
則下程序段的輸出結(jié)果為( )。
p=a+1;
(p+4)+=(p+2)+=2;
printf(“%d,%d\n”,(p+4),(p+2));
A.5,9 B.12,6 C.6,12 D.9,5
29.在c語言中,可以提高執(zhí)行效率的變量存儲類別是( )。
A.auto B.register C.static D.extern
21.以下程序運(yùn)行時,如果從鍵盤輸入ABCDEFGH<回車>,則輸出結(jié)果為( )。
#include “stdio.h”
#include “ctype.h”
int f(char s[])
{int i=0;
while(s[i++]!=’\0’);
return (i);
}
main()
{char str[10];
scanf(“%s”,str);
printf(“%d\n”,f(str));}
A.7 B.8 C.9 D.10
22.若要對C盤上temp子目錄下名為my.bat的文本文件進(jìn)行讀寫操作,則下面符合此要求的打開文件的函數(shù)調(diào)用為( )。
A.fopen(“c:\temp\my.bat”,”rw”)
B.fopen(“c:\temp\my.bat”,”rw”)
C.fopen(“c:\temp\my.bat”,”r+”)
D.fopen(“c:\temp\my.bat”,”r+”)
23.設(shè)有定義如下:#define F(N) 2N,表達(dá)式F(2+3)的值是( )。
A. 7 B. 8 C. 9 D.6
24.設(shè)有定義如下:int a=9,b=9,c=9; 順序執(zhí)行下列語句,變量b中的值是( )。
c=(a-=(b-5));
c=(a%11)+(b=3);
A. 2 B. 3 C. 4 D.5
25.算術(shù)表達(dá)式 80-‘a(chǎn)’+40/2的運(yùn)算結(jié)果為( )類型。
A. In B. It C. Int D. nt
26.下面函數(shù)要求計(jì)算兩個整數(shù)x、y之和,并通過形參z傳回該和的值,請?zhí)羁铡?br /> void add(int x,int y,int z)
{( )=x+y; return;}
A. S B. z C. z D. X
27.邏輯表達(dá)式 x>10 &&x<20的相反表達(dá)式為( )。
A. !(x>10 && x<20) 或 x<=10 || x>=20
B. !(x>10 && x<20) 或 x<=10 || x=20
C. !(x>10 && x<20) 或 x<=10 || x>20
D. !(x>10 && x<20) 或 x<10 || x>=20
28.假定要訪問一個結(jié)構(gòu)體x中的成員a,則表示方法為( )。
A. x.a B. xa C. x.A D. ax
29.如有以下程序
main()
{char s[10]={‘1’,’2’,’3’};
s[4]=’5’;
s[5]=’\0’;
printf(“%s”,s);}
則輸出結(jié)果為( )。
A. 122 B. 223 C. 123 D. 133
30.若有定義:
int a=511,b=&a;
則 printf(“%o”,b);的輸出結(jié)果為( )。
A. 776 B. 767 C. 777 D. 677
31.設(shè)i,j,k均為int 型變量,則執(zhí)行完下面的for循環(huán)后,k的值為( )。
for(i=0,j=10;i<=j;i++,j–) k=i+j;
A. 10 B. 9 C. 8 D. 11
32.設(shè)字符型變量a=4,b=6,計(jì)算表達(dá)式 c=(a^b)<<2后的二進(jìn)制值是( )。
A. 1001 B. 1010 C. 1000 D. 1100
33.下面的哪一個保留字不能作為函數(shù)返回類型( )。
A. long B. auto C. float D. char
34.以下程序的輸出結(jié)果是( )。C
main()
{int k=017;
printf(“%d,%o,%x\n”,k,k,k);
}
A. 17,17,17 B. 17,21,11 C. 15,17,f D. 15,017,0xf
35.在C語言中,合法的字符常量是( )。
A. ’\xfg’ B. ’\083’ C. ”\0” D. ’\r’
36.以下程序的輸出結(jié)果為( )。
main()
{char x=012;
printf(“%o\n”,x<<2);
}
A. 10 B. 50 C. 40 D. 48
37.若有以下語句,使得a=’a’,d=9,c=’b’,則輸入格式正確的是(u 空格,CR為換行符)( )。
int i;
char a,b;
scanf(“%c%d%c”,&a,&i,&b);
A. au9ub B. a9ub C. a9b D. a CR 9 CR b
38.C語言程序從( )開始執(zhí)行。
A. 程序中的第一個語句 B. 程序中的第一個函數(shù)
C. 程序中的第一個可執(zhí)行語句 D. 程序中的main函數(shù)
39.假定a為一維數(shù)組,pa是指向數(shù)組a的指針變量,則訪問a[i]的正確方式為( )。
A. a+i B. (pa+i) C. pa+i D. pa+i
40.以下程序運(yùn)行后,輸出結(jié)果為( )。
main()
{static char s[]=”ABCDEFGH”, t=”ABCDFGH”;
int i;
for (i=0;s[i]==t[i];i++);
printf(“%d\n”,t[i]-s[i]);}
A. 0 B. 1 C. –1 D. 死循環(huán)
41.下列程序的輸出是( )
main()
{
unsigned a=32765;
a=a+3;
printf(“a=%d\n”,a);
}
A. a=32768 B. a=-32768 C. a=-1 D. a=1
42.如下列變量均合法定義,則以下合法的賦值表達(dá)式是( )
A. a=int(3.5) B. 3=a C. ++(a+b) D. a<<=3
43.下列敘述正確的是( )
A. C語言源程序可以直接在DOS環(huán)境中運(yùn)行
B.Turbo C系統(tǒng)不提供編譯和連接C 程序的功能
C.編譯C語言源程序得到目標(biāo)程序可以直接在DOS環(huán)境中運(yùn)行
D.C語言源程序連接得到的可執(zhí)行程序可以直接在DOS環(huán)境中運(yùn)行
44.下列敘述錯誤的是( )
A.break語句可以使程序從switch語句中跳出來
B.continue 語句是為了結(jié)束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行
C.break語句是為了使程序流程跳出循環(huán)體,提前結(jié)束循環(huán)
D.在switch語句中使用continue 和break語句的作用相同
45.若要在程序中使用標(biāo)準(zhǔn)輸入輸出庫函數(shù)時,則必須在程序的開始用#include命令中使用( )頭文件。
A. stdio.h B. stdi.h C. stdo.h D. stdio
46.設(shè)有語句int a=5;則執(zhí)行語句a+=a-=aa;后,變量a的值是( )。
A.-41 B. -30 C. -42 D. -40
47.數(shù)學(xué)表達(dá)式 +2x-3y(x-y)的c語言表達(dá)式是( )。
A. (x+y)/(x-y)+2x-3y(x-y)
B. (x+y)/(x+y)+2x-3y(x-y)
C. (x-y)/(x-y)+2x-3y(x-y)
D. (x+y)/(x-y)+2x+3y(x-y)
48.假定x和y為double型,則表達(dá)式x=3,y=x+x/2的值是( )。
A. 500000 B. 501000 C. 500100 D. 510000
49.在每一個c語言程序中都必須包含有這樣一個函數(shù),該函數(shù)的函數(shù)名為( )。
A. main() B. min() C. man() D. mai ()
50.( )是c語言程序的基本單位。
A. 英語 B. 函數(shù) C. 公式 D. 數(shù)學(xué)
51.執(zhí)行以下程序段后,輸出結(jié)果為( )。
main()
{int a[]={1,2,3,4,5,6};
int p=a+2, q=0;
q=p+2;
printf(“%d%d\n”,p,q);
}
A. 35 B. 34 C. 36 D. 33
52.有如下程序,則其輸出結(jié)果為( )
main()
int a=3,b=-2,c=5;
if(a<b)
if(b<0) c=0;
else c++;
printf(“%d\n”, c);
}
A. 4 B. 5 C. 3 D. 6
53.下面程序的運(yùn)行結(jié)果是( )。
main()
{int x=5,y=3;
printf(“%d”,(x++,++y));
}
A. 4 B. 3 C. 5 D. 6
54、有以下程序
void fun(int a,int b,int c)
{ a=3;b=4;c=5;}
main()
{
int x=1,y=2;z=3;
fun(x,y,z);
printf(“%d,%d,%d\n”,x,y,z);
}
輸出結(jié)果是( )
A. 3,4,5 B. 1,2,3 C. 5,4,3 D. 3,2,1
55、下列敘述錯誤的是( )
A. if語句允許用戶選擇是否執(zhí)行某一個操作
B. if~else語句允許用戶選擇是否執(zhí)行兩個操作中的某一個操作
C. switch語句允許用戶選擇執(zhí)行多個操作的某一個操作
D. 多分支選擇結(jié)構(gòu)只能使用switch語句實(shí)現(xiàn)
56、有以下定義
int a=013;
int b=15;
則表達(dá)式a&b的值為( )
A.13 B.1 C.15 D.4
57、下述對C語言字符數(shù)組的描述中錯誤的是( )
A. 字符數(shù)組可以存放字符串
B. 字符數(shù)組中的字符串可以整體輸入輸出
C. 可以在賦值語句中通過賦值運(yùn)算符“=”對字符數(shù)組整體賦值
D. 不可以用關(guān)系運(yùn)算符對字符數(shù)組中的字符串進(jìn)行比較
58、假定p所指對象的值為28,p+1所指對象的值為62,則p++的值為( )
A.28 B.29 C.62 D.63
59、若用數(shù)組名作為函數(shù)調(diào)用時的實(shí)參,則實(shí)際上傳遞給形參的是( )
A. 數(shù)組首元素的地址 B. 數(shù)組元素的個數(shù)
C. 數(shù)組的第一個元素的值 D. 數(shù)組中全部元素的值
60、設(shè)有如下定義
struct sk
{int a;float b;}data,p;
如有p=&data; 則對data中的a域的正確引用是( )
A. (p).a B. (p).data.a C. p.data.a D. p->data.a
61、while(!x)中的!x與下面哪個條件等價( )
A. x0 B. x!=0 C. x1 D. x!=1
62、設(shè)x和y均為邏輯值,則x||y為假的條件是( )
A. 其中一個為真 B. 其中一個為假
C. 兩者均為真 D. 兩者均為假
63、C語言規(guī)定為字符串結(jié)束標(biāo)志的是( )
A. \n B. \r C. \0 D. \o
64、假定a是一個字符數(shù)組名,則元素a[5]的字節(jié)地址為( )。
A. a+5 B. a+4 C. a+3 D. a-5
65、如有以下程序段
union ss
{int i;
char a;
}s;
s.i=512
s.a=2
printf(“%d”,s.i)
則輸出結(jié)果為( )。
A. 514 B. 512 C. 504 D. 513
66、以下程序段的輸出結(jié)果是( )。
#include “string.h”
main()
{char p,q,s[80]=”ABCDEFGHIJK”;
p=”1234”;q=”5678”;
strcpy(s+2,p+2); strcpy(s+4,q+3);
printf(“%s”,s);
}
A. AB348 B. AB348 C. AB348 D. AB348
67、結(jié)構(gòu)化程序設(shè)計(jì)規(guī)定的三種基本結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和( )。
A. 邏輯結(jié)構(gòu) B. 循環(huán)結(jié)構(gòu) C. 公式結(jié)構(gòu) D. 函數(shù)結(jié)構(gòu)
68、以下程序的輸出結(jié)果是( )。
main()
{int a=0,i;
for(i=0;i<5;i++)
switch(i)
{case 0:
case 2:a+=3;
default:a+=5;
}
}
printf(“%d\n”,a);
}
A. 30 B. 33 C. 31 D. 32
69、c語言程序中的每條基本語句以( )作為結(jié)束符。
A. 。 B. , C. ; D.}
70、設(shè)a,b和c都是int型變量,且a=7,b=8,c=9,則下列表達(dá)式!((a<b)&&!c||1)的值為( )。
A. 3 B. 2 C. 1 D. 0
71、設(shè)x,y均為int型變量,則執(zhí)行語句:x=y=5;x++||++y后,y的值為( )。
A. 1 B. 3 C. 4 D. 5
72、表達(dá)式(float)25/4的值為( )。
A. 6.250001 B. 6.250000 C. 6.240000 D. 6.150000
73、函數(shù)的返回表達(dá)式的類型與函數(shù)的類型不一致時,則返回值的類型由( )決定。
A. 函數(shù)類型 B. 函數(shù)關(guān)系 C. 函數(shù)模型 D. 函數(shù)結(jié)構(gòu)
74.執(zhí)行以下程序段,輸出結(jié)果為( )
main()
{ int s=1,t=1,a=3,b=4;
if(a>0)s++;
if(a>b)t+=s;
else if(a==b)t=5;
else t=s++2;
printf(“%d\n”,t);
}
A.3 B.4 C. 5 D. 6
75.假定a為一數(shù)組名,則下面的哪一種表示有錯誤( )
A. a[i] B. a++ C. a D. (a+1)
76.下面標(biāo)識符合法的是( )
A. a8b B. 3ab C. if D. ok?
77.如存在以下程序,則輸出結(jié)果為( )
char s[]=”\\12345\\012”;
printf(“%d\n”,strlen(s));
A.5 B.6 C.7 D.14
78.設(shè)有以下說明語句( )
struct stu
{ int num;
char xm[10];
float cj;
}s[20];
則數(shù)組a所占空間大小為( )字節(jié)
A.16 B.14 C .320 D .280
79.設(shè)有以下函數(shù)( )
f(int i)
{ int j=0;
static int s=1;
return (s++)+(++i)+(++j);
}
main( )
{int i;
for(i=0;i<2;i++)printf(“%d”,f(0));
}
A.23 B.35 C.34 D. 24
二、多選題
1.如下列變量均合法定義,則以下不合法的賦值表達(dá)式是( )
A. a=int(3.5) B. 3=a C. ++(a+b) D. a<<=3
2.下面標(biāo)識不符合法的是( )
A. a8b B. 3ab C. if D. ok?
3.下列敘述不正確的是( )
A. C語言源程序可以直接在DOS環(huán)境中運(yùn)行
B.Turbo C系統(tǒng)不提供編譯和連接C 程序的功能
C.編譯C語言源程序得到目標(biāo)程序可以直接在DOS環(huán)境中運(yùn)行
D.C語言源程序連接得到的可執(zhí)行程序可以直接在DOS環(huán)境中運(yùn)行
4.數(shù)學(xué)表達(dá)式 +2x-3y(x-y)的c語言表達(dá)式不正確的是( )。
A. (x+y)/(x-y)+2x-3y(x-y)
B. (x+y)/(x+y)+2x-3y(x-y)
C. (x-y)/(x-y)+2x-3y(x-y)
D. (x+y)/(x-y)+2x+3y*(x-y)
5.設(shè)有如下定義
int arr[]={1,2,3,4,5};
int *p=arr;
*(p+2)+=2;
printf(“%d,%d\n”,p,(p+2));
則輸出結(jié)果錯誤的是( )。
A. 1.4 B. 1.5 C. 1.6 D. 1.3
6.下列敘述正確的是( )
A. if語句允許用戶選擇是否執(zhí)行某一個操作
B. if~else語句允許用戶選擇是否執(zhí)行兩個操作中的某一個操作
C. switch語句允許用戶選擇執(zhí)行多個操作的某一個操作
D. 多分支選擇結(jié)構(gòu)只能使用switch語句實(shí)現(xiàn)
7.設(shè)有如下定義
struct sk
{int a;float b;}data,*p;
如有p=&data; 則對data中的a域的引用錯誤的是( )
A. (*p).a B. (*p).data.a C. p.data.a D. p->data.a
8.假定a為一數(shù)組名,則下面的哪一種表示是正確的( )
A. a[i] B. *a++ C. *a D. *(a+1)
9.如下列變量均合法定義,則以下不合法的賦值表達(dá)式是( )
A. a=int(3.5) B. 3=a C. ++(a+b) D. a<<=3
10.下列敘述正確的是( )
A.break語句可以使程序從switch語句中跳出來
B.continue 語句是為了結(jié)束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行
C.break語句是為了使程序流程跳出循環(huán)體,提前結(jié)束循環(huán)
D.在switch語句中使用continue 和break語句的作用相同
11.下述對C語言字符數(shù)組的描述中正確的是( )
A. 字符數(shù)組可以存放字符串
B. 字符數(shù)組中的字符串可以整體輸入輸出
C. 可以在賦值語句中通過賦值運(yùn)算符“=”對字符數(shù)組整體賦值
D. 不可以用關(guān)系運(yùn)算符對字符數(shù)組中的字符串進(jìn)行比較
12.以下程序段的輸出結(jié)果錯誤的是( )。
#include “string.h”
main()
{char *p,*q,s[80]=”ABCDEFGHIJK”;
p=”1234”;q=”5678”;
strcpy(s+2,p+2); strcpy(s+4,q+3);
printf(“%s”,s);
}
A. AB348 B. AB348 C. AB348 D. AB348
13.以下程序的輸出結(jié)果錯誤的是( )。
main()
{int a=0,i;
for(i=0;i<5;i++)
switch(i)
{case 0:
case 2:a+=3;
default:a+=5;
}
}
printf(“%d\n”,a);
}
A. 30 B. 33 C. 31 D. 32
14.c語言程序中的每條基本語句不以( )作為結(jié)束符。
A. 。 B. , C. ; D.}
15.在下列的數(shù)組定義中,哪幾個有語法正確( )。
A. int a[]={1,2,3,4,5}; B. int a[10]={0};
C. int a[][]={0,2,4,6,8}; D. int a[][5]={1,2,3,4,5,6,7};
16.表達(dá)式x=x+1表示成增量表達(dá)式錯誤的為( )。
A x+或++x B x++或+x C x++或++x D x+或+x
17.若有以下語句
main()
{char *s=”1234\”\067”;
printf(“%s”,s);
輸出結(jié)果錯誤的為( )。
A 123”66 B 123”67 C 113”67 D 133”67
18.若有以下程序段:
main()
{int a=511;
unsigned char p;
p=(unsigned char)&a;
printf(“%d”,*p);
}
輸出結(jié)果錯誤的為( )。
A 254 B 253 C 255 D 256
19.若a為int 型變量,則以下哪一個語句是不正確的( )。
A.int *p=a; B. int p =*a; C. int *p=&a; D. int p=&a;
20.下面的哪一個保留字能作為函數(shù)返回類型( )。
A. long B. auto C. float D. char
21.若有以下語句,使得a=’a’,d=9,c=’b’,則輸入格式不正確的是(u 空格,CR為換行符)( )。
int i;
char a,b;
scanf(“%c%d%c”,&a,&i,&b);
A. au9ub B. a9ub C. a9b D. a CR 9 CR b
22.假定a為一維數(shù)組,pa是指向數(shù)組a的指針變量,則訪問a[i]的不正確方式為( )。
A. *a+i B. *(pa+i) C. *pa+i D. pa+i
23.設(shè)x、y均為整型變量,且x=8,y=7,則以下語句的輸出結(jié)果錯誤的是( )。
printf(“%d,%d\n”,++x,y++);
A 9,6 B 9,7 C 8,7 D 9,5
24.以下程序的輸出結(jié)果錯誤的是( )。
main()
{int i, a[3][3]={0,1,2,3,4,5,6,7,8},*p=&a[0][2];
for(i=0;i<4;i+=2) printf(“%d”,p[i]);
}
A.23 B.34 C.24 D.35
25.若要對C盤上temp子目錄下名為my.bat的文本文件進(jìn)行讀寫操作,則下面不符合此要求的打開文件的函數(shù)調(diào)用為( )。
A.fopen(“c:\temp\my.bat”,”rw”)
B.fopen(“c:\temp\my.bat”,”rw”)
C.fopen(“c:\temp\my.bat”,”r+”)
D.fopen(“c:\temp\my.bat”,”r+”)
26.邏輯表達(dá)式 x>10 &&x<20的相反表達(dá)式錯誤的為( )。
A. !(x>10 && x<20) 或 x<=10 || x>=20
B. !(x>10 && x<20) 或 x<=10 || x=20
C. !(x>10 && x<20) 或 x<=10 || x>20
D. !(x>10 && x<20) 或 x<10 || x>=20
27.若有定義:
int a=511,*b=&a;
則 printf(“%o”,*b);的輸出結(jié)果錯誤的為( )。
A. 776 B. 767 C. 777 D. 677
28.有如下程序:
main()
{int i,j;
for (i=1;i<=4;j++) j=j+i;
printf(“%d\n”,j);
}
該程序的的執(zhí)行結(jié)果錯誤的是( )。
A.不確定 B.6 C.10 D.死循環(huán)
三、判斷題
1.f(int a[], int m, int n)
{int i,s=0;
for(i=m;i<n;i+=i+2)
s=s+a[i];
return (s);
}
main()
{int x,a[]={9,8,7,6,5,4,3,2,1};
x=f(a,3,5);
printf(“%d\n”,x);}
運(yùn)算結(jié)果為5。
2.main()
{char ch[2][5]={“3773”,”6363”}, p[2];
int i,j,s=0;
for(i=0;i<2;i++)
p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]!=’\0’;j+=2)
s=10s+p[i][j]-‘0’;
printf(“%d\n”,s);}
運(yùn)算結(jié)果為3766。
3.main()
{int a[5]={1,3,5,7,9},b[3]={2,4,6},*p,*q,i,j;
p=a;q=b;
printf(“\n”);
while(p<a+5 && q<b+3)
if(*p<q) printf(“%3d”,p++);
else printf(“%3d”,q++);
while(p<a+5) printf(“%3d”,p++);
while(q<b+3) printf(“%3d”,q++);
}
運(yùn)算結(jié)果為1 2 3 4 5 6 7 8。
4.void main()
{char a[]=”abacdaabcabagfcad”;
int i1=0,i2=0,i=0;;
while(a[i])
{if(a[i]’a’) i1++;
if(a[i]’b’) i2++;
i++;}
printf(“i1=%d,i2=%d\n”,i1,i2);}
運(yùn)算結(jié)果為 i1=7,i2=3。
5.main()
{int a[]={7,4,8,6,9,5,3,10,2,1};
int i,j,k;
for(j=3;j<=9;j++)
{k=a[j];
i=j-3;
while(i>=0 &&a[i]>k) {a[i+3]=a[i];i=i-3;}
a[i+3]=k;
}
for(i=0;i<=9;i++)
printf(“%d ”,a[i]);
}
運(yùn)算結(jié)果為1 4 2 3 9 5 6 1 0 8 7。
6.float ave(a,n)
float a[];
int n;
{int i;
float s;
for(i=0,s=0;i<n;i++)
s=s+a[i];
return (s/n);
}
程序(段)或函數(shù)的功能為:求數(shù)組a中前n+1個數(shù)的平均。
7.SD(int a[], int n, int k)
{int b=0;
for(int i=0;i<n;i++)
if(a[i]k) b++;
return (b);}
程序(段)或函數(shù)的功能為:在數(shù)組前n個元素中,查找與k+1相等的元素個數(shù).
8.# include “stdio.h”
main()
{FILE fp1, fp2;
if((fp1=fopen(“name1.dat”,”r”))==NULL)
{printf(“open error\n”); exit(0);}
if((fp2=fopen(“name2.dat”,”w”))==NULL)
{printf(“open error\n”); exit(0);}
while(!feof(fp1))
fputc(fgetc(fp1),fp2);
fclose(fp1);
fclose(fp2);
}
程序(段)或函數(shù)的功能為:把name1.dat文件內(nèi)容復(fù)制到name2.dat中。
9.double SA(double x,int n)
{int p=1,s=1,i;
for( i=1;i<=n;i++)
{p=x;
s+=1.0p/(i+1);}
return s;
}
程序(段)或函數(shù)的功能為:求1+x/2+x2/3+……+xn/(n+1)。
10.main()
{int i, s=0;
static c=0;
for(i=1;i<10;i++)
{c=c+i;
s=s+c;
}
printf(“%d”,s);
}
程序(段)或函數(shù)的功能為:求1+(1+2)+(1+2+3)+……+(1+2+……+9)的和。
11.int a=2,b=4;
max(int a,int b)
{int c;
c=a>b?a:b;
return ?;}
main()
{int a=6,c;
c=max(a,b);
printf(“max=%d”,c);
}
運(yùn)算結(jié)果為:max=6。
12.main()
{int i=0;
while(i<3)
{i++;
printf(“%d”,i);
}
}
運(yùn)算結(jié)果為:123。
13.void swap(int *i, int *j)
{int z;
z=*i; *i=*j; j=*i;
}
main()
{int a[6]={5,1,4,3,2,6},i,j;
for(i=0,j=5;i<j;i+=2,j–)
swap(a+i,a+j);
for(i=0;i<5;i++)
printf(“%5d”,a[i]);
}
運(yùn)算結(jié)果為:6 1 2 3 2。
14.#include “string.h”
main()
{char p[5][10]={“chain”,”america”,”africa”,”moto”,”class”},
(*q)[10],s[80];
int i,j;
q=p;
for(i=0;i<5;i++)
for(j=0;j<4-i;j++)
if(strcmp(q[j],q[j+1])>0)
{strcpy(s,q[j]);
strcpy(q[j],q[j+1]);
strcpy(q[j+1],s);
}
for(i=0;i<5;i++)
printf(“\n %s”,p[i]);
}
運(yùn)算結(jié)果為: africa。
america
chain
class
moto
15.void SA(char ch)
{switch(ch)
{case ‘A’:case ‘a(chǎn)’:printf(“well!”);break;
case ‘B’:case ‘b’:printf(“good!”);break;
case ‘C’:case ‘c’:printf(“pass!”);break;
default:
printf(“bad!”);
}
}
void main()
{char a[6]=”Abcaf”;
int i;
for( i=0;a[i];i++)
SA(a[i]);
}
運(yùn)算結(jié)果為:well ! well ! pass! well! bad!。
16.#define N 20
void main()
{int a[N],i,m=0;
float s=0;
int b[N];
for(i=0;i<N;i++)
{scanf(“%d”,&a[i]);
s+=a[i]; }
s/=N;
for(i=0;i<N;i++)
if(a[i]>=s)
{ b[m]=a[i];
printf(“%d”,b[m++]);}
}
程序(段)或函數(shù)的功能為:輸入N個數(shù),輸出低于平均數(shù)的所有數(shù).
17.void SE(int *p1,int *p2)
{int t;
t=*p1;
*p1=*p2;
*p2=t;}
main()
{int a,b;
int *p1,p2;
scanf(“%d,%d”,&a,&b);
p1=&a; p2=&b;
if(a>b) SE(p1,p2);
printf(“%d,%d\n”,a,b);}
程序(段)或函數(shù)的功能為:a,b兩數(shù)由大到小排序。
18.long int p(int i)
{static lont int k=1;
k=ik;
return (k);
}
main()
{int n,i;
scanf(“%d”,&n);
for(i=1;i<=n;i++)
printf(“%d!=%ld\n”,i,p(i));
}
程序(段)或函數(shù)的功能為:輸出1-n階乘。
19.#define MAX(x,y) (x)>(y)? (x):(y)
main()
{int a,b,t;
scanf(“%d%d”,&a,&b);
t=MAX(a,b);
printf(“%d\n”,t);
}
程序(段)或函數(shù)的功能為:輸出兩數(shù)的最大值。
20.f(int n)
{if (n/100) printf(“%d”,n);
else { f(n/10);
printf(“%d”,n%10);
}
}
main()
{int n;
scanf(“%d”,&n);
f(n);
}
程序(段)或函數(shù)的功能為:輸入整數(shù)n,按位原序輸出。
21.void main()
{int s=0,i;
for( i=1; ; i++)
{if(s>50) break;
if(i%3==0) s+=i;
}
printf(“i=%d,s=%d\n”,i,s);
}
運(yùn)算結(jié)果為i=19,s=63。
22.void main()
{int s1=0,s2=0,i;
for(i=0;i<10;i++)
if(i%2) s1=s1+i;
else s2=s2+i;
printf(“s1=%d,s2=%d\n”,s1,s2);}
運(yùn)算結(jié)果為s1=35,s2=25。
23.f(int a)
{int b=0;
static c=5;
b=b+3;
c=2c;
return(a+b+c);
}
main()
{int a=2,i;
for(i=0;i<=2;i++)
printf(“%d”,f(a));
}
運(yùn)算結(jié)果為152545。
24.main()
{int a,b,c;
a=9; b=5;
c=max(a,b);
printf(“max=%d”,c);
}
int max(int x, int y)
{int z;
if (x>y) z=x;
else z=y;
return (z);
}
運(yùn)算結(jié)果為max=9。
25.main()
{int a[3][3]={1,1,1},i,j;
for(i=1;i<3;i++)
for(j=i;j<3;j++)
{a[i][j]=a[i-1][j]+a[i-1][j-1];
a[j][i]=a[j][i]-a[i][j];
}
for(i=1;i<3;i++){printf(“\n”);
for(j=1;j<3;j++)
printf(“%5d”,a[i][j]);
}
}
運(yùn)算結(jié)果為 0 1
1 0
26.void ch(char str1[],char str2[],char str[])
{int i,j;
for(i=0;str1[i]!=’\0’;i++)
str[i]=str1[i];
for(j=0;str2[j]!=’\0’;j++)
str[i+j]=str2[j];
str[i+j]=’\0’;
}
main()
{char s1[80],s2[80],s[80];
scanf(“%s”,s1);
scanf(“%s”,s2);
ch(s1,s2,s);
printf(“The new string is %s\n”,s);
}
程序(段)或函數(shù)的功能為將字符串s1和s2合并復(fù)制到字符串s中。
27.#define PI 3.14159
#define S? PIRR
#define L? 2PIR
main()
{int r,s,l;
scanf(“%d”,&r);
s=S?;
l=L?;
printf(“s=%d\nl=%d\n”,s,l);
程序(段)或函數(shù)的功能為求半徑為r的圓的周長的半徑。
28.#include <math.h>
int SB(int x)
{int a=(int)sqrt(x);
int i=2;
while (i<=a){
if (x%i0) break;
i++;}
if(i<=a) return 0; else return 1;}
程序(段)或函數(shù)的功能為判斷x是否為素?cái)?shù)。
29.main()
{int n;
for(n=1;n<=1000;n++)
{if (n%5!=0)
continue;
printf(“%d”,n);
}
}
程序(段)或函數(shù)的功能為求1-1000中所有5的倍數(shù)。
30.#include<string.h>
void main()
{char *a[5]={“student”,”worker”,”cadre”,”apple”,”peasent”};
char *p1;
int i;
p1=a[0];
for( i=0;i<5;i++)
if(strcmp(a[i],p1)>0) p1=a[i];
printf(“%s\n”,p1);}
程序(段)或函數(shù)的功能為求字符串?dāng)?shù)組a中最小的字符串。
31、main()
{union ss
{char s[2];
int i;
}a;
a.i=123;
a.s[0]=3; a.s[1]=2;
printf(“%d”,a.i);
}
運(yùn)算結(jié)果為515。
32、void f(int x,int y, int *p1, int p2)
{p1=2x; p2=xy;}
main()
{int a,b,c,d;
a=9; b=7;
f(a,b,&c,&d);
printf(“%d,%d\n”,c,d);
}
運(yùn)算結(jié)果為18,63。
33、main()
{int a=3;
while (–a)
printf(“%d”,a–);
}
運(yùn)算結(jié)果為2。
34、void main()
{ int a=10,b=20;
printf(“%d %d\n”,a,b);
{int b;
a=4;
int b=a+35;
printf(“%d %d\n”,a,b);}
printf(“%d %d\n”,a,b);
}
運(yùn)算結(jié)果為 10 20
40 75
40 20
35、main()
{int a[10]={7,4,8,6,9,5,3,10,2,1};
int i, max, min;
max=min=0;
for(i=0;i<10;i++)
if (a[max]<a[i]) max=i;
else if(a[min]>a[i]) min=i;
i=a[max]; a[max]=a[9]; a[9]=i;
i=a[min]; a[min]=a[0]; a[0]=i;
for(i=0;i<10;i++) printf(“%5d”,a[i]);
}
運(yùn)算結(jié)果為10 4 8 6 9 5 3 1 2 6 。
36、float fac(int n)
{float f;
if(n<0)
printf(“error!”);
else
if(n0||n==1)f=1;
else f=fac(n-1)*n;
return f;
}
main()
{int n;
float y;
scanf(“%d”,&n);
y=fac(n);
printf(“%d!=%10.0f”,n,y);
}
程序(段)或函數(shù)的功能為:求n!.
37、#include “stdio.h”
main()
{FILE *fp1, *fp2;
if((fp1=fopen(“name1.dat”,”r”))==NULL)
{printf(“cannot open file\n”);exit(0);}
if((fp2=fopen(“name2.dat”,”w”))NULL)
{printf(“cannot open outfile\n”);exit(0);}
while(!feof(fp1))fputc(fgetc(fp1),fp2);
fclose(fp1);
fclose(fp2);
}
程序(段)或函數(shù)的功能為:實(shí)現(xiàn)文件的剪切。
38、int f()
{static i=0;
i++;
return i;
}
main()
{int i,s=0;
for(i=0;i<5;i++)
s+=f();
printf(“%d\n”,s);
}
程序(段)或函數(shù)的功能為:求0到5的和。
39、int LA(int *a,int n)
{int s=0,i;
for (i=0;i<n;i++)
s+=a[i];
return s;}
void main(){
int a[]={10,20,30,40,50,60};
int b=LA(a,5);
printf(“b=%d\n”,b);}
程序(段)或函數(shù)的功能為:求數(shù)組a中前5個元素之和。
40、int f(int n)
{
int i;
for(i=2;i<=n;i++)
if(n%i0) return (0);
return 1;
}
程序(段)或函數(shù)的功能為:判斷一個數(shù)是否素?cái)?shù)。
總結(jié)
以上是生活随笔為你收集整理的【渝粤题库】陕西师范大学200681C语言程序设计 作业(高起专、高起本)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 科创板打新规则及方法?
- 下一篇: 软银正在洽谈收购受益AI概念上涨的VF1