C语言第1~5章习题

更新时间:2023-10-20 16:21:01 阅读量: 综合文库 文档下载

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

C语言第1~5章习题

一.单项选择题

1.以下标识符中,合法的变量名是 。

A)x_1

B)3x

C)x-1

D)x.y

2.为表示x≥y≥z,应使用的C语言表达式为 。 A) (x>=y) && (y>=z) B) (x>=y) AND (y>=z)

C) (x>=y>=z)

D) (x>=y) & (y>=z)

3.C语言的下列运算符中,运算对象必须是整型数据的是 。

A) /

B) %

C) &&

D) *

4.在PC机上,C语言中的 int 型数据占2字节,则 long 型数据占 字节。

A) 2

B) 4

C) 8

D) 不确定

5.在C 语言中,逻辑“真”用 表示。

A) FALSE

B) TRUE

C) 0

D) 1

6.设有类型说明为:char a; int b; float c; double d; 则表达式 a*b+c-d 的结果为 类型。

A) char

B) int

C) float

D) double

7.C语言中,while与do-while语句的主要区别是 。 A)do-while的循环体至少执行一次 C)do-while的循环体不能是复合浯句

B)do-while允许从外部转到循环体内 D)while的循环控制条件更严格

8.设int x=1,y=2; 则表达式x+l0,y/=18的值是 。 A)0 B)ll C)9 D)1 9.下列语句中符合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;

10.设int a=1,b=2,c=3,d=4,z;则表达式(a>b)?(z=c):(z=d)的值是 。 A)3 B)0 C)4 D)1 11.下面程序段的运行结果是 。 A)-7 B)-13 C)-10

int a=-10,b=-3;

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

12.若执行下面的程序时从键盘上输入5,则输出是 。 A)7

B)6

C)5 D)4

main( ) { int x;

scanf(\%d\,&x);

if(x++>5)

printf(\%d\\n\; else

第 1 页 共 8 页

D)-4

printf(\%d\\n\,x--); }

13.已知字母A的ASCⅡ码为十进制的65,下面程序的输出是 。 A)67,D main( ) { char ch1,ch2;

ch1='A'+5-3; ch2='A'+6-3; printf(\%d,%c\\n\}

14.若a=1,b=2则表达式a | b的值是 。

A)0

B)1

C)2

D)3

B)B,C

C)C,D

D)不确定的值

15.关于下面程序段的描述,正确的是 。

x=1; do

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

A) 无限循环 C) 循环执行一次

B) 循环执行两次 D) 有语法错误

二.填空题

1.以“\”开头的特殊字符称为 字符。

2.printf(\中百分号后的“-”的作用是 。

3.设m=n=a=b=1,则执行表达式(m=a>1)&&(n=b>1)后,n的值是 。 4.整数y可被4整除但不可被100整除,此条件可用表达式描述为

5.设程序中有输入函数scanf(\,在运行程序时,如果想输入3和5两个数据,正确的输入方法是 。

三.读程序写结果

1.下列程序的运行结果是 。

main( )

{int i=1,j=3,k=5; do { if(i%j= =0) if(i%k= =0)

{printf(\%d\\n\,i);break;}

i++;

}while(i!=0); }

2.执行下列程序段后,变量i的值是 。

int i=10; switch (i)

第 2 页 共 8 页

{

case 10: i+=1; case 11: i+=1; case 12: i+=1;

case 9: i+=1; }

3.运行下列程序后,输出结果是 。

main()

{ int a=0, b=1, c=0, d=20, x=30; }

if (a)

d-=10;

else if (!b)

if (!c) x=15; else x=25;

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

4.下列程序的运行结果是

main( ) { int x=0,s, i; for (i=0;i<3;i++)

{s=i*i; x=x+s; printf(\ } }

5. 下列程序的运行结果是

main()

{ int n;

for(n=1;n<6;n++)

{

if(n%2) {printf(“#”);continue;} printf(“*”); }

printf(“\\n”); }

6. 下列程序的运行结果是

#include main() {

int n=4;

while(n--) printf(\}

四.程序填空题

1.以下程序的功能是:从键盘上输入20个学生的成绩,统计并输出最高成绩和最低成绩。请填空。 main() { float x,max,min; int i; scanf (\

第 3 页 共 8 页

}

max=min= ; { scanf (\

if (x>max) max=x; min=x;

}

printf (\最高成绩=%f \\t 最低成绩=%f\\n\

C语言第1~5章习题答案

班级 学号 姓名 成绩

一.单项选择题(每空2分,共30分) 1.以下标识符中,合法的变量名是 【1】 。 A)x_1 B)3x C)x-1 D)x.y

2.为表示x≥y≥z,应使用的C语言表达式为 【2】 。 A) (x>=y) && (y>=z) B) (x>=y) AND (y>=z) C) (x>=y>=z) D) (x>=y) & (y>=z)

3.C语言的下列运算符中,运算对象必须是整型数据的是 【3】 。 A) / B) % C) && D) *

4.在PC机上,C语言中的 int 型数据占2字节,则 long 型数据占【4】 字节。 A) 2 B) 4 C) 8 D) 不确定 5.在C 语言中,逻辑“真”用 【5】 表示。

A) FALSE B) TRUE C) 0 D) 1

6.设有类型说明为:char a; int b; float c; double d; 则表达式 a*b+c-d 的结果为【6】 类型。

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

7.C语言中,while与do-while语句的主要区别是 【7】 。

A)do-while的循环体至少执行一次 B)do-while允许从外部转到循环体内

第 4 页 共 8 页

C)do-while的循环体不能是复合浯句 D)while的循环控制条件更严格

8.设int x=1,y=2; 则表达式x+l0,y/=18的值是 【8】 。 A)0 B)ll C)9 D)1

9.下列语句中符合C语言语法的赋值语句是 【9】 。

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;

10.设int a=1,b=2,c=3,d=4,z;则表达式(a>b)?(z=c):(z=d)的值是 【10】 。 A)3 B)0 C)4 D)1 11.下面程序段的运行结果是 【11】 。 A)-7 B)-13 C)-10 D)-4 int a=-10,b=-3;

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

12.若执行下面的程序时从键盘上输入5,则输出是 【12】 。 A)7 B)6 C)5 D)4 main( ) { int x;

scanf(\%d\,&x);

if(x++>5)

printf(\%d\\n\; else

printf(\%d\\n\,x--); } 13.已知字母A的ASCⅡ码为十进制的65,下面程序的输出是 【13】 。 A)67,D B)B,C C)C,D D)不确定的值 main( )

{ char ch1,ch2;

ch1='A'+5-3; ch2='A'+6-3; printf(\%d,%c\\n\} 14.若a=1,b=2则表达式a | b的值是 【14】 。 A)0 B)1 C)2 D)3

15.关于下面程序段的描述,正确的是【15】 。 x=1; do

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

A) 无限循环 B) 循环执行两次 C) 循环执行一次 D) 有语法错误

第 5 页 共 8 页

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

Top