第一章 单元测试
1、单选题:
一个C程序可能出现的错误有。
选项:
A:语法错误
B:以上都包括
C:逻辑错误
D:运行错误
答案: 【以上都包括】
2、单选题:
C程序中一般可以包含几个函数。
选项:
A:至少一个
B:1个
C:0个
D:多个
答案: 【至少一个】
3、单选题:
C语言属于程序设计语言的哪个类别?
选项:
A:面向对象语言
B:汇编语言
C:机器语言
D:高级语言
答案: 【高级语言】
4、判断题:
没有语法错误了,程序就是正确的。
选项:
A:对
B:错
答案: 【错】
5、判断题:
一个C程序中可以出现两个main函数。
选项:
A:对
B:错
答案: 【错】
第二章 单元测试
1、单选题:
类型修饰符unsigned不能修饰( )
选项:
A:
char
B:
long int
C:
float
D:
int
答案: 【
float
】
2、单选题:
16位的二进制数可以表示的整数的范围是( )
选项:
A:[-32768,32768]
B:[-32767,32768]
C:[-32767,32767]
D:
[-32768,32767]
答案: 【
[-32768,32767]
】
3、单选题:
C语言中的实型数据包括( )
选项:
A:float和double
B:float和char
C:int和double
D:int和float
答案: 【float和double】
4、单选题:
以下不合法的字符常量是( )
选项:
A:’A’
B:’ab’
C:’
‘
D:’2’
答案: 【’ab’】
5、单选题:
在以下各组标识符中,均是合法的C语言标识符是( )
选项:
A:A_4d,_student,xyz_abc,if
B:auto,12-a,a_b,ab5.x
C:abc,A_4d,_student,xyz_abc
D:abc,a_b,union,scan
答案: 【abc,A_4d,_student,xyz_abc】
6、单选题:
在C语言中,要求参加运算的数必须是整数的运算符是( )
选项:
A:++
B:/
C:*
D:%
答案: 【%】
7、单选题:
若有定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为( )
选项:
A:int
B:float
C:char
D:double
答案: 【double】
8、单选题:
设有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )
选项:
A:3.5
B:2.75
C:2.5
D:0.0
答案: 【2.5】
9、单选题:
若有定义:double x=1,y;执行语句y=x+3/2;,则y的值是( )
选项:
A:2
B:1
C:2.5
D:2.0
答案: 【2】
10、单选题:
设int a=1,b=2;以下选项中不正确的语句是( )
选项:
A:a*3=3
B:a/=1
C:a+=3
D:a=a+b
答案: 【a*3=3】
第三章 单元测试
1、单选题:
算法描述可以有多种表达方法,下面( )方法不可以描述算法。
选项:
A:N-S图
B:机器语言
C:自然语言
D:伪代码
答案: 【机器语言】
2、单选题:
执行以下程序后k的值是( )int i,j=10,k=0;for(i=0;i<=j;i++) {k=i+j;j–;}
选项:
A:11
B:9
C:8
D:10
答案: 【10】
3、单选题:
设int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为( )
选项:
A:2
B:0
C:1
D:3
答案: 【2】
4、单选题:
表示y在(-∞,3]和[23,+∞)范围内为真的表达式为( )
选项:
A:(y<3)&&(y>23)
B:(y<=3)||(y>=23)
C:(y<=3)&&(y>=23)
D:(y<3)||(y>23)
答案: 【(y<=3)||(y>=23)】
5、单选题:
已知int x=10,y=20,z=30;则执行以下语句后x、y、z的值是( )if(x>y) z=x; x=y; y=z;
选项:
A:x=20,y=30,z=10
B:x=20,y=30,z=20
C:x=20,y=30,z=30
D:x=10,y=20,z=30
答案: 【x=20,y=30,z=30】
6、单选题:
设有声明语句:int a=1,b=0;则执行以下语句后输出结果为( )switch(a){ case 1: switch(b) { case 0:printf(“**0**”);break; case 1:printf(“**1**”);break; } case 2:printf(“**2**”);break;}
选项:
A:**0****1****2**
B:**0**
C:有语法错误
D:**0****2**
答案: 【**0****2**】
7、单选题:
设有以下程序,若要使程序的输出值为2,则应该从键盘给n输入的值是( )void main(){ int s=0,a=1,n; scanf(“%d”,&n); do {s=s+1; a=a-2; }while(a!=n); printf(“%d “,s);}
选项:
A:-3
B:-5
C:0
D:-1
答案: 【-3】
8、单选题:
for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是( )
选项:
A:9
B:3
C:2
D:8
答案: 【3】
9、单选题:
以下程序段的输出结果是( )int x=5;if(x–<5) printf(“%d”,x);else printf(“%d”,x++);
选项:
A:3
B:6
C:4
D:5
答案: 【4】
10、单选题:
对下面程序段,描述正确的是( )for(t=1;t<=100;t++){ scanf(“%d”,&x); if(x<0) continue; printf(“%d “,x);}
选项:
A:当x>=0时,什么也不输出
B:最多允许输出100个非负整数
C:当x<0时,整个循环结束
D:printf函数永远也不执行
答案: 【最多允许输出100个非负整数】
第四章 单元测试
1、单选题:
包含标准库函数scanf声明的头文件是( )
选项:
A:time.h
B:stdlib.h
C:stdio.h
D:math.h
答案: 【stdio.h】
2、单选题:
以下关于函数的叙述中正确的是( )
选项:
A:C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
B:C语言程序将从源程序中第一个函数开始执行
C:可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
D:main可作为用户标识符,用以定义任意一个函数
答案: 【C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束】
3、单选题:
以下关于函数的叙述中不正确的是( )
选项:
A:C程序是函数的集合,包括标准库函数和用户自定义函数
B:在C语言程序中,函数的调用可以嵌套
C:在C语言程序中,函数的定义不能嵌套
D:在C语言程序中,被调用的函数必须在main函数中定义
答案: 【在C语言程序中,被调用的函数必须在main函数中定义】
4、单选题:
以下不正确的说法是( )
选项:
A:形式参数是局部变量
B:在函数内定义的变量只在本函数范围内可以使用
C:在不同函数中可以使用相同名字的变量
D:在主函数内定义的变量可在其余函数中通用
答案: 【在主函数内定义的变量可在其余函数中通用】
5、单选题:
以下正确的函数定义是( )
选项:
A:double fun(int x,int y) { double z; z=x+y; return z; }
B:double fun(int x,int y) { z=x+y; return z; }
C:fun(int x,y) { int z; return z; }
D:fun(x,y){ int x,y; double z; z=x+y; return z; }
答案: 【double fun(int x,int y) { double z; z=x+y; return z; } 】
6、单选题:
C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( )
选项:
A:单向值传递
B:由用户指定传递方式
C:地址传递
D:由实参传给形参,再由形参传回实参
答案: 【单向值传递】
7、单选题:
下列程序的运行结果是( )#include <stdio.h> void fun(); int main() { int a=10; fun(); printf(“%5d”,a); return 0; } void fun() { int a=20; printf(“%5d”,a);}
选项:
A:10 10
B:20 20
C:10 20
D:20 10
答案: 【20 10】
8、单选题:
下列程序的运行结果是( )#include <stdio.h>void fun(); int a=5; int main() { int a=10; fun(); printf(“%5d”,a); return 0; } void fun() { a=a+5; printf(“%5d”,a);}
选项:
A:10 5
B:10 10
C:5 10
D:5 5
答案: 【10 10】
9、单选题:
以下正确的描述是( )
选项:
A:函数的定义和函数的调用均可以嵌套
B:函数的定义和函数的调用均不可嵌套
C:函数的定义不可以嵌套,但函数的调用可以嵌套
D:函数的定义可以嵌套,但函数的调用不可以嵌套
答案: 【函数的定义不可以嵌套,但函数的调用可以嵌套】
10、单选题:
下列程序的运行结果是( )#include <stdio.h>int fun1(int x); void fun2(); int x=5; int main() { int x=1; x=fun1(x); printf(“%d”,x); return 0; } int fun1(int x) { x++; fun2(); return x; } void fun2() { x++;}
选项:
A:6
B:5
C:2
D:7
答案: 【2】
第五章 单元测试
1、单选题:
C语言中,由固定数目的同类型的变量按一定顺序排列而构成的是( )。
选项:
A:
结构体
B:
队列
C:
数组
D:
链表
答案: 【
数组
】
2、单选题:
当数据已知的情况下,可以在定义数组时,对数组进行初始化,但不可( )。
选项:
A:对部分元素赋初值
B:在方括号中写入变量表达式
C:对全部元素赋初值
D:对数组元素赋同一初值
答案: 【在方括号中写入变量表达式】
3、单选题:
数组元素下标可从( )开始。
选项:
A:0
B:任意自然数
C:1
D:用户指定
答案: 【0】
4、单选题:
冒泡排序中,若有n个数,第一趟最多需要比较( )次。
选项:
A:2n
B:n-1
C:2(n-1)
D:n
答案: 【n-1】
5、单选题:
利用冒泡排序得到升序排列,每一趟中从前到后遍历数组,将相邻两个数作比较,如果前面的数小于后面的数,则( )。
选项:
A:交换两个数的位置
B:不做操作
C:将当前数据后移
D:将当前数据前移
答案: 【不做操作】
6、单选题:
若不允许函数修改数组元素,则可以用( )限定符作为数组参数的前缀,这样数组元素就成为函数中的常量。
选项:
A:include
B:fix
C:const
D:define
答案: 【const 】
7、单选题:
在定义int m[ ][3]={1,2,3,4,5,6};后,m[1][0]的值是( )。
选项:
A:5
B:4
C:2
D:1
答案: 【4 】
8、单选题:
若给出以下定义: char x[ ]=”abcdefg”;char y[ ]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’}; 则正确的叙述为( )。
选项:
A:数组x和数组y的长度相同
B:数组x的长度小于数组y的长度
C:数组x的长度大于数组y的长度
D:数组x和数组y等价
答案: 【数组x的长度大于数组y的长度】
9、单选题:
函数调用语句为:int a[10],maxnum;…maxnum=max(a);函数定义首部应为( )。
选项:
A:int max(int a)
B:int max(int b[])
C:int max(int b)
D:double max(int b[])
答案: 【int max(int b[]) 】
10、单选题:
若有定义:int b[3][4]={0};则下述正确的是( ) 。
选项:
A:数组b中各元素均为0
B:数组b中各元素可得初值但值不一定为0
C:没有元素可得初值0
D:此定义语句不正确
答案: 【数组b中各元素均为0】
第六章 单元测试
1、单选题:
在16位系统中,定义以下结构体类型struct s{ int a; char b; float f;};则语句printf(“%d”,sizeof(struct s))的输出结果为()。
选项:
A:4
B:6
C:7
D:3
答案: 【7】
2、单选题:
以下选项中不能正确把cl定义成结构体变量的是()。
选项:
A:struct color cl
{ int red;
int green;
int blue;
};
B:struct
{int red;
int green;
int blue;
}c1;
C:typedef struct
{int red;
int green;
int blue;
} COLOR;
COLOR cl;
D:struct color
{ int red;
int green;
int blue;
}cl;
答案: 【struct color cl
{ int red;
int green;
int blue;
};
】
3、单选题:
当定义一个结构体变量时,系统为它分配的内存空间是()
选项:
A:结构中一个成员所需的内存容量
B:结构体中占内存容量最大者所需的容量
C:结构中各成员所需内存容量之和
D:结构中第一个成员所需的内存容量
答案: 【结构中各成员所需内存容量之和】
4、单选题:
根据下面的定义,能打印出字母M的语句是_____。 struct person { char name[9]; int age;};struct person classes[10]={“John”,17, “Paul”,19,”Mary”,18, “Adam”,16};
选项:
A:printf(“%c”,classes[2].name[0]);
B:printf(“%c”,classes[2].name[1]);
C:printf(“%c”,classes[3].name);
D:printf(“%c”,classes[3].name[1]);
答案: 【printf(“%c”,classes[2].name[0]);】
5、单选题:
不可以作为函数参数的有()。
选项:
A:结构体数组元素
B:结构体变量整体
C:结构体数组名
D:结构体数组整体
答案: 【结构体数组整体】
6、单选题:
结构体变量整体作函数参数时,以下说法正确的是()。
选项:
A:结构体变量整体不能做形参
B:以上说法都不对,不能整体作为函数参数
C:实参结构体变量和形参结构体变量的类型应当一致。
D:结构体变量整体不能做实参
答案: 【实参结构体变量和形参结构体变量的类型应当一致。】
7、单选题:
已知字符’0’的ASCII码为十六进制的30H,下面程序的输出是()。void main(){ union { unsigned char c;unsigned int i[4];} z;z.i[0]=0x39;z.i[1]=0x36;printf(“%c”,z.c);}
选项:
A:0
B:3
C:9
D:6
答案: 【9】
8、单选题:
在下面的叙述中,不正确的是()。
选项:
A:枚举常量表中的元素有先后次序,可以进行比较。
B:可以在定义枚举类型时对枚举常量进行指定表示的值。
C:枚举常量的值可以是整数或字符串。
D:枚举变量只能取对应枚举类型的枚举常量表中的元素。
答案: 【枚举常量的值可以是整数或字符串。】
9、单选题:
设有以下语句typedef struct S{ int g; char h;} T;则下面叙述中正确的是( )。
选项:
A:可用S定义结构体变量
B:S是struct类型的变量
C:可以用T定义结构体变量
D:T是struct S类型的变量
答案: 【可以用T定义结构体变量】
10、单选题:
以下叙述中错误的是()。
选项:
A:用typedef可以为各种类型起别名,但不能为变量起别名
B:可以用typedef将已存在的类型用一个新的名字来代表
C:用typedef定义新的类型名后,原有类型名仍有效
D:可以通过typedef增加新的类型
答案: 【可以通过typedef增加新的类型】
第七章 单元测试
1、单选题:
系统根据( )为变量分配内存单元。
选项:
A:数据
B:大小
C:类型
D:名称
答案: 【类型】
2、单选题:
程序编译后,对变量的访问是通过( )来进行的。
选项:
A:地址
B:文件
C:变量名
D:函数
答案: 【地址】
3、单选题:
int a[5]={ 10,20,30,40,50 }, *p=a;printf(“%d”,*p+1);结果是( )。
选项:
A:20
B:10
C:11
D:21
答案: 【11】
4、单选题:
若int *p[4],则p的含义是( )。
选项:
A:整型变量
B:指向一维分数组的指针
C:指针数组
D:指向整型的指针
答案: 【指针数组】
5、单选题:
请正确的填充语句:void main( int argc, char ( ) )
选项:
A:argv[ ]
B:**argv[ ]
C:argv
D:*argv[ ]
答案: 【*argv[ ]】
6、单选题:
定义p为指向函数的指针变量,应该采用( )方式。
选项:
A:int (*p)( int x )
B:int *p ( int *x )
C:int p ( int *x )
D:int p( int x )
答案: 【int (*p)( int x )】
7、单选题:
获取指针变量所指向的值,用的运算符是( )。
选项:
A:&
B: *
C:!
D:%
答案: 【 *】
8、单选题:
int a[10], *p;则让p指向数组的首地址的是( )。
选项:
A:p=a[0]
B:p=&a[0]
C:*p=a
D:a=p
答案: 【p=&a[0]】
9、单选题:
数组名是表示数组首地址的地址( )。
选项:
A:结构体
B:别名
C:常量
D:变量名
答案: 【常量】
10、单选题:
int a[3][5], *p;p=a[0];则p++后的值代表了( )。
选项:
A:第一个元素的值
B:第一个元素的首地址
C:第二行的首地址
D:第一行第二个元素的首地址
答案: 【第一行第二个元素的首地址】
第八章 单元测试
1、单选题:
将文件分为ASCII码文件和二进制码文件两种,是从文件的( )来区分的。
选项:
A:存盘方式
B:读写方式
C:打开方式
D:编码方式
答案: 【编码方式】
2、单选题:
文本文件在磁盘存放时,每个字符对应一个字节,用来存放( )码。
选项:
A:字符
B:二进制
C:数字
D:ASCII
答案: 【ASCII】
3、单选题:
文件操作流程中的最后一个步骤是( )文件。
选项:
A:关闭
B:读取
C:打开
D:存储
答案: 【关闭】
4、单选题:
文件的变量类型名是( )。
选项:
A:int
B:file
C:FILE
D:char
答案: 【FILE】
5、单选题:
在fopen函数中,“rb”表示为输入打开一个( )文件
选项:
A:目标文件
B:文本
C:头文件
D:二进制
答案: 【二进制】
评论0