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

3设C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为-32768-+32767。√

4在C语言中的实型变量分为两种类型,它们是float和double。 x 5 若有以下定义:int a=2,b=3;float x=3.5,y=2.5;则下面表达式的值为3.500000。√ (float)(a+b)/2+(int)x%(int)y

6输入语句的格式为:scanf(\是正确的。 x 7getchar()函数得到的字符可以不赋给任何变量,而作为表达式的一部分。 √ 8scanf函数中无精度控制。 x 9a+==a=2; 是一个合法的赋值语句,赋值后a的值为:2。 x 10在TC中,printf()函数输出表列的求值顺序是从右到左。 11在printf函数中,\表示按十进制正整数输出。 x 12printf是C语言的输出语句。 x 13在printf函数中,格式字符c的意义是:输出单个字符。 √ 14在printf函数中,不能使用转义字符。 x 15关系运算符的优先级别高于逻辑运算符 √ 16C语言中没有逻辑型数据 x 1表达式8/4*(int)2.5/(int(1.25*(3.7+2.3))值的数据类型为( int )。 2若x、i、j和k都是int型变量,则计算下面表达式后,x的值为【32 】。 x=(i=4,j=16,k=32)

3若a是int型变量,则下面表达式的值为【 26 】。 (a=4*5,a*2),a+6

4若k为 int 整型变量且赋值7,x为double型变量且赋值8.4,赋值表达式x = k的运算结果是【 7.0 】。

5若a=1, b=4, c=3, 则表达式 !(a

7在变量说明中给同类变量赋初值时,各变量之间用【 , 】隔开。 8以下程序的运行结果是【 6 5 】。 main()

{int i=5; printf(\ } 9设x,y,z均为int型变量,请写出描述\或y中有一个小于z\的表达式【 (x

11有int x,y,z;且x=3,y=-4,z=5,则表达式(x&&y)==(x||z)的值为【 1 】 12若a=1,b=2,则表达式a

C语言(分支和循环结构)一 1.以下程序输出结果是( b ) main() { int m=5;

if(m++>5) printf(\else printf(\

13

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

2以下程序的输出结果为( b ) # include main ( )

{ int i=0, j=0, a=6;

if ((++i>0)&&(++j>0)) a++;

printf (\

A) i=0, j=0, a=6 B) i=1, j=1, a=7 C) i=1, j=0, a=7 D) i=0, j=1, a=7 3有如下程序 main()

{ int a=2,b=-1,c=2; if(a

if(b<0) c=0; else c++;

printf(\}

该程序的输出结果是( c )

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

4若i为int型,且有程序如下,则输出结果是(c ) i=111; if(i%3==0)

printf(\ printf(\

A) #### B) **** C) ####**** D) 无输出结果

5若运行时x=12,则运行结果为( a ) {int x, y;

scanf(\ y=x>12 ? x+10:x-12; printf(\

A) 0 B) 22 C) 12 D) 10

6以下程序的输出结果是( c ) main()

{ int i=0, j=0, k=6;

if ((++i>0)||(++j>0)) k++; printf(\}

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

7若变量都已正确说明,则以下程序段输出为( c )

14

int a=1,b=2,c=3; if(a>b) a=b; b=c; c=a;

printf(\A)a=1 b=2 c=1 B)a=1 b=2 c=3 C)a=1 b=3 c=1 D)a=2 b=3 c=2

8当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是( b ) if(a

if(b

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

9以下不正确的语句为( b ) A)if(x>y);

B)if(x==y)&&(x!=0)x+=y;

C)if(x!=y)scanf(\,&x);else scanf(\,&y); D)if(x

10有以下程序: #include\ main( ) {char i;

for (; (i=getchar ())!='\\n';) {switch (i-'a')

{case 0: putchar (i);

case 1: putchar (i+1);break; case 2: putchar (i+2); case 3: break;

default: putchar (i);break; } }

printf (\ }

输入下列数据后,程序的输出结果是( b ) abcde

A) abcde B) abcee

15

C) abbde D) abccdd

11若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是( a ) A) switch(a+b); B) switch(a*a+b*b) { case 1:y=a+b; break; {case 3:

case 0:y=a-b; break; case 1:y=a+b;break; } case 3:y=b-a,break; }

C) switch a D) switch(a-b) { case 1 :y=a-b; break {

case 2: x=a*d; break case c1:case 4:x=a+b;break; default:x=a+b; case c2:case 11:y=a-b;break; } default:y=a*b;break; }

12写出下面程序输出结果( d ) {int x=1, y=0, a=0, b=0; switch(x) {case 1:

switch(y)

{case 0: a++; case 1: b++; } case 2: a++; b++; }

printf(\}

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

13C语言的for语句中的表达式可以部分或全部省略,但两个( c )不可省略。但当三个表达式

均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。 A) < B) ++ C) ; D) , 14下面有关for循环的正确描述是( d )。

A) for循环只能用于循环次数已经确定的情况 B) for循环是先执行循环体语句,后判定表达式 C) 在for循环中,不能用break语句跳出循环体

D) for循环体语句中,可以包含多条语句,但要用花括号括起来 15以下程序段( d )。 x=-1; do

{ x=x*x;} while(!x)

A) 是死循环 B) 循环执行2次 C) 循环执行一次 D) 有语法错误 16如下的数组中,数组array占用的内存空间是( b )个字节。

16

联系客服:779662525#qq.com(#替换为@)