好文档 - 专业文书写作范文服务资料分享网站

C语言第1-2章练习题

天下 分享 时间: 加入收藏 我要投稿 点赞

精品教育

C语言第1、2章练习题

一、选择题

1. 下列运算符中,( C)结合性从左到右。

A. 三目 B. 赋值 C. 比较 D. 单目

2. 下列for循环的次数为(B ):for ( i=0,x=0;! x && i<=5;i++)

A. 5 B. 6 C. 1 D. 无限

3. 下述关于循环体的描述中,(C )是错误的。

A. 循环体中可以出现break语句和continue语句;B.循环体中还可以出现循环语句; C. 循环体中不能出现goto语句; D.循环体中可以出现开关语句。 4.下列变量名中,(A)是合法的。 A.CHINA; B.student-num; C.double D.A+b

5.有以下程序段: int n=0,p; do {scanf(”%d”, &p);n++;} while(p!=12345&&n<3); 此处do-while循环的结束条件是(D)。

A.p的值不等于12345并且n的值小于3 B.p的值等于12345并且n的值大于等于3 C.p的值不等于12345或者n的值小于3 D.p的值等于12345或者n的值大于等于3 6.若有定义:int a=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为(B)

A.1.4 B.1 C.2.0 D.2 7. 以下程序中,while循环的循环次数是(D)

main( ) { int i=0; while(i<10)

{ if(i<1) continue; if(i==5) break; i++; } ..... A.1 B.10 C.6 D.死循环,不能确定次数 8.下列while循环的执行次数是(A)while(i=0) i- -;

A.0 B.1 C.5 D.死循环 9.以下说法中正确的是:C

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

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

D.C语言程序中的main()函数必须放在程序的开始部分。 10.以下程序的输出结果是:D

main()

{ int x=10,y=10;

printf(\ }

A. 10 10 B.9 9 C. 9 10

D. 10 9

11.int a=1,b=3;,则下列表达式的结果为“真”的是:D A. a>=2||!b&&b<4 B. b-a&&!a||a-b&&a/b C. a-!a%b&&!b-!b%b D.a+b&&a-b&&b-3&&a||b

-可编辑-

精品教育

12.请选出合法的C语言赋值语句C A.a=b=58 B.i++; C.a=58,b=58 D.k=int(a+b);

13.若有以下定义和语句:B char c1='b',c2='e';

printf(\ 则输出结果是: A. 2,M B. 3,E C. 2,E D. 输出项与对应的格式控制不一致,输出结果不确定。 14.运行以下程序段后变量a的值是:D

int a=0, b=3;

switch(a+b&&a++&&b-a&&a) {

case 0:a++; case 1:b++;

case 2:a+=b; break; case 3:a-=b; default:a; } (A)-3

(B)1 (C)5 (D)6

15.在以下一组运算符中,优先级最高的运算符是:C (A)<= (B)= (C)% (D)&& 16.设 int a=12,则执行完语句 a+=a-=a*a后,a的值是D

(A)552 (B)264 (C)144 (D)-264 17.C语言中基本数据类型包括 B

(A)整型、实型、逻辑型 (B)整型、实型、字符型

(C)整型、字符型、逻辑型 (D)整型、实型、逻辑型、字符型

18.执行下面程序片段的结果是B

int x=23; do{

printf(\ }while(!x); (A)打印出321 (B)打印出23 (C)不打印任何内容 (D) 陷入死循环 19.若k是int型变量,且有下面的程序片段:D k = -3;

if(k<=0) printf(\else printf(\

上面程序片段的输出结果是 (A)#### (B)&&&& (C)####&&&& (D)有语法错误,无输出结果。 20.为表示关系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)

-可编辑-

精品教育

21. 若c为char类型变量,能正确判断出c为小写字母的表达式是D A) 'a'<=c<='z'

B) (c>='a') || (c<='z') C) c>='a' || c<='z' D) c<='z' && c>='a'

22.下面程序执行后输出sum的值是D A)15 B) 14 C) 0 D) 不确定 main() { int i,sum;

for(i=0;i<6;i++) sum+=i; printf(\ }

23.以下叙述正确的是:D

A) 可以把include和if定义为用户标识符

B) 可以把include定义为用户标识符,但不能把if定义为用户标识符 C) 可以把if定义为用户标识符,但不能把include定义为用户标识符 D) include和if都不能定义为用户标识符

二、 判断下列描述的正确性,对者划√,错者划╳。

1. switch语句中必须有break语句,否则无法退出switch语句。0 2. C中标识符内的大小写字母是没有区别的。0 3. 隐含的类型转换都是保值映射,显式的类型转换都是非保值映射。0 4. 运算符的优先级和结合性可以确定表达式的计算顺序。1 5. while循环语句的循环体至少执行一次。0 6. 开关语句不可以嵌套,在开关语句的语句序列中不能再有开关语句。0 7. C语言在编译时不检查语法;0 8. 在C语言中,”A”是错误的char类型的常数;1 9. 字符(char)型数据在微机内存中的存储形式是ASCII码;1 10. C语言的源程序不必通过编译就可以直接运行;0 11. “Int”是合法的C语言关键字;0

三、写出下列程序的运行结果。

1. void main() { int a=4,b=5,c=0,d; d=!a&&!b||!c; printf(“%d”, d); } 1 2. void main() {int i =1, sum=0; while (i<=5) {sum+=i; i++;} printf(“sum=%d”, sum); }15 -可编辑-

精品教育

3. void main() { int a=0,i; for(i=1;i<5;i++) { switch(i) {case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; } } printf(“%d”, a);31 5.从键盘输入1325。 void main() { int n1,n2; scanf(\ while(n2!=0) { n1=n2; n2=n2/10; printf(\ } }5231

四、完成程序。

4. void main() {int a=15,b=21,m=0; switch(a%3) {case 0:m++;break; case 1:m++; switch(b%2) {default:m++; case 0:m++;break; } }; printf(“%d”,m);} 1 6. void main() { int a=5,b=4,c=3,d; d=(a>b>c); printf(\} 先计算a>b结果为真,得到1然后计算1>c结果为假得到0 0 7. void main() {int s,i; for(s=0,i=1;i<3;i++,s+=i); printf(\}5 -可编辑-

精品教育

1. 程序的功能是:分别计算1到10 之间奇数之和及偶数之和 void main() i {int a,b,c,i; a = c = 0; for(i=0;i<=10;i+=2) { a += i; b = ____i+1____; c += b; } printf(\偶数之和=%d\\n\ printf(\奇数之和=%d\\n\ }

3.以下程序的功能是判断输入的正整 数是否为素数。 #include void main() { int m,i,k; scanf(\,&m); k=sqrt(m); for (i=2;i<=k;i++) if(___m%i==0__) break; if(_i>=k+1) printf(\是素数\\n\, m) else printf(\不是素数\\n\,m);

5. 得到一个输入数字的反转数,然后一次输出这个整数。 void main() {int n, right_digit, newnum = 0; printf(\scanf(\printf(\ \do { right_digit = n % 10; //生成所输入数字的反转数 newnum=newnum*10+right_digit; n = ① } while (n != 0); printf(\ }

2. 下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数。 #include void main() { int i,j; for(i=0; _i<10___; i++) { j=i*10+6; if(__j%3!=0__) continue; printf(\ } } 4.求某数的泰勒(台劳)级数的前n+1项之和。x的泰勒级数: nx1x2x3xnxi?1???????1??1!2!3!n!i?1i! void main () {int i,n; float x; float t=1.0,sum=1.0; scanf(“%f, %d”, &x, &n); for(i=1;i

C语言第1-2章练习题

精品教育C语言第1、2章练习题一、选择题1.下列运算符中,(C)结合性从左到右。A.三目B.赋值C.比较D.单目2.下列for循环的次数为(B):for(i=0,x=0;!x&&i<=5;i++)A.5B.6C.1D.无限<
推荐度:
点击下载文档文档为doc格式
98vsg4nigi28mwx1483k6i8ss1c8w101bet
领取福利

微信扫码领取福利

微信扫码分享