国二C语言考试题型

Python020

国二C语言考试题型,第1张

ITjob网上有c语言的考试大纲,给你粘贴下来。

◆ 基本要求 1.熟悉 Visual C++ 6.0 集成开发环境。

2.掌握结构化程序设计的方法,具有良好的程序设计风格。

3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。

4.在 Visual C++ 6.0 集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力

◆ 考试内容

一、C语言程序的结构1.程序的构成,main函数和其他函数。2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。 3.源程序的书写格式。 4.C语言的风格。

二、数据类型及其运算1.C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。 2.C运算符的种类、运算优先级和结合性。 3.不同类型数据间的转换与运算。4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则

上机考试,考试时长 120 分钟,满分 100 分。

题型及分值

单项选择题 40 分(含公共基础知识部分 10 分)、操作题 60 分(包括填空题、改错题及编程

题)。

考试环境

Visual C++ 6. 0。

你那个编程题是atoi函数,我就给你粘一个得了,不给你写了,祝你考试顺利!

把这里面的pstr换成你那个函数参数p

int my_atoi(char* pstr)

{

int Ret_Integer = 0

int Integer_sign = 1

/*

* 判断指针是否为空

*/

if(pstr == NULL)

{

printf("Pointer is NULL\n")

return 0

}

/*

* 跳过前面的空格字符

*/

while(isspace(*pstr) == 0)

{

pstr++

}

/*

* 判断正负号

* 如果是正号,指针指向下一个字符

* 如果是符号,把符号标记为Integer_sign置-1,然后再把指针指向下一个字符

*/

if(*pstr == '-')

{

Integer_sign = -1

}

if(*pstr == '-' || *pstr == '+')

{

pstr++

}

/*

* 把数字字符串逐个转换成整数,并把最后转换好的整数赋给Ret_Integer

*/

while(*pstr >= '0' && *pstr <= '9')

{

Ret_Integer = Ret_Integer * 10 + *pstr - '0'

pstr++

}

Ret_Integer = Integer_sign * Ret_Integer

return Ret_Integer

}

简单地说,这个程序输出的是S数组内1、2、3、4四个数的出现次数。

从第一个for循环开始看.先观察下s数组的元素,都是[1,4]这个集合里的。也就是说s[i]∈[1,4]。那么c[s[i]]++就相当于c[1]++,c[2]++,c[3]++,c[4]++这四条语句之一,具体执行哪条,就看s[i]是哪个值。举例来说s[0]==1,那么c[s[0]]++也就是c[1]++;s[1]==2,那么s[s[1]]++就是c[2]++;所以当s[i]从第一个到第十二个元素遍历完的时候,s中有4个1,那么c[1]就等于4;3个2,c[2]就等于3。下面那个for循环就是输出c[1]到c[4]的值。