C语言在线测试题目及答案Word文档下载推荐.docx
- 文档编号:20825594
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:18
- 大小:21.19KB
C语言在线测试题目及答案Word文档下载推荐.docx
《C语言在线测试题目及答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言在线测试题目及答案Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
B、更容易阅读
C、目标代码质量较高
D、能够进行位操作
5、有关结构化程序设计,正确的说法是()。
BC
A、每个算法都必须包含三种基本结构
B、每个结构化的算法都可以归结为三种基本结构
C、三种基本结构可以相互嵌套
D、三种基本结构可以交叉设计
第三题、判断题(每题1分,5道题共5分)
1、C语言程序的基本单位是函数。
√
2、一个C程序的执行是从main()函数开始,直到最后一个函数结束。
×
3、char类型的变量只能存放一个字符。
4、int类型的数据范围不可能比float类型的大。
5、链接是将源程序、目标程序和库函数链接到一起,生成可执行程序。
第四章、第五章
1、设x和y均为int型变量,则以下语句:
x=xy;
y=x-y;
x=x-y;
的功能是:
A、把x和y按从大到小排列B、把x和y按从小到大排列
C、x中为原来x和y的值的和D、交换x和y中的值
2、已说明inta=256,执行语句printf(”%x”,a);
的结果是:
A
A、100B、256
C、0ffeD、00ff
3、已有intx=2,y=7;
则printf("
%d"
xy==6);
的输出结果是:
A、0B、3
C、9D、2
4、设intx=10,y=3,则语句printf(“%d%d\n”,xy,x-y);
的输出结果是():
C
A、10,3B、13,7
C、137D、103
5、已知:
inti;
charc;
floatf;
以下表达式中值为整型的算数表达式是()。
A、ifB、i*c
C、cfD、icf
第二题、多项选择题(每题2分,5道题共10分)ABD
1、以下合法的表达式是:
A、x=y=200
B、5(x=10)
C、5x=10
D、yx==10
2、不能正确表示条件x≥y≥z的C语言表达式是:
A、(x>=y)&
(y>=z)
B、(x>=y)&
&
C、(x>=y).AND.(y>=z)
D、(x>=y>=z)
3、设有说明语句:
chara=ˊ\72ˊ;
,则变量a包含的字符数为:
A、1个字符
B、2个字符
C、3个字符
D、0个字符
4、下列属于C语言标准库函数的为()。
ABCEF
A、sin()
B、sqrt()
C、log10()
D、ln()
E、pow()
F、isalpha()
5、已知“intn;
”。
若通过scanf函数为变量n输入值,则合法的输入格式控制符为()。
ACDE
A、%d
B、%f
C、%o
D、%x
E、%c
F、%g
1、逻辑关系“a≥10或a≤0”正确表示的C语言表达式是:
a>=10ora<=0。
2、算术运算符的结合方向均为自左至右。
3、赋值运算符的优先级低于所有的算术运算符。
4、若有intx=5;
,则(float)x就把x转换为float类型了。
5、强制类型转换,并不改变原表达式本身的类型。
第六章、第七章
1、下面循环语句中inta,b;
for(a=0,b=1;
a<=b2;
a=a2,b=b-1)printf(“%d”,a);
,循环体的执行次数为:
A、3B、2
C、1D、0
2、以下程序的输出结果是:
main(){intx;
for(x=1;
x<10;
x=x1)for(x=10;
x=x1);
printf("
%d\n"
x);
}A
A、11B、10
C、12D、9
3、以下程序的输出结果是:
main(){intnum=0;
while(num<=2){num=num1;
printf(“%d”,num);
}}B
A、1234B、123
C、12D、1
4、下列运算符中,优先级最高的是()。
A、B、>
C、&
D、=
5、表达式10==9的值是()。
A、trueB、2
C、0D、1
1、下列属于结构化程序设计基本结构的是:
ABCD
A、顺序结构、选择结构
B、顺序结构、循环结构
C、选择结构、循环结构
D、顺序结构、选择结构、循环结构
2、对于C语言的for循环来讲,下列正确的说法为:
A、第一表达式不能放到循环前执行;
B、第二表达式不能放到循环前执行;
C、第三表达式不能放到循环前执行;
D、第三表达式不能放到循环体中执行。
3、设inta=3,b=4,c=5;
,则下面的表达式中,值为0的表达式是()。
A、a>
b
B、a<=b
C、(a||b)>c
D、a<=(b||c)
E、!
((a<b)&
!
c||b)
4、当c的值不为0时,则在下列选项中,能正确将c的值赋给变量a、b的是()。
AC
A、b=a=c;
B、(a=c)‖(b=c);
C、(a=c)&
(b=c);
D、a&
5、下列说法中正确的是()。
ABCDE
A、for循环完全可以用while循环替代。
B、while循环完全可以用do{}while循环替代。
C、while循环完全可以用for循环替代。
D、do{}while循环完全可以用while循环替代。
E、do{}while循环和while循环均完全可以用for循环替代。
1、在C语言循环结构中,continue的作用是继续当次循环,break的作用是终止当次循环。
2、当型循环的循环体可能一次也不执行,直到型循环则至少执行一次。
3、while语句和switch语句中都可以使用break。
4、for循环的第二表达式省略,将会导致死循环。
5、三种循环可以绝对地互相嵌套。
第八章、第九章、第十章
1、下列描述中,合法的数组定义是:
A、inta[]={"
String"
};
B、inta[5]={0,1,2,3,4,5};
C、chara={"
D、chara[]={0,1,2,3,4,5};
2、在定义inta[2][3];
之后,下列使用正确的是:
A、a(1,2)B、a[1,3]
C、a[2][0]D、a[1>2][!
1]
3、若有定义inta[10];
,则对数组a的引用正确的是()。
A、a[10]B、a[6.3]
C、a(6)D、a[10-10]
4、若有inta[4][5];
,则数组a包含的元素个数是()。
A、25B、9
C、12D、20
5、若有inta[][3]={1,2,3,4,5,6,7,8,9,10,11,12};
,则数组a的第1维的长度为()。
A、2B、3
C、4D、5
1、下列对C语言字符数组的描述中,正确的描述是:
ABC
A、字符数组可以存放字符串
B、字符数组中的字符串可以整体输入、输出
C、不可以用关系运算符对字符数组中的字符串进行比较
D、可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
2、根据定义:
structperson{charname[9];
intage;
structpersonc[10]={"
John"
17,"
Paul"
19,"
Mary"
18,"
Adam"
16};
能打印出字母M的语句是:
CD
A、printf("
%s"
c[0].name);
B、printf("
c[1].name[0]);
C、printf("
c[2].name[1]);
D、printf("
c[3].name[2]);
3、若形参是简单变量形式,则对应的实参可以是:
A、常量
B、数组名
C、简单变量
D、数组元素
4、下列描述中,不能正确给字符数组str定义和赋值的是()。
A、charstr[]={"
abcdefghijklmn"
B、charstr[10];
str={"
abcdefghijklmn"
C、charstr[10]={"
abcdefghijklmn"
D、charstr[10];
strcpy(str,"
);
5、在定义inta[2][3];
之后,对数组a的引用错误的是()。
A、a(1,2)
B、a[1,3]
C、a[2][0]
D、a[1>2][!
1、函数中的形参和调用时的实参都是变量时,传递方式为值传递。
2、若有func((v1,v2),(v3,v4,v5),v6)调用,说明函数func有6个形参。
3、在说明一个结构体变量时系统分配给它的存储空间是该结构体中所有成员所需存储空间的总和。
4、可以在定义数组时只给一部分数组元素赋值。
5、对数组元素赋予的初值可以依次放在一对圆括号内。
第十一章、第十二章
1、若执行fopen函数时发生错误,则函数的返回值是()B
A、地址值B、0
C、1D、EOF
2、已知定义“intx=1,*p”,则合法的赋值表达式是()。
A、p=&
xB、p=x
C、*p=&
xD、*p=*x
3、在C语句中,&
后跟指针变量名,表示该指针变量的(()。
A、值B、别名
C、地址D、类型
4、若有inta=3,*pa;
floatf=4.5,*pf=&
f;
,则下列表述中,错误的是()。
A、pa=&
aB、pa=&
f
C、pf=&
fD、*pf=af
5、若有inta[10],*p=a;
,则()。
A、p可以使p指向下一个字节B、p=2相当于p=sizeof(a)/10
C、p可以使p指向下一个元素,即a[1]的首地址D、p=2可以使p指向下一个元素,即a[1]的首地址
1、C语言中的文件分类是:
AD
A、文本文件和数据文件
B、文本文件和二进制文件
C、数据文件和二进制文件
D、顺序文件和随机文件
2、以读写方式打开一个二进制文件fil2,fopen函数的正确的调用方式是:
A、FILE*FP;
FP=fopen("
fil2"
"
r"
B、FILE*FP;
rb"
C、FILE*FP;
wb"
D、FILE*FP;
rb"
3、若有intx=3,*px;
floaty=3,*py;
,则正确的赋值表达式是()。
A、px=&
x
B、py=&
C、px=&
y
D、py=&
4、设有定义语句“intx=10,*p=&
x”,则表达式的值为10的有()。
BCDE
A、p
B、*p
C、*&
D、*p=x
E、x=*p
5、设有定义语句“struct{inta;
floatb;
charc;
}abc,*p;
”,则对结构体成员a的引用可以是()。
A、abc.a
B、abc->a
C、(*p).a
D、p->
a
1、单目运算符“&
”是指针运算符。
2、函数调用语句fseek(fp,-10L,2)的含义是将文件位置指针从当前位置向文件头方向移10个字节。
3、函数中的形参若为指针,则调用时对应位置上的实参不能是数组名。
4、单目运算符“*”是取地址运算符。
5、共用体变量的存储单元长度是最长分量的存储长度。
第十三章、第十四章
1、以下程序:
main(){intx=5;
if(x--<5)printf(“%d\n”,x);
elseprintf(“%d\n”,x);
},程序运行后,输出结果是:
A、3B、4
C、5D、6
2、若intw=1,x=2,y=3,z=4;
则条件表达式“w>x?
w:
y<z?
y:
z”的结果为:
B
A、4B、3
C、2D、1
3、在函数中定义变量时,若省略存储类型符,系统默认存储类别为()。
A、自动B、静态
C、外部D、寄存器
4、在C语言程序中,当调用函数时,正确的是()。
A、形参不需要分配存储单元B、内部变量开始占用存储单元
C、外部变量开始占用存储单元D、全局变量开始占用存储单元
5、下列选项中属于三元运算的运算符有()。
A、条件运算符B、赋值运算符
C、逗号运算符D、自增运算符
1、以下不合法的赋值语句是:
A、x=y=100;
B、d5=10;
C、xy=100;
D、c=int(ab);
2、如果全局的外部变量和函数体内定义的局部变量重名,则错误说法为:
A、出错
B、局部变量优先
C、外部变量优先
D、全局的外部变量优先
3、在C语言中,存储类别包括()。
A、静态
B、浮点类型
C、整型
D、寄存器
4、下列选项中关于外部变量的作用域,正确的是()。
A、外部变量的作用域是所在的源文件
B、外部变量的作用域是整个源程序
C、可以通过extern,将一些外部变量的作用域扩展到多个源文件
D、外部变量若定义为静态的,其他源文件不能使用该外部变量
5、下列选项中关于外部变量,正确的是()。
A、main函数是主函数,不在main函数内部定义的变量都是外部变量
B、外部变量必须定义在源程序的开始处
C、外部变量必须定义在所有函数的外面
D、定义外部变量时,可以进行初始化
1、有如下程序main(){intx=3;
do{printf(“%d”,x--);
}while(!
x);
},该程序的执行结果是陷入死循环。
×
2、允许在不同的函数中使用相同的变量名。
3、关于实型变量的存储,指数位越多,数据的精度越高。
4、C语言中实型数据在运算时可能会产生误差。
5、C语言的函数调用时,形参是不需要分配存储单元的。
第十五章、第十六章、第十七章
1、若已定义:
inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;
其中0≤i≤9,则对a数组元素不正确的引用是:
A、a[p-a]B、*(&
a[i])
C、p[i]D、a[10]
2、以下程序运行后,main(){char*s="
abcde"
;
s=2;
printf("
s);
},输出结果是:
A、cdeB、字符c的ASCII码值
C、字符c的地址D、值不确定
3、有定义charp[]="
AB\0CD\0E"
,能输出字符串”ABCDE”的语句为:
p);
B、printf("
%s%s%s"
&
p[0],p3,p6);
p[0],&
p[2],&
p[3]);
D、printf("
p[0]);
4、若有intf(inta,intb);
,则说明函数f()。
A、是一个内部函数B、能被同一源程序其他文件中的函数调用
C、是一个外部函数D、只能在本文件中使用
5、以下对C语言函数的有关描述中,正确的描述是()。
A、C函数既可以嵌套定义又可以递归调用B、函数必须有返回值,否则不能使用函数
C、C程序中有调用关系的所有函数必须放在同一个源程序文件中D、在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
1、下列描述中,错误的描述是:
A、凡是C源程序中行首以#标示的控制行都是预处理指令
B、预处理是指完成宏替换和文件包含指定的文件调用
C、预处理指令只能位于程序首部
D、预处理就是完成c编译程序对C源程序第一遍扫描,为编译的词法分析和语法分析做准备
2、下列对宏定义的描述中,正确的描述是:
ABD
A、宏不存在类型问题,宏名无类型,参数也无类型
B、宏替换不占用运行时间
C、宏替换是先求出实参表达式的值,然后带入形参运算求值
D、宏替换只不过是字符替代而已
3、下列关于局部变量的说法中,正确的说法是()。
A、不能在复合语句中定义变量
B、局部变量是在函数内部定义说明的
C、形参变量属于被调函数的局部变量
D、允许在不同的函数中使用相同的变量名
4、设chars[10];
inti=5;
,下列表达式中,不正确的表达式是()。
A、s[i6]
B、*(si)
C、*(&
si)
D、*((s)i
5、当一个函数为外部函数时,不正确的说法是()。
A、该函数只能被main()调用
B、该函数只能被非主函数调用
C、该函数不能被其他文件调用
D、该函数不能被本文件中函数调用
1、允许在不同的函数中使用相同的变量名。
2、设有定义语句“struct{inta;
}abc;
”,则对结构体成员a的引用可以是abc->a。
3、可以利用全局变量从函数中得到多个返回值。
4、可以利用实参从函数中得到多个返回值。
5、若形参是简单变量形式,则对应的实参不能是数组名。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 在线 测试 题目 答案