C语言课堂练习习题集

发布时间 : 星期三 文章C语言课堂练习习题集更新完毕开始阅读

《C语言程序设计》自主学习检验题汇编 第一、二章 C程序与算法 单项选择题

1. 将汇编语言编写的程序翻译成目标程序的程序是() A)解释 B)编译 C)汇编 D)目标 2. 不属于面向机器语言的是 (C )

A)符号语言 B)二进制语言 C)汇编语言 D)C语言 3. 将高级语言编写的程序翻译成目标程序的程序是(D)。 A)解释 B)编译 C)汇编 D)二进制 4. 不属于高级语言的是()。

A)BASIC B)C C)ALGOL D)符号语言 5. 程序段的基本结构中,不包含()。

A)函数结构 B)循环结构 C)顺序结构 D)分支结构 6、C语言源程序的最小单位是( )。

A、程序行 B、语句 C、函数 D、字符 7、以下说法正确的是( )。

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

C、 C语言程序中,main()函数必须放在程序的开始部分 D、 C语言程序总是从main()函数开始执行 8、以下对C语言描述中正确的是( )。 A、 C语言源程序中可以有重名的函数

B、 C语言源程序中要求每行只能书写一条语句

C、 C语言源程序中,注释可以出现在任何位置 D、 最小的C源程序中没有任何内容

9、对C语言源程序执行过程描述正确的是( )。 A、 从main() 函数开始执行,到main()函数结束

B、 从程序的第一个函数开始执行,到最后一个函数结束 C、 从main函数开始执行,到源程序的最后一个函数结束 D、 从第一个函数开始执行,到main函数结束。

填空题

1. 能完成某个任务的、有始有终的C语言__ _称为C程序。 2. 用来编写程序的计算机语言称为____。 3. 高级语言编写的程序称为____。

4. 用C语言编写的源程序简称为“C程序”,扩展名规定为“____”。 5. C程序经过“编译”后将获得扩展名为“OBJ”的____。 6. C程序经过编译后获得的中间代码文件还需要经过____,才能成为可执行的“程序”,标程序的扩展名规定为\。

7、ANSI C标准中共规定了 个关键字, 条控制语句。 8、一个执行的C语言源程序至少应包含一个 。 9. 选择结构是____选择某个操作来执行的—种程序结构。 10. 选择结构可以分为____、双分支结构和多分支结构。 11. 循环结构又可分为当型循环、____及次数型循环。

第三章 数据类型、运算符与表达式

1

目 单项选择题

1. 以下程序的输出结果是 。 main()

{int a=10,b=10;

printf(\%d,%d\,a--,++b); } A)10,11 B)10,10 C)9,9 D)9,11

2. 设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是

A)'a'&&'b' B)a<=b

C)a||b+c&&b-c D)!((a

3. 设ch是char型变量,其值为'a',且有下面的表达式: ch=(ch>='a'&&ch<='z')?(ch-32):ch 上面表达式的值是

A)'a' B)'A' C)'Z' D)'z' 4. 下面程序的输出是 main()

{int a=-1,b=4,k;

k=(a++<=0)&&(!(b--<=0));

printf(\%d%d%d\\n\,k,a,b);}

A)0 0 3 B)0 1 2 C)1 0 3 D)1 1 2 5. 字符串“\\ t \\ n \\ \\ \\ 045 \\’”的长度为。 A)4 B)10 C)5 D)说明不合法 6. C语言中最基本的数据类型包括。 2

A)整型,实型,逻辑型 B)整型,实型,布尔型 C)整型,实型,字符型 D)整型,实型,指针型

7. C浯言中的构造类型包括。

A)数组型,结构体型,联合体型 B)结构体型,联合体型,指针型

C)结构体型,联合体型,枚举类型 D)数组型,结构体型,联合体型,指针型

8. 设C语言中,一个int型数据在内存中占用两个字节,则int型数据的取值范围为: A)-128~127 B)-32768~32767 C)0~65536 D)0~2147483647 9. 若a是float型变量,则表达式a=l,a++,a+=a的值为。 A) 2 B) 4 C) 2.0 D) 4.0 10. 以下运算符中,运算优先级最低的是。 A) -> B) ++ C) * D) = 11. 不属于字符型常量的是。

A)'A' B)\12. 不属于整型常量的是

A)10 B)010 C)0xl0 D)4/2 13. 属于实型常量的是

A)E10 B)10 C)10L D)1E10

14. ' \\060 '和\在内存中占用的字节数分别为。 A)2 2 B)2 1 C)1 2 D)4 4

15. 设有以下程序片段,请问执行后的输出结果是

int i=010,j=10,k=0xl0;printf(\%d,%d,%d\,k,j,i); A)16,10,8 B)8 10 16 C)10,10,10 D)8,10,16

16. 设整型变量a的值为5,使整型变量b的值不为2的表达式是。

A)b=a/2 B)b=6-(--a) C)b=a%2 D)b=a>3?2:1

17. 设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。 A) f+=g B)f-=g+5 C)f*=g-5 D)f/=g*5 18. 表达式-l?(10?10:1):(0?0:-1)的值为 A)10 B)1 C)0 D) -1 19. sizeof(double)的值为

A)1 B)2 C)4 D)8 20. sizeof(float)是。

A)一种函数调用 B)—个单精度表达式 C)—个整型表达式 D)—个不合法的表达式 21. 设有以下的程序片段,请问执行后变量i的值是。 int i; float f=10.5; i=((int)f)/2; A) 5.0 B)5.5 C)6 D)5 22. 以下程序的输出结果是 #include main()

{int k=4,m=1,p;

p=func(k,m); printf(\%d,\,p); p=func(k,m); printf(\%d\\n\,p); } func(a,b)

int a,b;

{static int m=0,i=2; i+=m+1; m=i+a+b; return(m); }

A)8,17 B)8,16 C)8,20 D)8,8

填空题

3

1. 数学式sinx*(a+b)/(a-b)写成C语言表达式是____。

22. 若已知a=1,b=2,则表达式!a

3. C语言的常量可以分为____,____,____,____,____,____。 4. C语言的基本数据类型分为____,____,____,____。 5. 已知字母'A'的ASCII码值为十进制数65,且ch为字符型,则执行语句ch='A'+'6'-'0’后,ch的值为____。

6. 设C语言中,一个int型数据在内存中占用两个字节,则unsigned int型数据的取值范围为____。

7. 若a是float型变量,且a=6,则表达式a/2+(int)(a+1)%2的值为____。

8. 假设m是一个三位数,百位、十位、个位的数值分别为a、b、c,则百位、十位、个位的数值分别为c、a、b的数的表达式是____。 第四章 顺序程序设计 单项选择题

1. 设有整型变量m值为8,下列赋值语句中,正确的是 。

A)++m=6; B) m=m++; C) m+1=8; D) m+1+=8; 2. 设字符型变量ch的值为'A',整型变量m的值为'1',假定执行ch=getchar();m=getchar();时,从键盘输入B,则变量ch和m的值分别为 。

A)'A'和'1' B)'B'和'1' C)'B'和' ' D)'B'和'\\n'

3. 设字符型变量ch的值为'A',整型变量m的值为'1',假定执行putchar(m);putchar(' ');putchar(ch);后,则输出结果是 。

A)A1 B)lA C)A l D)1 A

4. 如果用scanf()来输入长整型数据,则正确的格式控制符是 。

A)%x B)%lx C)%lD D)%d

5. 如果用printf()来输出双精度型数据、则正确的格式控制符是 。 A)%-10.2f B)%lf C)%le D)%lg

6. 执行语句scanf(\%d,%d\,&m,&n);使m和n的值分别为1和2,正确输入是 。 A)1 B)1 2 C)1,2 D)12 2

7. 设整型变量a和b的值分别为8和9。printf(\%d,%d\,(a++,++b),b--);的输出是 。

A)8,8 B)8,7 C)9,9 D)10,9 8. 设有下列程序段,则其正确的输出是 。 int x=011,y=0xll;

printf(\%-3dy=%3d\,x,y);

A)口口917口 B)x=9口口y=口17 C)x=口口9y=17口 D)x=lly=x11 9. 设字符型变量ch已有值,下列语句中错误的是 。

A)scanf(\%c%c\; B){int ch=6;printf(\%d\,ch);} C)5; D)ch>48&&ch<0x3A;

10. 下列表达式中,结果不为1.0的表达式是 。

A)fabs(-1.0) B)powl0(0) ) C)floor(0.99) D)sin(90*3.14159/180) 11. 运行下列程序的输出是 。 main()

{int k=1;

{int k=2; printf(\%d\,k);} printf(\%d\,k); } A)12 B)21 C)11 D)22 4

12. 运行下列程序的输出是 。 main()

{char ch='B';

printf(\%c%d\,ch,ch++); } A)C65 B)B65 C)B66 D)C66 填空题

1. 使用\函数时,程序的开头必须写一条包含命令:____。

2. 用输入函数scanf()输入长整型十六进制数据时,对应的格式控制符是____.

3. 用输入函数scanf()输入双精度实型数据时,对应的格式控制符可以是%lf或____。 4. 用输出函数printf()输出双精度实型数据时,对应的格式控制符可以选用%f,%e或____ 5. 在输出函数printf()中使用了%s格式字符,则输出表达式是____。 6. 表达式语句的构成规则是在任何表达式的后面加上一个____。 7. 表达式\的运算结果是____。

8. 表达式\的运算结果是产生____—个整数。 9. 运行下列程序的输出结果是____ #include”math. h”

main()

{float f1=1.0,f2=-2.0;

printf(“f2=%f,fabs(f2)>f1=%d”,f2+=f1,fabs(f2)>f1); } 10. 运行下列程序的输出结果是____ #include”math. h”

main()

{int m=64;

联系合同范文客服:xxxxx#qq.com(#替换为@)