当前位置:首页 » 编程语言 » C语言周考

C语言周考

发布时间: 2023-04-12 13:45:43

c语言考试流程

计算机二级C语言考试的流程:
1. 笔试:90分钟,满分100分,其中含公共基础知识部分的30分。
2. 上机操作:90分钟,满分100分。
上机操作包括:
(1) 基本操作。
(2) 简单应用。
(3) 综合应用。
计算机二级C语言考试内容 :
一、C语言程序的结构
1.程序的构成,main函数和其他函数。
2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。
3.源程序的书写格式。
4.C语言的风格。

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

三、基本语句
1.表达式语句,空语句,复合语句。
2.输入输出函数的调用,正确输入数据并正确设计输出格式。

四、选择结构程序设计
1.用if语句实现选择结构。
2.用switch语句实现多分支选择结构。
3.选择结构的嵌套。

五、循环结构程序设计
1.for循环结构。
2.while和do-while循环结构。
3.continue语句break语句。
4.循环的嵌套。

六、数组的定义和引用
1.一维数组和二维数组的定义、初始化和数组元素的引用。
2.字符串与字符数组。

七、函数
1.库函数的正确调用。
2.函数的定义方法。
3.函数的类型和返回值。
4.形式参数与实在参数,参数值的传递。
5.函数的正确调用,嵌套调用,递归调用。
6.局部变量和全局变量。
7.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。

八、编译预处理
1.宏定义和调用(不带参数的宏,带参数的宏)。
2.“文件包含”处理。

九、指针
1.地址与指针变量的概念,地址运算符与间址运算符。
2.一维。二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义。通过指针引用以上各类型数据。
3.用指针作函数参数。
4.返回地址值的函数。
5.指针数组,指向指针的指针。

十、结构体(即“结构”)与共同体(即:“联合”)
1.用typedef说明一个新类型。
2.结构体和共用体类型数据的定义和成员的引用。
3.通过结构体构成链表,单向链表的建立,结点数据的输出、删除与插入。

十一、位运算
1.位运算符的含义和使用。
2.简单的位运算。

十二、文件操作
只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。
1.文件类型指针(FILE类型指针)。
2.文件的打开与关闭(fopen,fclose)。
3.文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函数的应用),文件的定位(rewind,fseek函数的应用)。

⑵ c语言都考什么啊

C语言程序设计等级考试大纲
基础知识部分
基本要求:
1.掌握算法的基本概念。
2.掌握基本数据结构及其操作。
3.掌握基本排序和查找算法。
4.掌握逐步求精的结构化工程序设计方法。
5.掌握软件工程的基本方誉闷兆法,具有初步应用相关技术进行软件开发的能力。
6.掌握数据库的基本知识,了解关系数据库的设计。
考试内容:
(一)基本数据结构与算法
1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。
2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。
3.线性表的定义;线性表的顺序存储结构及其插入与删除运算。
4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。
5.线性单链表、双向链表与循环链表的结构及其基本运算。
6.树的基本概念;二叉树的定义及其存储结构、二叉树的前序、中序和后序遍历。
7.顺序查找与二分法查找算法;基本排序算法(交罩胡换类排序,选择类排序,插入类排序)。
(二)程序设计基础
1.程序设计方法与风格。
2.结构化程序设计。
3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。
(三)软件工程基础
1.软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。
2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。
3.结构化设计方法,总体设计与详细设计。
4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
5.程序的调试,静态调试与动态调试。
(四)数据库设计基础
1.数据库的基本概念:数据库,数据库管理系统,数据库系统。
2.数据模型,实体联系模型E-R图,从E-R图导出关系数据模型。
3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。
4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。
C语言程序设计部分
(一)C语言的结构
1.程序的构成,main函数和其他函数。
2.头文件、数据说明、函数的开始和结束标志。
3.源程序的书写格式。
4.C语言的风格。
(二)数据类型及其运算
1.C的数据类型(基本类型、构造类型、指针类型、空类型)及其定义方法。
2.C运算的种类、运算优先级和结合性。
3.不同类型数据间的转换与运算。
4.C表达式类型(赋值表达式、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)和求值规则。
(三)基本语句
1.表达式语句,空语句和复合语句。
2.数据的输入与输出,输入输出函数的调用。
3.复合语句。
4.goto语句和语句标号的使用。
(四)选择结构程序设计
1.用if语句实现选择结构。
2.用switch语句实现多分支选择结构。
3.选择结构的嵌套。
(五)循环结构程序设计
1.for循环结构。
2.while和do while循环结构。
3.continue语句和break语庆租句。
4.循环的嵌套。
(六)数组的定义和引用
1.一维数组和多维数组的定义、初始化和引用。
2.字符串与字符数组。
(七)函数
1.库函数的正确调用。
2.函数的定义方法。
3.函数的类型和返回值。
4.形式参数与实在参数,参数值的传递。
5.函数的正确调用,嵌套调用,递归调用。
6.局部变量和全局变量。
7.变量的存储类别(自动、静态、寄存器、外部),变量的作用域和生存期。
8.内部函数与外部函数。
(八)编译预处理
1.宏定义:不带参数的宏定义;带参数的宏定义。
2.“文件包含”处理。
(九)指针
1.指针与指针变量的概念,指针与地址运算符。
2.变量、数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体的指针变量。通过指针引用以下各类型数据。
3.用指针作函数参数。
4.返回指针值的指针函数。
5.指针数组,指向指针的指针,main函数命令行参数。
(十)结构体(即“结构”)与共用体(即“联合”)
1.结构体和共用体类数据的定义方法和引用方法。
2.用指针和结构体构成链表,单向链表的建立、输出、删除与插入。
(十一)位运算
1.位运算符的含义及使用。
2.简单的位运算。
(十二)文件操作
只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。
1.文件类型指针(FILE类型指针)。
2.文件的打开与关闭(fopen,fclose)。
3.文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函数),文件的定位(rewind,fseek函数)。

⑶ C语言考试技巧

一.特点和注意事项 1、填空题
(1)上机填空题一般包含2个(或3个)空。 (2)要填空的位置用___、___、___表示。
(3)考生在考试时应删除标识___、___、___后填入相应的符号。
特别要注意的是:只能在要填空的位置上进行修改,不要添行、删除、合并或分解,不要改动程序行的顺序,更不要自己另编程序。 2.改错题
(1)上机改错题中有2个(或3个)错误需要修改。
(2)试题中用“/******found******/”来提示在下一行(或下面第二行)有错。 (3)错误的性质基本分为语法错误和逻辑错误,也有些试题要求把语句添加在下划线处。
(4)特别要注意的是:只能在出错的行上进行修 二.做题技巧
以下是对上机考试改错题的做题方法和总结,改错题的错误主要分为以下几类:
一般情况,错误主要分为语法错误和逻辑错误。
先检查语法错误,编译程序后发现没有错误及警告,说明没有语法错误,只有逻辑错误核猜前;逻辑错误必须根据程序的功能及预期结果来考查。
因此,对于程序改错题,应先编译查找其中的语法错误,通过编译器的提示容易找到错误的地方及原因,然后再寻找逻辑错误。修改了语法错误后再次编译,直到修改完所有的语法错误。而查找逻辑错误时,需要运行程序根据结果来检查。
1、if或while语句
若错误行是if或者while语句,则要注意以下点: 1)首先判断是否正确书写if或while关键字;
2)然后看有没有用小括号把整个表达式括起来,若没有则加上小括号; 3)若条件表达式中有指针变量而且没有指针运算符时,则加上指针运算符; 4)若if条件表达式中只有一个等于号即数学等号(=),则要改写成两个等于号即逻辑等号(==);
若if条件表达式为其他的比较运算符,则一般是进行逆转或加一个等于号; 2、for语句
若错误行是for语句,则要注意以下几点: 1)首先判断for有没有书写正确;
2)然后看for中的表达式是不是用分号(;)隔开,若不是则改为分号。 3、记住是分号(;),不是逗号(,)!
再者,分析for中的三个表达式,是否符合题意; 第一个表达式表示起始条件, 第二个表达式表示终止条件,
第三个表达式表示循环变量的变化。 4、return语句
若错误行为return语句,则要注意以下几点: 1)首先看是不是正确书写return关键字;
2)然后看是不是缺少分号,若是则加上分号即可;

3)再者判断return后的变量或表达式是否正确;
这种错误需要根据题意来分析,分析返回变量或表达式的值和类型。 5、赋值语句
若错误行是赋值语句,则要看赋值是否正确,然后看赋值运算符是否写正确。 6、定义语句
若错误行是定义语句,则要注意: 1)首先分析变量类型是否符合;
2)然后分析赋初值是否正确,求和初值赋0,求积初值赋1;
3)若以上均不是,则看是不是少定义了某个变量或少了花括号; 7、关键字拼写错误。如:main-mian(错误) printf - pirntf (错误)
Return- return(错误) while- While (错误)
8、表达式错误问题
表达式错误占的份量最多,兆纤并且没有统一的改法,我们只能通过题目要求来分析并修改),
1)若错误行中有整数1除以某个表达式或变量时,必须把整数1改为1.0;若变量或表达式是整型时,则只能进行强制类型转换。
2)变量必须先赋值,后改清才参与运算,没有赋值就不能参与运算;例如,long k;k*=num%10;
3)运算符书写错误,例如,把/写成\(num\=10);,==写成=。 4)丢失括号() 9、字符串类问题
1)若错误行中有字符串结束符,则特别要要注意结束符有没有写错(‘\0’不要写成"\0”)。
2)新组建的字符串一定要加结束标识符(‘\0’); 3)要区分清楚字符‘o’和数字‘0’。
4)字符串复制、比较必须使用用字符串处理函数(strcpy或strcmp)实现,不能用赋值语句或关系运算符。 10、指针类问题
若错误行中有指针变量,并且该变量名之前没有指针运算符,则般都是加上指针运算符;即注意p和*p的区别; 11、函数首部类问题:
若错误行是函数首部,则要注意:
1)首先看该行最后有没有分号,若有则删掉分号;若中间有分号则要改为逗号;
2)形参和实参类型不一致问题
① 若实参是个地址或数组名或指针变量名,则对应的形参肯定是指针或数组;
②若实参是二维数组名,则对应的形参应该是指针数组或是二维数组; ③若后面用到形参时有指针运算符,则该形参应为指针类型;
④若形参是二维数组或指向M 个元素的指针变量,则该二维的长度必须与main中对于数组的第二维的长度相同。 3)函数类型不一致问题
①若函数中没有return语句,则函数类型为void;

②若函数中有ret urn语句,则函数的类型必须与rerun后的变量类型一致;
记住,调用函数的类型与main中的该函数的类型一致! 12、语法错误问题:
1)语句缺少分号。若错误号中语句没有以分号结束则加上分号;
2)变量名不一致。C语言是区分大小写的,若错误行中有大写字母一般都改为小写字母;
3)若错误行中有一条横线,则必须将横线删除再填空。填空题中亦是如此。 13、逻辑错误问题:
这种题型主要是表达式错误,占的题量比较多而且没有统一的做题方法,需要我们具体问题具体分析。对于逻辑错误,可按下列步骤查找:
①先读试题,看清题目的功能要求。
②通读程序,看懂程序中算法的实现方法。 ③细看程序,发现常见错误点。 14、书写错误问题:
特别注意我们的注释部分,注释是以/*开始,以*/结尾,不能有多余的,有也只能在/*和*/里面。注意,比如“/***注释部分*****/*/”是错误的!
二、编程时容易犯的错误
1.书写标识符时,忽略了大小写的区别
C语言认为大些字母和小写字母时两个不同的字符,如在编译程序过程中,系统会把a和认为时两个不同的变量名。习惯上,符号常量名用大写表示,变量名用小写表示,以增加程序的可能性。
2.忽略了变量的类型,进行了不合法的运算
3.忽略了“=”与“= =”的区别;C语言中,“=”是赋值运算符,“= =”是关系运算符
4.忘记加分号
考生应特别注意这种情况,分号是C语言中不可缺少的一部分,语句末尾必须有分号,但有时候千万不能加;
5.输入变量时忘记加地址运算符“&”,而在不应加“&”的位置加了地址运算符
(1)忘记加“&”的情况。
如int a,b; scanf(“%d%d”,a,b);
此时,无法正确给a和b读入数据。scanf函数的作用是:按照a、b在内存中所分配的地址将a、b的值存进去。“&a”指a在内存中的地址,因此正确的书写格式为scanf(“%d%d”,&a,&b);。
(2)多加“&”的情况。如int str[ ]; scanf(“%s”,&str);
C语言编译程序对数组名的处理是:数组名代表数组的起始地址,scanf函数中的输入项是字符数组名,因此不必再加地址符&,应该去掉。
6.输入数据的方式余要求格式(通配符)不符。例如:scanf(“%d,%d”,&a,&b);
C规定:如果在“格式控制”字符串中,除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同的字符。下面输入是合法的:3,4

此时不用逗号而用空格或其他字符是不对的,如:3 4(中间为空格)3:4(中间为冒号);
三、相关概念
(1)素数:定义是除了能被1和自身整除外,不存在其他任何能整除该数的自然数。因此,在判断一个数是否为素数时,只要有除了1和本身能整除它,还有一个数能整除它,就判定此数不是素数。
(2)判断一个年份是否为闰年:如果年份能被4 整除但是不能被100整除,或者能被400整除,这两种情况满足之一都是闰年。
(3)利用选择法进行从小到大的排序。选择法的思路为:把第一个元素与其后面的元素比较,如果比后面的大,则交换,比较完所有的元素后,第一个位置的元素是最小的元素;在把第二个元素与其后面的元素进行比较,结果是除了第一个元素外,第二个元素是最小的元素;以此类推。
(4)数的按位分离算法是:对10取模求个位上的数字,整除10后再对10取模求十位上的数字,整除100后再对10取模求百位上的数字。
(5)最大公约数的算法是:(1)若n>m,则用n除以m求余数r;(2)若r=0,则m为最大公约数,若r≠0,则将r赋值于m,m赋值于n,继续用n除以m求余数r;(3)直到r=0,m为最大公约数。根据算法判断每一条语句是否正确。 (6)求最小公倍数的算法:等于两个数的乘积除以它们的最大公约数。 (7)矩阵时以行为外循环,列为内循环,可以同时计算周边元素的和。

⑷ 怎样可以在一周内通过计算机C语言二级考试!

如果你已经学过VC的话,应该可以,不过这会是一个很累的过程,首先把教材上的内容一定弄的特别清楚,能给别人讲出来,首先推荐你看的是未来教育的全国计算机等级考试考试教材,包括上机和笔试的试卷,不过一周时间有点紧,建议把课本弄透,这样你最多可以拿70分(前提是你的VC没有出错),这主要是因为还有30分的公共基础知识,建议看下,也是未来教育的计算机二级公共基础知识,希望对你有帮助

⑸ 一个C语言程序的执行是从( )。 (A)本程序的main()函数开始,到main()函数

执行顺序是按照函数调用顺序执行的,所以肯定不是到文件最后一个函数结束
正常情况下,调用一个函数返回后,会返回到主调函数,继续执行
而c里面从main开始,其他函数都是main的直接或者间接调用,最终也会返回到main,直到执行到main结束或者main中return语句返回,程序结束
其实这句也不是完全正确,如果程序出现异常崩溃,那么可能退出在任何点。除此外,还有函数退出,比如调用了exit函数。或者外部信号退出,比如按ctrl c或者任务管理器结束等等

⑹ 2周学会C语言有可能吗

额 ,基本不可能!

如果必须过,建悔坦议你用一些手段。笔试的戚前培可以手机发信息;上级的就携带U盘吧。

或者你的记忆力超好的,把那些真题都背下来,两周的时间还是可以过的。

最后,还是下高唯学期再考吧

⑺ c语言,程序设计题,如图

c 语言程序设计练习题 c 语言程序设计练习题 篇一:c 语言程序设计基础单元总结与练习题及答案 答案 单元一程序设计宏观认识 单元总结提升 本...

⑻ 计算机二级(C语言)都考哪些内容

C语言程序设计

(1)单项选择题,40题,40分(含公共基础知识部分10分);

(2)程序填空题,2~3个空,18分;

(3)程序改错题,2~3处错误,18分;

(4)程序设计题,1题,24分。

计算机二级考试是全国计算机等级考试(National Computer Rank Examination,简称NCRE)四个等级中的一个等级,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。计算机二级考试采用全国统一命题、统一考试的形式。

(8)C语言周考扩展阅读

时间安排

2018年NCRE将举办三次考试,时间分别为3月24日至26日(第51次)、9月15日至17日(第52次)及12月8日(第53次)。其中3月份和9月份考试开考全部级别全部科目,12月份考试开考一、二级的全部科目。各省级承办机构可根据实际情况决定是否开考12月份考试。

二级考试时间为120分钟;

系统环境:Windows 7、Visual C++2010 学习版(Visual C++ 2010 Express)、Visual Basic6.0、Access2010、NetBeans、My SQL(Community 5.5.16);Visual Studio 2010、MS Office2010、Python3.5.2 版本及以上 IDLE。

考试科目

据了解,教育部考试中心确定从2013年上半年开始,实施无纸化的NCRE,二级6个科目是:二级C,二级VB,二级VFP、二级JAVA、二级ACCESS、二级C++。[3]取消“Delphi语言程序设计”科目(代码:62)。

自2018年3月考试起,NCRE将执行2018版考试大纲,二级取消“Visual FoxPro 数据库程序设计”科目(代码:27),2017年 12 月是其最后一次组考。新增“Python 语言程序设计”科目(代码:66),考试时长:120 分钟,2018 年 9 月首次开考。

⑼ 二级C语言考试时间大约3月几号

全国计算机二级考试时间:春季是3月份,秋季是9月份。具体的日期每年都不一样。报名时间一般是在考试时间前2个月左右。 今年好像是3月25号至3月28号,和9月23号至9月26号

⑽ 求一份大一c语言考试试卷,加答案

附件上传失败...

C语言期末考试题及答案(1)

1、构成C语言的基本单位是___B____。
过程?
函数?
语句?
命令?
2、设x为整型变量,不能正确表达数学关系:5<x<10的c语言表达式是__B___。
5
x>5&&x<10?
x==6||x==7||x==8||x==9?
!(x<=5)&&(x<10)?
3、在C语言中,逻辑运算符的优先级从高到低的排列顺序为__D___。
&&、||、!?
||、&&、!?
&&、!、||?
!、&&、||?
4、下面语句中,正确的是__D___。
printf("%c\n","student");?
printf("%c\n","c");?
printf("%s\n",&a);?
printf("%s\n","hello");?
5、对于for(表达式1;;表达式3)可以理解为__B___。
for(表达式1;0;表达式3)?
for(表达式1;1;表达式3)?
for(表达式1;表达式1;表达式3)?
for(表达式1;表达式3;表达式3)?
6、执行下面程序段的结果是__B___。 main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d",a,b); }
a=1,b=1?
a=2,b=1?
a=1,b=0?
a=2,b=2?
7、执行下面程序段的结果是__D___。 int x=0; do { printf(“%2d”,x--); }while(x);
打印出321?
打印出23?
不打印任何结果?
陷入死循环?
8、设x=10,y=5;z=15,执行下面一段程序后z的结果是__C___。 If(x>y) if(y>z)x=y; else z=y;
7?
6?
5?
4?
9、如果一个函数被说明为static,那么__B___。
该函数只能被main函数调用?
该函数能被当前文件的函数调用,但不能被其他文件的函数调用?
该函数不能被当前文件的函数调用,可以被其他文件的函数调用?
任何文件的函数都可以调用该函数?
10、下面关于局部变量的描述中,错误的是__D___。
函数的局部变量的有效范围只能在本函数?
函数的形式参数也是局部变量?
局部变量的名称不能和函数同名称?
不同的函数中不能定义相同名称的局部变量?
11、下列初始化字符数组的语句中,错误的是__A___。
char str[5]="hello";?
char str[]={'h','e','l','l','o','\0'};?
char str[5]={"hi"};?
char str[100]="";?
12、引用数组元素时,数组下标可以是__D___。
整型常量?
整型变量?
整型表达式?
以上均可?
13、 已知:char str[10],*p=str; 下面的语句中正确的是__B___。
str="ABC";?
p="ABC";?
*str="ABC";?
*p="ABC";?
14、下面语句中,错误的是___D__。
int i;int *p;p=&i;?
int i,*p;p=&a;?
int i,*p=&a;?
int i,*p;*p=i;?
15、下面对于结构体类型的描述正确的是__A___。
结构体类型的大小为各成员变量所占内存的总和?
结构体类型变量与简单数据类型变量的引用规则一致。?
结构体类型的大小为其成员中所占内存空间最大的变量的大小?
结构体类型的大小为其最后一个成员中所占内存空间的大小?
16、C语言规定:在一个源程序中,main函数的位置____C____。
必须在最开始?
必须在系统调用的库函数的后面?
可以任意?
必须在最后?
17、表达式18/4*sqrt(4.0)/8值的数据类型是 ___C____。
int?
float?
double?
不确定?
18、在c语言中,char型数据在内存中的存储形式是 ___D___。
补码?
反码?
原码?
ASCII码?
19、阅读以下程序,当输入的数据形式为:25,13,10<CR>时,正确的输出结果为___D___。 main() { int x,y,z; scanf("%d%d%d",&x,&y,&z); printf("x+y+z=%d\n",x+y+z); }
x+y+z=48?
x+y+z=35?
x+z=35?
不能确定?
20、有如下程序 void main() { float x=2.0,y; if(x<0.0) y=0.0; else if(x<10.0) y=1.0/x; else y=1.0; printf(“%f\n”,y); } 该程序的输出结果是( C )。
0.000000?
0.250000?
0.500000?
1.000000?
21、判断char型变量s是否为小写字母的正确表达式是__C____。
'a'<=s<='z'?
(s>='a')&(s<='z')?
(s>='a')&&(s<='z')?
('a'<=s)and('z'>=s)?
22、执行以下语句后,y 的值为___A___。 int x,y,z; x=y=z=0; ++x || ++y && ++z;
0?
1?
2?
不确定值?
23、有如下程序段: int number=0; while(number++<=3) printf(“%d\n”,number++); 则正确的执行结果是___C___。
2 3 4?
0 1 2?
1 3?
2 4?
24、有如下程序 void main() { int n=9; while(n>6) { n--; printf(“%d”,n); } } 该程序段的输出结果是__B___。
987?
876?
8765?
9876?
25、要使以下程序段输出10个整数,请在空格中填入一个整数。 for(i=0;i<=___B___;printf("%d\n",i+=2));
15?
18?
20?
10?
26、设函数fun的定义形式为: fun(char ch,float x){…} 则以下对函数fun的调用语句中正确的是___B___。
fun(“abc”,3)?
t=fun(‘D’,5)?
fun(‘ab’,3)?
fun(‘78’,1)?
27、函数求sum(int n)的功能是计算自然数1到n的和,即1+2+…+n。 Main() { printf("The sum=%d\n",sum (10)); } int sum(int n){ int s=0,i; for(i=0;i<=n;i++) _____B_____ } 请从备选答案中选择一答案,补全程序。
s=s+n;return s;?
s=s+i;return s;?
return s;?
return s+=I;?
28、设函数fun的定义形式为 int fun(int a[],int n) { int s=0,i=0; for(i=0;i<n;i++)s+=a[i]; return s; } main() { int a[10]={1,2,3,4,5}; printf("sum=%d", fun(&a[2],2)); } 则程序的运行结果为___C___。
3?
5?
7?
9?
29、若有说明:int a[10];则对数组元素的正确引用是___D____。
a[10]?
a[3,5]?
a(5)?
a[10-10]?
30、以下不正确的定义语句是___B___。
double x[5]={2.0,4,0,6,0,8,0,10.0};?
int y[5]={0,1,3,5,7,9};?
char c1[]={'1','2','3','4','5'};?
char c2[]={'\x10','\xa','\x8'};?
31、下面程序的运行结果是___B____。 #include "stdio.h" main() { char str[]="SWLIA",c; int k; for(k=0;(c=str[k])!='\0';k++) { switch(c) { case 'I':++k;break; c
SWA?
SW*?
SW*A?
SW?
32、以下能正确进行字符串赋值操作的是___D___。
char s[5]={"12345"};?
char s[5]={'1','2','3','4','5',‘6’};?
char *s;*s="12345";?
char *s="12345";?
33、以下程序段的运行结果是___C___。 Char a[ ]="program", *p; p=a; while (*p!='g') { printf("%c", *p-32); p++; }
PROgram?
PROGRAM?
PRO?
proGRAM?
34、若有说明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,则以下叙述正确的是__C____。
*pc[0]代表的是字符串"aaa"的首地址?
*pc[0]代表的是字符'a'的首地址?
pc[0]代表的是字符串"aaa"的首地址?
pc[0]代表的是字符'a'的首地址?
35、下列程序的运行结果是___B___。 #include <stdio.h> #include <string.h> void f (char *s, int n) { char a,*q1,*q2; q1=s;q2=s+n-1; while(q1<q2) { a=*q1++; *q1=*q2--; *q2=a;} } main() { char b[]="ABCDEFG"; f(b, s
GAGGAGA?
AGAAGAG?
GFEDCBA?
AGADAGA?
36、定义如下的结构体描述同学信息 struct Student { unsigned long id; char name[30]; char class[30]; }s; 假设此同学的序号为1002,姓名为黎明,班级为冶金3班,则描述正确的为___C__。
id=1002; name=黎明; class=冶金3班;?
id=1002; name=”黎明”; class=”冶金3班”;?
s.id=1002; s.name=”黎明”; s.class=”冶金3班”;?
s.id=1002; s.name=黎明; s.class=冶金3班;?
37、用来描述C程序中注释的是__C___。
//?
?
**?
38、下列变量中合法的定义是__A___。
short _a=2-1?
long if=0xabcL?
double 1_d=1.5e2?
float a=1.5e2.7?
39、当c的值不为0时,能够将c的值赋给变量a和b的是__C___
c=b=a?
(a=c)||(b=c)?
(a=c)&&(b=c)?
a=c=b?
40、设有以下程序段,执行后的输出结果是___B__ int x=100,y=200; printf("%d",(x,y));
100?
200?
100,200?
编译出错
C语言期末考试题及答案(2)

1、若执行下面的程序时从键盘输入10,则输出是__B__ main( ) { int a; scanf(“%d”,&a); if(a++>10) printf(“%d\n”,++a); else printf("%d\n",a--); }
12?
11?
10?
9?
2、执行下面程序段的结果是__D___ int x=0; do { printf(“%2d”,x--); }while(x);
打印出321?
打印出23?
不打印任何结果?
陷入死循环?
3、执行与句:for(n=0;n++<4; ); 后,变量n的值是__C__。
3?
4?
5?
不定?
4、以下关于循环的描述中,错误的是__D___。
可以用for语句实现的循环一定可以用while语句实现?
可以用while语句实现的循环一定可以用for语句实现?
可以用do…while语句实现的循环一定可以用while语句实现?
do…while语句与while语句的区别仅仅是关键字while的位置不同?
5、下面的描述错误的是__C__。
函数可以有多个形式参数?
函数可以没有返回值?
函数内可以嵌套定义函数?
函数可以被其他函数调用?
6、函数返回值的类型是由__A__决定的。
定义函数时指定的返回类型?
函数中return语句的表达式类型?
主调函数的实际参数类型?
主调函数的返回值类型?
7、定义了一维int型数组a[10]后,下面错误的引用是__B__。
a[0]=1;?
a[10]=2;?
a[0]=5*2;?
a[1]=a[2]*a[0];?
8、定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为__B__。
24?
25?
18?
17?
9、下面语句中,错误的是__D__。
int i; int *p; p=&i;?
int i,*p; p=&a;?
int i,*p=&a;?
int i,*p; *p=i;?
10、 已知int型二维数组a[3][4],数组元素a[1][2]的地址不能表达为__C__。
&a[1][2]?
a[1]+2?
*a[1]+2?
*(a+1)+2?
11、C语言中,5种基本数据类型的存储空间长度的排列顺序为___A___。
char
char=int
char
char=int=long int<=float
12、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是 ___B___。
7?
8?
6?
2?
13、若有说明语句:char c='\72';则变量c ___A___。
包含1个字符?
包含2个字符?
包含3个字符?
说明不合法,c的值不确定?
14、若x,y均定义为整型,z定义为double型,以下不合法的scanf函数调用语句是___C___。
scanf("%d%lx,%le",&x,&y,&z);?
scanf("%2d * %d%lf",&x,&y,&z);?
scanf("%x%*d%o",&x,&y,&z);?
scanf("%x%o%6.2f",&x,&y,&z);?
15、若输入字符串:abcde<回车>,则以下while循环体将执行___A___次。 while((ch=getchar())=='e') printf("*");
1次?
死循环?
0次?
5次?
16、执行下面的程序段后,k的值是___C___。 k=1;n=263; do{k*=n%10;n/=10;}while(n);
3?
63?
36?
2?
17、下面程序段中循环的执行次数是___B___。 a=10;b=0; do{b+=2;a-=2+b;}while(a>=0);
10?
3?
5?
4?
18、下面程序段的运行结果是__D____。 x=2; do{printf("*");x--;}while(!x==0);
*?
***?
没有输出?
**?
19、下面程序段的运行结果是___B___。 i=1;s=1;a=0; do{a=a+s*i;s=-s;i++;}while(i<=10); printf("%d",a);
2?
-2?
3?
0?
20、有如下程序 void main() { int a=2,b=-1,c=2; if(a) if(b<0) c=0; else c++; printf("%d\n",c); } 该程序的输出结果是___A___。
0?
1?
2?
3?
21、程序中对fun函数有如下说明 void fun(); 下面说明是错误的是___B___。
fun函数无返回值?
fun函数的返回值可以是任意的数据类型?
fun函数没有形式参数?
void 可以省略?
22、函数求sum(int n)的功能是计算自然数1到n的和,即1+2+…+n。 main() { printf("The sum=%d\n",sum (10)); } int sum(int n){ int s=0,i; for(i=0;i<=n;i++) _____B_____ } 请从备选答案中选择一答案,补全程序。
s=s+n; return s;?
s=s+i; return s;?
return s;?
return s+=i;?
23、 有以下程序 int f1(int x,int y){return x>y?x:y;} int f2(int x,int y){return x>y?y:x;} main() { int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d)); f=f1(f2(a,b),f2(c,d)); g=a+b+c+d-e-f; printf()__A___
4,3,7?
3,4,7?
5,2,7?
2,5,7?
24、若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维的大小是___B___。
2?
3?
4?
无确定值?
25、判断字符串s1是否大于字符串s2,应当使用___D____。
if(s1>s2)?
if(strcmp(s1,s2))?
if(strcmp(s2,s1)>0)?
if(strcmp(s1,s2)>0)?
26、当运行以下程序时,从键盘输入:AhaMA Aha<CR> <CR>表示回车,则下面程序的运行结果是___A____。 #include "stdio.h" main() { char s[80],c='a'; int i=0; scanf("%s",s); while(s[i]!='\0') { if(s[i]==c)
ahAMa?
AhAMa?
AhAMa ahA?
ahAMa ahA?
27、以下程序执行后a的值为___C____。main( ) { int a,m=2, k=1, *p=&k; a=p!=&m; printf("%d\n",a); }
-1?
0?
1?
2?
28、以下能正确读入字符串的程序段是____C___。
char *p;scanf("%s", p);?
char str[10];scanf("%s", &str);?
char str[10], *p;p=str; scanf("%s", p);?
char str[10], *p=str;scanf("%s", p[1]);?
29、若有定义:int i, x[3][4];,则不能将x[1][1]的值赋给变量i的语句是___B___。
i=x[1][1] ?
i=*(*(x+1))?
i=*(*(x+1)+1)?
i=*(x[1]+1)?
30、下面程序的运行结果是____A___。 # include <stdio.h> # include <string.h> fun(char *s) { char t,*a,*z; a=s; z=s+strlen(s)-1; while(a++<z--) { t=*a++; *a=*z--; *z=t;} } main() { char *p; p="a
abdddfg?
afcdebg?
gbedcfa?
gfedcba?
31、用来描述C程序中注释的是__C___
/ /?
?
* *?
32、对于"xy\n\102\\\'"字符串的长度是__B___
7?
6?
12?
13?
33、已知:int x=10;执行语句x-=x+x;后x的值是__A___
-10?
10?
-20?
20?
34、下列描述中,正确的是__A___
所有的输入/输出都是通过调用库函数处理的?
所有的输入/输出都是通过输入/输出语句实现的?
getchar和putchar可以省略#include?
在输入/输出格式中的*表示跳过数据的含义?
35、设x=10,y=5;z=15,执行下面一段程序后z的结果是__C___ if(x>y) if(y>z)x=y; else z=y;
7?
6?
5?
4?
36、执行下面程序段的结果是__D___ int x=0; do { printf(“%2d”,x--); }while(x);
打印出321?
打印出23?
不打印任何结果?
陷入死循环?
37、以下关于switch语句和break语句的描述正确的是__D___
在switch语句中必须使用break语句?
break语句只能用于switch语句体中?
break语句只能用于循环语句中?
在switch语句中可以使用break语句?
38、与语句while(!x)等价的语句是__A___
while(x==0)?
while(x!=0)?
while(x!=1)?
while(~x)?
39、下面的描述错误的是__C___
?函数可以有多个形式参数?
?函数可以没有返回值?
?函数内可以嵌套定义函数?
?函数可以被其他函数调用?
40、 下面关于局部变量的描述中,错误的是__D___
?函数的局部变量的有效范围只能在本函数?
?函数的形式参数也是局部变量?
?局部变量的名称不能和函数同名称?
?不同的函数中不能定义相同名称的局部变

热点内容
java微信公众号开发 发布:2024-11-02 04:35:29 浏览:586
php对象转为数组 发布:2024-11-02 04:33:45 浏览:719
阿里云启动服务器 发布:2024-11-02 04:31:51 浏览:110
数控编译错误802怎么解决 发布:2024-11-02 04:31:42 浏览:320
linux如何安装驱动 发布:2024-11-02 04:30:18 浏览:490
云服务器项目实施方案 发布:2024-11-02 04:26:00 浏览:246
写入存储 发布:2024-11-02 04:20:21 浏览:30
JavaString替换 发布:2024-11-02 04:14:29 浏览:560
百度查询脚本 发布:2024-11-02 04:14:22 浏览:99
阴阳师ios如何登录安卓 发布:2024-11-02 04:03:03 浏览:708