当前位置:文档之家› C语言标准答案

C语言标准答案

C语言标准答案
C语言标准答案

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆将a十位和个位放在c千位和十位上,b十位和个位放在c百位和个位上。a=45,b=12,c=4152

a=63,b=54,c=6534

a=14,b=78,c=1748

a=88,b=91,c=8981

a=71,b=13,c=7113

a=12,b=45,c=1425

a=72,b=32,c=7322

a=29,b=99,c=2999

a=34,b=43,c=3443

a=22,b=44,c=2424

*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10); ………………………………………………………………………………………将a十位和个位放在c个位和百位上,b十位和个位放在c千位和十位上。a=45,b=12,c=1524

a=63,b=54,c=5346

a=14,b=78,c=7481

a=88,b=91,c=9818

a=71,b=13,c=1137

a=12,b=45,c=4251

a=72,b=32,c=3227

a=29,b=99,c=9992

a=34,b=43,c=4433

a=22,b=44,c=4242

*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10); ………………………………………………………………………………………将a十位和个位放在c个位和百位上,b十位和个位放在c十位和千位上。a=45,b=12,c=2514

a=63,b=54,c=4356

a=14,b=78,c=8471

a=88,b=91,c=1898

a=71,b=13,c=3117

a=12,b=45,c=5241

a=72,b=32,c=2237

a=29,b=99,c=9992

a=34,b=43,c=3443

a=22,b=44,c=4242

*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10); ………………………………………………………………………………………将a十位和个位放在c十位和千位上,b十位和个位放在c百位和个位上。a=45,b=12,c=5142

a=63,b=54,c=3564

a=14,b=78,c=4718

a=88,b=91,c=8981

a=71,b=13,c=1173

a=12,b=45,c=2415

a=72,b=32,c=2372

a=29,b=99,c=9929

a=34,b=43,c=4433

a=22,b=44,c=2424

*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10); ………………………………………………………………………………………将a十位和个位放在c百位和个位上,b十位和个位放在c千位和十位上。a=45,b=12,c=1425

a=63,b=54,c=5643

a=14,b=78,c=7184

a=88,b=91,c=9818

a=71,b=13,c=1731

a=12,b=45,c=4152

a=72,b=32,c=3722

a=29,b=99,c=9299

a=34,b=43,c=4334

a=22,b=44,c=4242

*c=(b/10)*1000+(a/10)*100+(b%10)*10+(a%10); ………………………………………………………………………………………将a十位和个位放在c千位和十位上,b十位和个位放在c个位和百位上。a=45,b=12,c=4251

a=63,b=54,c=6435

a=14,b=78,c=1847

a=88,b=91,c=8189

a=71,b=13,c=7311

a=12,b=45,c=1524

a=72,b=32,c=7223

a=29,b=99,c=2999

a=34,b=43,c=3344

a=22,b=44,c=2424

*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10); ………………………………………………………………………………………将a十位和个位放在c十位和千位上,b十位和个位放在c个位和百位上。a=45,b=12,c=5241

a=63,b=54,c=3465

a=14,b=78,c=4817

a=88,b=91,c=8189

a=71,b=13,c=1371 a=12,b=45,c=2514

a=72,b=32,c=2273

a=29,b=99,c=9929

a=34,b=43,c=4334

a=22,b=44,c=2424

*c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10); ………………………………………………………………………………………将a十位和个位放在c百位和个位上,b十位和个位放在c十位和千位上。a=45,b=12,c=2415

a=63,b=54,c=4653

a=14,b=78,c=8174

a=88,b=91,c=1898

a=71,b=13,c=3711

a=12,b=45,c=5142

a=72,b=32,c=2732

a=29,b=99,c=9299

a=34,b=43,c=3344

a=22,b=44,c=4242

*c=(b%10)*1000+(a/10)*100+(b/10)*10+(a%10);

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆计算n门课程的平均分。

71.80

70.00

75.40

64.20

73.20

68.20

81.20

59.20

62.00

77.00

float ave=0.0; int i;

for(i=0;i

78.875

73.875

64.125

83.875

67.750

75.250

75.375

71.750

71.250

76.875

STREC *p=h->next; double av=0.0; int n=0;

while(p!=NULL){av=av+p->s; p=p->next; n++;} av/=n; return av; ………………………………………………………………………………………m个人成绩存放在score数组中,将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。

10 12 56 57 54 32

101 301 401 431 451

101 101 231 151 444

120 275 201 211 321

180 176 175 196 201 201 201 231

280 276 275 296 201 201 287 231

380 376 375 396 301 301 301 331 351

201 201 101 131 151

176 296 301 131 151 111

10 30 40 43 41

float av=0.0; int i,j=0;

for(i=0;i

for(i=0;iscore[i]) below[j++]=score[i]; return j; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆比较两个字符串的长度,返回较长的字符串。

fdslkfjds

dksfjf

sdlkfjds

lksdjflksd

fslkdjf

fsdlkff

fsdklfad

flsjfslkd

flksjflksdfjk

fsfsfsd

int i; char *p=s,*q=t;

for(i=0;*p&&*q;i++){p++; q++;}

if(*p==0&&*q==0) return s;

if(*p) return s; else return t; ………………………………………………………………………………………从传入的num个字符串中找出最长的一个字符串。

ghjk fkjhs fsjks fdshff fjhfs ksjhfskjhfs gffdkjh gfdjkgfd

if(strlen(a[i])>maxlen){maxlen=strlen(a[i]); k=i;} ………………………………………………………………………………………将字符串ss中所有下标为奇数位置上的字母转换为大写。sDkFjSlFkJsFsDfSdFdSgSdFgSdG

fSdLkFjSdLkFjSdLkFsDfKjSd

jKrKlWeR24352DlKsJfJsD

fSlKdFjSdLfKjSdKfLjSd

fSdLkFjSdLkFsDfSd53534gDeFgDf

dFlFg435tGlDfGsDfGdSgDf

gDfGfDkLjGfDkLg

fSfVDSFSDFfSdFsD

ANvIkOsDfJBBBAdFjDlKsFsD

fDsKjNNNkFsDjFNNNDfAsJfSd

char *p=ss; int i=0;

while(*p){if((i%2)&&(*p>='a'&&*p<='z')) *p-=32; p++; i++;}

return ss; ………………………………………………………………………………………将字符串ss中所有下标为奇数位置上的字母转换为大写。

hDsF FdS FdSlJ FsDlJ FdSl fDs lJkFsD

jFd fDsJh fJdSh fDs FdSj fDs jKfDs

fJsDhF FsDjK FdSjK FdSkJ FdS J SdF Ff

jKfHdS FjDsH K FsDh fS fDsJ FdSjD

sDhFd fDkJsHf FdSjK FdS KjFs kSfD Hj

dFjKdHfS FdSjH FsDk fSd fSdJfKjDs fFf

dJfHdS FsJdKhFsD FdSjKh fSd fSdJkH Jf

fDsHjFdShJf dS FdHjSfHjDs FdShJkHkJ

fDhJfDhS FdKhJfSd kJdS KdF FdSk fFfFf

fDfHjSdKfSdKjH FsDkJ FjDsH FsDkH KfSd

char *p=ss; int i=0;

while(*p){if((i%2)&&(*p>='a'&&*p<='z')) *p-=32; p++; i++;}

return ss; ………………………………………………………………………………………删除字符串中所有空格。jhfjdkhjdhfjhfjdkhfljsdsdjdskjldsklsdjdsdsdjdslds. fdshfdsfjskdhfksdfsjklfsfsdjlkfjsdlsjflgfllsdkjfsldfdfdslfkdjs. sjdhfdsfsfsdfdskffhdskfdsjkfdjkfhdsjkfdsfdsfdjshfdjsfdsjfsd jfdshfjdsfskdjhfkjsddsjhfdskfsdfsdkfsdfsdfdskfdskjfhsdkfd fdsjhfsdfdsfdsjfhdsfdskfdsfsdkfdsjfdsfdsjkfdsfdsfdsfdsjkgj fjkfdjsdhfsjdkfhsdfdskfdskfdskfhskfdskfdskfhsdkfdskjsdkjsd jkfdsfsfsdfsdsdfsdlfdsfslslfsdlfsdlfslfsfsdfsdlfsfsd fsdjkhfdskfdskhfksdffshkjsdffsdkjhfskdfsfdskdfsdkfkfsdhfksd fdshfksfdsfdsfhdskfdsfdskfhskdfsdkfsdkfsdkfdsfsdkfskdfskfs jkdshfkjdsfdskjdshfjksdffksdhfjkdsfsdkfhsdfsfkdsfskdfsfjkdfjsd char *p=str; int i=0;

while(*p){if(*p!=' ') str[i++]=*p; p++;} str[i]='\0'; ………………………………………………………………………………………从字符串中删除指定的字符。

You can specify ha he primary index is in record number sequence. char *p=s; int i=0;

while(*p){if(*p!=c) s[i++]=*p; p++;} s[i]='\0';………………………………………………………………………………………删除一个字符串中指定下标的字符。

infomation

word

chinee

pintf

inlude

defie

comput

bottomoffil

topoffie

borandc

strncpy(b,a,n); b[n]=0; strcat(b,a+n+1); ………………………………………………………………………………………将s所指字符串中下标为偶数的字符删除。

sdfsjhdjfsljhdhdjhdhddkdhk

ls;hjofdlhdkgdkhfjdfgdlgflfj

kdg4teg9dgldgrjklfkgdlgdjfkglk

dfdf9rdkfs4kdsf4jk9fjs92fk4

dkjk4aKlkflsfsljdkfdkfdkfslj

dsfslfe0sljwlsj9jlksdj02fs9

skhsja2fsdrlfd:hdkklfjhDKSSK

jdsjdh92rudd89fhosroiflsdkf

sjhdhlw9fksj92proi9w9fe849

dskhdfdf8KSLHFGSJH8DFKODKFFS82HF3

int i,j=0;

for(i=1;i

h=1

j=4

k=8

7=0

f=6

h=0

g=2

l=1

a=4

b=1

int cnt=0; char *p=ss;

while(*p){if(*p==c) cnt++; p++;} return cnt; ………………………………………………………………………………………统计一个长度为2的字符串在另一个字符串中出现的次数。

5

3

5

4

3

int cnt=0; char *p=str,*q;

while(*p)

{q=strstr(p,substr); if(q==NULL) break; p=q+strlen(substr); cnt++;} return cnt; ………………………………………………………………………………………统计一行字符串中单词的个数。

14

14

12

12

13

8

14

12

14

10

int k=1;

while(*s){if(*s==' ') k++; s++;} return k; ………………………………………………………………………………………对长度为7的字符串,除首、尾字符外,将其余5个字符按ASCII码降序排列。AfedCBg

fkhffds

BlllaBb

adcbEAh

HljjSKm

LhhNDAA

TbaYPEc

CypdbTe

JytokDs

BttoomO

char ch; int i,j;

for(i=1;i<6;i++)

for(j=i+1;j<6;j++)

{if(*(s+i)<*(s+j)){ch=*(s+j);*(s+j)=*(s+i);*(s+i)=ch;}} ………………………………………………………………………………………实现两个字符串的连接。

1234567890

kjhjkhkjklkljkljkl

jkhjkhjkh987689

kjhjkhlmjnklj

sdsfsdfdsfsdfdsf

fsdfsdf345234

423423423423

7547dvgdf5634

gdefgdftyerter

34563565764

char *p=p1;

while(*p) p++;

while(*p2) *p++=*p2++; *p='\0'; ………………………………………………………………………………………判断字符串是否为回文?

LEVEL YES

123312 NO

abcdef12345678900987654321fedcba YES

fdjkshfsdkfhsdkjd9329032fewkdlskjfds309239 NO

fdjkshfdksjfds43290857fdlekjfl92043rfjlkd9023 NO TopoffileeliffopoT YES

fkjlshfksdjfhdsroituweiofgdkljfvsdkvj NO

krejrlewrkewoir3fkdlsxdjfdf234fdjwlf NO

kfjdskfjdsfkjsdflkjsdlkf NO

lkewfjwellewjfwekl YES

int i,j=strlen(str);

for(i=0;i

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆学生记录由学号和学习成绩构成,找出成绩最高学生记录(只有一个最高分)。The top : NUM04, 98

int i,max=a[0].s,j=0;

for(i=1;i

int i,min=a[0].s,j=0;

for(i=1;ia[i].s){j=i; min=a[i].s;}*s=a[j];

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆使数组左下半三角元素中的值全部置成0。

0 21 31 41 51

0 0 32 42 52

0 0 0 43 53

0 0 0 0 54

0 0 0 0 0

int i,j;

for(i=0;i

for(j=0;j<=i;j++) a[i][j]=0; ………………………………………………………………………………………使数组左下半三角元素中的值乘以n。

66 21 31 41 51

72 132 32 42 52

78 138 198 43 53

84 144 204 264 54

90 150 210 270 330

int i,j;

for(i=0;i

for(j=0;j<=i;j++) a[i][j]*=n; ………………………………………………………………………………………使数组右上半三角元素中的值乘以m。

66 126 186 246 306

12 132 192 252 312

13 23 198 258 318

14 24 34 264 324

15 25 35 45 330

int i,j;

for(i=0;i

for(j=i;j

1 2 3 4

12 1 2 3

10 12 12 13

78 12 7 12

10 12 13 14

11 1 2 3

10 22 21 25

11 12 13 14

10 12 12 13

21 12 7 12

int i,j,min,k;

for(i=0;i

{min=tt[0][i]; k=0;

for(j=1;jtt[j][i]){min=tt[j][i]; k=j;}

pp[i]=tt[k][i];} ………………………………………………………………………………………实现矩阵(3行3列)的转置。

11 14 15

22 24 25

33 34 35

int i,j,arr[3][3]; memcpy(arr,array,9*sizeof(int));

for(i=0;i<3;i++)

for(j=0;j<3;j++) array[i][j]=arr[j][i]; ………………………………………………………………………………………实现B=A+A',即把矩阵A加上矩阵A的转置存放在矩阵B中。

24 46 19

46 8 17

19 17 64

2 6 10

6 10 14

10 14 18

22 26 30

26 30 34

30 34 38

64 29 11

29 32 21

11 21 6

62 34 17

34 82 20

17 20 14

int i,j,c[3][3];

for(i=0;i<3;i++)

for(j=0;j<3;j++){c[i][j]=a[j][i]; b[i][j]=a[i][j]+c[i][j];} ………………………………………………………………………………………求二维数组周边元素之和。

61

203

78

168

145

107

143

187

538

489

int tot=0,i,j;

for(i=0;i

for(i=1;i

return tot; ………………………………………………………………………………………求二维数组周边元素的平均值。

33.000000

int i,j,n=0; double sum=0; for(i=0;i

for(i=1;i

33 33 33 33 44 44 44 44 55 55 55 55

10 11 12 12 11 10 7 8 9 9 8 7

11 12 13 11 12 13 11 12 13

9 10 11 12 99 98 87 76 51 52 56 77 66 55 11 22

21 22 23 99 98 97 97 98 99 12 12 12 41 43 42

int i,j,k;

for(i=0;i

for(j=0;j

33 44 55 33 44 55 33 44 55 33 44 55

10 12 7 9 11 11 8 8 12 10 9 7

11 11 11 12 12 12 13 13 13

9 99 51 66 10 98 52 55 11 87 56 11 12 76 77 22

21 99 97 12 41 22 98 98 12 43 23 97 99 12 42

for(i=0;i

for(j=0;j

SDKJFSDLKJFHSDLKKFDSJFDSD CDSKFJHSDFDKSLJFFDSKLAFJSDLKF

FDLKSJFFDSLFSDLKFJSD

FSDKJLFHSDFDSKJFDS32894FKDJS

FLKSDJFFDSLKJFDSFDSLKJFS

ODGPFBIDV93204FDSJUFL

LFKJSDLKFLKDSJFLFSDLKAJF

FSDLKJF3294090432FDLKSJFSD32DWED

FDSKJFDS3232FSDFSDFSDFLFSDFSD

for(i=0;i

AEIBFJCGKDHL

159260371482

QWEASDZXC123

QAZWSXEDCRFV

PLMOKNIJBUHV

OUYKHGMBVNVC

WTYHHOAAUTTR

YWFOEIUALRRE

7QX8AX9ZX0XX

for(j=0;j

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆移动一维数组,把下标从0到p的数组元素平移到数组的最后。

5 6 7 8 9 10 1 2 3 4

79 80 32 34 36 99 98 12 14 16 18 78

17 24 19 25 31 26 33 27 11 21 13 22 15 23

29 15 51 26 53 27 21 11 23 12 25 13 27 14

1 10 9 8 7 6 5 4 3 2

int i,j=0,b[N];

for(i=p+1;i

for(i=0;i<=p;i++) b[j++]=w[i];

for(i=0;i

DEFGHIJKABC

sdlkfjdsrewoiru29fdsilkfj932fkjdlsfhjsdlkfjsdlkfj

jfweo8ifhewf89432dfhdkjfhdskjfhdsjkfdshjfdhfkjdshfkjdsfhdks

dsfw329oruewoifjdslkfdf932dfjhklsvjfhdkclsdjfksdlfjsdlkfj wekfhdkdjsfldsjflkdfjdskfjdslkfjweioufeoijflkdwejfe2wruoiweuf dsfdsfkjdsfhlkdjfhdfdskjfsdjsdafhdsfh

329ugfi2493ru9fur2039ruefoijfdashfdjksfhfe93tfivvjdfg934r4

it3290rfudkgrejg439tufrlfjsdfhdsjkfhsdf3o4irouiwrefu43298ruo shfdsjkfhsdjkfhsdkjfhdsjfdshfkjd hsdkjfhdskjfhdsjfhdslkfjhdslkfjkhdsfkjhdsjfhdsjkfhsdfhsfk

char b[N]; int i,j=0;

for(i=0;i

for(i=0;i

for(j=0;j

2 3 4 5 6 7 8 9 10

3 4 5 6 7 9 20 21 25 30

31 41 66 101 201 202

31 41 51 61 71 81 91 101 111 121 131 141 151 161 171 181 11

int i,j=1,k=a[0];

for(i=1;i

a[j]='\0'; return j;

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆删除字符串中所有的*号。

ABCDEFG

LKJFHGKHJSDFGHKJKJJKKJ

OGHGKLJLKJLKJKLKJHGDQLJKJ HJJKDJHHKJHDGHTDFHGTYRYTRIUJGJ HKHJLKHGUHHJGFHJGJHKGJKGKKHKLHKJHKJ JHGDFXGGJHJFHGFKHKHKJHKLKLH UYKJDFARTQYWHFGUJKJHKJKJHK JKHILUHIUGCLKLKJGHHJGHGKJHJYJHMHJH JKHGHJKJHGGGGJKGJKGGKJGHGKJK KJKHLKJHSQDQDQDQDQDQDQLKDKJQPOUOIUOLKJL

int j=0; char *p=a;

while(*p){if(*p!='*') a[j++]=*p; p++;} a[j]='\0'; ………………………………………………………………………………………将字符串中前导*号全部删除,中间和尾部*号不删除。

A*BC*DEF*G****

LKJFHG****KHJ***SDFGH****KJKJ*J*K*K*J*****

OGH*GKLJ*LKJ*LKJ*KLKJHG*DQ*LJ*KJ*****

HJJKD***JHHKJH*DGH*TDFHG*TYRYTRIU*JGJ**********

HKHJLKH***GUHHJ*GFHJ**GJHK***GJKGK****KHKLHKJHKJ*** JHGDFXGGJH****JFHGFK**HKH**KJHKL***KLH***

UYKJDFARTQYW*****HFGUJ**KJHKJ**KJHK***

JKHILUHIUGCLKLKJGH*******HJGHG**KJH**JY*JH*M*HJH****

JKH***GHJK*JHGG*GGJK*GJKG*GKJ*GH*GK*JK*****

KJKHLKJHSQDQDQ*DQDQ*DQ*DQLKDKJQ*POUOIUO*LKJL*****

int j=0; char *p=a;

while(*p=='*') p++;

while(*p){a[j++]=*p; p++;} a[j]='\0'; ………………………………………………………………………………………将字符串尾部*号全部删除,前面和中间*号不删除。

*******A*BC*DEF*G

**********LKJFHG****KHJ***SDFGH****KJKJ*J*K*K*J

******OGH*GKLJ*LKJ*LKJ*KLKJHG*DQ*LJ*KJ

********HJJKD***JHHKJH*DGH*TDFHG*TYRYTRIU*JGJ

*****HKHJLKH***GUHHJ*GFHJ**GJHK***GJKGK****KHKLHKJHKJ

******JHGDFXGGJH****JFHGFK**HKH**KJHKL***KLH

************UYKJDFARTQYW*****HFGUJ**KJHKJ**KJHK

********JKHILUHIUGCLKLKJGH*******HJGHG**KJH**JY*JH*M*HJH

*****JKH***GHJK*JHGG*GGJK*GJKG*GKJ*GH*GK*JK

****KJKHLKJHSQDQDQ*DQDQ*DQ*DQLKDKJQ*POUOIUO*LKJL

char *p=a;

while(*p) p++; p--;

while(*p=='*') p--; p++; *p='\0'; ………………………………………………………………………………………只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。

A*BC*DEF*G

LKJFHG****KHJ***SDFGH****KJKJ*J*K*K*J

OGH*GKLJ*LKJ*LKJ*KLKJHG*DQ*LJ*KJ

HJJKD***JHHKJH*DGH*TDFHG*TYRYTRIU*JGJ

HKHJLKH***GUHHJ*GFHJ**GJHK***GJKGK****KHKLHKJHKJ

JHGDFXGGJH****JFHGFK**HKH**KJHKL***KLH

UYKJDFARTQYW*****HFGUJ**KJHKJ**KJHK

JKHILUHIUGCLKLKJGH*******HJGHG**KJH**JY*JH*M*HJH

JKH***GHJK*JHGG*GGJK*GJKG*GKJ*GH*GK*JK

KJKHLKJHSQDQDQ*DQDQ*DQ*DQLKDKJQ*POUOIUO*LKJL

char *p=a; int j=0,len=0;

while(*p){p++; len++;}

while(j

****ABCDEFG

**********LKJFHGKHJSDFGHKJKJJKKJ

******OGHGKLJLKJLKJKLKJHGDQLJKJ

********HJJKDJHHKJHDGHTDFHGTYRYTRIUJGJ

*****HKHJLKHGUHHJGFHJGJHKGJKGKKHKLHKJHKJ

******JHGDFXGGJHJFHGFKHKHKJHKLKLH

************UYKJDFARTQYWHFGUJKJHKJKJHK

********JKHILUHIUGCLKLKJGHHJGHGKJHJYJHMHJH

*****JKHGHJKJHGGGGJKGJKGGKJGHGKJK

****KJKHLKJHSQDQDQDQDQDQDQLKDKJQPOUOIUOLKJL

if(a[i]!='*') a[k++]=a[i]; i++; ………………………………………………………………………………………除了尾部*号之外,将串中其他*号全部删除。

ABCDEFG********

LKJFHGKHJSDFGHKJKJJKKJ*****

OGHGKLJLKJLKJKLKJHGDQLJKJ***** HJJKDJHHKJHDGHTDFHGTYRYTRIUJGJ********** HKHJLKHGUHHJGFHJGJHKGJKGKKHKLHKJHKJ*** JHGDFXGGJHJFHGFKHKHKJHKLKLH*** UYKJDFARTQYWHFGUJKJHKJKJHK*** JKHILUHIUGCLKLKJGHHJGHGKJHJYJHMHJH**** JKHGHJKJHGGGGJKGJKGGKJGHGKJK***** KJKHLKJHSQDQDQDQDQDQDQLKDKJQPOUOIUOLKJL*****

char *q=a; int j=0;

while(*q&&q

while(*p) a[j++]=*p++; a[j]='\0'; ………………………………………………………………………………………除了前导和尾部*号之外,将串中其他*号全部删除。****ABCDEFG********

**********LKJFHGKHJSDFGHKJKJJKKJ*****

******OGHGKLJLKJLKJKLKJHGDQLJKJ*****

********HJJKDJHHKJHDGHTDFHGTYRYTRIUJGJ**********

*****HKHJLKHGUHHJGFHJGJHKGJKGKKHKLHKJHKJ***

******JHGDFXGGJHJFHGFKHKHKJHKLKLH***

************UYKJDFARTQYWHFGUJKJHKJKJHK***

********JKHILUHIUGCLKLKJGHHJGHGKJHJYJHMHJH****

*****JKHGHJKJHGGGGJKGJKGGKJGHGKJK*****

****KJKHLKJHSQDQDQDQDQDQDQLKDKJQPOUOIUOLKJL*****

int j=0; char *q=a;

while(*q&&q

while(*h&&*p&&h

while(*p) a[j++]=*p++; a[j]='\0'; ………………………………………………………………………………………使字符串中尾部*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做。

****A*BC*DEF*G****

****A*BC*DEF*G*******

**********LKJFHG****KHJ***SDFGH****KJKJ*J*K*K*J****

******OGH*GKLJ*LKJ*LKJ*KLKJHG*DQ*LJ*KJ*****

********HJJKD***JHHKJH*DGH*TDFHG*TYRYTRIU*JGJ***

*****HKHJLKH***GUHHJ*GFHJ**GJHK***GJKGK****KHKLHKJHKJ**

******JHGDFXGGJH****JFHGFK**HKH**KJHKL***KLH***

************UYKJDFARTQYW*****HFGUJ**KJHKJ**KJHK***

********JKHILUHIUGCLKLKJGH*******HJGHG**KJH**JY*JH*M*HJH***

*****JKH***GHJK*JHGG*GGJK*GJKG*GKJ*GH*GK*JK**

char *p=a; int j=0;

while(*p) p++; p--;

while(*p=='*') p--; p++;

while(j

****A*BC*DEF*G****

*******A*BC*DEF*G****

****LKJFHG****KHJ***SDFGH****KJKJ*J*K*K*J*****

*****OGH*GKLJ*LKJ*LKJ*KLKJHG*DQ*LJ*KJ*****

***HJJKD***JHHKJH*DGH*TDFHG*TYRYTRIU*JGJ**********

**HKHJLKH***GUHHJ*GFHJ**GJHK***GJKGK****KHKLHKJHKJ***

***JHGDFXGGJH****JFHGFK**HKH**KJHKL***KLH***

****UYKJDFARTQYW*****HFGUJ**KJHKJ**KJHK***

***JKHILUHIUGCLKLKJGH*******HJGHG**KJH**JY*JH*M*HJH****

**JKH***GHJK*JHGG*GGJK*GJKG*GKJ*GH*GK*JK*****

for(;a[j]!=0;j++) a[i++]=a[j]; a[i]='\0'; ………………………………………………………………………………………将字符串中的前导*号全部移到字符串的尾部。

A*BC*DEF*G***********

LKJFHG****KHJ***SDFGH****KJKJ*J*K*K*J***************

OGH*GKLJ*LKJ*LKJ*KLKJHG*DQ*LJ*KJ***********

HJJKD***JHHKJH*DGH*TDFHG*TYRYTRIU*JGJ****************** HKHJLKH***GUHHJ*GFHJ**GJHK***GJKGK****KHKLHKJHKJ******** JHGDFXGGJH****JFHGFK**HKH**KJHKL***KLH********* UYKJDFARTQYW*****HFGUJ**KJHKJ**KJHK*************** JKHILUHIUGCLKLKJGH*******HJGHG**KJH**JY*JH*M*HJH************

JKH***GHJK*JHGG*GGJK*GJKG*GKJ*GH*GK*JK********** KJKHLKJHSQDQDQ*DQDQ*DQ*DQLKDKJQ*POUOIUO*LKJL*********

while(*p){*q=*p; p++;q++;}

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆找出一维整型数组元素中最大的值和它所在的下标。

Max=46,Index=7

Max=43,Index=8

Max=45,Index=2

Max=42,Index=1

Max=43,Index=5

Max=48,Index=4

Max=43,Index=2

Max=46,Index=2

Max=46,Index=7

Max=44,Index=2

int i; *max=a[0]; *d=0;

for(i=1;i

1,121

0,980

0,910

3,596

9,888

9,555

9,999

9,777

6,801

0,98

int i,pos=0,max=*s;

for(i=1;i

N名学生的成绩已放入一个带头节点的链表结构中,找出学生的最高分。91.0

89.0

79.0

99.0

82.0

85.0

92.5

86.0

86.5

96.5

double max=h->s; STREC *p; p=h->next;

while(p){if(p->s>max) max=p->s; p=p->next;} return max;

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆w是一个大于10的无符号整数,若w是n位的整数,求出w的后n-1位数。234

456

2398

4567

1001

6

81

961

011

354

2122

5543

441

2

4

01

9

019

641

if(w>10000) w%=10000;

else if(w>1000) w%=1000;

else if(w>100) w%=100;

else if(w>10) w%=10; return w; ………………………………………………………………………………………将一个数字字符串转换为一个整数。

-1234

5553

6546

4242

6776

4522

-5345

6643

-8686

-12101

while(*p) x=x*10-48+(*p++); ………………………………………………………………………………………对变量h中的值保留2位小数,并对第三位进行四舍五入。

1.340000

212.130000

341.210000

21.910000

87.900000

32.550000

455.310000

6656.210000

3232.210000

345.210000

21.320000

22.330000

2121.910000

2121.990000

22.000000

79.000000

90.000000

1020.000000

2121.990000

12.990000

long w; w=h*100+0.5; return (float)w/100;

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆21.000000

10.000000

70.000000

6.000000

20.000000

36.000000

495.000000

210.000000 126.000000

int i; float p,t=1.0;

for(i=1;i<=m;i++) t=t*i; p=t;

for(t=1.0,i=1;i<=n;i++) t=t*i; p=p/t;

for(t=1.0,i=1;i<=m-n;i++) t=t*i; p=p/t; return p; ………………………………………………………………………………………

0.875000

0.833333

0.888889

0.800000

0.857143

0.900000

0.923077

0.916667

0.937500

double s=0.0; int i;

for(i=1;i<=n;i++) s=s+1.0/(i*(i+1)); return s; ………………………………………………………………………………………

0.634524

0.653211

0.666140

0.668771

0.672747

0.675609

0.677766

0.679451

0.680803

int i; double sum=0.0;

if(n>1&&n<=100){for(i=1;i<=n;i++) sum+=1.0/(2*i-1)-1.0/(2*i);} return sum; ………………………………………………………………………………………

1.750000

1.666667

1.777778

1.600000

1.714286

1.800000

1.846154

1.818182

1.875000

int i,j,t; float s=0;

for(i=1;i<=n;i++){t=0; for(j=1;j<=i;j++) t+=j; s=s+1.0/t;}

return s; ………………………………………………………………………………………

1.718282

1.718282

1.718282

1.718282

1.718282

1.718282

1.718282

1.718282

1.718282

double s=0,t=1; int i;

for(i=1;i<=n;i++){t*=i; s+=1.0/t;} return s; ………………………………………………………………………………………

2.500000

2.666667

2.708333

2.716667

2.718056

2.718254

2.718279

2.718282

2.000000

double s=1; long t=1; int i;

for(i=1;i<=n;i++){t=t*i; s+=1.0/t;} return s; ………………………………………………………………………………………

1.491825

1.648721

1.822119

2.012171 2.225495 2.459603 1.221403

3.004166 3.320117

int i,j; double s=1.0,p=1.0,t=1.0;

for(i=1;i<=n;i++){t=t*i; p=p*x; s+=p/t;} return s;

………………………………………………………………………………………

3.140578

3.141479 3.141580 3.141358 3.141566 3.141589 3.140578 3.141479 3.141580 3.140578

double s=1,t=1.0/3; int n=1;

while(t>=eps){s+=t; n++; t=t*n/(2.0*n+1);} return (s*2.0);

……………………………………………………………………………………… 2.919788 2.188034 3.256471 1.782710 2.565005 3.577964 4.470706 4.183576 5.281976

double s=0.0; int i;

for(i=1;i<=m;i++) s+=log(1.0*i); s=sqrt(s); return s;

………………………………………………………………………………………

2861.275710 1419.949440 4942.122924 104.478749 7736.543981 11311.555651 15728.836700 415.329064 12974.093386

int i; double fac=1.0; double sum=1.0;

for(i=2;i<=n;i++){fac+=sqrt(i); sum+=fac;} return sum;

………………………………………………………………………………………

1.148913 1.195826 1.240968 1.284523 1.326650 1.367480 1.385640 1.178983 1.307670

int n=1; double sn=1; double xn=1,xn1=0;

while(fabs(xn-xn1)>=0.000001){xn=xn*x*(0.5-n+1)/n; n+=1; sn+=xn;} return(sn);

……………………………………………………………………………………… 计算并输出给定10个数的方差:

11.730729 23.845335 16.306134 16.468455 16.752612

int i; double avg=0.0,sum=0.0,abs=0.0,fc; for(i=0;i<10;i++) sum+=x[i]; avg=sum/10;

for(i=0;i<10;i++) abs+=(x[i]-avg)*(x[i]-avg); fc=sqrt(abs/10); return fc;

……………………………………………………………………………………… 求Fibonacci 数列中大于t 的最小的一个数。

1597 144 233 233 987 610 987 610 2584 377

int f0=0,f1=1,f;

do{f=f0+f1; f0=f1; f1=f;}while(f

……………………………………………………………………………………… 计算整数n 的所有因子之和。 856=763 900=1920 780=1571 1024=1022 456=743 888=1391 666=815 555=356 444=619 333=160 int s=0,i;

for(i=2;i

………………………………………………………………………………………计算数组(长度为9)中每相邻两个元素之平均值的平方根之和。 35.951014 63.642366 66.428207 61.005383 67.585163

int i; double avg=0.0,sum=0.0;

for(i=0;i<8;i++){avg=(x[i]+x[i+1])/2; sum+=sqrt(avg);} return sum; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ 计算n(包括n)以内能被5或9整除的所有自然数的倒数之和。 0.583333 0.775053 0.693704 0.817275 0.411111 0.870642 0.916185 0.955908 0.853975 0.930074

int i; double sum=0.0;

for(i=1;i<=n;i++) if(i%5==0||i%9==0) sum+=1.0/i; return sum;

……………………………………………………………………………………… 求n 以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s 。 153.909064 134.465609 105.299573 82.613558 111.781036 66.407831 95.577194 157.149610 309.451127 37.229021

double sum=0.0; int i;

for(i=21;i<=n;i++) if((i%3==0)&&(i%7==0)) sum+=i; return sqrt(sum); ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ 计算3到n 之间所有素数的平方根之和。 148.874270 43.849574 32.199047 63.665791 6.613870 78.627047 94.622649 120.480997 22.018051 111.592803

int i,j=0; double s=0; for(i=3;i<=n;i++)

{for(j=2;j

……………………………………………………………………………………… 将大于整数m 且紧靠m 的k 个素数存入xx 数组中。 103 107 109 113 127 131 137 19 23 29 31 37 331 337 347 349 353 37 41 43 47

59 61 67 71 73 79 79 83 89 97 101 103

5

.010

1

2

'

)

(10

1

??

??

??-=∑

=K K

X

X

S

101 103 107 109

787 797 809 811 821

23 29 31 37 41 43

67 71 73

for(i=2;i

if(t%i==0) break;

if(i==t){xx[j-1]=i;j++;} t++;

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆字符串内容逆置。

char b[N]; int i=0,j; memset(b,0,N);

for(j=strlen(s)-1;j>=0;j--) b[i++]=s[j]; strcpy(s,b); ………………………………………………………………………………………将s字符串中ASCII值为偶数的字符删除。

int i,j=0;

for(i=0;i

int i,j=0;

for(i=0;i

int i,j=0;

for(i=0;i

if(!((i%2)==0&&(s[i]%2))) t[j++]=s[i]; t[j]='\0'; ………………………………………………………………………………………将s字符串中除了下标为偶数,同时ASCII值也为偶数的字符外,其余都删除。int i,j=0;

for(i=0;i

for(i=1;i

char *p=tt; int i;

for(i=0;i<26;i++) pp[i]=0;

while(*p){if(*p>='a'&&*p<='z') pp[*p-'a']+=1; p++;}

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆求出1到m之内(含m)能被7或11整除的所有整数。

int i; *n=0;

for(i=7;i<=m;i++) if((i%7==0)||(i%11==0)) a[(*n)++]=i;………………………………………………………………………………………求出1到1000之内能被7或11整除,但不能同时被7和11整除的所有整数。int i; *n=0;

for(i=7;i<1000;i++)

if(((i%7)==0||(i%11)==0)&&(i%77)!=0) a[(*n)++]=i; ………………………………………………………………………………………求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp数组中。

int i; *n=0;

for(i=1;i<=x;i++) if((x%i==0)&&(i%2)) pp[(*n)++]=i;

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆求出小于或等于lim的所有素数并放在aa数组中。

for(j=2;j<=(i/2);j++)

if(i%j==0) break;

if(j>(i/2)) aa[k++]=i; ………………………………………………………………………………………将所有大于1小于整数m的非素数存入xx数组中。

int i,j,t=0;

for(i=4;i

for(j=2;j

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆某学生记录由学号、8门课程成绩和平均分组成,求出该学生的平均分放在记录的ave成员中。

int i;

for(i=0;iave=a->ave+a->s[i]; a->ave/=N; ………………………………………………………………………………………学生记录由学号和成绩组成,把高于等于平均分的学生数据放在b数组中。double t=0; int i; *n=0;

for(i=0;i

for(i=0;i=t) b[(*n)++]=a[i]; return t; ………………………………………………………………………………………学生记录由学号和成绩组成,把低于平均分的学生数据放在b数组中。

int i; double ave=0.0; *n=0;

for(i=0;i

for(i=0;i

int i,max=a[0].s,n=0;

for(i=1;i

for(i=0;i

int i,min=a[0].s,n=0;for(i=1;ia[i].s) min=a[i].s;

for(i=0;i

STREC c; int i; c.num[0]='\0'; c.s=-1;

for(i=0;i

if(strcmp(a[i].num,b)==0)

{strcpy(c.num,a[i].num); c.s=a[i].s; break;}

return c; ………………………………………………………………………………………学生记录由学号和成绩组成,按分数高低排列学生的记录,高分在前。STREC tmp; int i,j;

for(i=0;i

for(j=i+1;j

for(i=0;i=l&&a[i].s<=h) b[j++]=a[i]; return j; ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆求出—个2×M整型二维数组中最大元素的值。

int i,j,max=a[0][0];

for(i=0;i<2;i++)

for(j=0;j

int i,j;

for(i=0;i

for(i=0;i10) b[M-1]++; else b[j]++;} ………………………………………………………………………………………利用简单迭代方法求方程cos(x)-x=0的一个实根。X

n+1

=cos(X

n

)

float x0,x1=0.0;

do{x0=x1; x1=cos(x0);}while(fabs(x0-x1)>=0.000001); return x1;………………………………………………………………………………………

C语言试卷及答案

《C语言程序设计》考试试卷(答案) 一、填空题(每小空1分,共10分) 1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。 2.一个C程序有且仅有一个main( ) 函数。 3.C语言描述“x和y都大于或等于z”的表达式是x>=z && y>=z。 4.C语言可以用来实现循环的结构化语句是while、do while、for。 5.数组名表示数组在内存的首地址。 6.int a=3,*p=&a;*p+2的值是5。 二、单项选择题(每小题2分,共70分) 1.__B___是C语言合法的常量。 (A).45(B)078 (C)25.6e3.4 (D)‘xy’2.一个程序的执行是从 A 。 (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 (C)本程序的main函数开始,到本程序文件的最后一个函数结束。 (D)本程序文件的第一个函数开始,到main函数结束。 3.以下叙述正确的是 C 。 (A)在C程序中,main函数必须位于程序的最前面。 (B)C程序每行中只能写一条语句。 (C)C语言本是没有输入输出语句。 (D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。 4.以下叙述不正确的是 D 。 (A)逗号运算符的运算级最低。 (B)ABC和abc是两个不同的变量。 (C)若a和b类型相同,在执行a=b后,b的自身值不变。 (D)‘a’和“a”是完全等价的常量。 5.int x=3,y=2;则表达式x+=x*=y+8的值为 C 。 (A)28 (B)30 (C)60(D)17 6.设x=2.7,a=8,y=4.9,算术表达式x+a%3*(int)(x+y)%5/3的值为 B 。 (A)2.7 (B)3.7(C)4.7 (D)4.03 7.执行下面两个语句后,输出的结果为__D___。 char c1=98; printf(“%d %c”,c1,c1-32); (A)97 66 (B)98 b (C)b 66 (D)98 B 8.执行下面语句后的结果为 C 。 y=10;x=y++; (A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11(D)x=11,y=10 9.Char w;int x;float y;double z;则表达式w*x+z-y值的数据类型是A 。 (A)double (B)char (C)int (D)float 10.C语言中要求操作数必须是整数的运算符是 B 。

C语言题库及答案

C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

c语言试题及答案

1、以下正确的说法是( B ) (A) 用户若需要调用标准库函数,调用前必须重新定义 (B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C) 系统根本不允许用户重新定义标准库函数 (D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是( A ) (A) double fun(int x, int y) (B) double fun(int x; int y) (C) double fun(int x, int y); (D) double fun(int x,y); 3、以下正确的函数形式是( D ) (A) double fun(int x, int y) { z=x+y; return z;} (B) fun(int x,y) { int z; return z;} (C) fun(x,y) { int x,y; double z; z=x+y; return z;} (D) double fun(int x, int y) { double z; z=x+y; return z;} 4、以下正确的说法是( A ) 在C语言中 (A) 实参和与其对应的形参各占用独立的存储单元 (B) 实参和与其对应的形参共占用一个存储单元 (C) 只有当实参和与其对应的形参同名时才共占用存储单元 (D) 形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是( A ) 该函数 (A) 没有返回值 (B) 返回若干个系统默认值 (C) 能返回一个用户所希望的函数值 (D) 返回一个不确定的值 6、以下不正确的说法是( B ) C语言规定 (A) 实参可以是常量、变量和表达式 (B) 形参可以是常量、变量和表达式 (C) 实参可以为任意类型 (D) 形参应与其对应的实参类型一致 7、以下正确的说法是( C ) (A) 定义函数时,形参的类型说明可以放在函数体内 (B) return后边的值不能为表达式 (C) 如果函数值的类型与返回值类型不一致,以函数值类型为准 (D) 如果形参与实参的类型不一致,以实参类型为准 8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B ) (A) 地址传递 (B) 单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式

C语言练习试题和答案

单项选择题: 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 [i] t 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# 语言中的简单数据类型包括(D)。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C。 A) B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 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、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

(完整版)C语言试题及答案解析

C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行

C语言试卷及答案

一、选择题(每题 1 分,共 20 分) 1. C 语言程序的三种基本结构是顺序结构、选择结构和结构。 A、循环 B、递归 C、转移 D、嵌套 2. 下列标识符中,合法的是_______ 。 A) unsigned B) 5ab C) INT# D)_num2 3. 若float x ;x = 10/4 ;x的值是。 A、2.5 B、2.0 C、3 D、 2 4. 表达式!x 等价于。 A、x==0 B、x==1 C、x != 0 D、x != 1 5. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为。 A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算 6. 能将高级语言编写的源程序转换为目标程序的是。 A、链接程序 B、解释程序 C、编译程序 D、编辑程序 7. 下列语句定义pf为指向float类型变量f的指针,是正确的。 A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f; 8. 一个C程序的执行是从。 A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 9. 能正确表示“当x的取值在[1,10]或[[200,210]范围内为真,否则为假”的表达式是________。 A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B、(x>=1)||(x<=10)||(x>=200)||(x<=210) C、(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D、(x>=1)||(x<=10)&&(x>=200)||(x<=210) 10. 对两个数组a和b进行如下初始化 char a[]=“ABCDEF”;char b[]={ …A?,?B?,?C?,?D?,?E?,?F?}; 则以下叙述正确的是。 A、a和b数组完全相同 B、a和b长度相同 C、a和b中都存放字符串 D、a数组比b数组长度长 11. 是不正确的字符常量。 A、'\n' B、'1' C、"a" D、'\101' 12. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和等价。 A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 13. 设变量定义为“int x, *p=&x;”,则&*p相当于。 A、p B、*p C、x D、*&x 14. 有两个字符数组a、b,则以下正确的输入语句是。 A)gets(a,b); B) scanf(“%s%s”,a,b); C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”); 15. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。 A、地址传递 B、单向值传递

C语言全部题目及答案

C语言全部题目及答案 SANY GROUP system office room 【SANYUA16H-

C语言全部题目及答案 Exercise 1: Programming Environment and Basic Input/Output 1.Write a program that prints “This is my first program!” on the screen. (a)Save this program onto your own disk with the name of e2-1a; (b)Run this program without opening Turbo C; (c)Modify this program to print “This is my second program!”, then save it as e2-1b. Please do not overwrite the first program. 2.Write a program that prints the number 1 to 4 on the same line. Write the program using the following methods: (a)Using four “printf” statements. (b)Using one “printf” statement with no conversion specifier(i.e. no ‘%’). (c)Using one “printf” statement with four conversion specifiers 3.(a) Write a program that calculates and displays the number of minutes in 15 days. (b) Write a program that calculates and displays how many hours 180 minutes equal to. (c) (Optional) How about 174 minutes?

c语言试题及答案 ()

第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由

主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。

C语言函数题库及答案

C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C)

C语言试题及答案

一、单项选择题 1. 软件危机具有下列表现( d )。 I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住 III. 软件常常不可维护IV. 软件成本逐年上升 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。 A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是(D )。 A. 软件是一种逻辑实体,具有抽象性 ~ B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于(D )。 A. 软件危机的出现 B. 计算机硬件技术的发展 C. 软件社会化的需要 D. 计算机软件技术的发展 5. 软件开发技术不包含( d )。 A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( D )。 【 I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( b )。 I. 计算机辅助教学软件II. 软件测试工具 III. 办公自动化软件IV. 工程与科学计算软件

A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。 - A. 设计说明书 B. 需求规格说明书 C. 可行性分析报告 D. 用户手册 9. 以下关于数据流图的说法错误的是( c )。 A. 数据流图舍去了具体的物质,只剩下数据的流动、加工处理和存储 B. 数据流图是用作结构化分析的一种工具 C. 传统的数据流图中主要由加工、数据源点/终点、数据流、控制流、数据存储组成 D. 数据流图的绘制采用自上向下、逐层分解的方法 10. 数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( c )。 A. 数据库设计 B. 数据通信 C. 数据定义 D. 数据维护 11. 需求分析阶段的研究对象是( b )。 ¥ A. 系统分析员要求 B. 用户要求 C. 软硬件要求 D. 系统要求 12. 结构化方法的基本原则是( b )。 A. 模块化 B. 抽象与分解 C. 信息隐蔽 D. 逐步求精 13. 耦合度最高的是(b)耦合。 A. 环境 B. 内容 C. 控制 D. 数据 14. 内聚程度较低的是( a )内聚。 A. 偶然 B. 通讯 C. 顺序 D. 时间 15. 对一个程序来说,组成系统的模块数目( b ),则开发成本越小。 A. 越多 B. 越少 C. 顺序 D. 时间> 16. 画软件结构图时应注意调用关系只能是(B )。 A. 从下到上 B. 从上到下 C. 从左到右 D. 从右到左 17. 程序流程图中的箭头代表( b )。 A. 数据流 B. 控制流 C. 顺序流 D. 调用 18. 软件测试是软件质量保证的重要手段,下述( B )是软件测试的最基础环节。

C语言试题与答案

大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系

C语言期末考试题含答案

C语言期末考试题含答 案 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是( ) A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中( ) A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是( ) A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是( ) A )x1=%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:float a=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(21 的计算结果不. 相符的是( ) A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是( ) A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue

7.在while(!x)语句中的!x与下面条件表达式等价的是() A) x!=0 B) x==1 C) x!=1 D) x==0 8、有以下程序: #include <> void main(){ int i=1,j=1,k=2; if( (j++||k++)&&i++ ) printf(“%d,%d,%d\n”,i,j,k);} 执行后的输出结果是() A)1,1,2B)2,2,1C)2,2,2D)2,2,3 9、有以下程序: #include <> void main(){ int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);} 程序执行后的输出结果是() A)自然数1~9的累加和B)自然数1~10的累加和 C)自然数1~9中奇数之和D)自然数1~10中偶数之和 10、有以下函数定义: void fun(int n,double x){……} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是() A)fun(int y,double m); B)k=fun(10,; C)fun(x,n); D)void fun(n,x); 二、填空题(10x2’=20’) 11、C语言描述“x和y都大于或等于z”的表达式是:。 12、函数定义时涉及的基本要素是:、、。

2019二级C语言题库参考答案解析

2019年C语言考题答案 1、程序填空题 给定的程序的功能是调用fun 函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat 的二进制中。 填空:( 1) STYPE(2)FILE(3)fp 改错:(1) for(i=0;i<=sl;i++)(2)t[2*sl]= 0“ 或t[sl+sl]= 0“ 编程: *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b% 10); 2、程序填空题给定程序的功能是:从键盘输入若干文本 (每行不超过80 个字符),写到文件myfile4.txt 中,用-1 作为字符串输出输入的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText 和Writetext 实现。 填空:(1)*fw(2)str (3) str 改错:(1)voidfun(longs,long*t)(2) s1=s1*10; 编程:int i,j=0,min=a[0].s; for(i=0;i

else if(min==a[i].s) b[j++]=a[i]; } return j; 3、程序填空题 给定程序中,函数fun 的功能是:讲自 然数1~10 以及它们的平方根写到名为myfile3.txt 的文本中,然后再按顺序读出显示在屏幕上。 填空:( 1) fp( 2)fclose(fp)(3)myfile3.txt 改错:( 1)for(i=j+1;i

C语言试题及答案

C语言试题及答案 Company number【1089WT-1898YT-1W8CB-9UUT-92108】

第1章C语言概述习题1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成

C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言 的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。

c语言试题及答案

《C语言》课程综合复习资料 一、单选题 1. 在C语言中,字符型数据在存中的存储形式是 A)原码 B)补码 C)反码 D)ASCII码 2. 在C语言中,十进制数47可等价地表示为 A) 2f B) 02f C) 57 D) 057 3. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为 A) 0 B) 1 C) 2 D) 3 4. 设有定义语句:char str[][20]={,"Beijing","中国石油大学"},*p=str; 则printf("%d\n",strlen(p+20)); 输出结果是 A)10 B) 6 C) 0 D) 20 5. 已定义以下函数: fun(int *p) { return *p; } 该函数的返回值是 A)不确定的值 B)形参p所指存储单元中的值 C)形参p中存放的值 D)形参p的地址值 6. C语言中,函数返回值的类型是由 A)return语句中的表达式类型决定 B)调用函数的主调函数类型决定 C)调用函数时的临时类型决定 D)定义函数时所指定的函数类型决定 7. 有以下函数定义: void fun( int n , double x ) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是 A) fun( int y , double m ); B) k=fun( 10 , 12.5 ); C) fun( 10 , 12.5 ); D) void fun( 10 , 12.5 ); 8. 以下选项中不能正确赋值的是 A) char b[]={′H′,′e′,′l′,′l′,′o′,′!′}; B) char b[10];b="Hello!";

c语言试题及答案

单选题 1 .在C语言中,下列类型属于构造类型的是(D ) A整型B .字符型C .实型D .数组类型 2.下列字符串不是标识符的是( D ) A.sum B. Average C. Day_night D. M.D.JOHN 3.在C语言中,回车换行符是(A ) A. n B. t C. v D. b 4.在C语言中,语句和数据定义是用(C )作为结束标记的A句号B .逗号C .分号D .括号 5. 设有如下定义: int x=10,y=5,z; 则语句printf( “%dn”,z= (x+=y,x/y)); 的输出结果是( C ) A.0 B.1 C.3 D.4 6. 10 .以下程序的输出结果是( B ) main( ) {char c1= '8',c2= '2'; printf( “%c,%c,%d,%d”n ,c1,c2,c1 -c2,c1+c2); }

精选文库 A.因输出格式不合法,输出出错信息 B.8,2,6,106 C . 8,2,6,10 D . 825,9 7.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 (A)mai n() {int x; seanf( “ %d,&x); if(x++>5) printf( “%dn ,x); else prints “%dn ,x --); A. 7 禾R 5 B . 7 禾R 4 C . 6 禾R 4 8.表达式(int)2.1416 的值时(A ) A. 2 B. 2.1 C. 0 D. 3 9.下列运算符优先级最高的是(B ) A. > B. + C. && D. != 10.C语言容许函数值类型缺省定义,此时该函数值隐含的类型时(B ) A. float 型 B. Int 型 C. Long 型 D. Double 型 11、C程序的基本构成单位是(C) A子程序B、过程C、函数D、文件 12、C语言中要求操作数都为整型数据的算术符是( C )

C语言考试题及答案

一、单项选择题:(10分,每题2分) 1.char *p[10];该语句声明了一个: c 。 A)指向含有10个元素的一维字符型数组的指针变量p B)指向长度不超过10的字符串的指针变量p C)有10个元素的指针数组p,每个元素可以指向一个字符串 D) 有10个元素的指针数组p,每个元素存放一个字符串 2.若int x;且有下面的程序片断,则输出结果为: D 。 for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "**%d\n", x); } A) ##3B) **3C) **3D)##3**4 **4 ##4 ##4**5 ##5 ##5 **5 3.在while(!x)语句中的!x与下面条件表达式等价的是:D 。 A) x!=0 B) x==1 C) x!=1 D) x==0 4.已知 struct point { int x; int y; }; struct rect { struct point pt1; struct point pt2; }; struct rect rt; struct rect *rp = &rt; 则下面哪一种引用是不正确的__D______。 A) r t.pt1.x B) (*rp).pt1.x C) r p->pt1.x D) rt->pt1.x 5.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为: C 。 A) *(a+j*n+i) B) *(a+i*n+j) C) *(*(a+i)+j) D) *(*a+i)+j CDDDC 二、分析程序并写出运行结果。(25分,每题5分) 1. #include main()

2020最新C语言题库及答案

2020最新C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。

3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age

相关主题
文本预览
相关文档 最新文档