还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
noip普及组初赛试题及答案
一、单选题(每题2分,共20分)
1.下列哪个不是合法的变量名?()(2分)A.$var1B.1varC._varD.var_1【答案】B【解析】变量名不能以数字开头
2.下列哪个语句是正确的?()(2分)A.ifx=5B.fori=0;i10;i--C.whilexx++D.switchxcase1:break【答案】D【解析】A缺少冒号,B循环会无限进行,C语法错误
3.下列哪个函数用于输出字符串?()(2分)A.scanfB.printfC.inputD.output【答案】B【解析】printf是C语言的标准输出函数
4.以下哪个运算符的优先级最高?()(2分)A.+B.-C.D.【答案】D【解析】逻辑与运算符优先级高于算术运算符
5.数组名代表什么?()(2分)A.数组的第一个元素B.数组的长度C.数组的地址D.数组的所有元素【答案】C【解析】数组名是数组首地址的常量指针
6.以下哪个是正确的递归函数?()(2分)A.voidfintx{returnfx;}B.voidfintx{ifx==0return;fx-1;}C.voidfintx{fx;returnx;}D.voidfintx{ifx==0return;x--;fx;}【答案】B【解析】B是正确的递归终止条件
7.以下哪个是合法的常量定义?()(2分)A.intx=0x1A2B;B.floaty=
1.2e
3.5;C.charc=abc;D.doublez=1e-【答案】A【解析】A是十六进制常量定义,B指数部分错误,C字符常量应单引号,D缺少指数
8.以下哪个是正确的循环结构?()(2分)A.fori=0;i10;i--B.whilei=0i++;C.doi++;whilei0;D.fori=0;i10i++;【答案】A【解析】A是正确的for循环,B赋值而非比较,C初始条件错误,D缺少分号
9.以下哪个是正确的函数定义?()(2分)A.voidfintx{intx;}B.intfx{returnx;}C.voidfintx{returnx;}D.intf{return;}【答案】D【解析】D是正确的空返回值函数定义
10.以下哪个是正确的字符串定义?()(2分)A.chars[]=hello;B.chars=hello;C.chars=hello;D.chars
[5]=hello;【答案】A【解析】A是正确的字符串定义,B是字符串指针,C语法错误,D数组长度不足
二、多选题(每题4分,共20分)
1.以下哪些是C语言的关键字?()(4分)A.intB.ifC.whileD.classE.for【答案】A、B、C、E【解析】class是C++关键字
2.以下哪些是合法的表达式?()(4分)A.x+y=5B.x==yC.x++D.x=x+yE.x+=y【答案】B、C、D、E【解析】A是赋值语句而非表达式
3.以下哪些是合法的数组定义?()(4分)A.inta
[5];B.inta[]={1,2,3,4,5};C.inta
[5]={0};D.inta
[5]={};E.inta=newint
[5];【答案】A、B、C、D【解析】E是C++动态数组定义
4.以下哪些是合法的循环结构?()(4分)A.forinti=0;i10;++iB.whiletruebreak;C.do{i++;}whilei0;D.for;i10;i++E.whilei=0i++;【答案】A、B、C、D【解析】E赋值而非比较
5.以下哪些是合法的函数定义?()(4分)A.voidfintx{returnx;}B.intfx{returnx;}C.voidf{return;}D.intf{return;}E.f{return;}【答案】A、C、D、E【解析】B缺少参数类型
三、填空题(每空2分,共16分)
1.在C语言中,用______符号表示单行注释【答案】//(2分)
2.在C语言中,用______符号表示多行注释【答案】/.../(2分)
3.在C语言中,用于输入的函数是______【答案】scanf(2分)
4.在C语言中,用于输出的函数是______【答案】printf(2分)
5.在C语言中,用于判断两个数是否相等的运算符是______【答案】==(2分)
6.在C语言中,用于判断两个数是否不相等的运算符是______【答案】!=(2分)
7.在C语言中,用于计算余数的运算符是______【答案】%(2分)
8.在C语言中,用于计算乘方的运算符是______【答案】(2分)
四、判断题(每题2分,共10分)
1.两个正数相加,和一定比其中一个数大()(2分)【答案】(√)
2.在C语言中,数组名是数组首地址的常量指针()(2分)【答案】(√)
3.在C语言中,函数可以嵌套定义()(2分)【答案】(×)
4.在C语言中,字符串可以用单引号表示()(2分)【答案】(×)
5.在C语言中,变量必须先定义后使用()(2分)【答案】(√)
五、简答题(每题4分,共12分)
1.简述C语言中变量的定义方法【答案】在C语言中,变量定义需要指定类型和名称,例如intx;表示定义一个整型变量x(4分)
2.简述C语言中if语句的用法【答案】if语句用于条件判断,语法为if条件语句1;else语句2;当条件为真时执行语句1,否则执行语句2(4分)
3.简述C语言中for循环的用法【答案】for循环用于重复执行一段代码,语法为for初始化;条件;更新语句;其中初始化只在循环开始时执行一次,条件为真时执行语句,更新在每次循环后执行(4分)
六、分析题(每题10分,共20分)
1.分析以下代码的功能```cincludestdio.hintmain{inti,j;fori=1;i=5;i++{forj=1;j=i;j++{printf;}printf\n;}return0;}```【答案】该代码的功能是打印一个5行的三角形,每行从1个星号递增到5个星号(10分)
2.分析以下代码的功能```cincludestdio.hintmain{inti,sum=0;fori=1;i=10;i++{sum+=i;}printfSum=%d\n,sum;return0;}```【答案】该代码的功能是计算1到10的和,并输出结果(10分)
七、综合应用题(每题25分,共50分)
1.编写一个C程序,输入一个整数n,输出1到n的所有偶数```cincludestdio.hintmain{intn,i;printfEnteranumber:;scanf%d,n;fori=1;i=n;i++{ifi%2==0{printf%d\n,i;}}return0;}```【答案】(25分)
2.编写一个C程序,输入一个整数n,判断该数是否为素数```cincludestdio.hintmain{intn,i,isPrime=1;printfEnteranumber:;scanf%d,n;ifn=1{isPrime=0;}else{fori=2;i=n/2;i++{ifn%i==0{isPrime=0;break;}}}ifisPrime{printf%disaprimenumber.\n,n;}else{printf%disnotaprimenumber.\n,n;}return0;}```【答案】(25分)---标准答案
一、单选题
1.B
2.D
3.B
4.D
5.C
6.B
7.A
8.A
9.D
10.A
二、多选题
1.A、B、C、E
2.B、C、D、E
3.A、B、C、D
4.A、B、C、D
5.A、C、D、E
三、填空题
1.//
2./.../
3.scanf
4.printf
5.==
6.!=
7.%
8.
四、判断题
1.√
2.√
3.×
4.×
5.√
五、简答题
1.在C语言中,变量定义需要指定类型和名称,例如intx;表示定义一个整型变量x
2.if语句用于条件判断,语法为if条件语句1;else语句2;当条件为真时执行语句1,否则执行语句
23.for循环用于重复执行一段代码,语法为for初始化;条件;更新语句;其中初始化只在循环开始时执行一次,条件为真时执行语句,更新在每次循环后执行
六、分析题
1.该代码的功能是打印一个5行的三角形,每行从1个星号递增到5个星号
2.该代码的功能是计算1到10的和,并输出结果
七、综合应用题
1.输入一个整数n,输出1到n的所有偶数
2.输入一个整数n,判断该数是否为素数。
个人认证
优秀文档
获得点赞 0