文档库 最新最全的文档下载
当前位置:文档库 › C语言基础练习1题含答案

C语言基础练习1题含答案

C语言基础练习1题含答案
C语言基础练习1题含答案

C语言基础练习100题(含答案)

雷柳青编排

1、下面程序的输出是________

#include<>

voidmain()

{intk=11;

printf("k=%d,k=%o,k=%x\n",k,k,k);

}

A)k=11,k=12,k=11B)k=11,k=13,k=13

C)k=11,k=013,k=0xbD)k=11,k=13,k=b

2、在下列选项中,不正确的赋值语句是

________.

A)++t;B)n1=(n2=(n3=0));

C)k=i=j;D)a=b+c=1;

3、下面合法的C语言字符常量是__________.

A)'\t'B)"A"C)65D)A

4、字符(char)型数据在微机内存中的存储形式是____.

A)反码B)补码C)EBCDIC码D)ASCII码

5、设inta=12,则执行完语句a+=a-=a*a后,a的值是________

A)552B)264 C)144D)-264

6、执行下面程序中的输出语句后,输出结果是______.

#include<>

voidmain()

{inta;

printf("%d\n",(a=3*5,a*4,a+5));

}

A)65B)20 C)15D)10

7、下面程序的输出是__________.

#include<>

voidmain()

{intx=023;

printf("%d\n",--x);

}

A)17B)18 C)23D)24

8、下面程序的输出是___________.

#include<>

voidmain()

{charch1,ch2;

ch1='A'+'5'-'3';

ch2='A'+'6'-'3';

printf("%d,%c\n",ch1,ch2);

}

A)67,DB)B,CC)C,DD)不确定的值

9、以下程序的输出结果是________.

#include<>

voidmain()

{intx=10,y=10;

printf("%d%d\n",x--,--y);

}

A)1010B)99 C)910D)109

10、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:

printf("%d",(x,y));

上面程序片段的输出结果是_______.

A)200B)100

C)100200D)输出格式符不够,输出不确定的值

11、阅读下面的程序

#include<>

voidmain()

{

inti,j;

i=010;

j=9;

printf("%d,%d",i-j,i+j);

}

则程序的运行结果是________.

A)1,19B)-1,19 C)1,17D)-1,17

12、阅读下面的程序

#include<>

voidmain()

{

inti,j,m,n;

i=8;j=10;

m=++i;

n=j++;

printf("%d,%d,%d,%d",i,j,m,n);

}

程序的运行结果是_________.

A)8,10,8,10B)9,11,8,10

C)9,11,9,10D)9,10,9,11

13、若已定义inta,则表达式a=10,a+10,a++的值是___.

A)20B)10 C)21D)11

14、阅读下面的程序

#include<>

voidmain()

{

inti,j;

scanf("%3d%2d",&i,&j);

printf("i=%d,j=%d\n",i,j);

}

如果从键盘上输入1234567<回车>,则程序的运行结果是________.

A)i=123,j=4567B)i=1234,j=567

C)i=1,j=2D)i=123,j=45

15、下面程序的输出结果是________.

#include<>

voidmain()

{

inta=-1,b=4,k;

k=(++a<=0)&&(b--<=0);

printf("%d,%d,%d\n",k,a,b);

}

A)1,1,2B)1,0,3 C)0,1,2D)0,0,3

16、下面程序的输出结果是_______.

#include<>

voidmain()

{

inta=5,b=3;

floatx=,y=;

printf("%d,%d\n",a+b!=a-b,x<=(y-=);

}

A)1,0B)0,1 C)1,1D)0,0

17、若有以下定义和语句:

inta=010,b=0x10,c=10;

printf("%d,%d,%d\n",a,b,c);

则输出结果是_________.

A)10,10,10B)8,16,10 C)8,10,10D)8,8,10

18、已知有double型变量x=,y=,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4的值是

_________.

A)2.5 C)0

19、设有以下语句:intx=10;x+=3+x%3,则x的值是._________

A)14B)15 C)11D)12 20、若d为double型变量,则表达式d=1,d+5,d++的值是_______.

A)1B)6.0 C)

21、若有定义inta=12,n=5,则表达式a%=(n%2)运算后,a的值__________.

A)0B)1 C)12D)6

22、若有定义intx=3,y=2和floata=,b=,则表达式:(x+y)%2+(int)a/(int)b的值是____.

A)0B)2 C)1

23、在C语言中,以下叙述不正确的是________.

A)在C程序中,无论是整数还是实数,都能被准确

无误的表示

B)在C程序中,变量名代表存储器中的一个位置

C)静态变量的生存期与整个程序的生存期相同

D)C语言中变量必须先定义后引用

24、设a为整型变量,不能正确表达数学关系10

A)10

C)a>10&&a<15D)!(a<=10)&&!(a>=15)

25、如果c为字符型变量,判断c是否为空格不能使用________.(假设已知空格ASCII码为

32)

A)if(c=='32')B)if(c==32)

C)if(c=='\40')D)if(c=='')

26、执行下面程序时,若从键盘输入"2",则程序的运行结果是________.

#include<>

voidmain()

{intk;charcp;

cp=getchar();

if(cp>='0'&&cp<='9')

k=cp-'0';

elseif(cp>='a'&&cp<='f')

k=cp-'a'+10;

elsek=cp-'A'+10;

printf("%d\n",k);

}

A)2B)4 C)1D)10

27、执行下面程序后,运行结果是________.

#include<>

voidmain()

{intx=41,y=1;

if(x%3==0&&x%7==0)

{y+=x;printf("y=%d\n",y);}

else

{y=x;printf("y=%d",y);}

}

A)y=41B)y=43 C)y=42D)y=1

28、运行下面程序时,从键盘输入"12,34,9",则输出结果是______.

#include<>

voidmain()

{intx,y,z;

scanf("%d,%d,%d",&x,&y,&z);

if(x

if(y

elseprintf("%d\n",y);

elseif(x

elseprintf("%d\n",x);

}

A)34B)12 C)9D)不确定的值

29、运行下面程序时,从键盘输入字母H,则

输出结果是________.

#include<>

voidmain()

{charch;

ch=getchar();

switch(ch)

{case'H':printf("Hello!\n");

case'G':printf("Goodmorning!\n");

default:printf("Bye_Bye!\n");

}

}

A)Hello!B)Hello!

GoodMorning!

C)Hello!D)Hello!

Good morning!Bye_Bye!

Bye_Bye!

30、执行下列程序段后的输出结果是

_________.

intx=1,y=1,z=1;

x+=y+=z;

printf("%d\n",x

A)3B)2 C)1D)4

31、设ch是char型变量,值为'A',则表达式

ch=(ch>='A'&&ch<='Z')?ch+32:ch的值是_____.

A)ZB)aC)zD)A

32、下面程序的输出结果是________.

#include<>

voidmain()

{intx=8,y=-7,z=9;

if(x

if(y<0)z=0;

elsez-=1;

printf("%d\n",z);

} A)8B)1 C)9D)0

33、运行下面程序时,若从键盘输入"3,4",则程序的输出结果是_______.

#include<>

voidmain()

{inta,b,s;

scanf("%d,%d",&a,&b);

s=a;

if(s

s=s*s;

printf("%d\n",s);

}

A)14B)16 C)18D)20

34、下列程序的执行结果是_________.

#include<>

voidmain()

{intx=0,y=1,z=0;

if(x=z=y)

x=3;

printf("%d,%d\n",x,z);

}

A)3,0B)0,0 C)0,1D)3,1

35、能够完成如下函数计算的程序段是______. ┌-1x<0

y=┤0x=0

└1x>0

A)y=1;B)if(x>=0)

if(x!=0)if(x>0)y=1;

if(x>0)y=1;elsey=0;

elsey=0;elsey=-1;

C)y=0;D)y=-1;

if(x>=0)if(x>0)y=1;

if(x>0)y=1;elsey=0;

elsey=-1;

36、以下程序的执行结果是________.

#include<>

voidmain()

{intx=1,y=0;

switch(x)

{

case1:

switch(y)

{

case0:printf("first\n");break;

case1:printf("second\n");break;

}

case2:printf("third\n");

}

}

A)firstB)first

secondthird

C)firstD)second

third

37、以下程序的执行结果是________.

#include<>

voidmain()

{inta,b,c,d,x;

a=c=0;

b=1;

d=20;

if(a)d=d-10;

elseif(!b)

if(!c)x=15;

elsex=25;

printf("d=%d\n",d);

}

A)d=20B)d=10 C)d=15D)25

38、下列程序执行后的输出结果是________. #include<>

voidmain()

{intx,y=1,z;

if((z=y)<0)x=4;

elseif(y==0)x=5;

elsex=6;

printf("%d,%d\n",x,y);

}

A)4,1B)6,1 C)5,0D)出错信息

39、有如下程序

#include<>

voidmain()

{intx=1,a=0,b=0;

switch(x)

{

case0:b++;

case1:a++;

case2:a++;b++;

}

printf("a=%d,b=%d\n",a,b);

}

该程序的输出结果是__________.

A)a=2,b=1B)a=1,b=1 C)a=1,b=0D)a=2,b=2

40、下面程序的输出结果是_________.

#include<>

voidmain()

{inta=-1,b=1,k;

if((++a<0)&&(b--<=0)) printf("%d%d\n",a,b);

else

printf("%d%d\n",b,a);

}

A)-11B)01 C)10D)00

41、假定w、x、y、z、m均为int型变量,有如下程序段:

w=1;x=2;y=3;z=4;

m=(w

则该程序段执行后,m的值是_________.

A)4B)3 C)2D)1

42、以下程序的输出结果是_________.

main()

{inta=100;

if(a>100)printf("%d\n",a>100);

elseprintf("%d\n",a<=100);

}

A)a<=100B)100 C)0D)1

43、若执行下面的程序从键盘上输入9,则输出结果是.______________

#include<>

voidmain()

{intn;

scanf("%d",&n);

if(n++<10)printf("%d\n",n);

elseprintf("%d\n",n--);}

A)11B)10 C)9D)8

44、以下程序段运行结果是________.

intx=1,y=1,z=-1;

x+=y+=z;

printf("%d\n",x

A)1B)2 C)4D)不确定的值

45、有以下程序

#include<>

voidmain()

{inta,b,c=246;

a=c/100%9;

b=(-1)&&(-1);

printf("%d,%d\n",a,b);

}

输出结果是________.

A)2,1B)3,2 C)4,3D)2,-1

46、运行下面程序时,若从键盘输入数据为"123",

则输出结果是_______.

#include""

voidmain()

{intnum,i,j,k,place;

scanf("%d",&num);

if(num>99)

place=3;

elseif(num>9)

place=2;

else

place=1;

i=num/100;

j=(num-i*100)/10;

k=(num-i*100-j*10);

switch(place)

{case3:printf("%d%d%d\n",k,j,i);

break;

case2:printf("%d%d\n",k,j);

break;

case1:printf("%d\n",k);

}

}

A)123B)1,2,3 C)321D)3,2,1

47、执行下列程序后的输出结果是_______. #include<>

voidmain()

{intk=4,a=3,b=2,c=1;

printf("%d\n",k

}

A)4B)3 C)2D)1

48、以下条件表达式中能完全等价于条件表达式if(x)中的x的是____.

A)(x==0)B)(x!=0)C)(x==1)D)(x!=1)

49、若运行下面程序时,给变量a输入15,则输出结果是______.

#include<>

voidmain()

{inta,b;

scanf("%d",&a);

b=a>15?a+10:a-10;

printf("%d\n",b);

}

A)5B)25 C)15D)10

50、执行下面程序的输出结果是________.

#include<>

voidmain()

{inta=5,b=0,c=0;

if(a=a+b)printf("****\n");

elseprintf("####\n");

}

A)有语法错误不能编译

B)能通过编译,但不能通过连接C)输出****

D)输出####

51、为了避免嵌套的if-else语句的二义性,C 语言规定else总是与______组成配对关系.

A)缩排位置相同的if

B)在其之前未配对的if

C)在其之前尚未配对的最近的if

D)同一行上的if

52、以下程序段__________.

x=-1;

do

{

x=x*x;

}while(!x);

A)是死循环B)循环执行两次

C)循环执行一次D)有语法错误

53、对下面程序段描述正确的是_______.

intx=0,s=0;

while(!x!=0)s+=++x;

printf("%d",s);

A)运行程序段后输出0

B)运行程序段后输出1

C)程序段中的控制表达式是非法的

D)程序段循环无数次

54、下面程序段的输出结果是_______.

x=3;

do{y=x--;

if(!y){printf("*");continue;}

printf("#");

}while(x=2);

A)##B)##*C)死循环D)输出错误信息

55、下面程序的运行结果是_______.

#include<>

voidmain()

{inta=1,b=10;

do

{b-=a;a++;

}while(b--<0);

printf("%d,%d\n",a,b);

}

A)3,11B)2,8 C)1,-1D)4,9

56、下面程序段的运行结果是__________. intn=0;

while(n++<=2)

printf("%d",n);

A)012B)123 C)234D)错误信息

57、下面程序段的运行结果是________.

intx=0,y=0;

while(x<15)y++,x+=++y;

printf("%d,%d",y,x);

A)20,7B)6,12 C)20,8D)8,20

58、下面程序的运行结果是________.

#include<>

voidmain()

{ints=0,i=1;

while(s<=10)

{s=s+i*i;

i++;

}

printf("%d",--i);

}

A)4B)3 C)5D)6

59、下面程序段的运行结果是________.

for(x=10;x>3;x--)

{if(x%3)x--;

--x;--x;

printf("%d",x);

}

A)63B)74 C)62D)73

60、下面程序的运行结果是________.

#include<>

voidmain()

{inta,b;

a=-1;

b=0;

do{

++a;

++a;

b+=a;

}while(a<9);

printf("%d\n",b);

}

A)34B)24 C)26D)25

61、下面程序段的运行结果是___________.

for(i=1;i<=5;)

printf("%d",i);

i++;

A)12345B)1234 C)15D)无限循环

62、下面程序的输出结果是__________.

#include<>

voidmain()

{intn=4;

while(n--)printf("%d",n--);

}

A)20B)31 C)321D)210

63、以下程序运行后的输出结果是________.

#include<>

voidmain()

{inti=10,j=0;

do

{j=j+1;i--;

}while(i>2);

printf("%d\n",j);

}

A)50B)52 C)51D)8

64、有如下程序

#include<>

voidmain()

{intx=23;

do

{printf("%d",x--);

}while(!x);

}

该程序的执行结果是_______

A)321B)23

C)不输出任何内容D)陷入死循环

65、以下程序段的执行结果是_______.

inti,j,m=0;

for(i=1;i<=15;i+=4)

for(j=3;j<=19;j+=4)

m++;

printf("%d\n",m);

A)12B)15 C)20D)25

66、下面程序的输出结果是___________.

#include<>

voidmain()

{inti;

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

{if(i%2!=0){printf("#");continue;}

printf("*");

}

printf("\n");

}

A)#*#*#B)#####C)*****D)*#*#*

67、下面程序的输出结果是__________.

#include<>

voidmain()

{intx=10,y=10,i;

for(i=0;x>8;y=++i)

printf("%d%d",x--,y);

}

A)10192B)9876

C)10990D)101091

68、执行以下程序后,输出的结果是

__________.

#include<>

voidmain()

{inty=10;

do{y--;}

while(--y);

printf("%d\n",y--);

}

A)-1B)1C)8D)0

69、有如下程序

#include<>

voidmain()

{intn=9;

while(n>6){n--;printf("%d",n);}

}

该程序段的输出结果是__________.

A)987B)876 C)8765D)9876

70、有如下程序

#include<>

voidmain()

{inti,sum=0;

for(i=1;i<=3;sum++)sum+=i;

printf("%d\n",sum);

}

该程序的执行结果是___________.

A)6B)3 C)死循环D)0

71、以下循环体的执行次数是_______

#include<>

voidmain()

{inti,j;

for(i=0,j=1;i<=j+1;i+=2,j--)

printf("%d\n",i);

}

A)3B)2 C)1D)0

72、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.

#include<>

voidmain()

{charch;

while((ch=getchar())!='\n')

{if(ch>='A'&&ch<='Z')ch=ch+32;

elseif(ch>='a'&&ch<'z')ch=ch-32;

printf("%c",ch);

}

printf("\n");

}

A)ABCdefB)abcDEFC)abcD)DEF 73、下面程序的输出结果是__________.

main()

{

inti,k=0,a=0,b=0;

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

{

k++;

if(k%2==0){a=a+k;continue;}

b=b+k;

a=a+k;

}

printf("k=%da=%db=%d\n",k,a,b);

}

A)k=5 a=10b=4B)k=3 a=6b=4

C)k=4 a=10b=3D)k=4 a=10b=4

74、执行下面程序段后,k的值是_________. inti,j,k;

for(i=0,j=10;i

k=i+j;

A)9B)11 C)8D)10

75、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。________ #include<>

voidmain()

{floatx,amax,amin;

scanf("%f",&x);

amax=x;

amin=x;

while(________)

{if(x>amax)amax=x;

if(______)amin=x;

scanf("%f",&x);

}

printf("\namax=%f\namin=%f\n",amax,amin) ;

}

A)x<=0B)x>0 C)x>0D)x>=0

x>aminx<=aminx>aminx

76、阅读以下程序,程序运行后的输出结果是______.

#include<>

voidmain()

{intx;

for(x=5;x>0;x--)

if(x--<5)printf("%d,",x);

elseprintf("%d,",x++);}

A)4,3,2B)4,3,1,C)5,4,2D)5,3,1,

77、以下程序段的输出结果是_______.

intk,n,m;

n=10;m=1;k=1;

while(k<=n){m*=2;k+=4;}

printf("%d\n",m);

A)4B)16 C)8D)32

78、语句while(!e);中的条件!e等价于________.

A)e==0B)e!=1 C)e!=0D)~e

79、以下叙述正确的是_________.

A)continue语句的作用是结束整个循环的执行

B)只能在循环体内和switch语句体内使用break 语句

C)在循环体内使用break语句或continue语句的

作用相同

D)从多层循环嵌套中退出时,只能使用goto语句

80、在下列选项中,没有构成死循环的程序段是____.

A)inti=100;B)for(;;);

while(1)

{i=i%100+1;

if(i>100)break;

}

C)intk=1000;D)ints=36;

do{++k;}while(k>=1000);while(s)--s;

81、下面程序的输出结果是________.

#include<>

voidmain()

{inti;

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

{if(i%2)printf("*");

elsecontinue;

printf("#");

}

printf("$\n");

}

A)*#*#*#$B)#*#*#*$C)#*#*$D)*#*#$

82、下面程序段中,循环体的执行次数是

_________.

inta=10,b=0;

do{b+=2;a-=2+b;}while(a>=0);

A)4B)5 C)3D)2

83、若i为整型变量,则以下循环语句的循环次数是__.

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

printf("%d",i--);

A)无限次B)0次C)1次D)2次84、对于for(表达式1;;表达式3)可理解为

_________.

A)for(表达式1;0;表达式3)

B)for(表达式1;1;表达式3)

C)for(表达式1;表达式1;表达式3)

D)for(表达式1;表达式3;表达式3)

85、合法的数组定义是________.

A)inta[6]={"string"};B)inta[5]={0,1,2,3,4,5};

C)chara={"string"};D)chara[]={0,1,2,3,4,5};

86、给出以下定义:

charx[]="abcdefg";

chary[]={'a','b','c','d','e','f','g'};

则正确的叙述为________.

A)数组x和数组y等价

B)数组x和数组y的长度相同

C)数组x的长度大于数组y的长度

D)数组x的长度小于数组y的长度

87、定义如下变量和数组:

inti;

intx[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,1 5,16};

则下面语句的输出结果是_______.

for(i=0;i<4;i++)printf("%3d",x[i][3-i]);

A)15913B)161116

C)471013D)481216

88、下面程序输出的结果是________.

#include<>

voidmain()

{inti,j,x=0;

staticinta[6]={1,2,3,4,5,6};

for(i=0,j=1;i<5;++i,j++)x+=a[i]*a[j];

printf("%d\n",x);

}

A)数组a中首尾的对应元素的乘积

B)数组a中首尾的对应元素的乘积之和

C)数组a中相邻各元素的乘积

D)数组a中相邻各元素的乘积之和

89、若有以下说明:

chars1[]={"tree"},s2[]={"flower"};,

则以下对数组元素或数组的输出语句中,正确的是_____.

A)printf("%s%s",s1[5],s2[7]);

B)printf("%c%c",s1,s2);

C)puts(s1);puts(s2);D)puts(s1,s2);

90、运行下面程序段的输出结果是_______.

chars1[10]={'S','e','t','\0','u','p','\0'};

printf("%s",s1);

A)SetB)SetupC)SetupD)'S''e''t'

91、以下程序段的输出结果是________.

chars[]="anapple";

printf("%d\n",strlen(s));

A)7B)8 C)9D)10

92、若有说明:charc[10]={'E','a','s','t','\0'};,则下述说法中正确的是__________.

A)c[7]不可引用B)c[6]可引用,但值不确定

C)c[4]不可引用D)c[4]可引用,其值为空字符

93、若有说明charc[7]={'s','t','r','i','n','g'};则对元素的非法引用是________.

A)c[0]B)c[9-6]C)c[4*2]D)c[2*3]

94、如有说明:chars1[5],s2[7];,要给数组s1和s2整体赋值,下列语句中正确的是________.

A)s1=getchar();s2=getchar();

B)scanf("%s%s",s1,s2);

C)scanf("%c%c",s1,s2);

D)gets(s1,s2);

95、以下程序输出的结果是_________.

#include<>

voidmain()

{charstr[]="1a2b3c";inti;

for(i=0;str[i]!='\0';i++)

if(str[i]>='0'&&str[i]<='9')printf("%c",str[i]);

printf("\n");

}

A)B)1a2b3cC)abcD)123

96、以下程序输出的结果是________.

#include<>

voidmain()

{inta[]={5,4,3,2,1},i,j;

longs=0;

for(i=0;i<5;i++)s=s*10+a[i];

printf("s=%ld\n",s);

}

A)s=12345B)s=54321

C)s=54321D)以上都不对

97、在定义inta[5][6];后,数组a中的第10个元素是.________(设a[0][0]为第一个元素)

A)a[2][5]B)a[2][4]C)a[1][3]D)a[1][5]

98、当接受用户输入的含有空格的字符串时,应使用________函数.

A)gets()B)getchar()C)scanf()D)printf()

99、以下一维数组a的正确定义是________.

A)inta(10);B)intn=10,a[n];

C)intn;D)#defineSIZE10

scanf("%d",&n);inta[SIZE];

inta[n];

100、以下对二维数组a进行正确初始化的是_______. A)inta[2][3]={{1,2},{3,4},{5,6}};

B)inta[][3]={1,2,3,4,5,6};

C)inta[2][]={1,2,3,4,5,6};

D)inta[2][]={{1,2},{3,4}};

答题卡

班级______姓名__________得分_________

11-15DCDDD15-20ABBAD

21-25ADAAA26-30AAACA

31-35BCBDB36-40BABAC

41-45DDBAA46-50CDBAC

51-55CCBCB56-60BCBBD

61-65DBDBC66-70ADDBC

71-75CBDDD76-80BCABD

81-85ACBBD86-90CCDCA

91-95BDCBD96-100CCADB

C语言基础知识_测试题

C语言程序设计基础测试题 一、单选 [1] 下面叙述中错误的是____。 A. 复合语句中定义的函数只在该复合语句中有效 B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式 C. 形式参数也是局部变量 D. 主函数中定义的变量在整个程序中都是有效的 [2]下列说法中正确的是____。 A.带参数的宏定义中的参数是没有类型的 B.宏展开将占用程序的运行时间 C.宏定义命令是C语言中的一种特殊语句 D.使用#include命令包含的头文件必须以“.h"为后缀 [3.] 若函数的形参为一维数组,则下列说法中正确的是____。 A.调用函数时的对应实参必为数组名 B.形参数组可以不指定大小 C.形参数组的元素个数必须等于实参数组的元素个数 D.形参数组的元素个数必须多于实参数组的元素个数 [4]. 系统的标准输出设备是____。 A.键盘 B.硬盘 C.内存 D.显示器 [5] 下面叙述中正确的是____。 A.全局变量在定义它的文件中的任何地方都是有效的 B.全局变量在程序的全部执行过程中一直占用内存单元 C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式 D. 说明函数时必须明确其参数类型和返回类型 [6]. C程序的基本结构单位是____。 A.文件 B.语句 C.函数 D.表达式 [7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。 A.aa数组元素的值分别是"abcd"和"ABCD" B.aa是指针变量,它指向含有两个数组元素的字符型一维数组 C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址 [8]. 任何一个C语言的可执行程序都是从____开始执行的。 A.程序中的第一个函数 B.main( )函数的入口处

c语言程序基础练习题00道(附答案)

1.下列四组选项中,均不是C语言关健字的选项是( A )。 A) define B) gect C) include D) while IF char scanf go type printf case pow 2.下面四个选项中,均是合法整型常量的选项是( A )。 A)160 B)-0xcdf C) -01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x 3.下面四个选项中,均是不合法的转义符的选项是( B )。 A) '\"' B) '\1011' C) '\011' D) '\abc' '\\' '\' '\f' '\101' 'xf' '\A' '\}' 'x1f' 4.下面不正确的字符串常量是( A )。 A)'abc' B)"12'12" C)"0" D)" " 5.以下选项中不合法的用户标识符是( A )。 A)abc.c B)file C)Main D)PRINT 6.C语言提供的合法关键字是( D )。 A) swith B) cher C) Case D)default 7.下列标识符组中,合法的用户标识符为 A A)_0123与ssiped B)del-word与signed C)list与*jer D) keep%与wind 8.在C语言中,逻辑值"真"的表示是用( C )。 A) true B) 整型值0 C)非另整型值 D) T 9若有以下定义 char s='\092'; 则该语句( b ) A)使s的值包含一个字符 B)定义不合法,s的值不确定 C)使s的值包含4个字符 D)使s的值包含3个字符 10设C语言中,int类型数据占2个字节,则float类型数据占( D )个字节。 A)1 B)2 C)8 D)4 11已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( A )。 A)D B)68 C)不确定的值 D)C 12逻辑运算符两侧运算对象的数据类型是 ( D )。 A) 只是0或1 B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何合法的类型数据 13TURBO C中int类型变量所占字节数是( B )。

C语言基础编程题

5-1求幂之和(15分) 本题要求编写程序,计算sum=2^1+2^2+2^3+\cdots+2^n sum=21+22+23++2n。可以调用pow函数求幂。 输入格式: 输入在一行中给出正整数n n(\le≤10)。 输出格式: 按照格式“result=计算结果”输出。 输入样例: 输出样例: #include<> #include<> intmain() { inti,n,sum=0; scanf("%d",&n); for(i=1;i<=n;i++) { sum=sum+pow(2,i); } printf("result=%d\n",sum); return0; } 5-2近似求PI(15分) 本题要求编写程序,根据下式求\piπ的近似值,直到最后一项小于给定精度eps。

\frac{\pi}{2}=1+\frac{1!}{3}+\frac{2!}{3\times5}+\frac{3!}{3\times5\times7}+\ cdots+\frac{i!}{3\times5\times\cdots\times(2\timesi+1)}+\cdots2π=1+31!+3×52!+3×5×73!++3×5××(2×i+1)i!+ 输入格式: 输入在一行中给出精度eps,可以使用以下语句来读输入: 输出格式: 在一行内,按照以下格式输出\piπ的近似值(保留小数点后5位): 输入样例: 输出样例: #include<> #include<> intmain() { doublea=1,b=3,i=1,j=3; doubleeps,m=1,sum=0; scanf("%le",&eps); while(m>eps) { m=a/b; sum=sum+m; i=i+1; j=j+2; a=a*i; b=b*j; } printf("PI=%.5lf\n",2+2*sum);

C语言程序设计基础试题及答案

第一部分C语言基础 一、选择题 1、以下正确得C语言标识符就是() A。%X B。a+b?C.a123 D.test! 2、已定义int a,b;则以下不正确得C语句就是() A.a*=5;??B。b/=2;? C.a+=1、75;?D.b&&=a; 3、若x、i、j与k都就是整型变量,则执行下面表达式后x得值为( ) x=(i=4,j=16,k=32) A.4?B.16 ?C.32 D.52 4、C语言中得标识符只能由字母、数字与下划线三种字符组成,且第一个字符( ) A.必须就是字母???B.必须为下划线? C.必须为字母或下划线D.可以就是字母、数字、下划线中得任一字符 5、下面正确得字符常量就是( ) A.“c”? B。’\\”? C.‘w’??D.” 6、设int a=2,b=0,c;则执行语句c+=b&&a--后, c得结果为( )。 A.0,1B.1,0 ?C.2,0 D.不确定 7、以下不正确得C语言标识符就是()?A) int B)a_1_2?C)ab1exe D)_x 8、以下就是正确得C语言标识符就是( )。?A)#define?B)_123 C) %d D) \n 9、下列四组字符串中都可以用作C语言程序标识符得一组就是() 。?A) prin tB)i\am C)Pxq D)str_l ???oodbs tart$it line# _3d one_half My-〉bookCpp ? pow 10、下面各选项组中,均就是C语言关键字得组就是()。?A)auto,enu

m,include B)switch,typedef,continue?C)signed,union,scanf?D)if,s truct,type 11、下列不属于C语言关键字得就是( ) 。 A)default?B)register C)enum ?D)external 12、C语言程序从main()函数开始执行,所以这个函数要写在( )。?A) 程序文件得开始?B)程序文件得最后?C)它所调用得函数得前面 D) 程序文件得任何位置 13、下列关于C语言得叙述错误得就是( ) A)大写字母与小写字母得意义相同?B) 不同类型得变量可以在一个表达式中 C)在赋值表达式中等号(=)左边得变量与右边得值可以就是不同类型?D) 同一个运算符号在不同得场合可以有不同得含义 14、在C语言中,错误得int类型得常数就是( ) 。?A)32768?B)0 C)037?D) 0xAF 15、将字符g赋给字符变量c,正确得表达式就是( )。 A) c=\147 ?B)c="\147" ?C)c='\147' 16、下列转义字符中错误得一个就是( )。 A) ’\000’ B)'\0014' ?C) ’\x111’ D) ’\2’ 17、将空格符赋给字符变量c,正确得赋值语句就是( )。 A) c=’\0’ B) c=NULL C)c=0 D)c=32 18、已知:char a=’\70’;则变量a中()。 A)包含1个字符?B)包含2个字符?C) 包含3个字符?D) 说明非法 19、字符串"\”EOF\n=-\61\””得长度就是( )。 A)8 ?B) 9?C)14?D)非法字符串

年C语言程序设计基础期末考试试卷‘B’及答案

年C语言程序设计基础期 末考试试卷‘B’及答案 The following text is amended on 12 November 2020.

一、单项选择题 1. 在C语言中,下面字符串能用作变量名的是( )。 A、a+b B、auto C、2-and D、a2 2. 若double x=2,y;则执行y=x+3/2;后,y的值是( )。 A、 B. C. D. 3 3. 下列关于C语言中字符常量与字符串常量的叙述中,错 误的是( )。 A、字符常量是用单撇号括起来的一个字符 B、空格字符也可用作字符常量 C、字符串常量是用单撇号括起来的一个字符序列 D、字符串常量是用双撇号括起来的一个字符序列 4. 若有以下变量说明和数据的输入方式,则正确的输入语 句为( )。

变量说明:float x1,x2; 数据的输入方式:<回车> <回车> A、scanf(“%f,%f”,&x1,&x2); B、scanf(“%f%f”,&x1,&x2); C、scanf(“%,%”,&x1,&x2); D、scanf(“%%”,&x1,&x2); 6. 在一个源文件中定义的全局变量的作用域为()。 A. 本文件的全部范围 B. 从定义该变量开始至本文件结束 C. 本函数的全部范围 D. 本程序的全部范围

7. 当调用函数时,实参是一个数组名,则向函数传送的是( )。 A、数组的长度 B、数组的首地址 C、数组每一个元素的地址 D、数组每个元素中的值 8.若j为整型变量,则下面while循环( )。 j=10; while(j!=0) j=j-1; A、执行0次 B、执行1次 C、执行10次 D、执行无限次 9. 在while(x)语句中的x与下面条件表达式等价的 是:( )。 A、x!=0 B、 x==1 C、x!=1 D、x==0 10. 以下对C语言函数的描述中,正确的是( )。 A、调用函数时,参数可以是表达式

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 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。 第2章数据类型运算符和表达式习题 1. 单项选择题 (1) 以下选项中,正确的 C 语言整型常量是 D 。 A. 32L B. 510000 C. -1.00 D. 567 (2) 以下选项中, D 是不正确的 C 语言字符型常量。

C语言上机实验题

第六章循环控制 通过本章实验作业应达目标 1.熟悉while、for、do_while、break、continue语句的作用与使用规范。 2.学习并掌握利用while语句、for语句、do_while语句实现循环结构。 3.掌握循环结构和选择结构之间嵌套、多重循环间嵌套的设计方法。 4.进行算法设计训练,能综合所学控制结构语句解决一般问题。 本章必须上交作业 程序6_1.c、6_2.c、6_5.c、6_6.c、6_8.c上传至211.64.135.121/casp。 本章开始,上机实验项目量加大,希望同学们多多自行上机。本章实验项目有余力都可以做一下并上交。 循环程序设计 计算机解决问题都是按指定的顺序执行一系列的动作。按照特定的顺序执行相应的动作来求解问题的过程称为算法。程序中的语句是算法的体现,而算法要解决的是“做什么”和“怎么做”的问题。 计算机程序中指定语句的执行顺序称为“程序控制”。结构化的程序控制包含三种基本结构:顺序结构,选择结构和循环结构。 1. 循环设计 循环是在循环条件为真时反复执行的一组计算机指令,是计算机解题的一个重要结构。循环控制有两种基本方法:计数法和标志法。 1)计数器控制的循环 事先准确地知道循环次数,因此设计一个循环控制变量,由变量值来控制循环次数。每循环一次,循环变量的值会递增(增值通常为1或-1),当其值达到终值时结束循环。 教材例6.2、6.3、6.7都是典型的计数器控制的固定次数次数循环。 2)标志控制的循环 事先不知道准确的循环次数,由某一目标值标记循环的结束。如,教材例6.6中以|t|的值达到标记下限值1e-6作为循环的结束。 循环设计时要注意合理设计循环条件,使得循环不会成为死循环。 2. 算法 程序设计的首要工作是算法设计,离开了算法也就没有了程序。算法,是指完成某一项工作而采取的方法和步骤,具体到程序设计,是对解题过程的准确而完整的描述,并用一种程序设计语言的来实现。 循环主要用来解决程序设计中两类基本的算法:穷举和迭代。 1)穷举 穷举的基本思想是对问题的所有可能状态一一测试,直到找到解或将全部可能状态都测试过为止。穷举是一种重复型算法,其核心是设计循环,在循环体中依次测试。 例:输入两个正整数x和y,求其最大公约数。 main() {int x,y,i,flag; printf("Please input two numbers:"); scanf("%d%d",&x,&y);

C语言习题集(基础篇)

《C语言程序设计》习题篇 第一章C语言基础知识 1.1 选择题 1. 以下不是C语言的特点的是()。 A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 3.正确的C语言标识符是()。 A._buy_2 B.2_buy C.?_buy D.buy? 4. 请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 5.下列符号中,不属于转义字符的是()。 A.\\ B.\0xAA C.\t D.\0 6.不属于C语言关键字的是()。 A.int B.break C.while D.character 7.是C语言提供的合法关键字的是()。 A.Float B.signed C.integer D.Char 8.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 9.一个C程序是由()。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成 10. C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 11.下列说法中,错误的是()。 A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外 C.主函数只能调用用户函数或系统函数,用户函数可以相互调用

C语言常见、经典的上机实验题目

3.3 常见、经典的上机实验题目 1、 /*功能:数组x有十个元素,编程将其元素首尾颠倒。(即第一个元素与最后一个元素交换,第二个元素与倒数第二个元素交换…)。*/ main() {int a[10]={5,65,654 ,5 ,5 ,56,588,77,58,5},j,x; for(j=0;j<5;j++) {x=a[j]; a[j]=a[9-j]; a[9-j]=x;} for(j=0;j<10;j++) printf("%d\t", a[j]); } 2、 /*功能:统计输入的一串字符(假设以‘\n’结束)中,大写字母A,B,...,Z各出现的次数。(提示,用一个数组count[26]计数各个字母出现的次数,count[0]表示A出现的次数,count[1]表示B出现的次数,...,count[25]表示字母Z出现的次数。初始时count的各元素值为0。以后,每读入一个字符ch ,若它是一个大写字母,就让相应计数单元count[ch-'A']加1。*/ main( ) {int count[26] ,i; char ch[80]; for(i=0;i<26;i++) count[i]=0; gets(ch); for(i=0;i ='A'&&ch[i]<='Z') count[ch[i]- 'A']++; for(i=0;i<26;i++) printf("%c %d\t", 'A'+i,count[i]); } 3、 /*功能:键盘输入若干数,输出它们的平均值,输入值为-1时,结束输入*/ main( ) {int x,i=1,s; scanf("%d",&x); while(x!=-1) {s=s+x;i++; scanf("%d",&x); } printf("%d\n",s/i); }

C语言程序设计_上机实验指导与习题_第三版_(陈湘骥_编著_著)_华南农业大学_参考答案

C语言程序设计上机实验指导与习题 参考答案 (仅供教师内部参考) 华南农业大学

目录 上机实验 (1) 实验 1 C语言程序初步 (1) 一、实验目的 (1) 二、实验内容 (1) 实验2基本数据类型、运算和表达式 (3) 一、实验目的 (3) 二、实验内容 (3) 实验3基本输入与输出 (5) 一、实验目的 (5) 二、实验内容 (5) 实验4选择结构程序设计 (4) 一、实验目的 (4) 二、实验内容 (4) 实验5循环结构程序设计(一) (9) 一、实验目的 (9) 二、实验内容 (9) 实验6循环结构程序设计(二) (15) 一、实验目的 (15) 二、实验内容 (15) 实验7数组 (17) 一、实验目的 (17) 二、实验内容 (17) 实验8字符数组的应用 (22) 一、实验目的 (22) 二、实验内容 (22) 实验9函数的基本应用 (24) 一、实验目的 (24) 二、实验内容 (24) 实验10指针与结构体 (26) 一、实验目的 (26) 二、实验内容 (26) *实验11链表 (29) 一、实验目的 (29) 二、实验内容 (29) *实验12文件 (32) 一、实验目的 (32) 二、实验内容 (32)

上机实验 实验 1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用JudgeOnline实验系统。 二、实验内容 1. 运行第一个 C 程序 [题目:The first C Program] 将下列程序输入 TC(或 VC++),编译、连接和运行该程序。 void main() { printf("The first C Program\n"); } [具体操作步骤] 以 Turbo C 上的操作为例 (1)Windows 进入后,按照第一章中介绍的方法,进入 Turbo C。 (2)在编辑窗口中输入程序。 (3)保存程序,取名为 a1.c。 (4)按照第一章中介绍的方法,编译、连接和运行程序。 2.在JudgeOnline系统中提交实现了计算a+b功能的程序 [题目 1001:计算 a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, void main() { int a, b; scanf("%d%d", &a, &b); 1

C语言考试试题基础版

一、选择题 1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。 A. main B. MAIN C. name D. function 2. 在以下关于C 语言的注释的叙述中,不正确的是 。 A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示 B .编译器在编译一个程序时,将跳过注释,不对其进行处理 C .编译器在编译一个程序时,可发现注释中的单词拼写错误 D .程序中注释的多少不会影响所生成的可执行文件的长度 3. 以下叙述不正确的是 。 A .在C 程序中,严格区分大小写字母 B .一个C 源程序有且仅有一个main 函数 C .在C 程序中,注释只能位于一条语句的后面 D .一个C 程序总是从main 函数开始执行 4. 下列合法的标识符为 A. abde+ B. #KDJF C. 67KDJ D. DK3_ 5. 关于字符串和字符的关系正确的是 A. “A ”与’A ’是相同的 B. 字符串是常量,字符是变量 C. “A ”与’A ’是不同的 D. “A ”与“A ”是相同的 6. 下面关于语句的说法正确的是 A. 下面这两段程序的执行效果是一致的 B. 空语句是只有一个分号的语句,它其实什么也不干 C. 语句的构成不一定需要分号 D. 语句的书写对程序的运行不起作用,因此可以随便写都可以 7. 以下各标识符中,合法的用户标识符组为 。 A. PAd ,P#d ,b-b ,abc ,_0123,ssiped B. cin ,a10,CPP ,float ,del_word ,signed C. void ,max ,hiy ,,list ,*jer if (x>y) {z=x; s=z*z;} else {z=y;s=1/(z*z);} if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);

C语言上机实验(第四版)参考答案

C语言上机实验(第四版)参考答案 C语言程序设计上机实验指导与习题 参考答案(第四版) (学生改编) 实验 1 C语言程序初步一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。(2)了解在该系统上如何编辑、编译、连接和运行一个C程序。(3)通过运行简 单的C程序,初步了解C程序的特点。(4)在教师的指导下,学会使用在线 评判系统。 二、实验内容 1. 运行第一个C程序 [题目:The first C Program] 将下列程序输入visual c++ ,编译、连接和运行该程序。 #include\main() { printf(\ } [具体操作步骤] (1)在编辑窗口中输入程序。 (2)保存程序,取名为 a1.c。 (3)按照第一章中介绍的方法,编译、连接和运行程序。 (4)按照第三章介绍的方法,将代码提交到在线评判系统,系统返回“通过”,则该题完成。 2. 在在线评判系统中提交实现了计算a+b功能的程序 [题目1001:计算a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, #include \main() { int a, b;

scanf(\ printf(\ } (1)在程序编辑窗口中输入程序。(2)保存程序,取名为 a2.c。 (3)按照前二章中介绍的方法,编译、连接和运行程序。(4)在程序运行 过程中,输入 15 30↙ (↙表示输入回车符) (5)如果看到如下输出结果,则表明15+30 的结果正确,如果得不到如下结 果,则需检查并更正程序。 45 (6)按照第三章中介绍的方法进入在线评判系统。 (7)显示题目列表,点击题号为1001,题名为“计算a+b”的题目。 (8)查看完题目要求后,点击页面下端的“sumbit”,参照第二章提交程序 的方法提交程序a2.c。 (9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检 查程序是否正确。 3 实验 2 基本数据类型、运算和表达式一、实验目的 (1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它 们赋值的方法。(2)掌握不同的类型数据之间赋值的规律。 (3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是 自加(++)和自减(--)运算符的使用。 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。二、实验内容 1. 变量的定义 [题目 1117:变量定义,按要求完成程序] 下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整 缺少的语句。 #include \ main() { int a, b; /*定义整型变量 a和 b*/ int i, j; /*定义实型变量i和 j*/ a=5; b=6; i=3.14; j=i*a*b; printf(\ } [具体操作步骤]

C语言编程基础考试试题

C语言编程基础考试试题 文档名称文档密级 C语言编程基础考试 [考前说明]本题目中不考虑头文件引用问题(假定已经包含正确的头文件),C 语言的标 准函数都可用;如果不特别说明, 假定程序运行环境为:操作系统Windows 2000, VC6.0编译环境,缺省为四字节对齐, X86(80586)CPU处理器(32位小字节序处理器). 一、单选题 1、给出以下定义: char acX[ ]= "abcdefg"; char acY[ ]= {'a','b','c','d','e','f','g'}; 则正确的叙述为( ) A) 数组acX和数组acY等价 B) 数组acX和数组acY的长度相同 C) 数组acX的长度大于数组acY的长度 D) 数组acX的长度小于数组Y的长度 2、 void example(char acHello[]) { printf("%d", sizeof(acHello)); return; } void main()

{ char acHello[] = "hello"; example(acHello); return; } 的输出是( ) A 4 B 5 C 6 D不确定 3、以下叙述中不正确的是( ) A) 在不同的函数中可以使用相同名字的变量 B) 函数中的形式参数是在栈中保存 C) 在一个函数内定义的变量只在本函数范围内有效 D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(复合语句指函数 中的成对括号构成的代码) 4、设有如下定义: unsigned long pulArray[] = {6, 7, 8, 9, 10}; unsigned long *pulPtr; 则下列程序段的输出结果为( ) 1 文档名称文档密级 pulPtr = pulArray; *(pulPtr + 2) += 2; printf ("%d,%d\n", *pulPtr, *(pulPtr + 2)); A)8,10 B)6,8 C)7,9 D)6,10

C语言基本练习题

1. 某城市出租车收费标准如下:起步里程是3 公里,起步费是10 元;超出起步里程后每公里 1.5 元。编写程序,输入行驶里程(公里) ,计算并输出乘客应支付的车费(元)。 #include int main() { double n; scanf("%lf",&n); if(n<=3) { printf("%d\n",10); } else { printf("%.2f\n",1.0*(10+(n-3)*1.5)); } return 0; } 2. 某城市月用水量收费标准如下:每月使用吨数小于等于15 吨的,每吨收费2.5 元;每月使用吨数超过15 吨的,采用分段计费:超过部分每吨 3 元。编写程序,输入使用吨数,计算并输出用户水费(元) 。 #include int main() { double n,x; scanf("%lf",&n); if(n<=15) {x=n*2.5; } else { x=15*2.5+(n-15)*3.0; } printf("%.2f\n",x); return 0; } 3. 求解简单表达式。输入一个形式如:"操作数运算符操作数"的四则运算表达式,输出运算结果,要求使用switch 语句( if 语句)编写。#include #include int main() { double s1,s2; char op; scanf("%lf %c %lf",&s1,&op,&s2); switch(op) {case '+':printf("%.2f\n",s1+s2);break; case '-':printf("%.2f\n",s1-s2);break; case '*':printf("%.2f\n",s1*s2);break; case '/': if(fabs(s2)

c语言期末测试题(附答案)

课程代码:A100002座位号: 《计算机技术基础(C语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年月日 第一部分 选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个正确答案,答对一题得 2 分,共 30 分) 1、以下关于C语言标识符的描述中,正确的是【】。 A)标识符可以由汉字组成B)标识符只能以字母开头 C)关键字可以作为用户标识符D)Area与area是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d\n”,i,j,k); A)12345678 B)123,456,78 C)123,45678 D)123,*45678 3、判断char类型的变量c1是否为数字字符的正确表达式为【】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是【】。 A)’a’&&’b’ B)a<=b C)((a>b)||(b

A. *(a[0]+2) B. a[1][3] C . a[1][0] D. *(*(a+1)+2) 6、在循环语句的循环体中执行break语句,其作用是【】。A)跳出该循环体,提前结束循环 B)继续执行break语句之后的循环体各语句 C)结束本次循环,进行下次循环 D)终止程序运行 7、执行语句for(i=10;i>0;i--);后,变量i的值为【】。A)10 B)9 C)0 D)1 8、若有int *p1, *p2,k; 不正确的语句是【】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是【】 A. 静态(static) B. 外部(extern) C. 自动(auto)D. 寄存器(register) 10、如下程序的输出结果是【】 main( ) { int x=2,a=0,b=0; switch(x) { case 2: a++; b++; case 1: ++a; b--; break; case 0: b++;} printf("a=%d, b=%d\n", a, b);} A. a=2, b=0 B. a=2, b=1 C. a=1, b=1 D. a=1, b=0 11、表示关系a main() {int x; scanf(“%d”,&x); if(x<=3) ; else if(x !=10)printf(“%d\n”,x); } 程序运行时,输入的值在哪个范围才会有输出结果。【】

C语言程序设计实验实验指导书及答案

实验一熟悉C程序运行环境 班级学号姓名成绩 一、实验目的 1. 熟悉C语言Visual C++调试环境。 2. 掌握C程序的编辑、调试及运行。 二、实验内容 项目1. 调试并运行下面程序,并写出运行结果: #include <> int main() { printf(“Good morning!\n”); printf(“Hello,world!\n”); return 0; } 运行结果(注意,按照屏幕输出格式写): 项目2. 调试并运行下面程序,并写出运行结果: #include <> int main() { int a , b , sum; /*定义变量*/ a=23; b=56; /*为变量赋值*/ sum=a+b; /*计算两个变量的和*/

printf(“sum is %d\n”,sum); /*输出计算结果*/ return 0; } 运行结果:

项目3. 调试并运行下面程序,并写出运行结果: #include <> int max(int,int); int main() { int a , b , c; /*定义变量*/ a=23; b=56; /*为变量赋值*/ c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/ return 0; } int max(int x,int y) /*定义max函数,函数值为整型*/ { int z; /*定义变量*/ if(x>y) z=x; else z=y; return(z); /*将z的值返回*/ } 运行结果: 三、提高部分 1.试想,如果求10个数中的最大者,则程序该如何编写。 程序代码

国家二级C语言机试(C语言基础知识)模拟试卷8

国家二级C语言机试(C语言基础知识)模拟试卷8 (总分:60.00,做题时间:90分钟) 一、选择题(总题数:30,分数:60.00) 1.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是 (分数:2.00) A.一条C语句可能会被转换成多条机器指令 B.一条C语句对应转换成一条机器指令√ C.一条C语句可能会被转换成零条机器指令 D.某种类型和格式的C语句被转换成机器指令的条数是固定的 解析:解析:由C语言编写的程序,通过编译、链接转换成可以让机器识别的01二进制指令。这些二进制指令命令机器计算,这些就是机器指令,而C语言的语句条数和机器指令的条数不是一对一的关系。 2.以下选项中不属于C语言程序运算符的是 (分数:2.00) A.sizeof B.() C.<> √ D.&& 解析:解析:sizeof为测试内存的运算符,()为算术运算符,&&为逻辑运算符。而<>不是C语言的运算符,C语言中!=表示不等于。 3.若变量已正确定义并赋值,以下不能构成C语句的选项是 (分数:2.00) A.A=a+b: B.B++; C.a=a+b √ D.A?a:b; 解析:解析:C语言语句的表示为分号,不加分号的表达式不能看成C语句。 4.以下叙述中正确的是 (分数:2.00) A.程序必须包含所有三种基本结构才能成为一种算法 B.如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达 C.只有简单算法才能在有限的操作步骤之后结束 D.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令√ 解析:解析:C语句构成了函数,函数构成的程序,经过编译转换成二进制代码后可以运行,算法是指为解决某个特定问题而采取的确定且有限的步骤,可以利用代码来捕述算法,而算法+数据结构才是程序,结构化的程序由顺序结构、循环结构和选择结构三种基本结构组成。由这三种基本结构组成的算法可以解决任何复杂的问题,反之则不一定,所有算法必须在有限步骤后结束。 5.下列选项中,不能用作标识符的是 (分数:2.00) A._1234 B._1_2 C.int_2_ D.2_int_ √ 解析:解析:C语言中标以符必须以字母或者下划线开始,选项D)中是以数字开始的不能作为标识符。6.以下选项中作为C语言合法常量的是 (分数:2.00) A.-80.√ B.-080

C语言基础题及参考答案

第一单元程序设计和C语言 一、选择题 1.C语言的基本构成单位是: A 。 A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序 2.一个C语言程序总是从 B 开始执行。 A. 主过程 B. 主函数 C. 子程序 D.主程序 3.C语言的程序一行写不下时,可以 D 。 A. 用逗号换行 B. 用分号换行 C. 在任意一空格处换行 D. 用回车符换行 4.以下叙述不正确的是: C 。 A. 在C程序中,语句之间必须要用分号";"分隔 B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C. 在C程序中,无论是整数还是实数都能正确无误地表示 D. 在C程序中,%是只能用于整数运算的运算符 5.以下不正确的C语言标识符是 D 。 A. ABC B. abc C. a_bc D. ab.c 6.下列字符串是标识符的是:。 ? A. _HJ B. 9_student C. long D. LINE 1 7.以下说法中正确的是: C 。 A. C语言程序总是从第一个定义的函数开始执行 B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 8.不合法的常量是: B 。 A. ‘\2’ B. "" C. ‘3’ D. ‘\483’ 9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。 int k,a,b; unsigned long w=5; double x=1.422; A. x%(-3) B. W += -2 C. k=(a=2,b=3,a+b) D. a+=a=+(b=4)*(a=3) 10.在C语言中,字符型数据在内存中以 D 形式存放。 A. 原码 B. BCD码 C. 反码 D. ASCII码 11.若有定义:int a=7; float x=2.5; y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是: A 。

C语言基础测试题

C语言基础测试题 一选择题(每题2分) 1. C语言程序的基本单位是( A )。 A. 函数 B. 过程 C. 语句 D. 子程序 2. 对于whil e语句,错误的说法是( C )。 A.用条件控制循环体的执行次数 B.循环体至少要执行一次 C.循环体有可能一次也不执行 D.循环体中可以包含若干条语句 3. 定义语句int a=3;则执行语句a+=a-=a*a后,变量a的值是(C)。 A.3 B.0 C.9 D.-12 4. 关于局部变量和全局变量的叙述中,错误的是(A)。 A.全局变量的重复赋值不会影响局部变量的使用。 B.主函数中定义的变量在整个程序中都是有效的 C.形式参数也是局部变量。 D.不论是局部变量还是全局变量,都以最近的一次赋值为准。 5. 已知:int a=13;那么:printf("%02d",a)结果是(A)。 A.13 B.013 C.01 D.03 6. 在main函数中调用scanf给变量a赋值的方法是错误的,原因是()。 int *p,a; p=&a; printf("input a:"); scanf("%d",*p); A. *p表示的是指针变量p的地址 B. *p表示的是变量a 的值,而不是变量a的地址 C. *p表示的是指针变量p的值 D. *p只能用来说明p是一个指针变量 7.若有以下定义,则对a数组元素地址的正确引用是()。 A.a+5 B.*a+1 C.&a+1 D.&a[0] 8. 若int k=4,a=3,b=2,c=1;则kb); A. 1,3 B. 1,4 C. 2,3 D. 2,4 二.填空题。(每空3分) 1.写一个宏MIN,这个宏输入两个参数并返回较小的一个_________。2.main函数中:for(int i=0; i<3; i++){printf("%d",i);}输出结果是_________。3.设int a=9,b=20;则printf("%d,%d",a--,--b);的输出结果是_________。

相关文档