2017年北京理工大学软件工程C语言程序设计复试仿真模拟三套题
● 摘要
一、选择题
1. 有以下程序(注:字符a 的ASCII 码值为97):
程序运行后的输出结果是( )。
A.abc
B.789
C.7890
D.979800
【答案】B
【解析】a 、b 、c 的ASCII 值分别为97、98、99。程序中执行输出S 中的内容与10进行模运算后的值,s 是一个指针,首先指向字符a ,先执行97%10, 结果为7; 然后++s,指针指向下一个字符b ,执行98%10, 结果为8, 直到s 所指为空,故最后输出的结果为789。
2. 有以下程序:
程序运行后的输出结果是( )。
A.-1
B.0
C.1
D.7
【答案】A
【解析】“++”和“一”运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以后缀形式出现时,贝晚取值,再进行加一或减一操作。程序中执行直到while 判断为0时才跳出循环,执行下条语句,即a 为0时再执行后输出,最终输出的结果为-1。
3. 以下选项中可用作c 语言中合法用户标识符的是( )。
A._123
B.void
C.-abc
D.2a
【答案】A
【解析】合法标识符的命名规则是:标识符可以由字母、数字和下划线组成,并且第一个字
B 项中void 符必须为字母或下划线,其中,关键字在程序中都代表着固定的含义,不能另作他用。
是关键字,不合法。C 项和D 项没有以字母或下划线开头,不合法。
4. 以下选项中与语句功能不同的switch 语句是( )。
【答案】B
【解析】在switch 语句的执行过程中,执行完case 后面的语句后,如果遇到break 语句就停止,否则将继续执行下一个case 中的语句,直到遇到break 语句。B 项,当a==1是
a=b, 刚好和题干要求相反。
5. 以下选项中不合法的标识符是( )。
【答案】C
【解析】标识符是由若干个字符组成的字符序列,用来命名程序的一些实体。语法规则为:①标识符由字母、数字或下画线组成;②第一个字符必须是字母或下画线;③标识符最多由274个字符组成;④在标识符中严格区 分大小写字母;⑤关键字不能作为自定义的标识符在程序中使用。
6. 有以下程序
时
执行后的输出结果是( )。
A.32
B.24
C.5
D.40
【答案】A
【解析】自增运算符“++”分为前缀和后缀两种形式。两种形式的作用效果是一样的,都是使运算分量的值加1,但是它们的表达式的值不一样,前缀形式表达式的值为运算分量加1之后的值,而后缀形式表达式的值为运算分量加1之前的值。题目中使用了一个for 循环,循环变量i 从1递增到40。在循环体中有两条嵌套的if 语句,首先判断i++%5==0,即判断i++的值(i 加1之前的值)是否能被5整除(判断后i 被加1),然后再判断++i的值(i 加1之后的值)是否能
,被8整除(判断后i 被加1)若两个条件都满足了,就输出i 的值,只有i=30时,满足i++%5==0,
此时i=31,++i%8==0成立,此时i=32。
7. 若函数中有定义语句intk ;,则( )。
A. 系统将自动给k 赋初值0
B. 这时k 中的值无定义
C. 系统将自动给k 赋初值-1
D. 这时k 中无任何值
【答案】B
【解析】intk ;这条语句是定义一个整型变量k ,这是动态定义,编译程序仅为k 开辟存储单元,而没有在存储单元中存放任何初值,此时变量中的值时无意义的。若是静态定义,则会自动初始化,其默认值为0。
8. 若有定义语句intx=10; 则表达式x-=x+x的值为( )。
A.-20
B.-10
C.0
D.10
【答案】B
【解析】赋值表达式,首先计算右边表达式,然后在进行赋值。先做x+x,结果为20,再做x-20,结果为-10,赋值给X 。
二、设计题
9. 请根据以下各小题的要求设计C 应用程序(包括界面和代码)。
请编写函数fun ( ),该函数的功能是:计算并输出给定整数n 的所有因子(不包括1和自身)之和。规定n 的值不大于1000。例如,在主函数中从键盘给n 输入的值为856, 则输出为:
相关内容
相关标签