第一章 单元测试
1、单选题:
在C语言中,下面标识符非法的是( )。
选项:
A:_name
B:SUM
C:abc3
D:sum&
答案: 【sum&】
2、单选题:
C语言源程序要正确地运行,必须要有( )。
选项:
A:Printf函数
B:main函数
C:scanf函数
D:自定义函数
答案: 【main函数
】
3、单选题:
一个C 语言程序是由( )。
选项:
A:一个主程序和若干子程序组成
B:函数组成
C:若干过程组成
D:若干子程序组成
答案: 【函数组成】
4、单选题:
C语言中数据的基本类型包括( )。
选项:
A:整型、实型、字符型
B:整型、实型、字符型和结构体
C:整型、实型
D:整型、实型、字符型和指针型
答案: 【整型、实型、字符型】
5、单选题:
C 语言规定:在一个源程序中,main函数的位置( )
选项:
A:必须在最开始
B:必须在系统调用的库函数的后面
C:可以任意
D:必须在最后
答案: 【可以任意】
第二章 单元测试
1、单选题:
若变量a是int类型,并执行了语句:a=’A’+1.6;,则对于运算后变量a正确的叙述是( )
选项:
A:a的值是浮点型
B:a的值是整型
C:a的值是字符型
D:不允许字符型和浮点型相加
答案: 【a的值是整型】
2、单选题:
若有定义:int a=8,b=5,c; ,执行语句c=a/b+0.4;后,c的值为( )
选项:
A:1.4
B:1
C:2
D:2.0
答案: 【1】
3、单选题:
如果有定义: int k=8 ,x=13;表达式的值为2的是( )
选项:
A:x%=(k%=5)
B:x%=(k-k%5)
C:x%=k-k%5
D:(x%=k)-(k%=5)
答案: 【(x%=k)-(k%=5)】
4、单选题:
已知字母’A’的ASCII码为十进制数65,变量ch1为字符型,则执行语句ch1=‘A’+‘5’-‘2′;后,ch1中的值是( )。
选项:
A:’D’
B:67
C:’C’
D:不确定
答案: 【’D’】
5、单选题:
若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是( )
选项:
A:2
B:2.0
C:1
D:2.5
答案: 【2.0】
6、单选题:
以下关于标识符的说法错误的是( )。
选项:
A:标识符由字母、数字和下划线组成
B:标识符不能与系统的关键字同名
C:首字符必须是字母或下划线
D:不区分大小写,s和S是同一个变量
答案: 【不区分大小写,s和S是同一个变量】
第三章 单元测试
1、单选题:
函数putchar()可以输出一个( )。
选项:
A:整型变量表达式值
B:实型变量值
C:字符串
D:字符或字符型变量值
答案:
2、单选题:
若定义x为double型变量,则能正确输入x值的语句是( )
选项:
A:scanf(“%f”,x);
B:scanf(“%f”,&x);
C:scanf(“%lf”,&x);
D:scanf(“%5.1f”,&x);
答案:
3、单选题:
已m,n,k为int型变量,若从键盘输入:5,6,7<回车>,使m的值为5,n的值为6,k的值为7,则输入语句正确的是( )。
选项:
A:scanf(“%2d%2d%2d”,&i,&j,&k);
B:scanf(“%d_%d_%d”,&i,&j,&k);
C:scanf(“%d,%d,%d”,&i,&j,&k);
D:scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
答案:
4、单选题:
#include<stdio.h> void main() { int i,j; scanf(“%3d%2d”,&i,&j); printf(“i=%d,j=%d”,i,j); } 如果从键盘上输入1234567<回车>,则程序的运行结果是( ).
选项:
A:i=123,j=4567
B:i=1234,j=567
C:i=1,j=2
D:i=123,j=45
答案:
5、判断题:
输入函数scanf()和输出函数printf()一定是在stdio.h文件中定义的。
选项:
A:对
B:错
答案:
第四章 单元测试
1、单选题:
在结构化程序设计中,不包含下列哪种结构( )
选项:
A:嵌套结构
B:循环结构
C:顺序结构
D:分支结构
答案:
2、单选题:
设x=3,y=-4,z=6,写出表达式 !(x>y)+(y!=z)||(x+y)&&(y-z) 的结果 ( )
选项:
A:0
B:1
C:2
D:-1
答案:
3、单选题:
下关于运算符优先顺序的描述中正确的是( )
选项:
A:关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符
B:逻辑运算符< 关系运算符< 算术运算符< 赋值运算符
C:赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
D:算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符
答案:
4、单选题:
C语言对嵌套if语句的规定是:else总是与( )
选项:
A:其之前最近的if配对
B:第一个if配对
C:缩进位置相同的if配对
D:其之前最近的且尚未配对的if配对
答案:
5、单选题:
当a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少( )if (a>c) {a=b; b=c; c=a;}else {a=c; c=b; b=a;}printf(“%d,%d,%d”,a,b,c);
选项:
A:5,4,5
B:5,5,4
C:3,4,5
D:5,4,3
答案:
第五章 单元测试
1、单选题:
在C语言中,在do-while循环结构的条件控制语句while(表达式)中的表达式为( )时,循环可以反复执行。
选项:
A:0
B:1
C:true
D:false
答案:
2、单选题:
假设i和x都是int类型,则以下for循环的循环体执行次数是( )for(i=0,x=0;i<=9&&x!=876;i++) scanf(“%d”,&x);
选项:
A:最多执行10次
B:最多执行9次
C:是无限循环
D:循环体一次也不执行
答案:
3、单选题:
以下程序段的执行结果是( ). int i,j,m=0; for(i=1;i<=15;i+=4) { for(j=3;j<=19;j+=4) m++; }printf(“%d”,m);
选项:
A:12
B:15
C:20
D:25
答案:
4、判断题:
break语句可以中断循环,执行循环的下一条语句。
选项:
A:对
B:错
答案:
5、判断题:
do-while语句中的循环体一般不能是复合语句。
选项:
A:对
B:错
答案:
第六章 单元测试
1、单选题:
若调用一个函数,且此函数中没有return语句,则正确的说法是( )
选项:
A:该函数没有返回值
B:函数返回若干个系统默认值
C:能返回一个用户所希望的函数值
D:返回一个不确定的值
答案:
2、单选题:
在C程序中,下面描述正确的是( )
选项:
A:函数的定义可以嵌套,但函数的调用不可以嵌套
B:函数的定义不可以嵌套,但函数的调用可以嵌套
C:函数的定义和函数调用都可以嵌套
D:函数的定义和调用都不可以嵌套
答案:
3、单选题:
以下关于函数调用时参数的叙述中,错误的是( )。
选项:
A:函数未被调用时,系统将不为形参分配内存单元
B:实参与形参的个数应相等,且实参与形参的类型必须对应一致
C:当形参是变量时,实参可以是常量、变量或表达式
D:形参可以是常量、变量或表达式
答案:
4、单选题:
C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是 ( )。
选项:
A:参数的形实结合
B:函数返回值
C:全局变量
D:同名的局部变量
答案:
5、判断题:
C语言中实参和形参之间的数据传递是单向的“值传递”,只能由实参传给形参,反之不行。
选项:
A:对
B:错
答案:
第七章 单元测试
1、单选题:
若有说明:int a[3][4]={1};则下面正确的叙述是( )。
选项:
A:只有元素a[0][0]可得到初值1
B:此说明语句不正确
C:数组a中各元素都可得到初值,其值一定都为1
D:数组a中各元素都可得到初值,其值一定都为0
答案:
2、单选题:
在C语言中,一维数组的定义方式为:类型说明符 数组名( )。
选项:
A:[常量表达式]
B:[整型表达式]
C:[整型表达式或整型常量]
D:[整型常量表达式或整型常量]
答案:
3、单选题:
若有定义:int a[3][4],则对数组a元素的正确引用是( )
选项:
A:a[2][3]
B:a[1,3]
C:a(2,3)
D:a[2][4]
答案:
4、单选题:
若有说明:int b[4][5];则数组b各元素( )
选项:
A:可在程序的运行阶段得到初值0
B:可在程序的编译阶段得到初值0
C:不能得到确定的初值
D:可在程序的编译或运行阶段得初值0
答案:
5、判断题:
在C语言中,数组名的命名规则与其它变量名相同。数组名后只能用圆括号括起来的常量表达式。
选项:
A:对
B:错
答案:
6、判断题:
在二维数组a[2][3]中,a[1][1]是第5个元素。
选项:
A:对
B:错
答案:
第八章 单元测试
1、单选题:
以下对指针定义合法的语句是( )
选项:
A:int *p=&x=3;
B:int y[5]={1,2,3,4,5},*p=&y;
C:char ch[12]=″Hello World″,*c=ch;
D:char *c,c=‘x’,c=&c;
答案:
2、单选题:
若有定义int a[10],*p=a;,则p+5表示( )
选项:
A:元素a[5]的地址
B:元素a[5]的值
C:元素a[6]的地址
D:元素a[6]的值
答案:
3、单选题:
有以下程序段 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3], b; b=p[5]; b中的值是( )
选项:
A:5
B:6
C:8
D:9
答案:
4、单选题:
若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是( )
选项:
A:p=2*(int*)malloc(sizeof(int));
B:p=(int*)malloc(2*sizeof(int));
C:p=(int*)malloc(2*2);
D:p=(int*)calloc(2,sizeof(int));
答案:
5、单选题:
以下程序的输出结果是()
void fun(int *x, int *y)
{
printf(“%d%d”, *x, *y);
*x=3; *y=4;
}
int main(void)
{
int x=1, y=2;
fun(&y, &x);
printf(“%d%d”, x,y);
}
选项:
A:2143
B:1212
C:1234
D:2112
答案:
第九章 单元测试
1、单选题:
若有以下结构体定义,则用( )赋值是正确的。 struct s { char x; int y; }t;
选项:
A:s.x=10
B:s.t.x=10
C:t.x=10
D:struct s st={10}
答案:
2、单选题:
若struct student { int num; int age; }stu[3]={{1001,18},{1002,19},{1003,20}};则下面语句中引用非法的是( )
选项:
A:stu[0].num
B:stu[1].age
C:stu[2].age
D:stu[3].num
答案:
3、单选题:
struct teacher { int num; int age; }tea_1;struct teacher *p=tea_1;下面语句中引用非法的是( )
选项:
A:p->num
B:p=&tea_1.age
C:(*p).num
D:tea1.age
答案:
4、单选题:
如果有typedef struct student { int s; char t; }T;则下面的描述正确的是()
选项:
A:T是结构体类型的别名
B:T是变量名
C:Student是变量名
D:可以使用T.s引用成员
答案:
5、判断题:
共同体变量每次只能使用其中一个分量。
选项:
A:对
B:错
答案:
6、判断题:
可以对共同体变量的所有成员进行初始化。
选项:
A:对
B:错
答案:
7、判断题:
每一个枚举元素都有一个确定的整型数值。
选项:
A:对
B:错
答案:
评论0