二级C语言笔试试题(A卷)
c国家二级考试试题及答案
c国家二级考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,下列哪个选项是正确的数据类型?A. intB. floatC. doubleD. All of the above答案:D2. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D3. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. voidD. All of the above答案:C4. 下列哪个选项是C语言中正确的数组声明方式?A. int array[10];B. int [10] array;C. int array[];D. All of the above答案:D5. 在C语言中,哪个函数用于输入字符?A. scanf()B. getchar()C. printf()D. Both A and B答案:B6. 下列哪个选项是C语言中的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello" "World!"D. All of the above答案:A7. 在C语言中,哪个关键字用于跳过当前循环的剩余部分,并开始下一次迭代?A. continueB. breakC. returnD. Both A and B答案:A8. 下列哪个选项是C语言中正确的结构体声明方式?A. struct Point { int x, y; };B. struct { int x, y; } Point;C. Both A and BD. None of the above答案:C9. 在C语言中,哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. All of the above答案:C10. 下列哪个选项是C语言中正确的文件操作函数?A. fopen()B. fclose()C. Both A and BD. None of the above答案:C二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个全局变量。
2007年第2次C语言等级考试
全国高等学校非计算机专业计算机等级考试二级C语言笔试试题(A卷)考试时间:2007年11月17日上午9:00——11:00考生必读:1.考生应严格遵守考场规则。
考生拿到试卷后应首先将自己的所在学校名称、考场地点、性命、准考证号填涂在答题纸和答题卡规定的位置上。
2. 考生得到监考人员指令后方可作答。
3.考生在答题前务必认真阅读题目要求,按要求作答。
客观题的答案(选择题和判断题)必须用2B铅笔填涂在答题卡的相应位置上;主观题的答案必须用蓝、黑色钢笔或圆珠笔填写在答题纸的相应位置上;且必须注明试卷类型(A 卷或B卷)。
否则答案无效。
4.注意字迹清楚,保持卷面整洁。
5. 考试时间为120分钟。
考试结束时,把试题册、答题卡、答题纸放在桌上,不得带走。
等监考人员收齐点清后,考生才可离开考场。
◆本试卷版权所有,任何单位或个人不得复制、出版和存留,违者必究◆重庆市教育委员会2007年11月二级C语言笔试试卷(A)(共100分)注意事项:1.一题为客观题,请将答案涂在机读答题卡上2.请将二、三、四、五题的答案做在答题纸上一.单项选择题。
(每小题1分,共20分)1. 一个C程序的执行是从()。
(A)本程序的main函数开始(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束2. 设有C语句:int x=3, y=4,z=5;,则下面表达式中值为0的是()。
(A)x&&y (B)x<=y(C) x||y+z&&y-z (D)!((x<y )&& !z||1))3. 以下有关宏替换的叙述不正确的是()。
(A)宏替换不占用运行时间(B)宏名无类型(C)宏替换只是字符串替换;(D)宏替换是在运行时进行的4. 在标准库函数的调用形式“fread(buffer,size,count,fp);”中,参数buffer代表的是()。
全国计算机二级《C语言》考试题库与答案
全国计算机二级《C语言》考试题库与答案全国计算机二级《C语言》考试题库与答案在学习、工作中,我们都离不开试题,借助试题可以检验考试者是否已经具备获得某种资格的基本能力。
什么样的试题才能有效帮助到我们呢?以下是店铺为大家收集的全国计算机二级《C语言》考试题库与答案,欢迎大家分享。
全国计算机二级《C语言》考试题库与答案篇1(1)下列关于栈叙述正确的是( )。
A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除(2)下列叙述中正确的是( )。
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)( )。
A.3B.4C.6D.7软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( ):A.学生成绩管理系统B.c语言编译程序C.UNIX操作系统D.数据库管理系统(5)结构化程序所要求的基本结构不包括( )。
A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构(6)下面描述中错误的是( )。
A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是( )。
A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是( )。
A.1:1联系B.1:m联系C.m:1联系D.m:n联系(9)已知大写字母A的ASCIl码值是65,小写字母a的ASCIl码值是97。
以下不能将变量C中的大写字母转换为对应小写字母的语句是( )。
计算机二级c 笔试试题及答案
计算机二级c 笔试试题及答案计算机二级C语言笔试试题及答案一、选择题1. 下面哪个不是C语言的关键字?A. intB. floatC. voidD. printf答案:D2. 在C语言中,下列哪个不是合法的标识符?A. my_1st_variableB. 123abcC. max_valueD. helloWorld答案:B3. 下面哪个运算符的优先级最高?A. +B. %C. *D. /答案:C4. 下面的代码会输出什么结果?#include <stdio.h>int main(){int x = 5;printf("%d", x++);return 0;}A. 6B. 5C. 0D. 未定义行为答案:B5. 下面哪个选项可以实现循环执行某段代码的功能?A. if语句B. for循环C. switch语句D. continue语句答案:B二、填空题1. C语言中,用于定义常量的关键字是________。
答案:const2. 下面代码的输出结果是什么?#include <stdio.h>int main(){int a = 10;int b = 20;int max = (a > b) ? a : b;printf("最大值为:%d", max);return 0;}答案:最大值为:20三、编程题1. 编写一个程序,输入两个整数,输出它们的和。
#include <stdio.h>int main(){int num1, num2, sum;printf("请输入两个整数:\n");scanf("%d%d", &num1, &num2);sum = num1 + num2;printf("它们的和为:%d\n", sum);return 0;}四、问答题1. 什么是函数?答:函数是一段完成特定任务的代码块,可以重复使用。
全国计算机等级考试二级c语言题库及答案
全国计算机等级考试二级c语言题库及答案全国计算机等级考试二级C语言题库及答案1. 以下关于C语言的叙述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持模块化程序设计答案:B2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. forC. returnD. void答案:D3. 若有定义:int a=3, b=4; 则表达式 a+b 的值是:A. 7B. 6C. 3.4D. 43答案:A4. 在C语言中,以下哪个选项不是合法的变量名?A. _sumB. sum_C. 2valueD. sum$答案:C5. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array[2,3];答案:A6. 若有定义:char c1='a', c2='b'; 则表达式 c1-c2 的值是:A. -1B. 1C. 97D. 98答案:A7. 在C语言中,以下哪个选项不是合法的字符串字面量?A. "Hello"B. 'Hello'C. "123"D. "C\"Language"答案:B8. 若有定义:int x=10; 则表达式 x++ 的结果是:A. 10B. 11C. 9D. 无法确定答案:A9. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. floatD. pointer答案:B10. 若有定义:int a[5] = {1, 2, 3, 4, 5}; 则表达式 a[2] 的值是:A. 3B. 4C. 5D. 无法确定答案:A11. 在C语言中,以下哪个选项不是合法的循环控制语句?A. forB. whileC. do-whileD. repeat答案:D12. 若有定义:float x=3.14; 则表达式 (int)x 的值是:A. 3B. 3.14C. 4D. 无法确定答案:A13. 在C语言中,以下哪个选项不是合法的函数参数类型?A. intB. floatC. doubleD. void答案:D14. 若有定义:int a=5, b=10; 则表达式 a%b 的值是:A. 5B. 0C. 1D. 无法确定答案:B15. 在C语言中,以下哪个选项不是合法的输入输出函数?A. printfB. scanfC. coutD. getchar答案:C16. 若有定义:int a=2, b=4; 则表达式 a&b 的值是:A. 0B. 2C. 4D. 6答案:B17. 在C语言中,以下哪个选项不是合法的逻辑运算符?A. &&B. ||C. !D. <答案:D18. 若有定义:int a=3; 则表达式 a<<2 的值是:A. 6B. 12C. 9D. 无法确定答案:B19. 在C语言中,以下哪个选项不是合法的文件操作函数?A. fopenB. fcloseC. removeD. delete答案:D20. 若有定义:int a=6; 则表达式 a==6 的值是:A. 1B. 0C. 6D. 无法确定答案:A。
全国计算机等级考试二级C语言笔试试卷及标准解析
全国计算机等级考试二级C语言笔试试卷及标准解析全国计算机等级考试二级C语言笔试试卷及标准解析一、选择题((1)一(10)每题2分(11)一(50)每题1分共60分) 下列各题A)、B)、C)、D)四个选项中只有一个选项是正确的请将正确选项涂写在答题卡相应位置上答在试卷上不得分。
(1)下列选项中不属于结构化程序设计方法的是 A)自顶向下B)逐步求精 C)模块化 D)可复用 (2)两个或两个以上模块之间关联的紧密程度称为 A)耦合度B)内聚度 C)复杂度 D)数据传输特性 (3)下列叙述中正确的是 A)软件测试应该由程序开发者来完成 B)程序经调试后一般不需要再测试 C)软件维护只包括对程序代码的维护 D)以上三种说法都不对 (4)按照“后进先出”原则组织数据的数据结构是 A)队列B)栈 C)双向链表D)二叉树 (5)下列叙述中正确的是A)线性链表是线性表的链式存储结构 B)栈与队列是非线性结构 C)双向链表是非线性结构 D)只有根结点的二叉树是线性结构 (6)对如下二叉树 ABDECF 进行后序遍历的结果为A)ABCDEFB)DBEAFC C)ABDECFD)DEBFCA (7)在深度为7的满二叉树中叶子结点的个数为A)32B)31 C)64D)63 (8)“商品”与“顾客”两个实体集之间的联系一般是 A)一对一B)一对多 C)多对一D)多对多 (9)在E-R图中用来表示实体的图形是 A)矩形B)椭圆形 C)菱形D)三角形 (10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是A)DB包含DBS和DBMS B)DBMS包含DB和DBS C)DBS包含DB 和DBMS D)没有任何关系 (11)以下不合法的用户标识符是A)j2_KEYB)Double C)4dD)_8_ (12)以下不合法的数值常量是 A)011B)1e1 C)8.0E0.5D)0xabcd (13)以下不合法的字符常量是A)′\018′B)′\"′ C)′\\′D)′\xcc′(14)表达式3.6-5/2+1.2+5%2的值是 A)4.3B)4.8C)3.3 D)3.8(15)以下能正确定义字符串的语句是 A)char str[]={′\064′};B)char str="kx43"; C)charstr="; D)char str[]="\0";(16)以下数组定义中错误的是 A)int x[][3]={0};B)int x[2][3]={{l2}{34}{56}}; C)int x[][3]={{l23}{456}}; D)int x[2][3]={l23456};(17)若要求从键盘读入含有空格字符的字符串应使用函数A)getcB)gets C)getcharD)scanf(18)以下四个程序中完全正确的是 A)#includeB)#include main;main {/_programming_/{/_/programming /_/ printf("programming!\n");}printf("programming!\n");}C) #include D) include mainmain{/_/_programming_/_/{/_programming_/printf("programming!\n");} printf("programming!\n");}(19)若有定义:float x=1.5;int a=1b=3c=2;则正确的switch语句是 A)switch(x)B)switch((int)x); {case1.0:printf("_\n"); {case 1:printf("_\n");case2.0:printf("__\n");} case 2:printf("__\n");} C)switch(a+b) D)switch(a+b) {case 1:printf("_\n");{case 1:printf("_\n"); case 2+1:printf("__\n");}case c:printf("__\n");} (20)若各选项中所用变量已正确定义函数fun中通过return语句返回一个函数值以下选项中错误的程序是 A)mainB)float fun(int aint b){……} {……x=fun(210);……}main float fun(int aintb){……}{……x=fun(i,j);……} C)floatfun(intint); D)main main {floatfun(int iint j);{……x=fun(210);……}……x=fun(i,j);……}float fun(int aint b){……}float fun(int aint b){……} (21)在以下给出的表达式中与while(E)中的(E)不等价的表达式是A)(!E==0)B)(E>0‖EB)while(ch=getchar!=′N′)printf("%c",ch);C)while(ch=getchar==′N′)printf("%c",ch);D)while((ch=getchar)==′N′)printf("%c",ch); (23)已定义以下函数int fun(int _p){return _p;)fun函数返回值是 A)不确定的值 B)一个整数 C)形参P中存放的值 D)形参P的地址值 (24)若有说明语句:double _pa;则能通过scanf语句正确给输入项读入数据的程序段是 A)_p=&a; scanf("%1f"p);B)_p=&a; scanf("%f"p); C)p=&a; scanf("%1f"_p); D)p=&a; scanf("%1f"p); (25)现有以下结构体说明和变量定义如图所示指针p、q、r分别指向一个链表中连续的三个结点。
计算机二级c语言笔试题库及答案
计算机二级c语言笔试题库及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 以下哪个函数用于将字符串s2连接到字符串s1的末尾?A. strcat(s1, s2)B. strcpy(s1, s2)C. strncpy(s1, s2, n)D. strcmp(s1, s2)答案:A3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 若有以下定义:int a[5] = {1, 2, 3, 4, 5}; 则表达式a[0] +a[2] + a[4]的值是多少?A. 8B. 10C. 12D. 15答案:C5. 在C语言中,以下哪个函数用于将一个字符串复制到另一个字符串?A. strcat()B. strcpy()C. strncpy()D. strcmp()答案:B6. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:A7. 在C语言中,以下哪个关键字用于声明一个变量?A. varB. letC. intD. var答案:C8. 在C语言中,以下哪个函数用于将一个整数转换为字符串?A. atoi()B. itoa()C. sprintf()D. strcpy()答案:B9. 在C语言中,以下哪个函数用于打开一个文件?A. fopen()B. fclose()C. fread()D. fwrite()答案:A10. 在C语言中,以下哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. ref答案:C二、填空题(每题2分,共20分)1. 在C语言中,________关键字用于定义一个宏。
答案:#define2. 在C语言中,________关键字用于定义一个枚举类型。
计算机二级c语言考试试题及答案
计算机二级c语言考试试题及答案计算机二级C语言考试通常包括选择题、填空题、简答题和编程题等几种类型。
以下是一些模拟试题及答案,供参考:# 一、选择题1. 下列哪个是C语言的关键字?- A. `int`- B. `float`- C. `double`- D. `string`答案:A2. C语言中,以下哪个不是合法的变量名?- A. `my_var`- B. `2variable`- C. `variable_name`- D. `variable`答案:B3. 在C语言中,哪个运算符用于求余数?- A. `%`- B. `/`- C. `*`- D. `+`答案:A4. 以下哪个语句用于结束C程序?- A. `return 0;`- B. `exit(0);`- C. `end;`- D. `void main()`答案:A5. 在C语言中,数组的索引是从哪个数字开始的?- A. 0- B. 1- C. -1- D. 随机数答案:A# 二、填空题1. 在C语言中,`printf`函数用于______。
答案:输出信息2. 定义一个整型变量`a`并初始化为10,应使用语句:`int a =______;`答案:103. C语言中,`for`循环的一般形式为:`for(初始化表达式; 条件表达式; 迭代表达式) ______;`答案:{循环体}4. 字符串在C语言中以______字符结尾。
答案:'\0'5. 使用`scanf`函数从键盘读取数据时,需要在格式字符串中使用______来指定变量的地址。
答案:&# 三、简答题1. 请简述C语言中函数的作用和基本结构。
答案:函数是C语言中实现代码复用的一种方式。
一个函数通常用于执行一个特定的任务。
基本结构包括函数原型声明和函数定义。
函数原型声明了函数的返回类型、名称和参数列表。
函数定义则包含了函数的实现细节,即函数体。
2. 解释C语言中指针的概念及其用途。
全国计算机等级考试二级C语言笔试试题及答案解析
全国计算机等级考试二级C语言笔试试题及答案解析一、选择题1. 以下哪个选项不是C语言的关键字?A. autoB. includeC. ifD. static答案:B解析:C语言中,auto、if和static都是关键字,而include不是关键字,它是预处理命令的一部分。
2. 在C语言中,下列哪个选项是非法的整型常量?A. 012B. 0x123C. 0X123D. 0123答案:D解析:C语言中,以0开头的数字表示八进制常量,以0x 或0X开头的数字表示十六进制常量。
选项A表示八进制常量,选项B和C表示十六进制常量,而选项D表示非法的常量。
3. 有以下程序段:```cint a = 5, b = 4;printf("%d\n", a/b);```输出结果是:A. 1B. 1.25C. 5D. 4答案:A解析:在C语言中,整数除法的结果仍然是整数。
因此,5除以4的结果为1。
4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A解析:在C语言中,malloc()函数用于动态分配内存。
calloc()函数也用于动态分配内存,但会初始化分配的内存空间。
alloc()和new()不是C语言中的标准函数。
二、填空题1. 在C语言中,若要定义一个指向整型的指针变量,应使用______。
答案:int解析:在C语言中,使用int 来定义一个指向整型的指针变量。
2. 有以下程序段:```cint a = 5, b = 3;printf("%d\n", a % b);```输出结果是______。
答案:2解析:在C语言中,%运算符表示求余运算。
因此,5除以3的余数为2。
3. 有以下程序段:```cint a = 5;printf("%d\n", sizeof(a));```输出结果是______。
全国计算机等级考试二级C语言笔试试题及答案.doc
2005年4月全国计算机等级考试二级C语言笔试试题及答案囱一、选择题(⑴〜(10)每小题2分,(11)〜(50)每小题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项就是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)数据的存储结构就是指。
A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示(2)下列关于栈的描述中错误的就是。
A.栈就是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针(3)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的就是A.冒泡排序为n/2B.冒泡排序为nC.快速排序为nD.快速排序为n(n-l)/2(4)对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为A.log2nB.n/2C.nD.n+1(5)下列对于线性链表的描述中正确的就是。
A.存储空间不一定就是连续,且各元素的存储顺序就是任意的B.存储空间不一定就是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序就是任意的(6)下列对于软件测试的描述中正确的就是。
A.软件测试的目的就是证明程序就是否正确B.软件测试的目的就是使程序运行结果正确C.软件测试的目的就是尽可能多地发现程序中的错误D.软件测试的目的就是使程序符合结构化原则(7)为了使模块尽可能独立,要求oA.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(8)下列描述中正确的就是。
A.程序就就是软件B.软件开发不受计算机系统的限制C.软件既就是逻辑实体,又就是物理实体D.软件就是程序、数据与相关文档的集合(9)数据独立性就是数据库技术的重要特点之一,所谓数据独立性就是指A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对(10)用树形结构表示实体之间联系的模型就是。
计算机二级c语言考试题及答案
计算机二级c语言考试题及答案一、选择题1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级编程语言B. C语言具有可移植性C. C语言可以直接在操作系统上运行D. C语言具有结构化编程的特点答案:C2. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A3. 下列关于数组的描述中,正确的是()。
A. 数组必须在程序的开始处定义B. 数组的大小在定义后可以改变C. 数组可以存储不同类型的数据D. 数组的下标从0开始答案:D二、填空题1. 在C语言中,使用________关键字可以定义一个函数。
答案:void2. C语言中,用于输入输出的库函数分别是________和________。
答案:scanf; printf3. 在C语言中,声明一个字符型数组可以使用________关键字。
答案:char三、编程题1. 编写一个C语言程序,计算并输出100以内的奇数和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i < 100; i += 2) {sum += i;}printf("100以内的奇数和为:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现两个整数的交换。
```c#include <stdio.h>int main() {int a = 10, b = 20, temp;temp = a;a = b;b = temp;printf("交换后的值:a = %d, b = %d\n", a, b);return 0;}```四、简答题1. 简述C语言中指针的作用。
答案:指针在C语言中用于存储变量的内存地址,它允许程序间接访问内存中的数据。
计算机二级证c语言试题及答案
计算机二级证c语言试题及答案一、选择题(每题2分,共40分)1. 下列哪个是C语言的关键字?A. mainB. ifC. forD. print2. C语言中,用于定义常量的关键字是:A. constB. staticC. finalD. volatile3. 在C语言中,定义整型变量的关键字是:A. floatB. intC. doubleD. char4. 下面哪个是C语言的赋值运算符?A. =B. ==C. +D. *5. 下列哪个运算符具有最高的优先级?A. +B. *C. =D. /二、填空题(每题4分,共40分)1. C语言中,用于输入函数的是______函数。
2. C语言中,用于输出函数的是______函数。
3. 声明函数的返回类型为整型时,应使用关键字______。
4. 下面代码的运行结果是:______。
int a = 5;int b = 2;double result = a / b;5. C语言中,用于定义宏的关键字是______。
三、编程题(共20分)请编写一个C语言程序,接受用户输入的四个整数,计算它们的和并输出结果。
```c#include <stdio.h>int main() {int num1, num2, num3, num4;printf("请输入四个整数:\n");scanf("%d %d %d %d", &num1, &num2, &num3, &num4);int sum = num1 + num2 + num3 + num4;printf("四个整数的和为:%d\n", sum);return 0;}```四、简答题(每题10分,共20分)1. 什么是C语言?C语言是一种广泛应用于系统编程和应用程序开发的程序设计语言,由Dennis Ritchie在20世纪70年代早期在贝尔实验室开发。
计算机二级C语言考试试题附答案
计算机二级C语言考试试题附答案2017年计算机二级C语言考试试题附答案C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。
下面是店铺整理的关于计算机二级C语言考试试题附答案,欢迎大家参考!(1)以下叙述正确的是A)循环结构、选择结构、顺序结构都是结构化程序的基本结构B)计算机可以直接执行C语言程序,不需要做任何转换C)过于复杂的算法不能使用N—s流程图描述D)只有不超过20步操作步骤的算法才是简单算法【答案】A【解析】计算机只能识别机器语言,C语言是高级语言,计算机无法直接执行,排除B选项;N—S流程图是复杂流程算法的描述手段。
因此C选项错误;算法的复杂与简单,不能用操作步骤数来衡量,D选项错误;循环结构、选择结构、顺序结构都是结构化程序的基本结构,答案为A选项。
(2)C语言程序的模块化通过以下哪个选项来实现A)变量B)函数C)程序行D)语句【答案】B【解析】C语言程序的模块化通过函数来体现,所以选择B。
(3)以下叙述中正确的是A)书写源程序时,必须注意缩进格式,否则程序会有编译错误B)程序的主函数名除main外,也可以使用Main或_mainC)程序可以包含多个主函数,但总是从第一个主函数处开始执行D)在C程序中。
模块化主要是通过函数来实现的【答案】D【解析】C语言的源程序中对缩进没有要求。
所以A选项错误。
C 语言中区分大小写,main函数不能写成Main或一main,所以B选项错误。
一个C程序有且只有一个主函数,所以C选项错误。
(4)以下叙述中正确的是A)用户自己定义的函数只能调用库函数B)实用的C语言源程序总是由一个或多个函数组成C)不同函数的形式参数不能使用相同名称的标识符D)在C语言的函数内部,可以定义局部嵌套函数【答案】B【解析】A选项中,”用户自己定义的函数只能调用库函数”描述是不正确的,也可以调用自定义函数;C选项中,对于不同函数的形式参数可以使用相同名称的标识符;D选项中,关于函数的定义不可以嵌套,但函数的调用可以嵌套。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
for(i=0;i<26;i++) if(num[i]); printf(“%c:%d\n”, ②
,num[i]);
} 2、下面程序的功能是:从整数10~99之间选出哪些能被3整除、且有一 位数字是5的数存放在p数组中,并输出这些数的个数。请填空完成程 序。 #include <stdio.h> viod main() { int p[100],k,a1,a2,i ③ ; for(k=10;k<=99;k++) { a2=k/10; a1=k-a2*10; if ( ④ ) { p[i]=k; i++; } } printf(“数据个数是:%d\n”,i); } 3、函数pi 的功能是根据下面的公式求出满足精度要求的π值,请填空 完成函数。 double pi(double eps) { double s=0.0,t=1.0; int n,flg=1; for( ⑤ ;t>eps;n++) {s=+flg*t; t=1.0/(2*n+1); flg=-flg; } return ⑥ ; } 4、下面程序的功能是:从键盘上输入一个整数,将其插入一个整数, 将其插入到一个元素按升序排列的整型数组中,插入后的数组元素值仍 然保持按升序排列;请填空完成程序。 #include<stdio.h>
{ int x; Int *y; }*p; Int dt [4]={1,2,3,4}; Struct st aa[4]={5,&dt[0],6, &dt[1],7, &dt[2],8, & dt[3]}; void main () { p=aa; printf ("%d",++p->x); printf ("%d",(++p)->x); printf ("%d\n", ++(*p->y)); } 五.程序设计题(每小题10分,共20分) 1.函数的原型为:double aver(double a[],int n,double *max, double *min);,其公式用主函数如下所示,请编制函数 aver。 #include 〈stdio. h〉 void main () { double aver(double a[],int n,double *max, double *min); double av[10],maxv, minv, averv; int i; for (i=0; i<10;i++) scanf("%lf",&av[i]); averv=aver(av, 10,&maxv,&minv); printf("maxv=%lf, minv=%lf, averv=%lf\n", maxv,minv,averv); } 2 .编制程序实现功能:统计指定文本文件 mydata. Txt 中英语字母的 个数。
{ n--; Printf(“%d”,n); } } (A)987 (C)8765 (B)976 (D)876
7.下面所列选项中,构成死循环的程序段是( )。 (A) int i=100; (B) for(;;) While(1) puts(“a”); { i=1+1; If(i>100) Break; } (C) int k=10000; (D) int s=36; Do while(s) { k--; --s; Printf(“%d\n”,k); }while(k。10000); 8.设有以下说明语句,则下面所列选项中叙述不正确的是( )。 Struct stu { int a; Float b; }stutype; (A) struct是结构体类型的关键字 (B) struct stu是用户定义的结构体类型 (C) stutype是用户定义的结构体类型名 (D) a和b都是结构类型题成员名 9.设有变量定义int x,y;,则表达式(x=2,y=5,y--,++x+y)的值是( )。 (A)8 (B)5 (C)6 (D)7 10.为了表达关系100≧x≧0;,应使用下列C语言表达式中的( ) (A)(x>=0) and(x<=100) (B)(x>=0) &&(100>=x) (C)(100>=X>=0) (D)(x>=0) &(100>=x) 11.设有C语句:intx[3][3]={9,8,7};,则数组元素x[0][1]和x[2][2]的 值是( )。 (A)9和7 (B)8和0 (C)7和0 (D)8和 随机数
if(!a) x--; else if(b) if(c) x=3; else x=4 printf(“%d\n”,x); } (A)34 (B)4 (C)35 (D)3 二、基本概念选择填空题(本大题后面有备选项A~L,请选择合适的备 选项,并将其填入答题纸对应序号处,每空2分,共10分) 1、在C程序中引用标准库中的数学类函数时,需要在程序的预处理部分 包含 ① 头文件。 2、在C程序中,如果要表示的条件是,“a或b之一为0,但a和b不同时为 零”,则可将其逻辑关系描述为: ② 。 3、在C语言中,函数返回值的数据类型取决于 ③ 。 4、函数调用中,数组名作为形参时实现的是传地址调用,而数组元素 作为形参时实现的是 ④ 调用。 5、字符串常量和字符数组都占用一段 ⑤ 的存储单元。 备选项: (A)a+b!=0&&a*b=0 (B)math.h (C)men.h (D)传地址 (E) stdio.h (F)独立 (G)函数返回值类型 (H)传值 (I){} (J)连续 (K)定义该函数时所指定的数据类型 (L)a+b==0&&a*b!=0 三、程序填空题(每空2分,共20分) 1、下面程序的功能是统计从键盘输入的字符序列中每个大写字母的个 数。程序执行时用‘#’字符作为输入结束标志,请填空完成程序。 #incude<stdio.h> viod main() { int num[26]={0},i; char c; while (( ① )!=’#’) if (c>=’A’&&c<=’Z’) num[c-65]+=1;
void main() { int a[10]={2,5,8,10,15,20,28,27}; int x,i,n=8; scanf(“%d”,&x); for (i=n-1;i>0;i--) if( ⑦ ) a[i+1]=a[i]; else break; ⑧ ; n++; for(i=0;i<n;i++) printf(“%5d”,a[i]); printf(“\n”); } 5、下面程序的功能是求整数100~200之间的所有素数,请填空完成程 序。 #include<stdio.h> #include<math.h> void main() { int m, n,k; for(m=101;m<200;m=m+2) { k= ⑨ ; for(n=2;n<=k;n++) if( ⑩ ) break; if(n>k) preatf(“%d\n”,m) } } 四.阅读程序题(每小题5分,共30分) 1、阅读下面程序,给出程序执行后的输出结果。 #include <stdio.h> viod main()
if(*p>*s) s=p; return *s; } void main() { int x[5]={12,21,13,6,18}; printf(“%d\n”,find(x,5)); } 4. 阅读下面程序,给出程序执行后的输出结果。 #include 〈stdio. h〉 void main () { int fun (int a); int a=2,j,k; for (j=0;j<2;j++) k=fun (a++); printf ("%d\n",k); } Int fun (int a) { int b=0; atatic int c=3; a=c++,b++; return a; } 5.阅读下面程序,给出程序执行后的输出结果。 #include 〈stdio. h〉 Void main () { char *arr="abcdefghijk",*p; for (p=&arr [5];p>=arr; p--) printf("%2c",*p); printf("\n"); } 6. 阅读下面程序,给出程序执行后的输出结果。 # include 〈stdio. h〉 struct st
12.设有C语言char *ptr,a;下面C语言中正确的是( )。 (A)a=ptr (B)ptr=ptr/2 (C)ptr=*a (D) ptr=20 13.设有C语句double x,*y=&x,**z=&y;,则变量x等价的是( )。 (A)z (B)*z (C)**z (D)&z 14.C标准库函数strcmp()的功能是( )。 (A)测试字符串的长度 (B)复制字符串 (C)比较两个字符串的大小 (D)连接字符串 15.字符串\\21\t\\\123456的长度ห้องสมุดไป่ตู้( )。 (A)8 (B)9 (C)11 (D)1 16.下面程序段执行后输出的救国是( )。 #define f(x,y) x+y Int a=2,b=3; Printf(“%d”,f(a,b)*(a,b)); (A)36 (B)25 (C)11 (D)13 17.c语言表达式sizeof(‘a’+10)执行结构的数据类型是( )。 (A) int (B)flaoat (C) double (D)char 18.设有定义: int x=3,y=2;,则条件表达式x>y?1:2:3的值为( )。 (A)1 (B)1.0 (C)2.3 (D)2 19.下面程序段执行后输出的结果是( )。 Char s[4] = “cba”; Char *p=s; Printf(“&c,*p+1); (A)字符C (B)字符B (C)字符A (D) 字符D 20.下面程序执行后输出的结果是( )。 #include <sstdio.h> Xoid main() { int a,b,c,x; a=b=c=0; x=35;