C语言作业题(浙大版)

C语言练习题一

(一)

1. ______是合法的用户自定义标识符。

A、 b-b B、int C、 D、 _isw

2. C 语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。 A、?{? 和?}? B、?[?和?]? C、“/*”和”*/” D、“*/”和”/*” 3. C语言源程序文件经过编译连接之后生成一个后缀为______的文件。

A.”.c” B.“.obj” C.“.exe” D.“.bas” 4. C 语言程序的三种基本结构是顺序结构、选择结构和______结构。 A.递归 B.转移 C.循环 D.嵌套 5. 下面C语言的标识符中,哪个是不合法__________。 A、_total B、Large#Tall C、int_1 D、_while 6. 标准C源程序的文件扩展名是_____。 A.”.c” B.“.obj” C.“.exe”

D.“.cpp”

7. 结构化程序由三种基本结构组成,三种基本结构组成的算法______..。 A.可以完成任何复杂的任务 B.只能完成部分复杂的任务 C.只能完成符合结构化的任务 D.只能完成一些简单的任务

8. 若a是基本整型变量,c是单精度实型变量,输入语句______是错误的。 A.scanf(\ B.scanf(\ C.scanf(\ D.scanf(\

9. 设变量定义为“int a, b;”,执行下列语句时,输入_____,则a和b的值都是10。 scanf(\;

A.10 10 B.10, 10 C.a=10 b=10 D.a=10, b=10 10. C语言源程序文件经过编译之后生成一个后缀为______的文件。 A.”.c” B.“.obj” C.“.exe” D.“.bas” 11. 表达式______的值是0。 A.3%5 B.3/5.0 C.3/5 输入。

A.203040 B.20 30 40

D.3<5

12. 若变量已正确定义,执行语句scanf(\;时,______是正确的

C.20, 30 40

D.20, 30,40

13. 程序段______的功能是将变量u、s中的最大值赋给变量t。 A.if (u>s) t=u; t=s; B.t=u; if (t>s) t=s; C.if (u>s) t=s; else t=u; D.t=s; if (u>t) t=u;

(二)

单选题

1.执行语句for(i=0;i<=10;i=i+3); 后,变量i的值是:

A. 13 B. 12 C. 11 D. 10

- 1 -

2.设有double x,s;且s=0,在执行语句“for(x=0; x < 1; x=x+0.3) s=s+x;”后,变量x的值为 。

A、 不可能大于1 B、 不可能大于1.3 C、 等于1.3 D、 可以远大于1 3.若 x 是浮点型变量,表达式 (x=10/4) 的值是_____ 。

A.2.5 B.2.0 C.3 D.2 4.以下选项中正确的实型常量是________。

A. 0 B. -10 C. 0.19 D. 1.9×102 5.C语言中运算对象必须是整型的运算符是_______。

A. % B. / C. + D. *

判断题

1.在C源程序中将语句“if(x==5) y++;”误写作“if(x=5) y++;”,将导致程序不能运行。 2.C的double类型数据可以精确表示任何实数。

3.若x的当前值为5, 执行语句“if(x=3) x=x+5;”后,x的值依然是5。 4.执行循环语句“for(i=1;i<10;i=i+2) s+=i;”后,i的当前值为11。 5.在 C 程序中,A 和 a 代表不同的变量。

填空题

执行下列程序段后,sum的值是______。

(三)

(一)选择题

1.已知字符 ?a? 的ASCII码为 97 ,执行下列语句的输出是_____。

printf (\

A、98, b B、语句不合法 C、98, 99 D、 98, c 2.设x,y,t为整型变量,且已赋值。下列程序段中,( )在实现两个变量x和y的交换可能会出错。

A、{ t=x; x=y; y=t; } B、 {x=x+y; y=x-y; x=x-y; } C、{ x=x*y; y=x/y; x=x/y; } D、{ x=x-y; y=x+y; x=y-x; }

3. 执行语句“s=0; for(k=1; s<20||k<=12; k=k+2) s=s+k;”后,s、k的值为( )。 A、 25、9 B、 25、11 C、 36、11 D、 36、13 4. 若有如下程序,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)

- 2 -

s=a;

for(b=1;b<=c;b++) s=s+1;

则与上述程序段功能等价的赋值语句是( )

A、s=a+b; B、s=a+c; C、s=s+c; D、s=b+c; 5.判断i和j至少有一个值为非0的表达式是_____。

A、 i!=0 && j!=0 B、i!=0||j!=0 C、!(i==0 || j==0) D、i&&j (二)判断题

1.表示数学式3

3.与float型数据相比,double型数据的精度高,取值范围大。 (三)填空题

2.下列程序段的输出是______。

int k; float s=0; for (k=0; k < 7; k ++) s =s+ k/2;

printf(\

3. 设ch是字符型变量,判断ch为英文字母的表达式是______。 4. 计算下列分段函数的 if 语句是______。

1 x>0 y= 0 x=0 -1 x<0

(四)

单选题

1.对于if语句,以下( )是正确的。

A、if语句可以嵌套,嵌套时的else总与它最近的没有else的if相匹配 B、如果有if(a>=3){if(a==3)y=1;}else y=10;,则else与第一个if匹配 C、如果有if(a>=3){if(a==3)y=1;}else y=10;,则else与第二个if匹配 D、if语句不可以嵌套

2.若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是:______ A、 B、 swich(a+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、 D、 switch a switch(a-b) {case c1 :y=a-b; break {default:y=a*b;break; case c2: x=a*d; break case 3:case 4:x=a+b;break; default:x=a+b; case 10:case 11:y=a-b;break;

- 3 -

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4