篇一:C语言考试题库及答案

C语言理论上机考试选择题部分(共200题,仅针对11级定向专业)

1、下面程序的输出是___D______

#include void main() { int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xbD) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______.

A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1; 3、下面合法的C语言字符常量是______A____. A) '\t' B) "A" C) 65D) A 4、表达式: 10!=9的值是________D____.

A) true B) 非零值 C) 0 D) 1

5、C语言提供的合法的数据类型关键字是

_____B____. A) DoubleB) shortC) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码B) 补码C) EBCDIC码D) ASCII码

7、C语言程序的基本单位是_____C______. A) 程序行B) 语句 C) 函数 D) 字符

8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是

____D____ A) 552 B) 264C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是

____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15D) 10 10、下面程序的输出是____B______.

#include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y);

} A) 0 B) 1 C) 3D) 不确定的值 12、已知字母A的ASCII码为十进制的65,下面程序的输出是______A_____. #include void main()

{char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3';

printf("%d,%c\n",ch1,ch2); } A) 67,DB) B,C C) C,DD) 不确定的值 13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__.

A) a<>0 B) !a C) a=0 D) a 14、以下程序的输出结果是____D_____.

#include void main()

{ int x=10,y=10;printf("%d %d\n",x--,--y); } A) 10 10 B) 9 9 C) 9 10D) 10 9

15、设有如下定义:

int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是_____D_____. A) 1B) 0C) 4D) 3 16、为表示关系x≥y≥z,应使用C语言表达式

___A___. A) (x>=y)&&(y>=z)B) (x>=y)AND(y>=z) C) (x>=y>=z) D) (x>=y) & (y>=z)

17、C语言中非空的基本数据类型包括____B____. A) 整型,实型,逻辑型B) 整型,实型,字符型 C) 整型,字符型,逻辑型 D) 整型,实型,逻辑型,字符型 18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:

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

上面程序片段的输出结果是____A___. A) 200B) 100

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

19、阅读下面的程序

#include void main() {

char ch;

scanf("%3c",&ch); printf("%c",ch); }

如果从键盘上输入 abc

则程序的运行结果是__A_____.

A) a B) b C) c D) 程序语法出错

20、阅读下面的程序

#include void main() {

int i,j;i=010;j=9;

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

则程序的运行结果是____D____.

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

21、阅读下面的程序

#include void main() {

int i,j,m,n;i=8;j=10;m=++i;n=j++;

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

程序的运行结果是______C____. A) 8,10,8,10B) 9,11,8,10 C) 9,11,9,10D) 9,10,9,11

22、已知a=12,则表达式a+=a-=a*=a的结果是_____A__.

A) 0B) 144 C) 12 D) -264 23、若已定义int a,则表达式a=10,a+10,a++的值是__B_.

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

24、阅读下面的程序

#include void main() {

int i,j;

scanf("%3d%2d",&i,&j); printf("i=%d,j=%d\n",i,j); }

如果从键盘上输入1234567,则程序的运行结果是____D____.

A) i=123,j=4567B) i=1234,j=567C) i=1,j=2 D) i=123,j=45

25、下面程序的输出结果是____D____.

#include void main() {

int a=-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

26、下面程序的输出结果是____A____.

#include void main() {

int a=5,b=3;

float x=3.14, y=6.5;

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

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

27、执行下面程序段后,输出结果是____A____.

int a;

int b=65536; a=b;

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

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

28、若有以下定义和语句: int a=010, b=0x10, c=10; printf("%d,%d,%d\n",a,b,c); 则输出结果是____B_____.

A) 10,10,10 B) 8,16,10C) 8,10,10 D) 8,8,10 29、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式 x+a%3*(int)(x+y)%2/4 的值是_____B____. A) 2.4B) 2.5 C) 2.75 D) 0

30、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是____C____.

A) 5.5 B) 5C) 3 D) 4.0

31、以下程序的输出结果是____D____.

#include void main() {

int a=12, b=12;

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

A) 10,10 B) 12,12 C) 11,10 D) 11,13

32、设有以下语句:int x=10;x+=3+x%(3),则x的值是.____A_____

A) 14B) 15C) 11 D) 12

33、若d为double型变量,则表达式d=1,d+5,d++的值是_____D__.

A) 1 B) 6.0 C) 2.0 D) 1.0

34、表达式5!=3的值是____D____.

A) T B) 非零值C) 0D) 1

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

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

36、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是__D__.

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

37、在C语言中,以下叙述不正确的是_____A____. A) 在C程序中,无论是整数还是实数,都能被准确无误的表示

B) 在C程序中,变量名代表存储器中的一个位置 C) 静态变量的生存期与整个程序的生存期相同 D) C语言中变量必须先定义后引用

38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____. A) 必须为字母 B) 必须为下划线

C) 必须为字母或下划线

D) 可以是字母,数字或下划线中的任意一种 39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是___D____.

A) float B) char C) int D) double

40、一个C语言的执行是从_____A______.

A) 本程序的主函数开始,到本程序的主函数结束

B) 本程序的第一个函数开始,到本程序的最后一个函数结束

C) 本程序的主函数开始,到本程序的最后一个函数结束

D) 本程序的第一个函数开始,到本程序的主函数结束

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

A) 10

42、下列程序执行后的输出结果是_____C____. #include void main( ){ int a=5,b=60,c; if (a

{c=a*b;printf("%d*%d=%d\n",b,a,c);} else

{c=b/a;printf("%d/%d=%d\n",b,a,c);}}

A) 60/5=12 B) 300C) 60*5=300 D) 12

43、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32) A) if(c=='32') B) if(c==32) C) if(c=='\40') D) if(c==' ')

44、运行下面程序时,若从键盘输入"3,5",则程序的输出结果是____D____.#include void main( ) {

int x,y;

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

if (x==y)

printf("x==y");else if (x>y)

printf("x>y");else

printf("x

A) 3<5 B) 5>3 C) x>y D) x",则输出结果是____C___.#include void main( ) { int a,b,c;

scanf("%d,%d,%d",&a,&b,&c);if (a>b) if (a>c)

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

printf("%d\n",c);else

if (b>c)

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

printf("%d\n",c); }

A) 5 B) 6C) 7 D) 不定值

46、执行下面程序时,若从键盘输入"2",则程序的运行结果是____A____.#include void main( ) { int k; char cp;cp=getchar( );

if (cp>='0' && cp<='9')k=cp-'0';

else if (cp>='a' && cp<='f') k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k); }

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

47、运行下面程序时,从键盘输入"2.0",则输出结果是___B_____.#include void main( ) { float a,b;

scanf("%f",&a);if (a<0.0) b=0.0;

else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b); }

A) 0.000000 B) 0.500000 C) 1.000000 D) 0.250000

48、执行下面程序后,运行结果是____A____.#include void main( ) { int x=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=43C) y=42D) y=1

49、运行下面程序时,从键盘输入"12,34,9",则输出结果是___A___.#include void main( ) { int x,y,z;

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

if (y

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

50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.#include void main( ) { char ch;

ch=getchar( );switch(ch)

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

case 'G':printf("Good morning!\n"); default:printf("Bye_Bye!\n");} }

A) Hello! B) Hello!

Good Morning! C) Hello! D) Hello!

Good morning! Bye_Bye! Bye_Bye!

51、执行下列程序段后的输出结果是_____A____. int x=1,y=1,z=1; x+=y+=z;

printf("%d\n",x

A) 3B) 2 C) 1D) 4 52、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是__B___.

A) Z B) a C) z D) A

53、下面程序的输出结果是____C____.#include void main( )

{ int x=8,y=-7,z=9;if (x

if (y<0) z=0;else z-=1;printf("%d\n",z); }

A) 8 B) 1 C) 9 D) 0 54、运行下面程序时,若从键盘输入"5 ",则程序的输出结果是_____B___. #include void main( ){ int a ;

scanf("%d",&a);

if (a++>5)printf("%d\n",a); else printf("%d\n",a--) ;}

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

55、运行下面程序时,若从键盘输入"3,4 ",则程序的输出结果是____B___. #include void main( ){ int a,b,s;

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

if (s

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

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

56、下列程序的执行结果是_____D____. #include void main( )

{ int x=0,y=1,z=0; if (x=z=y)x=3;

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

A) 3,0 B) 0,0C) 0,1 D) 3,1 57、假定等级和分数有以下对应关系:等级:A 分数:85~100 等级:B 分数:60~84 等级:C 分数:60 以下

对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____. A) switch (grade) {

case 'A':printf("85--100\n"); case 'B':printf("60--84\n"); case 'C':printf("60以下\n"); default:printf("等级错误!\n"); }

B) switch (grade) {

case 'A':printf("85--100\n");break; case 'B':printf("60--84\n"); case 'C':printf("60以下\n"); default:printf(" 等级错误!\n"); }

C) switch (grade) {

case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break; case 'C':printf("60以下\n"); default:printf("等级错误!\n"); }

D) switch (grade) {

case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break; case 'C':printf("60以下 \n");break; default:printf("等级错误!\n"); }

58、能够完成如下函数计算的程序段是__B____. ┌ -1x<0 y= ┤ 0x=0 └ 1x>0

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

篇二:C语言编程练习题绝对经典!

? 马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭

共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人?

解方程组

编写程序,采用穷举法求出结果。

? 编写程序,根据以下公式求e的值。要求用两种方法计算:

111111 e?1?????????????1!2!1) for循环,计算前50项

2)while 循环,直至最后一项的值小于10-4

3!4!5!n!

? 从键盘中输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数。

? 猴子吃桃子问题。猴子第一天摘下若干个桃,当即只一半,又多吃一个。第二天早上又将剩下

的一半吃掉一半,双多吃一个。以后每天早上都吃了前天剩下的一半零一个,到第10天早上只剩下最后一个桃。问第一天摘了几个桃。

? 编程打印九九乘法表

? 青年歌手参加歌曲大奖赛,有10个评委打分,试编程求选手的平均得分(去掉一个最高分和

一个最低分)。

? 从键盘中输入一个数字(可以包含小数点,其位数在60位以下,求其整数的有效位数,如输入

0123.456,返回值为整数有效位数为3)

1) 输入数据为浮点型,不用数组,不用字符串,只有变量的算术运算实现此功能。

2) 使用数组来进行编程。

? 使用数组,编写一个十进制正整数转换为任意进制数的转换工具。

(大进制向小进制的转换。(方法是相除去余)

10进制327转八进制:

327/8 = 40 余数为7

40/8 = 5 余数为0

于是八进制数为507(第一位5是最后的商))

? 使用数组,编写一个任意进制正整数转换为十进制的转换工具。(以2,10进制互转为例,其

他请举一反三:

二进制数1101转十进制:

1×2的三次幂+1×2的二次幂+0×2的一次幂+1×2的零次幂=8+4+0+1=13)

? 10个小孩围成一圈分糖果,老师顺次分给每个人的糖块数为12,2,8,22,16,4,10,6,

14,20。然后按下列规则调整,所有小孩同时把自己的糖果分一半给右边的小孩,糖块数变为奇数的人,再向老师补要一块,问经过多少次调整后,大家的糖块一样多,且每人多少块。

? 编写一个函数,用以求x2-5x+4的值,x做为函数的形参,调用此函数,求:

y1= 22-5×2+4

Y2=(x+15)2-5(x+15)+4

Y3=(sinx)2-5sinx+4

sinx 可以加载”math.h” 库函数后使用,函数说明为

double sin( double x)

? 编写一个函数,使给定的一个二维数组(N×N)行列互换(N>3)。

? 从键盘中输入一个不超过40个字符的字符串,再输入一个位数,删除对应 位数的字符,然后

输出删除指定字符后的字符串

要求:1) 用puts输出指示信息

2) 用gets接收字符串

? 如果有一个正整数从左、右来读都是一样的,则称为回文式数(简称回数);比如101,32123,

999都是回数。数学中有名的“回数猜想”之迷,至今未解决。

回数猜想: 任取一个数,再把它倒过来,并把这两个数相加,然后把这个和数再倒过来,与原和数相加,重复此过程,一定能获得一个回数。

例: 68 倒过来是 86

68+86= 154

154+541= 605

605+506=1111 (回数)

编程,输入任意整数,按上述方法产生一个回数,为简便起见,最多计算7步,看是否能得到一个回数。

要求:

主函数中接收键盘数据,必须用scanf(“%ld”,&变量名)接收整型变量,

显示该数与其倒数的和,输出每一步计算步骤。

子函数1,计算该数的倒数。

子函数2,验证和是否为回数,

是则主函数打印“经过n次计算,得到回数”,超过7次未能得到回数,显示,“经过n次计算,未得到回数”

? 求Sn=a+aa+aaa+------+aaaaaaa(n个a),其中a和n都从键盘中输入,如从键盘中输入2,5,则计

算S5=2+22+222+2222+22222。

#include "stdio.h"

void main()

{

int a,n,i=1;

long s=0,t=0;

printf("a=");

scanf("%d",&a);

printf("n=");

scanf("%d",&n);

while(i<=n)

{

t=t+a;

s=s+t;

a=a*10;

++i;

}

printf("sum=%d",s);

}

? 两个乒乓球队进行比赛,各出三人。甲队为A,B,C三人,乙队为X,Y,Z三人。已抽签决定

比赛名单,有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Z比,编程找出三对选手的对手名单。

注:使用穷举法

#include"stdio.h"

int main()

{ int i,j,k;

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

{ for(j=1;j<=3;++j)

{ for(k=1;k<=3;++k)

{ if(i==j || j==k || i==k) continue;

if (i!=1 && k!=1 && k!=3)

{ printf("A vs %c\n",i+'X'-1);

printf("B vs %c\n",j+'X'-1);

printf("C vs %c\n",k+'X'-1);

return 0;

}

}

}

}

return 0;

}

? 编写一个函数,函数说明为:

char lastchar ( char str[])

功能:求一个字符串的最后一个字符,如果是空串,则返回空字符。

再利用该函数编程,输入两个字符串,输出第一字符串的最后一个字符和第二个字符串的最后一个字符。

? 韩信点兵。

韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。编程求韩信至少有多少兵?

#include "stdio.h"

void main()

{int i;

for(i=1;;i++)

{if(i%5==1&&i%6==5&&i%7==4&&i%11==10)

{printf("%d",i);break;}}}

? 用递归方法计算下列函数的值:

fx (x, n)=x-x2+x3-x4+......(-1)n-1xn n>0

要求:

1) 写出递归函数的原型

2) 编写程序

? 4 用递归法将一个整数转换成字符形式输出。例如输入483,应输出字符串“483”。 其程序如

下,请验证,并修改程序,增加显示出输入数字的位数的功能,并使输出结果与下图一致。 void convert(long n)

{ long i;

if ((i=n/10)!=0)

convert(i);

putchar(n%10+'0');

}

main()

{ long number;

scanf("%ld",&number);

if ( number<0)

{putchar('-'); number= -number;}

convert (number);

}

? 利用以下公式,编程计算π的值,直到最后一项的绝对值( 用函数fabs() )小于0.0001为止。 【程序1】 题目:有1、2、3、4

1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。

2.程序源代码:

#include "stdio.h"

#include "conio.h"

main()

{

int i,j,k;

printf("\n");

for(i=1;i<5;i++) /*以下为三重循环*/

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

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

{

if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/

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

}

getch();

}

===========================================

【程序2】

题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于

100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

2.程序源代码:

#include "stdio.h"

#include "conio.h"

main()

{

long int i;

int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;

scanf("%ld",&i);

bonus1=100000*0. 1;

bonus2=bonus1+100000*0.75;

bonus4=bonus2+200000*0.5;

bonus6=bonus4+200000*0.3;

bonus10=bonus6+400000*0.15;

if(i<=100000)

bonus=i*0.1;

else if(i<=200000)

bonus=bonus1+(i-100000)*0.075;

else if(i<=400000)

bonus=bonus2+(i-200000)*0.05;

else if(i<=600000)

bonus=bonus4+(i-400000)*0.03;

else if(i<=1000000)

bonus=bonus6+(i-600000)*0.015;

else

篇三:C语言习题集及答案

CUP.EDU.CN 目录

第一单元 程序设计和C语言 ..........................................................................1 第二单元 顺序程序设计 .................................................................................3 第三单元 分支程序设计 .................................................................................7 第四单元 循环程序设计 ............................................................................... 14 第五单元 数 组 .......................................................................................... 23 第六单元 函 数 .......................................................................................... 35 第七单元 指 针 .......................................................................................... 44 第八单元 结构体和共用体 ............................................................................ 64 第九单元 文 件 .......................................................................................... 81 附加题 ........................................................................................................... 86 模拟试卷一 .................................................................................................. 106 模拟试卷二 .................................................................................................. 112 模拟试卷三 .................................................................................................. 118

第一单元 程序设计和C语言

一、 选择题

1. C语言的基本构成单位是:。 A. 函数

B. 函数和过程

C. 超文本过程

D. 子程序

2. 一个C语言程序总是从 开始执行。 A. 主过程 B. 主函数 C. 子程序D.主程序3. C语言的程序一行写不下时,可以 。 A. 用逗号换行

B. 用分号换行

C. 在任意一空格处换行

D. 用回车符换行

4. 以下叙述不正确的是:。

A. 在C程序中,语句之间必须要用分号";"分隔

B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C. 在C程序中,无论是整数还是实数都能正确无误地表示 D. 在C程序中,%是只能用于整数运算的运算符 5. 以下不正确的C语言标识符是 。

A. ABC B. abc C. a_bcD. ab.c 6. 下列字符串是标识符的是: 。 A. _HJ

B. 9_student

C. long

D. LINE 1

7. 以下说法中正确的是:。

A. C语言程序总是从第一个定义的函数开始执行

B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C. C语言程序总是从main()函数开始执行

D. C语言程序中的main()函数必须放在程序的开始部分 8. 不合法的常量是: 。 A. ?\2?

B. " "

C. ?3?

D. ?\483?

9. 已知各变量的类型说明如下,则以下不符合C语言语法的表达式是: 。

int k,a,b;

unsigned long w=5; double x=1.422;

A. x%(-3) 10.

B. w+=-2

C. k=(a=2,b=3,a+b)

D. a+=a=+(b=4)*(a=3)

在C语言中,字符型数据在内存中以形式存放。

A. 原码 B. BCD码 C. 反码D. ASCII码

11.

若有定义:int a=7; float x=2.5; y=4.7;

B. 2.750000

C. 3.500000

D. 0.000000

则表达式x+a%3*(int)(x+y)%2/4的值是: 。 A. 2.500000 12.

设有说明:char w; int x; float y; double z;

B. char

C. int

D. double

则表达式w*x+z-y值的数据类型为: 。 A. float 13. 14.

以下 是不正确的转义字符。

B. '\'

C. '081'

D. '\0'

若x为int型变量,则执行以下语句后,x的值为 。 x=6; x+=x-=x*x;

B. -60

C. 60

D. -24

字符串"\\\"ABC\"\\"的长度是。

A. '\\'

A. 36

15. 二、 填空题

A. 11 B. 7 C. 5 D. 3

1. 一个函数由两部分组成,它们是和 。 2. 一个C源程序至少包含一个 ,即。 3. 设int a=12; 则表达式a/=a+a的值是 。

4. 表达式x=(a=3,6*a)和表达式x=a=3,6*a分别是表达式和 表达式,

和 。

5. 在C语言中,实数有两种表示形式,即和。 6. 在C语言中,运算符的优先级最小的是运算符。

两个表达式执行完的结果分别是和 ,x值分别是

第二单元 顺序程序设计

一、 选择题

1. 若m为float型变量,则执行以下语句后的输出为 。

m=1234.123;

printf("%-8.3f\n",m); printf("%10.3f\n",m);

A. 1234.123 B. 1234.123 C. 1234.123 D. -1234.1231234.1231234.123 1234.123001234.123

2. 若x,y,z均为int型变量,则执行以下语句后的输出为 。

x=(y=(z=10)+5)-5;

printf("x=%d,y=%d,z=%d\n",x,y,z); y=(z=x=0,x+10);

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

B. X=10,Y=10,Z=10 X=0,Y=10,Z=10 D. X=10,Y=10,Z=10

X=0,Y=10,Z=0

A. X=10,Y=15,Z=10 X=0,Y=10,Z=0C. X=10,Y=15,Z=10

X=10,Y=10,Z=0

3. 若x是int型变量,y是float型变量,所用的scanf调用语句格式为: scanf("x=%d,y=%f",&x,&y);

则为了将数据10和66.6分别赋给x和y,正确的输入应是: 。 A. x=10,y=66.6B. 10 66.6

C. 1066.6 D. x=10y=66.6

4. 已知有变量定义:int a;char c;用scanf(“%d%c”,&a,&c);语句给a和c输入数据,

使30存入a,字符‘b’存入c,则正确的输入是: 。 A. 30’b’B. 30 b C. 30b D. 30b

5. 已知有变量定义:double x;long a; 要给a和x输入数据,正确的输入语句

是 。若要输出a和x的值,正确的输出语句 。

A. scanf(“%d%f”,&a,&x);B. scanf(“%ld%f”,&a,&x); printf(“%d,%f”,a,x);printf(“%ld,%f”,a,x); C. scanf(“%ld%lf”,&a,&x); D. scanf(“%ld%lf”,&a,&x);

printf(“%ld,%lf”,a,x);printf(“%ld,%f”,a,x); 6. 若有定义double x=1,y;则以下的语句执行的结果是 。

y=x+3/2; printf(“%f”,y);

A.2.500000 B.2.5 C.2.000000 D.2 7. 若a为整型变量,则以下语句 。

a=-2L; printf("%d\n",a);

A. 赋值不合法

B. 输出为不确定的值

C. 输出值为-2

二、 读程序写结果

1. main() { int x,y;

scanf("%2d%*2d%ld",&x,&y);

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

}

执行时输入:1234567 2. main()

{ int x=4,y=0,z;x*=3+2; printf("%d",x); x*=y=z=4; printf("%d",x); }

3. main()

{ float x; int i;x=3.6; i=(int)x;

printf("x=%f,i=%d",x,i); }

4. main()

{ int a=2;

a%=4-1; printf("%d, ",a);a+=a*=a-=a*=3; printf("%d",a); }

D. 输出值为2

本文标题:c语言练习题

链接地址:http://www.7rdy.cn/content/173103.html 转载请保留,谢谢!

c语言中1%3c%3c2 什么意思,c语言练习题相关推荐

  1. c语言中5l是数值或字符常量,C语言练习题-选择题(带答案)

    以下为<C语言练习题-选择题(带答案)>的无排版文字预览,完整格式请下载 下载前请仔细阅读文字预览以及下方图片预览.图片预览是什么样的,下载的文档就是什么样的. C语言练习题-选择题(带答 ...

  2. c语言中point的用法_关于C语言Switch语句,先学这些技巧够不够?

    一.C语言中switch的用法 1.switch后面括弧内的[表达式],ANSI标准允许它为任何类型: 2.当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,否则,就 ...

  3. c语言中int的取值范围_c语言入门(1)

    c语言入门 C语言一经出现就以其功能丰富.表达能力强.灵活方便.应用面广等特点迅速在全世界普及和推广.C语言不但执行效率高而且可移植性好,可以用来开发应用软件.驱动.操作系统等.C语言也是其它众多高级 ...

  4. c语言中3%3e2%3e1的值,C语言--ch2--数据类型和表达式.ppt

    C语言--ch2--数据类型和表达式 第二章 数据类型和表达式 2.1 数据类型 在C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类. 其中基本数据类型可分为: 整型:整数 ...

  5. c语言中eles后面分号的作用,C语言 if else 语句详细讲解

    前面我们看到的代码都是顺序执行的,也就是先执行第一条语句,然后是第二条.第三条--一直到最后一条语句. 但是对于很多情况,顺序结构的代码是远远不够的,比如一个程序限制了只能成年人使用,儿童因为年龄不够 ...

  6. c语言中什么函数可以作为虚函数,C++语言中的“虚函数”就像C语言中的指针,必须要弄懂的...

    上一节较为详细的讨论了C++语言中基类被派生类继承过程中的内存模型,尤其较为详细的分析了虚函数及其虚表.虚表指针在内存中是如何分布,如何存储的,这对于理解C++语言中的"动态绑定" ...

  7. c语言中0x12是什么进制,C语言中进制知识汇总

    1.什么是进制 进制是一种计数的方式,常用的有二进制.八进制.十进制.十六进制.任何数据在计算机内存中都是以二进制的形式存放的. 我对进制的个人理解,二进制数是以2为计算单元,满2进1位的数:八进制数 ...

  8. c语言中5l是数值或字符常量,C语言中什么叫做正确的数值或字符常量?

    用一对单引号将一个字符括起表示合法的字符常量.例如'a'.数值包括整型.浮点型.整型可用十进制,八进制,十六进制.八进制前面要加0,后面由0到7八个数表示. 在C语言中,字符常量有以下特点: 字符常量 ...

  9. matlab for判断语句,matlab使用笔记(一)——matlab语言中if、for语句与C语言中的差别...

    好久没用matlab编写程序,上周在亲导师面前,愣生生是2小时没编出一选择函数的程序.羞愧至极,愤而写之.主要内容是matlab语言中与c语言中if.for语句的差别. 突然插一下!!!end.end ...

最新文章

  1. 3、python中的字符串
  2. Enterprise Vault 系列 [CA和DA]
  3. JavaWeb002-servlet基础
  4. 机器学习手动撸代码系列3-感知机
  5. java自定义注解实现前后台参数校验
  6. 在asp.net中如何用javascript读取本地Xml中的数据到网页中的文本框?
  7. java明文发送_使用java MD5加密网络明文
  8. 对象流--对象的序列化
  9. 救命!!连接Oracle问题,在线等!
  10. Quartus JIC 焼写
  11. pb模型文件与.pbtxt配置不匹配导致OpenCV调用dnn模块出错(Mask R-CNN为例)
  12. 2.3 sklearn中的metrics.roc_curve评价指标
  13. geforce下载旧版驱动_如何在没有GeForce经验的情况下下载NVIDIA驱动程序
  14. python typing overload
  15. 游戏服务器运维常见故障总结
  16. Rancher hosted Kubernetes AKS
  17. Prince and Princess UVA - 10635
  18. 东胜区智慧城市管理运行初见端倪
  19. 2019 DENSE-HAZE: A BENCHMARK FOR IMAGE DEHAZING WITH DENSE-HAZE AND HAZE-FREE IMAGES
  20. Could You Be A Target For Layoffs?

热门文章

  1. 网络安全知识之Cross-Site Request Forgery (CSRF) 简介
  2. python 微博图片爬虫 不用cookie
  3. 三维建模分享之蒸汽坦克
  4. Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解
  5. websocket访问ServletAPI
  6. 关于Twinmotion可视化渲染软件初识
  7. git操作总结(1):常用操作流程之SSH、上传、下载和改名字
  8. Parallels Desktop 安装 Windows10 提示“安全启动功能防止操作系统启动”怎么解决?
  9. 列表最后一页的最后一条数据删除之后,页码自动减一
  10. MySQL索引相关知识整理学习