资源描述
.
一、选择题
1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )
A、 任意
B、 第一个函数必须是主函数,其他函数任意
C、 必须完全按照执行的顺序排列
D、 其他函数可以任意,主函数必须在最后
2、 下列四个叙述中,正确的是:( )
A、 C程序中的所有字母都必须小写
B、 C程序中的关键字必须小写,其他标示符不区分大小写
C、 C程序中的所有字母都不区分大小写
D、 C语言中的所有关键字必须小写
3、 下列四个叙述中,错误的是:( )
A、 一个C源程序必须有且只能有一个主函数
B、 一个C源程序可以有多个函数
C、 在C源程序中注释说明必须位于语句之后
D、 C源程序的基本结构是函数
4、 下面不是C语言合法标识符的是:( )
A、abc B、5n C、_4m D、x3
5、 以下叙述不正确的是:( )
A. 分号是C语句的必要组成部分 B. C程序的注释可以写在语句的后面
C. 函数是C程序的基本单位 D. 主函数的名字不一定非用main来表示
6、 C语言中允许的基本数据类型包括:( )
A. 整型、实型、逻辑型 B. 整型、实型、字符型
C. 整型、字符型、逻辑型 D. 整型、实型、逻辑型、字符型
7、 C语言中能用八进制表示的数据类型为:( )
A、字符型、整型 B、整形、实型
C、字符型、实型、双精度型 D、字符型、整型、实型、双精度型
8、 下列属于C语言合法的字符常数是:( )
A、’\97’ B、”A” C、’\t’ D、”\0”
9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:( )
A、char<int<=long int <=float<double
B、char=int<long int <=float<double
C、char<int<long int=float=double
D、char=int=<long int <=float<double
10、 若有以下定义语句char c1=’b’, c2=’e’;
printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )
A、2,M B、3,E
C、2,E D、输出项与相应的格式控制不一致,输出结果不确定
11、 以下合法的赋值语句是:( )
A、x=y=100 B、d--; C、x + y D、c = int(a+b);
12、 在以下一组运算符中,优先级最高的是:( )
A、<= B、== C、% D、&&
13、 下列能正确表示a≥10或a≤0的关系表达式是:( )
A、a>=10 or a<=0 B、a<=10 || a>=0
C、a>=10 || a<=0 D、a>=10 && a<=0
14、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )
A、x%2==0 B、!(x%2==0) C、(x-x/2*2)==0 D、!(x%2)
15、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )
A、1 0< a < 15 B、!(a<=10 || a>=15)
C、a>10 && a<15 D、!(a<=10) && !(a>=15)
16、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )
A、0 B、语法错 C、1 D、“假”
17、 表达式17%4 /8的值为:( )
A、0 B、1 C、2 D、3
18、 一个可执行的C程序的开始执行点是:( )
A. 程序中的第一个语句 B. 包含文件中的第一个函数
C. 名为main的函数 D. 程序中的第一个函数
19、 组成C语句的一个必不可少的符号是:( )
A. 逗号 B. 引号 C. 冒号 D. 分号
20、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )
A. int B. long C. float D. double
21、 下述是C语言中有关变量定义的几个说法,正确的是:( )
A. 变量可以不定义直接使用
B. 一个说明语句只能定义一个变量
C. 几个不同类型的变量可在同一语句中定义
D. 变量可以在定义时进行初绐化
22、 与x * = y + z等价的赋值表达式是:( )
A. x = y + z B. x = x * y + z
C. x = x * (y + z) D. x = x + y * z
23、 当代电子计算机能够自动地处理指定的问题是因为:( )
A.计算机是电动的 B.有解决该问题的计算机程序
C.事先存储了解决该问题的程序 D.以上都不是
24、 以下叙述中最准确的是:( )
A.计算机程序是处理某一问题所有指令的集合
B.计算机程序是处理某一问题所用到的所有数据的集合
C.计算机程序是处理某一问题的所有指令及其数据的集合
D.计算机程序是处理某一问题的所有指令及其数据的有序集合
25、 目前编写计算机程序一般采用的是:( )
A.机器语言 B.汇编语言 C.高级语言 D.英语
26、 设计一个计算机程序最基本的工作是:( )
A.制定正确的算法 B.选择合理的数据结构
C.制定正确的算法和选择合理的数据结构 D.以上都不是
27、 算法具有五个特性,以下选项中不属于算法特性的是:( )
A.有穷性 B.简洁性 C.可行性 D.确定性
28、 下述哪一个不是结构化程序基本结构:( )
A.顺序 B.选择 C.循环 D.嵌套
29、 C语言是一种:( )
A.机器语言 B.汇编语言 C.高级语言 D.以上都不是
30、 C语言源程序的扩展名为:( )
A..exe B..c C..obj D..cpp
31、 C程序编译、连接后最终产生(即计算机执行)的文件的扩展名为( )
A..exe B..c C..obj D..cpp
32、 构成C语言源程序的基本单位是:( )
A.子程序 B.过程 C.文本 D.函数
33、 下列叙述正确的是:( )
A.C语言源程序可以直接在DOS环境中运行
B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行
C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行
D.C语言源程序可以直接在VC++环境中运行
34、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )
A.写在前面的函数先开始执行 B.总是从main()函数开始执行
C.总是从max()函数开始执行 D.写在后面的函数先开始执行
35、 以下叙述不正确的是:( )
A.分号是C语句的必要组成部分 B.C程序的注释可以写在语句的后面
C.函数是C程序的基本单位 D.主函数的名字不一定用mian表示
36、 以下为C语句的是:( )
A.a=8 B.a++; C.if(a>8) D. #include <stdio.h>
37、 以下所列语句中,合法的语句是:( )
A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);
二、判断题
1. ( T )C语言是严格区分大写和小写的,因此主函数不能写成main()以外的其他形式。
2. ( F )C语言程序是从源文件的第一条语句开始执行的。
3. ( F )C语言对其数据在内存中所占用的实际字节数是有明确规定的。
4. ( F )C语言中/*..*/之间的注释内容是不能跨行的。
5. ( F )C语言中多个以“;”结束的语句不能放在同一行。
6. ( F )变量说明语句int a=b=c=23;是正确的。
7. ( F )字符型数据不可以和整数数据一起进行算术运算。
8. ( T )C语言中强制类型转换不会改变原变量的原有数据类型。
9. ( F )表达式j=-i++和j=-(i++)不相等
10. ( T )程序段:i=8,j=10;printf("%d,%d,%d,%d\n",i,j,++i,j++);其结果9,10,9,10.
11. ( F )C语言中放在“”之间的内容都被视为字符串的一个构成部分,都可以在屏幕上原样显示。
12. ( T )计算机程序的执行过程实际上是对程序所表达的数据进行处理的过程。
13. ( T )目前程序设计的理念已经从“面向过程的程序设计”向“面向对象的程序设计”方面转变。
14. ( T )有人曾提出:计算机程序=算法+数据结构。
15. ( T )在程序设计中提到的算法就是“解决问题的方法和步骤”
16. ( T )在程序设计中提到的数据结构就是“程序处理的对象的表示方法”
17. ( T )计算机程序的算法就是解决“做什么”和“怎么做”的问题。
18. ( T )结构化程序设计的基本理念是:将一个较大的问题细分成若干个较小问题的组合。
19. ( F )C程序的执行是从程序的第一行开始,一直到程序的最后一行结束。
20. ( T )C程序的执行是从主函数的第一行开始,一直到主函数的最后一行结束。
21. (T)设x、t均为int型变量,则执行语句"x = 10;t = x && x > 10;"后,t的值为0
22. ( T )若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
23. ( T )在C程序中,%是只能用于整数运算的运算符
24. ( T )在C语言中,逻辑“真”等价于不等于0的数
25. ( F )C语言中字符型、整型、实型都能用八进制表示
26. ( T )变量的三要素是:变量名、变量类型、变量的值。
书上必会的题:课后题:第三章P83-4,6,7
一、 选择题
1. 以下说法正确的是( )。
A)C语言程序总是从第一个的函数开始执行
B)在C语言程序中,要调用函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行
D)C语言程序中的main()函数必须放在程序的开始部分
2. 算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的是( )。
A)有零个输入或多个输入 B)高效性
C)有穷性 D)确定性
3. C语言中用于结构化程序设计的3种基本结构是
A)顺序结构、选择结构、循环结构 B)if,switch,break
C)for,while,do-while D)if,for,continue
4. 一个C程序的执行是从( )。
A)main()函数开始,直到main()函数结束
B)第一个函数开始,直到最后一个函数结束
C)第一个语句开始,直到最后一个语句结束
D)main()函数开始,直到最后一个函数结束
5. 组成C程序的基本单位是( )。
A)函数 B)标识符 C)表达式 D)语句
6. 若有语句scanf(“%d%d”,&a,&b);要使变量a,b分别得到12和34;正确的输入形式为( )。
A)12<空格>34<回车> B)12,34<回车>
C)1234<回车> D)12:34<回车>
7. C语言中最简单的数据类型包括( )。
A)整型、实型、逻辑型
B)整型、实型、字符型
C)整型、字符型、逻辑型
D)字符型、实型、逻辑型
8. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( )。
A)必须为字母 B)必须为下划线
C)必须为字母或下划线 D)可以是字母,数字和下划线中任一字符
9. 下列可用于C语言用户标识符的一组是( )。
A)void, define, WORD B)a3_b3, _123,Car
C)For, -abc, IF Case D)2a, DO, sizeof
10. C语言中运算对象必须是整型的运算符是( )。
A)%= B)/ C)= D)<=
11. 设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为( )。
A)int B)float C)double D)不确定
12. 在C语言中,char型数据在内存中的存储形式是( )。
A)补码 B)反码 C)原码 D)ASCII码
13. 设int类型的数据长度为2字节,则该类型数据的取值范围是( )。
A) 0至65536 B) 0至65535
C) -32767至32768 D) -32768至32767
14. x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是
A)INPUT x、y、z;
B)scanf("%d%d%d",&x,&y,&z);
C)scanf("%d%d%d",x,y,z);
D)read("%d%d%d",&x,&y,&z);
15. 调用getchar和putchar函数时,必须包含的头文件是
A)stdio.h B)stdlib.h C)define D)以上都不对
16. 能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是
A)a>=10 or a<=0 B)a>=0|a<=10
C)a>=10 &&a<=0 D)a>=10‖a<=0
17. 若变量c为char类型,能正确判断出c为小写字母的表达式是
A)′a′<=c<=′z′ B)(c>=′a′)||(c<=′z′)
C)(′a′<=c)and(′z′>=c) D)(c>=′a′)&&(c<=′z′)
18. 若运行时给变量x输入12,则以下程序的运行结果是
main()
{int x,y;
scanf("%d",&x);
y=x>12?x+10:x-12;
printf("%d\n",y);
}
A)0 B)22 C)12 D)10
19. 已知char ch=′C′;则以下表达式的值是ch=(ch>=′A′ && ch<=′Z′)?(ch+32):ch;
A)A B)a C)Z D)c
20. 请阅读以下程序:
main()
{ int a=5,b=0,c=0;
if(a=b+c)
printf("***\n");
else
printf("$$$\n");
}
以上程序
A)有语法错不能通过编译 B)可以通过编译但不能通过连接
C)输出*** D)输出$$$
21. 若int k=8;则执行下列程序后,变量k的正确结果是
main()
{int k=8;
switch(k)
{case 9:k+=1;
case 10:k+=1;
case 11:k+=1;break;
default:k+=1;}
printf("%d\n",k);}
A)12 B)11 C)10 D)9
22. 阅读如下程序段
#include "stdio.h"
main()
{ int a=45,b=40,c=50,d;
d=a>30?b:c;
switch(d)
{ case 30 : printf("%d,",a);
case 40 : printf("%d,",b);
case 50 : printf("%d,",c);
default : printf("#");}}
则输出的结果是
A)40,50, B)50,# C)40,# D)40,50,#
二、 填空题
1. 用高级语言编写的程序称为(源)程序,它可以通过解释程序翻译一句执行一句的方式执行,也可以通过编译程序一次翻译产生目标程序,然后执行。
2. C语言中的标识符只能由字母、下划线和( 数字 ) 组成。
3. C语言源程序注释符号有两种,(/*……*/ )用于块注释,( // )用于行注释。
4. 源程序test.c经编译产生的目标文件是:( test.obj );经连接处理后,产生的可执行文件是:( test.exe )。
5. C标准库函数中,数学函数的原型在(math.h )头文件中。
6. 如下语句printf("%c\n",′B′+35);在执行后的输出结果是 ( e )。
7. 下列程序的输出结果是 ( 1.300000,1.300000 ) 。
#include <stdio.h>
#include <math.h>
int main()
{ float a=-1.3;b=1.3;
printf("%f,%f",fabs(a),fabs(b));
return 0;
}
8. 将以下程序写成三目运算表达式是( max = a>b ? a : b)。
if(a>b)max=a;
else max=b;
9. 若从键盘输入58,则以下程序输出的结果是 ( 585858 ) 。
main()
{ int a;
scanf("%d",&a);
if(a>50)printf("%d",a);
if(a>40)printf("%d",a);
if(a>30)printf("%d",a);}
10. 阅读下面的程序,当程序在执行时,如果输入的是′A′,则输出结果为( ABother ) 。#include "stdio.h"
main()
{ char a;
a=getchar();
switch(a)
{ case 65: printf("%c",′A′);
case 66: printf("%c",′B′);
default :printf("%s\n","other");
}
}
三、 判断题
1. ( F )一个程序只能由一个C程序文件组成。
2. ( T )一个C程序文件是由一个或多个函数组成的。
3. ( T )一个程序必须包含一个main函数。
4. ( F )main函数必须写在一个C程序文件的最前面。
5. ( F )C程序的执行从程序头开始。
6. ( F )函数体不可以为空。
7. ( F )C程序的注释只能是一行。
8. ( F )C程序中的数据声明和语句必须用“。”结束。
9. ( F )C程序一行只能写一条语句。
10. ( F )在C程序中,符号“Sum”和“sum”相同。
第三章 顺序结构
一、选择题
1. 下面程序的输出是:( )
main()
{ int k=11;
printf("k=%d,k=%o,k=%x\n",k,k,k);
}
A) k=11,k=12,k=13 B) k=11,k=13,k=13
C) k=11,k=013,k=oXb D) k=11,k=13,k=b
2. 以下合法的C语言赋值语句是:( )
A)a=b=58 B)k=int(a+b) ; C)a=58,b=58 D)--i;
3. 以下程序的输出结果是:( )
main()
{ int x=10,y=3;
printf(“%d\n”,y=x/y);
}
A)0 B)1 C)3 D)不确定
4. 若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是:( )
A)read (a,b,c); B)scanf(“%d%d%d”,a,b,c);
C)scanf(“%D%D%D”,%a,%b,%c); D)scanf(“%d%d%d”,&a,&b,&b);
5. 执行下面程序段后,c3中的值是:( )
int c1=1 , c2=2 , c3;
c3=c1/c2;
A)0 B)1/2 C)0.5 D)1
6. 以下程序段的输出是:( )
float a=57.666;
printf(“*%4.2f*\n”, a);
A)*57* B)*58* C)*57.66* D)*57.67*
7. 若有以下定义和语句:( )
int a=5,b
b=a++;
此处b的值是:( )
A) 7 B) 6 C) 5 D) 4
8. 以下程序的输出结果是:( )
main()
{ int x=10,y=10;
printf("%d%d\n",x--,--y);
}
A) 10 10 B) 9 9 C) 9 10 D) 10 9
9. 已知字符A的ASCII码为十进制的65,下面程序的输出是:( )
main()
{
char ch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
A) 67,D B) B,C
C) C,D D) 不确定的值
10. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是:( )
main()
{
int x;
scanf("%d",&x);
if (x++>5)
printf("%d",x)
else
printf("%d\n",x--);
}
A) 7和5 B) 6和3 C) 7和4 D) 6和4
11. 若执行下面的程序从键盘输入3和4,则输出是:( )
main()
{ int a,b,s;
scanf("%d%d",&a,&b);
s=a;
if (a<b) s=b;
s=s*s;
printf("%d\n",s);
}
A) 14 B) 16 C) 18 D) 20
12. 设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值
scanf("i=%d,f=%f",&i,&f);
为了把100和765.12分别赋给i和f,则正确的输入为:( )
A) 100<空格>765.12<回车> B) i=100,f=765.12<回车>
C) 100<回车>765.12<回车> D) x=100<回车>,y=765.12<回车>
二、判断题
1.( F )在C语言中,实型数据在内存都中占4个字节。
2.( F )在C语言中,参加算术( +,-,*,/,% )运算的数据可以是任何类型的数据。
3.( F )若有定义和语句:int a;char c;scanf("%d,%c",&a,&c);当通过键盘输入:
10,‘A’之后,则变量a中存放的是10,变量c中存放的是‘A’。
4.( F )C语言中,变量名只能是小写字母表示,符号常量名可用大写表示
5.( F )在C语言中,变量可以不要定义,直接使用
6.( T )一个C语言程序总是从主函数开始执行的
7.( F )注释语句必须用/*和*/括起来,且只能位于某一语句的后面
第四/五章 选择结构与循环结构
一、选择题
1. 有以下程序
main( )
{ int i;
for ( i=0; i<3; i++ )
switch ( i )
{ case 1 : printf("%d ", i);
case 2 : printf("%d ", i);
default : printf("%d ", i);
}
}
执行后输出结果是:( )
A)011122 B)012 C)012020 D)120
2. 以下程序的输出结果是:( )
main()
{ int a=5,b=4,c=6,d;
printf("%d\n",d = a>b ? (a>c?a:c) : (b));
}
A) 5 B) 4 C) 6 D) 不确定
3. 以下程序中,while循环的循环次数是:( )
main()
{ int i=0;
while(i<10)
{ if(i<1) continue;
if(i==5) break;
i++;
}
}
A) 1 B) 10 C) 6 D) 死循环,不能确定次数
4. 以下程序的输出结果是:( )
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\n",a);
}
A) 31 B) 13 C) 10 D) 20
5. 若执行以下程序时从键盘上输入9,则输出结果是:( )
main()
{ int n;
scanf ("%d",&n);
if(n++<10)
printf ("%d\n",n);
else
printf("%d\n",n--);
}
A) 11 B) 10 C) 9 D) 8
6. 有以下程序段
int k=0;
while(k=1)
k++;
则while 循环执行的次数是:( )
A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行1次
7. 以下程序执行后sum的值是:( )
main()
{ int i , sum;
for(i=1;i<6;i++) sum+=i;
printf("%d\n",sum);
}
A)15 B)14 C) 不确定 D)0
8. 以下程序输出结果是:( )
main ()
{ int m=5;
if (m>5)
printf (“%d\n”,m);
else
printf (“%d\n”,m--);
}
A )7 B )6 C)5 D)4
9. 设有如下定义:
int a=1,b=2,c=3,d=4,m=2,n=2;
则执行表达式:(m=a>b)&&(n=c>d)后,n的值为:( )
A)1 B)2 C)3 D)0
10. 以下程序运行后,如果从键盘上输人5,则输出结果是:( )
main( )
{
int x;
scanf("%d",&x);
if(x--<5)
printf("%d",x);
else
printf("%d",x++);
}
A、3 B、4 C、5 D、6
11. 以下程序段的输出是:( )
int i,j,m=0;
for (i=1;i<=15;i+=4)
for (j=3;j<=19;j+=4)
m++;
printf(“%d\n”,m);
A)12 B)15 C)20 D)25
12. 定义如下变量:int n=10;则下列循环的输出结果是:( )
while (n>7)
{ n--; printf("%3d",n);
}
A) 10 9 8 B) 9 8 7
C) 10 9 8 7 D) 9 8 7 6
13. 以下循环体的执行次数是:( )
main()
{ int i,j;
for(i=0,j=1;i<=j+1;i+=2,j--)
printf("%d \n",i);
}
A) 3 B) 2 C) 1 D) 0
14. 在C语言的循环语句for,while,do-while语句中,用于直接中断最内层循环的语句是:( )
A) switch B) continue
C) break D) if
二、判断题:
1. ( F )用1作while循环的判断条件,则循环一次也不执行。
2. ( F )for循环表达式的括号内的3个表达式均不可以省略。
3. ( F )若有for( ; ; ){……},是指循环体执行0次。
4. ( F )程序有死循环的时候,上机编译不能通过。
5. ( F )执行for(I=0;I<3;I++);后I的值为2。
6. ( T )所有类型的循环都可以进行嵌套使用。
7. ( T )利用break语句可以提前终止循环的执行。
8. ( F )利用continue语句可以提前终止循环的执行。
9. ( F )break语句和continue语句不可以同时出现在同一个循环体内。
10. ( F )switch语句中,每一个case的冒号后面都必须至少跟有一条语句
第6章 数组
一、选择题
1、假设int型变量占两个字节的存储单元,若有定义:
int x[10]={0,2,4};
则数组x在内存中所占字节数为:( )
A、3 B、6 C、10 D、20
2、下面程序段的输出结果是:( )
int j;
int x[3][3]={1,2,3,4,5,6,7,8,9};
for (j=0;j<3;j++)
printf(“%d ”,x[j][2-j]);
A、1 5 9 B、1 4 7 C、3 5 7 D、3 6 9
3、以下能正确定义数组并正确赋初值的语句是:( )
A、int N=5,b[N][N]; B、int a[1][2]={{1},{3}};
C、int c[2][]= {{1,2},{3,4}}; D、int d[3][2]={{1,2},{3,4}};
4、有以下程序
main()
{ int m[][3]={1,4,7,2,5,8,3,6,9};
int i,j,k=2;
for(i=0; i<3; i++)
{ printf("%d
展开阅读全文