C语言程序设计练习题12第一部分答案

更新时间:2024-06-06 22:54:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C程序设计语言练习题

第一部分

1.以下说法正确的是________

A) C程序运行时,总是从第一个定义的函数开始执行 B) C程序运行时,总是从main()开始执行

C) C源程序中的main()必须放在程序的开始部分 D) 一个C函数中只允许一对花括号 2.下列用户标识符中正确的是_______

A) Name B) abc_c C) print D)long E)Double F) short_int 3.下列标识符中错误的一组是_______

A) “a”,‘a’,+a,-a B) abc_c,x5y,_USA,printf

C) read,Const,type,define D) include,integer,Double,short_int E) int if scanf char

4.下列4组整型常量中,错误的一组是_____

A) xcdf 017 0xe 123 B) 160 0xffff 011 0L C) 01 32768u 0617 0x163 D) 0x48a 0205 0x0 -256 5.下面属于C语句的是_______

A) printf(“%d\\n”,a) B) /*This is a statement*/ C) x=x+1; D) #include

6.设char型占1字节,则unsigned char所能表示的数据范围是______ A)0~255 B) -128~127 C) 1~256 D) -128~128 7. 下列属于C语言合法的字符常数是_______

A)‘97’ B) “A” C) ‘\\n’ D) “\\0”

8.已知字母B的ASCII码为十进制的66,下面的程序输出是______ main()

{char ch1,ch2;

ch1=‘B’+‘4’-‘3’; ch2=‘B’+‘5’-‘3’; printf(“%d,%c\\n”,ch1,ch2); }

A) 67,D B) B,C C) C,D D) 不确定

9.设x是int型变量,y是float型变量,用下面的语句给这两个变量输入值:scanf(“i=%d,f=%f”,&x,&y);为了将10和76.25分别赋给x和y,则正确的输入是(为回车)_____

A) 10 76.25 B) i=10,f=76.25 C)1076.25 D) x=10,y=76.25

10.若变量a,b,c已正确说明为float型,要使语句scanf(“%f %f %f”, &a,&b,&c);将11.0、22.0和33.0依次赋给变量a,b,c,下列不正确的是_____ A) 11<回车> B) 11.0,22.0,33.0<回车> 22<回车>

33<回车>

C) 11.0<回车> D) 11 22<回车> 22.0 33.0<回车> 33<回车>

11.设int a=7,b=8;则printf(“%d,%d,(a+b,a),(b,a+b));的输出为_______

- 1 -

A) 7,15 B) 8,15 C) 15,7 D) 出错 12.若已定义x和y为double型,则表达式x=1,y=x+3/2的值为_____ A) 1 B) 2 C) 2.0 D) 2.5 13.C语言中要求运算量必须是整型的运算符是______ A)+ B) / C) % D) - 14.若有以下定义和语句 int u=010,v=0x10,w=10;

printf(“%d,%d,%d\\n”,u,v,w); 则输出结果为________

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

15.若变量已正确定义且k的的值是4,执行表达式j=k--后,j,k的值是____ A)j=4,k=4 B)j=4,k=3 C)j=3,k=4 D)j=3,k=3 16.下列语句中符合C语言语法的语句是_______

A)a=7+b+c=a+7; B) a=7+b++=a+7; C)a=7+b,b++,a+7; D) a=7=b,c=a+7;

17.设变量t为int型,下列选项中,不正确的赋值语句是____

A) ++t; B) n1=(n2=(n3=0)); C) k=i==1; D) a=b+c=1; 18.设a为int型变量,则执行下列语句后,a的值是_________ a=10;a+=a-=a-a;

A)10 B)20 C)40 D)30

19.变量已正确定义,要将a和b中的数据进行交换,则下列不正确的是_____ A) a=a+b,b=a-b,a=a-b; B) t=a,a=b,b=t; C) a=t;t=b;b=a; D) t=b;b=a;a=t; 20.为表达关系x?y?z,应使用的C语言表达式为________

A) (x>=y)&&(y>=z) B) (x>=y)AND(y<=z) C)x>=y>=z D)(x>=y)&(y>=z) 21.为表示“a和b都大于0”,应使用的C语言表达式是________

A) (a>0)&&(b>0) B) a&&b C) (a>0)||(b>0) D) (a>0)|(b>0) 22.结构化程序设计使用的基本程序控制结构为__________.

A) 模块结构、选择结构和递归结构 B) 条件结构、顺序结构和过程结构 C) 顺序结构、选择结构和循环结构 D) 转移结构、嵌套结构和递归结构 23.若所有变量均已正确定义,下面的程序段运行后x的值是______.

a=b=c=0; x=35; if (!a) x--; else if (b); if (c) x=3; else x=4;

A) 34 B) 4 C) 35 D) 3

24.下列与y=(x>0?1:x<0?-1:0);功能相同的if语句是_________. A) if(x>0)y=1; B) if(x) else if (x<0)y=-1; if(x>0)y=1; else y=0; else if(x<0) y=-1;

else y=0;

C) y=-1; D) y=0; if(x) if(x>=0)y=1; if(x>0) y=1; else y=-1; else if(x==0)y=0; else y= -1;

- 2 -

25.以下程序的输出结果是________. main()

{int a=0,i;

for (i=1; i<5; i++) {switch (i) {case 0:

case 3: a+=2; case 1:

case 2: a+=5; default: a+=5; } }

printf(“%d\\n”,a); }

A) 37 B) 13 C) 10 D) 20 26.写出下面程序段的输出结果。 -1 main() { int x=2; while(x--);

printf(“%d\\n”,x); }

27.下面程序的输出结果是__________。 main() {int i;

for (i=0;i<10;i++); printf (“%d,i); }

A) 0 B) 123456789 C) 023456789 D) 10 28.下面程序段的运行结果为_______ for (i=1; ++i<4;); printf(“%d\\n”,i);

A) 3 B) 4 C) 5 D) 不定

29.在执行以下程序时,如果从键盘上输入ABCdef后回车,则输出_____ main( ) {char ch;

while((ch=getchar())!=‘\\n’)

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

else if (ch>=‘a’&&ch<=‘z’) ch=ch-32; printf(“%c”,ch); }

printf(“\\n”); }

A) ABCdef B) abcDEF C) abc D) DEF 30.下列程序段中,不是死循环的是________

A) int i=100; B)int k=0; C) for (;;); D)int s=3379;

while(1) do while (s++%2+s%2)

- 3 -

{ i=i0+1; {++k; s++; if (i>100) break; } while (k>=0); }

31.以下程序的输出结果是__________ main( ) {int a,b;

for (a=1,b=1;a<=100;a++) {if (b>=10 ) break; if (b%3==1)

{b+=3; continue;} }

printf(“%d\\n”,a); }

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

32.执行以下程序时,为了使输出结果为t=4。则给a和b输入值应满足的条件是_________ main()

{ int s,t,a,b;

scanf(“%d%d”,&a,&b); s=1,t=1;

if (a>0) s=s+1; if (a>b) t=s+t;

else if (a==b) t=5; else t=2*s;

printf(“t=%d\\n”,t); }

A) a>b B) ab 33.下面程序的输出结果__________ main ()

{int x=100,a=10,b=20,ok1=5,ok2=0; if (a

if (b!=15) if (!ok1=5) x=1;

else

if (ok2) x=10; x=-1;

printf(“%d\\n”;x); }

A) -1 B) 0 C) 1 D) 不确定的值 34.定义int a=10,下列循环的输出结果是__________ while(a>7)

{a--;printf(“%d”,a);}

A) 10 9 8 B) 9 8 7 C) 10 9 8 7 D) 9 8 7 6 35.写出下面程序段的输出结果。1+3+5+7=16 main()

{ int i=0,s=0;

- 4 -

do{

if(i%2){i++;continue;} i++; s +=i; }while(i<7);

printf(\}

36.以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。 main( )

{float x,amax,amin; scanf(“%f”,&x); amax=x; amin=x;

while(______x>0_________________) {if ( x>amax) amax=x;

if (_______x

printf(“\\nmax=%f\\namin=%f\\n”,amax,amin); }

37.以下程序运行后,如果从键盘输入1298,则输出结果为_____8921_______ main()

{int n1,n2;

scanf(“%d”,&n2); while(n2!=0) {n1=n2; n2=n2/10;

printf(“%d”, n1); } }

38.写出以下程序段的输出结果 (1)200 (3)x<=y

int x=100,y=200; unsigned x=1; printf(“%d”,(x>y)?x:y); int y=-1; (2)TRUE if(x>y)

int x=10; printf(“x>y”); if(x=20) printf(“TRUE”); else else printf(“FALSE”); printf(“x<=y”); 39.写出下面程序段的输出结果。10

for(y=1,x=1;y<=50;y++) { if(x=10)break; if (x%2==1)

{x=5;continue;} x-=3;

}

printf(“%d”,x);

- 5 -

40.写出下面程序段的输出结果。01112234 main() { int i;

for(i=0;i<5;i++) switch(i)

{ case 1: printf(\ case 2: printf(\ default: printf(\ } }

41.表达式x=(y=6, y+6,y++),(x=6)+8的值是多少? 14 42.字符串 “\\\\n\\101\\0345\\’”占几个字节? 7

43.假设i=0,j=0,k=0,经过运算i++&&j++&&k++后各变量的值分别是多少? 1 0 0

- 6 -

40.写出下面程序段的输出结果。01112234 main() { int i;

for(i=0;i<5;i++) switch(i)

{ case 1: printf(\ case 2: printf(\ default: printf(\ } }

41.表达式x=(y=6, y+6,y++),(x=6)+8的值是多少? 14 42.字符串 “\\\\n\\101\\0345\\’”占几个字节? 7

43.假设i=0,j=0,k=0,经过运算i++&&j++&&k++后各变量的值分别是多少? 1 0 0

- 6 -

本文来源:https://www.bwwdw.com/article/j6f6.html

Top