校软件班招新考试A卷 题解

 

 

选择题:

 

第一题:A

参考资料:

1 标识符必须以字母a~zA~Z或下划线开头,后面可跟任意个(可为0)字符,这些字 符可以是字母、下划线和数字,其他字符不允许出现在标识符中。

2 标识符区分大小写字母

3 标识符的长度,c89规定31个字符以内,c99规定63个字符以内

4 C语言中的关键字,有特殊意义,不能作为标识符

5 自定义标识符最好取具有一定意义的字符串,便于记忆和理解。

AC语言中有关键字while,但那是小写,AWhile是大写,正确 参考2

B:标识符必须以字母,下划线开头,B项以数字开头,错误 参考1

CC语言中有关键字 main ,错误 参考4

D:标识符不容许出现别的字符 如D项中的&,错误 参考1

 

第二题:A

C语言是面向过程的语言,但C语言的基本单位是函数

面向过程vs面向对象:

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

参考链接:https://blog.csdn.net/Edward_Wong/article/details/39533245

子例程:

一般地认为,子例程是某个主程序的一部分代码,该代码执行特定的任务并且与主程序中的其他代码相对独立。 子例程又被称为程序、过程、方法、函数等。 在主程序中可以调用子例程来执行。

 

第三题:D

Amain函数可以放在任何地方,程序执行的入门是main

BC语言区分大小写

CC语言总是从main函数开始执行

D:正确

 

第四题:B

参考资料:

运算符优先级:https://zh.cppreference.com/w/c/language/operator_precedence

++--操作符 :http://c.biancheng.net/cpp/html/460.html

int a = -1, b = 4;

int k = !(b-- <= 0) && (++a < 0);

printf(“%d %d %d”, k, a, b);

 

对于 k 的值,要看运算符的优先级来判断

首先执行括号里面的运算,两个括号同时进行,

b-- <= 0) 先执行b-- b=3,然后判断b<=0的值 逻辑判断只有 真,假,对应10

此括号为 0

++a <0) 先执行++aa=0, 然后判断  a<0 的值,为假,0

括号内运算完毕之后,执行!运算,第一个括号是假,所以!0=1

最后执行 && 运算,  1&&0 == 0  ,假,所以  k=0

 

第五题:C

int array[12] = {1, 4, 7, 10, 2, 5, 8, 11, 3, 6, 9, 12};

int i = 10; array[array[i]]

首先明确一个概念,array[12]的下标是从0-11的,没有12

数的时候,从0开始,array[0]==1

嵌套数组,先看最内层的值  array[i]=9array[9]==6

 

 

填空题:

(1) IDE:集成开发环境,一类辅助开发计算机程序的应用软件

(2) 关机是:shutdown -s -t 30       考察cmd基础命令

(3) 二进制数111010011,其对应的八进制数为:__723_________,对应的十进制数为:_____467_____,

对应的十六进制数为:______1D3_____。

参考:https://jingyan.baidu.com/article/495ba84109665338b30ede98.html

(4) int a = 5, b = 2; 那么 a / b = ____2____________

1) C语言中 int型正数除法向下取整  /  ,负数除法的取整方式和编译器有关

2) 参考:https://blog.csdn.net/a197p/article/details/45506821

(5) 2  逗号表达式

1) http://www.cnblogs.com/hnrainll/archive/2011/08/03/2126660.html

2) %运算符:取模运算符,整除后的余数

(6) LLP64,LP64

1) 参考:https://www.cnblogs.com/lsgxeva/p/7614856.html

(7) Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器。

参考:https://www.cnblogs.com/bravestarrhu/archive/2012/05/02/2479461.html

(8) 在当前目录下创建文件夹,http://www.runoob.com/linux/linux-comm-mkdir.html

(9) 随机存取存储器

(10) 浏览器服务器模式,(万维网)

(11) 百度吧,IDE一大堆。。。

(12) Internet是在美国较早的军用计算机网ARPAnet的基础上经过不断发展变化而形成的。

(13) 程序 = 数据结构 + 算法

(14) 百度,高级语言。。很多

(15) Win+E

判断题:

(1) 对,参考:https://blog.csdn.net/u013372487/article/details/45498677

(2) 错,https://zhidao.baidu.com/question/87432718.html?qbl=relate_question_0

(3) 错,汇编程序的语言是对应CPU的汇编语言

(4) 

(5) 对,外存储介质就是硬盘

(6) 错,加载到内存就可以执行了

(7) 

(8) 错,http代表超文本传输协议

(9) 

程序分析题:

1)

 1 #include <stdio.h>
 2 
 3 int main(void) {
 4 
 5   int a[ ] = {2, 3, 4, 5, 6, 7, 8, 9};
 6 
 7   int i, r = 1;
 8 
 9   for (i = 0; i <= 4; i++) {
10 
11     r *= a[i];
12 
13   }
14 
15 printf(“%d”, r);
16 
17 return 0;
18 }

 

输出:720  (根据for循环,执行连乘,从a[0]--a[4],2*3*4*5*6)

2)

 1 #include <stdio.h>
 2 int main(void) {
 3   char w[20], a[5][10] = {"abcde", "fghij", "klmno", "pqrst", "uvwxy"};
 4   for (int i = 0; i < 5; i++) {
 5     w[i] = a[i][i];
 6   }
 7   w[5] = '\0';
 8   printf("%s", w);
 9   return 0;
10 }

 

输出:agmsy

  a[5][10]

 

0

1

2

3

4

0

a

b

c

d

e

1

f

g

h

i

j

2

k

l

m

n

o

3

p

q

r

s

t

4

u

v

w

x

y

w[5]=’\0’ 字符串默认的结束标识为’\0’

(3)

(1) 以下程序拟计算 sum = 1 + 1 / 2 + 1 / 3 + … + 1 / 50。

 

 1 #include <stdio.h>
 2 
 3 int main(void) {
 4 
 5   int i = 1;
 6 
 7   double sum = 1.0;
 8 
 9   do {
10 
11     i++;
12 
13     sum += 1 / i;
14 
15   }while(i < 50);
16 
17   printf("sum = %lf", sum);
18 
19   return 0;
20 
21 }

 

 

但是在运行时并不能得到预期结果,请作答:

① 哪里错了

Int i=1;

② 为什么错了

 1/i 的值为总为0

 

③ 应该怎么修改

double i =0 ;

 

posted @ 2018-10-18 10:20  南风--  阅读(232)  评论(0编辑  收藏  举报