第一章 单元测试
1、单选题:
在一个C语言程序中
选项:
A:可以有多个main()函数
B:可以没有main()函数
C:有且只有一个main()函数
D:必须有数据输入函数
答案: 【有且只有一个main()函数】
2、单选题:
一个C语言程序是由
选项:
A:若干个子程序组成
B:一个主程序和若干个子程序组成
C:若干个过程组成
D:若干个函数组成
答案: 【若干个函数组成】
3、单选题:
下列程序中不正确的语句是
选项:
A:a=31:b=22;
B:void main()
C:int a,b,c;
D:c=a+b;
答案: 【a=31:b=22;】
4、单选题:
下列说法中正确的是
选项:
A:书写C语言程序时,不区分字母大小写
B:C语言本身有输入/输出语句
C:书写C语言程序时,一行只能写一条语句
D:书写C语言程序时,一条语句可分成几行书写
答案: 【书写C语言程序时,一条语句可分成几行书写】
5、单选题:
下面不是C语言特点的是
选项:
A:简洁.紧凑
B:能够编制出功能复杂的程序
C:可以直接对硬件进行操作
D:移植性好
答案: 【可以直接对硬件进行操作】
6、单选题:
C语言具有低级语言的功能,主要是指
选项:
A:程序的可移植性
B:能直接访问物理地址,可进行位操作
C:具有现代化编程语言的各种数据结构
D:程序的使用方便性
答案: 【能直接访问物理地址,可进行位操作】
第二章 单元测试
1、单选题:
以下选项中,不属于C语言的类型的是
选项:
A:long short
B:signed short int
C:unsigned long int
D:unsigned int
答案: 【long short】
2、单选题:
以下语句的输出结果是:
int u=010,v=0x10,w=10;
printf(“%d,%d,%dn”,u,v,w);
选项:
A:8,10,10
B:8,8,10
C:10,10,10
D:8,16,10
答案: 【8,16,10】
3、单选题:
下列4组数据类型中,C语言允许的一组是
选项:
A:整型、双精度型、布尔型、空类型
B:整型、实型、复型、字符型
C:整型、实型、字符型、空类型
D:整型、实型、逻辑型、双精度型
答案: 【整型、实型、字符型、空类型】
4、单选题:
以下关于float型变量和double型变量的描述,不正确的是
选项:
A:double型变量更常用
B:double型变量的取值范围更大
C:double型变量精度更高
D:double型变量占用的存储空间更大
答案: 【double型变量更常用】
5、单选题:
以下关于long、int和short型数据占用内存大小的叙述,正确的是
选项:
A:由用户自己定义
B:根据数据的大小来决定所占内存的字节数
C:均占4个字节
D:由C语言编译系统决定
答案: 【由C语言编译系统决定】
6、单选题:
以下程序段的输出结果为
int i=65;
putchar(i);
printf(“%d”,i);
printf(“%c”,i);
选项:
A:A,A,A
B:A,65,A
C:A,A,65
D:65,65,A
答案: 【A,65,A】
7、单选题:
已知:int a=2;,则表达式(a+’E’-‘A’)*3的值是
选项:
A:20
B:8
C:12
D:18
答案: 【18】
8、单选题:
若有说明语句:char c=’t’;,则变量为c
选项:
A:说明不合法,c的值不确定
B:包含3个字符
C:包含2个字符
D:包含1个字符
答案: 【包含1个字符】
9、单选题:
下面选项中,合法的字符常量是
选项:
A:”B”
B:D
C:68
D:‘10’
答案: 【‘10’】
10、单选题:
表达式5/2的值是
选项:
A:1
B:2
C:2.5
D:3
答案: 【2】
11、单选题:
设有如下定义:
int a;
float f;
double i;则表达式10+a+i*f的值的数据类型为:
选项:
A:不确定
B:int
C:float
D:double
答案: 【double】
12、单选题:
假设在程序中a、b、c均被定义成整型,并且已赋非0值,则能正确计算代数式1/abc的表达式是
选项:
A:1/a*b*c
B:1/a/b/(float)c
C:1.0/a/b/c
D:1/(a*b*c)
答案: 【1.0/a/b/c】
13、单选题:
下列不正确的转义字符是
选项:
A:”
B:’081′
C:’”’
D:”
答案: 【’081’】
14、单选题:
在下列运算符中,优先级最高的是
选项:
A:>=
B:=
C:%
D:&&
答案: 【%】
15、单选题:
下列选项中,正确的C语言标识符是
选项:
A:123
B:A123
C:%x
D:a+b
答案: 【A123】
16、单选题:
在C语言程序中,表达式5%2的结果是
选项:
A:2.5
B:1
C:2
D:3
答案: 【1】
17、单选题:
C语言中,关系表达式和逻辑表达式的值是
选项:
A:
B:1
C:0
D:0或1
答案: 【0或1】
第三章 单元测试
1、单选题:
设有以下定义:int a=3,b=0,c=5;,则以下值为0的表达式是
选项:
A:
B:
C:
D:
答案:
2、单选题:
能表示数学式的C语言表达式是
选项:
A:
B:
C:
D:
答案:
3、单选题:
判断char型变量ch是否为大写字母的正确表达式是
选项:
A:
B:
C:
D:
答案:
4、单选题:
下列运算符中优先级别最高的是
选项:
A:&&
B:!=
C:<
D:+
答案:
5、单选题:
设int x=1,y=2;,则表达式)的值是
选项:
A:0
B:1
C:-1
D:2
答案:
6、单选题:
当A为奇数时表达式的值为真,否则为假,不能满足此要求的表达式是
选项:
A:
B:
C:
D:
答案:
7、单选题:
以下4个选项中,不能看作一条语句的是
选项:
A:
B:
C:
D:
答案:
8、单选题:
已知int a=10,b=20,c=30;,执行语句if(a>b) c=a;a=b;b=c;后,a、b、c的值是
选项:
A:a=20,b=30,c=20
B:a=20,b=30,c=30
C:a=20,b=30,c=10
D:a=10,b=20,c=30
答案:
9、单选题:
以下不正确的语句为
选项:
A:
B:
C:
D:
答案:
10、单选题:
以下关于switch语句的叙述中,错误的是
选项:
A:省略break语句时,程序会继续执行下面的case分支
B:switch语句允许嵌套使用
C:语句中各case与后面的常量表达式之间必须有空格
D:语句中必须有default部分,才能构成完整的switch语句
答案:
11、单选题:
以下程序的输出结果是
选项:
A:11 11
B:12 11
C:12 12
D:11 12
答案:
12、单选题:
以下程序的输出结果是
选项:
A:11 11
B:12 11
C:10 11
D:9 10
答案:
13、单选题:
已知int x=5,y=5,z=5;,执行语句x%=y+z;后,x的值是
选项:
A:5
B:6
C:1
D:0
答案:
14、单选题:
以下程序输出结果是
选项:
A:6
B:3
C:5
D:4
答案:
15、单选题:
以下程序的输出结果是
选项:
A:2
B:5
C:3
D:4
答案:
16、单选题:
已知int x=(1,2,3,4);,变量x的值是
选项:
A:4
B:2
C:3
D:1
答案:
17、单选题:
以下if语句不正确的是
选项:
A:
B:
C:
D:
答案:
18、单选题:
已知int a=5,b=6 c=3;,以下语句中执行结果与其他3个不同的是
选项:
A:
B:
C:
D:
答案:
19、单选题:
已知int a=0,b=4;,下列语句中i++;语句能够执行的是
选项:
A:
B:
C:
D:
答案:
20、单选题:
下列运算符按优先级从高到低正确排序的是
选项:
A:/、!、&&、>=
B:!、&&、/、>=
C:!、/、>=、&&
D:!、/、&&、>=
答案:
第四章 单元测试
1、单选题:
以下程序的执行结果是
选项:
A:9876
B:987
C:8765
D:876
答案:
2、单选题:
对for(表达式1;;表达式3)可理解为
选项:
A:for(表达式1;表达式1;表达式3)
B:for(表达式1;0;表达式3)
C:for(表达式1;1;表达式3)
D:for(表达式1;表达式3;表达式3)
答案:
3、单选题:
若int x=-1;,则语句中循环体的执行次数为
选项:
A:2
B:1
C:无数
D:0
答案:
4、单选题:
对于以下程序段,叙述正确的是
选项:
A:死循环
B:循环体执行一次
C:循环体执行两次
D:有语法错误
答案:
5、单选题:
以下程序中,while循环的执行次数是
选项:
A:2
B:3
C:死循环
D:8
答案:
6、单选题:
下面程序的运行结果是
选项:
A:陷入死循环
B:不输出任何内容
C:55
D:56
答案:
7、单选题:
下面程序的运行结果是
选项:
A:1
2
3
B:1
2
C:1
D:1
2
3
4
答案:
8、单选题:
下面程序段的内循环体要执行的次数是
选项:
A:20
B:15
C:16
D:5
答案:
9、单选题:
下面程序的运行结果是
选项:
A:15
B:0
C:14
D:不确定
答案:
10、单选题:
以下能正确计算10!的程序段是
选项:
A:
B:
C:
D:
答案:
11、单选题:
下列语句中,能正确输出26个英文字母的是
选项:
A:
B:
C:
D:
答案:
12、单选题:
以下描述中正确的是
选项:
A:在do-while循环中,循环体至少执行一次
B:在do-while循环中,循环体内不能使用复合语句
C:do-while 循环由do开始,至while结束,在while(表达式)后面不能写分号
D:在do-while循环中,根据情况可以省略while
答案:
13、单选题:
已知:
int t=0;
while(t=1)
{…}则以下叙述正确的是
选项:
A:循环控制表达式的值为0,不执行循环体
B:全部都不正确
C:循环控制表达式的值为1,执行循环体
D:循环控制表达式不合法
答案:
14、单选题:
语句while(!E){…}中的表达式!E等价于
选项:
A:
B:
C:
D:
答案:
15、单选题:
下面程序的运行结果是
选项:
A:2
B:4
C:3
D:有语法错误
答案:
16、单选题:
下面程序的运行结果是
选项:
A:0
B:2
C:无输出
D:1
答案:
17、单选题:
在以下程序段中,do-while循环的结束条件是
选项:
A:a的值不等于20,或者n的值小于10
B:a的值不等于20,并且n的值小于10
C:a的值等于20,并且n的值大于或等于10
D:a的值等于20,或者n的值大于或等于10
答案:
第五章 单元测试
1、单选题:
对赋值语句int b[10]={1,2,3,4};的正确理解是
选项:
A:将5个初值依次赋给b[1]至b[5]
B:因为数组长度与初值的个数不相同,所以此语句不正确
C:将5个初值依次赋给b[6]至b[10]
D:将5个初值依次赋给b[0]至b[4]
答案:
2、单选题:
C语言的字符串以( )结尾
选项:
A:
B:
C:
D:字符串长度
答案:
3、单选题:
下列不正确的字符串常量是
选项:
A:
B:
C:
D:
答案:
4、单选题:
若有说明:int a[10];,则对a数组元素的正确引用是
选项:
A:a[3.5]
B:
C:a[10]
D:a[5]
5、单选题:
已知:int a[10]={1,2,3,4};,若int型变量占4个字节,则数组a在内存中所占的字节数是
选项:
A:40
B:16
C:20
D:不定
答案:
6、单选题:
以下不正确的定义语句是
选项:
A:
B:
C:
D:
答案:
7、单选题:
已知:int b[3][3]={1,2,3,4,5,6,7,8};,则b[2][1]的值是
选项:
A:5
B:6
C:4
D:8
答案:
8、单选题:
已知:char a[ ]=”Beijing”;,则数组a所占的存储空间为
选项:
A:9个字节
B:6个字节
C:7个字节
D:8个字节
答案:
9、单选题:
以下选项中,不能正确赋值的是
选项:
A:
B:
C:
D:
答案:
10、单选题:
以下定义语句,错误的是
选项:
A:int i=5,a[i];
B:int c[ ]={1,2,0,0,0};
C:int b[3+3];
D:int a[5]={1};
11、单选题:
若有定义:int a[3][4];,则以下对数组a元素的引用错误的是
选项:
A:a[1][2]
B:a[1][4]
C:a[2][3*1]
D:a[3-2][0]
答案:
12、单选题:
以下不能正确定义二维数组的选项是
选项:
A:int b[ ][2]={2,5,3,4};
B:int b[2][2]={{3},{4}};
C:int b[2][2]={{1,2},{2,3}};
D:int b[2][ ]={{1,2}{3,4}};
答案:
13、单选题:
判断字符串x是否大于字符串y,应当使用
选项:
A:
B:
C:
D:
答案:
14、单选题:
将字符串b连接到字符串a之后,应当使用
选项:
A:strcmp(b,a)
B:strcat(b,a)
C:strcpy(a,b);
D:strcat(a,b)
答案:
15、单选题:
设有定义:char a[10];,想要从键盘输入一个字符串给a,应使用
选项:
A:
B:
C:
D:
答案:
16、单选题:
以下程序的输出结果是
选项:
A:5
B:10
C:12
D:6
答案:
17、单选题:
以下程序的输出结果是
选项:
A:3080
B:输出值不定
C:2430
D:1570
答案:
18、单选题:
以下程序的输出结果是
选项:
A:5
B:6
C:10
D:7
答案:
19、单选题:
设有定义:则以下叙述正确的是
选项:
A:数组a和数组b的长度相同
B:数组a和数组b等价
C:数组a的长度大于数组b的长度
D:数组a的长度小于数组b的长度
答案:
20、单选题:
以下语句正确的是
选项:
A:
B:
C:
D:
答案:
21、单选题:
以下定义句错误的是
选项:
A:
B:
C:
D:
答案:
22、单选题:
以下程序的输出结果是
选项:
A:21
B:30
C:18
D:26
答案:
23、单选题:
当执行下面程序时,如果输入abc,则输出结果是
选项:
A:12345abc
B:abcdef
C:12345def
D:abc45def
答案:
24、单选题:
执行下面的程序后,变量k中的值为
选项:
A:不定值
B:0
C:9
D:2
答案:
25、单选题:
以下程序运行结果是
选项:
A:4,7
B:4,8
C:4,10
D:8,8
答案:
26、单选题:
执行下列语句后,变量y的值是
选项:
A:4.0
B:4
C:4.75
D:5
答案:
27、单选题:
以下程序的输出结果是
选项:
A:0,4,8
B:3,6,9
C:2,4,6
D:1,5,9,
答案:
28、单选题:
以下程序的输出结果是
选项:
A:
B:
C:
D:
答案:
29、单选题:
以下程序输出结果是
选项:
A:4
B:0
C:2
D:1
答案:
30、单选题:
选项:
A:1 5 7
B:2 6 8
C:3 6 9
D:1 5 9
答案:
31、单选题:
选项:
A:4 5 6
B:3 4 5
C:7 8 9
D:1 2 3
答案:
32、单选题:
选项:
A:不确定
B:cdef
C:bcde
D:abcd
答案:
第六章 单元测试
1、单选题:
以下关于函数的叙述中正确的是
选项:
A:函数定义与调用都能嵌套
B:函数定义可以嵌套,但函数调用不能嵌套
C:函数定义不能嵌套,但函数调用可以嵌套
D:函数定义与调用都不能嵌套
答案:
2、单选题:
语言程序中函数如果没有返回值,则定义时该函数的返回值类型设为
选项:
A:float
B:double
C:int
D:void
答案:
3、单选题:
以下关于return语句的叙述中,正确的是
选项:
A:没有returm语句的自定义函数在执行结束后不能返回到调用处
B:一个自定义函数中可以根据需要设置多条return语句
C:定义成void类型的函数中可以有带返回值的return语句
D:一个自定义函数中必须有一条retun语句
答案:
4、单选题:
以下函数f()的返回值的类型是
选项:
A:整型
B:空类型
C:双精度型
D:单精度型
答案:
5、单选题:
关于函数调用,下面叙述中正确的是
选项:
A:形参只是形式上的参数,不占用具体存储单元
B:函数的实参和对应的形参,如果名称相同,则它们共占同一存储单元
C:函数的实参和对应的形参共占同一存储单元
D:调用函数时,实参可以是表达式
答案:
6、单选题:
如果实参为变量,则它与形参之间的数据传递方式是
选项:
A:地址传递
B:由用户指定传递方式
C:实参值传给形参,形参值再传回给实参
D:从实参到形参的单向值传递
答案:
7、单选题:
函数和变量的定义如下:则正确的函数调用语句是
选项:
A:
B:
C:
D:
答案:
8、单选题:
若用数组名作为函数实参,则传递给形参的是
选项:
A:数组全部元素的值
B:数组的首地址
C:数组第一个元素的值
D:数组元素的个数
答案:
9、单选题:
以下对函数形参的说明,有语法错误的是
选项:
A:
B:
C:
D:
答案:
10、单选题:
以下程序有语法错误,有关错误原因的正确说法是
选项:
A:函数声明和函数调用语句之间有矛盾
B:变量名不能使用大写字母
C:语句void f_c( );是函数调用语句,不能用void说明
D:函数名不能使用下画线
答案:
11、单选题:
关于函数声明,不正确的说法是
选项:
A:如果调用之前已在主调函数外部进行了函数声明,则调用时不必再作函数声明
B:自定义函数在调用之前,必须进行函数声明,否则编译会出错
C:如果函数定义出现在函数调用之前,则可以省略函数声明
D:标准库函数只需要包含相应的头文件即可,不需要再进行函数声明
答案:
12、单选题:
未指定存储类别的局部变量,其存储类别默认是
选项:
A:auto
B:static
C:extern
D:register
答案:
13、单选题:
以下叙述中不正确的是
选项:
A:形式参数是局部变量
B:在不同函数中可以使用相同的变量名
C:在函数内定义的变量只在本函数内有效
D:在函数内复合语句中定义的变量在本函数内有效
答案:
14、单选题:
在一个源程序文件中定义的全局变量,其默认的有效范围是
选项:
A:在整个main()函数内
B:所有源程序文件
C:从定义变量的位置开始到源程序文件结束
D:本源程序文件的全部范围
答案:
15、单选题:
下列程序的运行结果是
选项:
A:9 49
B:11,31
C:9,49
D:11 31
答案:
16、单选题:
下列程序的运行结果是
选项:
A:8,5
B:9,4
C:8,4
D:9,6
答案:
17、单选题:
下列程序的运行结果是
选项:
A:
B:
C:
D:
答案:
18、单选题:
下列程序的运行结果是
选项:
A:7
B:3
C:2
D:0
答案:
第七章 单元测试
1、单选题:
则下面的叙述中不正确的是
选项:
A:example是结构体类型名
B:struct ex表示结构体类型
C:struct是结构体类型的关键字
D:x,y,z都是结构体成员名
答案:
2、单选题:
则输出结构体成员x值的正确语句是
选项:
A:
B:
C:
D:
答案:
3、单选题:
下列关于结构体的说法错误的是:
选项:
A:结构体是由用户自定义的一种数据类型
B:在定义结构体时,可以对成员进行初始化
C:结构体中成员的数据类型可以是另一个已定义的结构
D:结构体中可设定若干个不同数据类型的成员
答案:
4、单选题:
以下结构体类型说明及结构体变量a,b的定义中,正确的是:
选项:
A:
B:
C:
D:
答案:
5、单选题:
选项:
A:a和b都是结构体成员名
B:struct是结构体类型的关键字
C:struct stu是用户定义的结构体类型名
D:stutype是用户定义的结构体类型名
答案:
6、单选题:
选项:
A:13
B:12
C:4
D:8
答案:
7、单选题:
选项:
A:3
B:6
C:1
D:0
答案:
8、单选题:
选项:
A:
B:
C:
D:
答案:
9、单选题:
C语言规定结构体变量系统分配给它的存储空间是
选项:
A:该结构体中占用最大存储空间的成员所需的存储空间
B:该结构体中第一个成员所需的存储空间
C:该结构体中所有成员所需存储空间的总和
D:该结构体中最后一个成员所需的存储空间
答案:
10、单选题:
当说明一个共用体变量时,系统分配给它的内存是
选项:
A:共用体中最后一个成员所需内存量
B:共用体中第一个成员所需内存量
C:各成员所需内存量的总和
D:成员中占内存量最大者所需的内存量
答案:
11、单选题:
以下对C语言中共用体类型数据的叙述正确的是:
选项:
A:共用体类型定义中不能出现结构体类型的成员
B:可以对共用体变量名直接赋值
C:一个共用体变量中可以同时存放所有成员
D:一个共用体变量中不能同时存放其所有成员
答案:
12、单选题:
选项:
A:
B:
C:
D:
答案:
13、单选题:
选项:
A:a.y =1958
B:birthday.y=1958
C:a.birthday.y =1958
D:y =1958
答案:
第八章 单元测试
1、单选题:
利用C语言的文件操作,可以把数据永久保存在
选项:
A:内存
B:磁盘
C:键盘
D:屏幕
答案:
2、单选题:
若有程序片段 则以下说法中正确的是
选项:
A:如果fp不为NULL,表示文件打开失败
B:fp指向磁盘文件a.txt 所对应的FILE 结构
C:fp指向磁盘文件a.txt的地址
D:可以利用fp指针对文件a.txt进行写操作
答案:
3、单选题:
fopen函数的作用是
选项:
A:向文件写数据
B:将文件的内容读入内存
C:读出文件的大小
D:建立与文件关联的FILE结构体变量并返回该结构体变量的地址
答案:
4、单选题:
已知fp是一个指向已打开文件的指针,ch是一个字符型变量,则ch=fgetc(fp)的作用是:
选项:
A:将ch的值输出到fp所指向的文件中
B:获取键盘输入的字符,并赋值给ch
C:获取fp所指向的文件的当前文件位置指针所指向的一个字节的内容,并赋值给ch
D:获取fp所指向的文件的第一个字节的内容,并赋值给ch
答案:
5、单选题:
若执行fopen函数时发生错误,则函数的返回值是
选项:
A:EOF
B:0
C:1
D:地址值
答案:
6、单选题:
若要用fopen函数打开一个新的二进制文件,该文件要求既能读也能写,则打开方式字符串应是
选项:
A:
B:
C:
D:
答案:
7、单选题:
若以“a+”方式打开一个已存在的文件,则以下叙述正确的是
选项:
A:全部都不正确
B:文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作
C:文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作
D:文件打开时,原有文件内容删除,只可作写操作
答案:
8、单选题:
当顺利执行了文件关闭操作时,fclose函数的返回值是
选项:
A:TURE
B:0
C:1
D:-1
答案:
9、单选题:
已知函数的调用形式:fread (buffer,size,count,fp);其中buffer代表的是
选项:
A:一个指针,指向要读入数据的存放地址
B:一个整型变量,代表要读入的数据项总数
C:一个文件指针,指向要读的文件
D:一个存储区,存放要读的数据项
答案:
10、单选题:
fscanf函数的正确调用形式是
选项:
A:fscanf(文件指针,格式字符串,输入表列)
B:fscanf(格式字符串,输出表列,fp)
C:fscanf (fp,格式字符串,输出表列)
D:fscanf(格式字符串,文件指针,输出表列)
答案:
11、单选题:
fwrite函数的一般调用形式是
选项:
A:fwrite(butter, count, size fp)
B:fwrite(fp, count, size, butter)
C:fwrite(butter, size, count, fp)
D:fwrite(fp, size, count, butter)
答案:
12、单选题:
fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是
选项:
A:只写
B:追加
C:全部都正确
D:读或读写
答案:
13、单选题:
若调用fputc函数输出字符成功,则其返回值是
选项:
A:EOF
B:输出的字符
C:1
D:0
答案:
14、单选题:
fclose函数的作用是
选项:
A:删除文件
B:释放与该文件相关联的FILE结构体变量
C:删除文件中的数据
D:清空文件缓冲区
答案:
15、单选题:
对于下述程序,在方式串分别采用”wt”和”wb”运行时,两次生成的文件TEST的长度分别是
选项:
A:5字节、5字节
B:7字节、5字节
C:7字节、7字节
D:5字节、7字节
答案:
请先
!