东北大学2014年C语言机考考试题库
东北大学C语言机考试题全

7 8 9 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45在物理实验中,获得5个数据{0.89,0.78,0.0009,0.67,0.56},其中有一个数据小于0.001,此数据无效,将此无效在跳水比赛中,有10个评委共同打分,评分规则是去除最高分和最低分,然后计算剩余8个评委分数的平均分作为已知一有序序列1,2,4,6,12,14,要求从键盘输入一个整数,将此整数插入到此有序序列中。
要求输出原始数组和从键盘读入一整数,判断其在数组3,23,-7,8,9,10中是否存在,假设此数组中不存在重复的数字。
若存在,则删除(2)当x大根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。
(1)当x小于1时,y等于2+cos(x)从键盘读入一个实数,对其进行四舍五入处理,要求精确到到小数点后两位。
例如输入12.345,其结果为12.35;输从键盘输入三个整数a、b、c,输出其中最小的数。
从键盘输入三个整数a、b、c,输出其中最大的数。
从键盘输入一个百分制成绩,将其转换为等级'A'、'B'、'C'、'D'、'E'后输出成绩。
转换规则为:90分以上为'A 输入一个3位的正整数,判定该正整数是否为一个回文数。
(所谓回文数是指正读和反读都相同的数,例如131)。
从键盘输入一个字母表示的成绩,将其转换为分数。
规则是'A'对应95、'B'对应85、'C'对应75、'D'对应65、'E'输入一个整数,将其数值按小于10,10~99,100~999,1000以上分类并显示(例如:输入358时,显示358 is 1(2)当x大于根据下面的函数关系,输入X,计算Y,要求输出结果保留两位小数。
东北大学C语言机考试题全

主观题
Page 5
程序设计 题 程序设计 题 程序设计 题 程序设计 题 程序设计 题 程序设计 题 程序设计 题 程序设计 题 程序设计 题
程序设计 题 程序设计 题 程序设计 题 程序设计 题
2 0.113396 2 0.948186 3 0.045317 3 0.886919 3 0.150624 3 0.43147 3 0.060552 3 0.69595 3 0.409323 3 0.848001 1 0.483078 1 0.662013 2 0.060207 2 0.498132
题号 7
8
9
12
13 14 15 16 17 18 19 20
21
22 23 24 25 26 27 28 29 30
主观题 Page 1
主观题 31 32 33 34 35 36 37 38 40 41 42 43 44 45
Page 2
主观题
题目 在物理实验中,获得5个数据{0.89,0.78,0.0009,0.67,0.56},其中有一个数据小于0.001,此数据无效,将此 无效数据删除。要求编制函数cleandata(double *p)实现数据的清理工作,并在主函数输出删除之前的数组和 在跳水比赛中,有10个评委共同打分,评分规则是去除最高分和最低分,然后计算剩余8个评委分数的平均分作 为最终成绩。要求编制打分函数pscore(double *p),输入一次跳水动作中,10个评委打出的成绩,并计算此 动作的最终成绩。在主函数中调用此函数计算某次动作的分数。 已知一有序序列1,2,4,6,12,14,要求从键盘输入一个整数,将此整数插入到此有序序列中。要求输出原始数组 和插入之后的数组。要求编制函数insert(int *p,int d)实现此功能,在主函数调用此函数。 提示:例如输入整数位7,首先要找到7在整个序列中的位置,然后将7插入到当前位置。 从键盘读入一整数,判断其在数组3,23,-7,8,9,10中是否存在,假设此数组中不存在重复的数字。若存在,则 删除此数;否则,提示此数不存在。要求:编制函数remove(double *p,double d)实现数据的清理工作,并输 出原始数据和删除后的数据。 根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。 (1)当x小于1时,y等于2+cos(x) (2)当x大于等于1且x小于2时,y等于x的平方加上sin(x) (3)当x大于等于2时,y等于(x-2)的平方根; 要求:按格式输出x和y的值,要求小数点后保留3位。 从键盘读入一个实数,对其进行四舍五入处理,要求精确到到小数点后两位。例如输入12.345,其结果为 12.35;输入12.341,其结果为12.34。
东北大学C语言考试题库及答案

东北大学C语言考试题库及答案————————————————————————————————作者:————————————————————————————————日期:题目:根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。
5 题目:输入一个整数,当为65时显示A,66时显示B,68时显示C,其他值时显示END.(可选用switch 语句编写)6 题目:编写程序将用户输入的字母进行大小写转换。
7 题目:编程判断输入的正整数是否即是5的倍数又是7的倍数.若是则输出该数;否则输出—1。
8 题目:输入一个整数,判断它是奇数还是偶数并输出。
9 题目:从键盘输入二个整数a、b,将其按大到小排列.10 题目:找出不超过1000的十位数字为1,个位数字为3或7的所有数。
例如:13、17、113、317等。
11 题目:输入一个整数,判断该数是否能被3,5,7整除,并输出以下信息之一:(1)能同时被3,5,7整除;(2)能被其中两数(要指出哪两个)整除;(3)被其中一个数(要指出哪一个)整除;(4)不能被3,5,7任一个整除.12 题目:输入一个5位的正整数,判定该正整数是否为一个回文数。
(所谓回文素数是指正读和反读都相同的数,例如12321)。
13 题目:假设变量a、b、c为整数,从键盘读入a、b、c的值,当a为1时显示b与c之和,a为2时显示b与c之差,a为3时显示b与c之积,a为4时显示b/c之商,其他数值不做任何操作.14 题目:输入一个整数,将其数值按小于10,10~99,100~999,1000以上分类并显示(例如:输入358时,显示358 is 100 to 999)。
15 题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的面积。
16 题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的类型(等边、等腰、直角、一般)。
17 题目:计算二次方程的根。
2014年试题

2014(一) 程序设计(50分)一、单项选择题(共计20分,每小题2分)1.C 语言程序设计是一种( )A 、机器语言B 、汇编语言C 、高级语言D 、英语 2.C 语言程序的基本单位是( )A 、程序行B 、字符C 、语句D 、函数3.C 语言程序的三种基本结构是( )A 、顺序结构,选择结构,循环结构B 、递归结构,循环结构,转移结构C 、嵌套结构,递归结构,顺序结构D 、循环结构,嵌套结构,顺序结构4.下列运算符中优先级最高的是( )A 、<B 、&&C 、+D 、!=5.与数学式子129 x x n对应的C 语言表达式是( ) A 、9*x^n/(2*x-1) B 、9*x**n/(2*x-1)C 、9*pow(x,n)/(2*x-1)D 、9*pow(n,x)/(2*x-1)6.有如下程序,写出其执行结果( )#inc lude ”stdio.h”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);}A、0.000000B、0.250000C、0.500000D、1.00000047.如下程序段执行时()x=-1;do{ x=x*x;}while (!x);A、循环体将执行一次B、循环体将执行两次C、循环体将执行无数多次D、系统将提示有语法错误8.执行下面语句的输出为()int i =10;if(i<=0)printf(“* * * *\n”);elseprintf(“$ $ $ $ \n”);A、* * * *B、$ $ $ $C、$ $ $ $ cD、有错,执行不正确9.下列程序段的执行结果为()for(i=0;i<5;i++){for(j=0;j<i+1;j++)printf( "*");printf(“\n”);}10.若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是()A、i=*p;B、*p=*&j;C、i=&j;D、 i=**p;二、填空题(共计16分,每空2分)1.语句print(“%d”, 7%4); 的输出结果是:。
大学C语言考试题库(含答案)

单项选择==================================================题号:1482执行以下程序段后,输出结果和a的值是()。
int a=10; printf("%d",a++);A、11 和 10B、11 和 11C、10 和 11D、10 和 10答案:C题号:2100已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是A、65,66B、A,BC、65,68D、A,68答案:A题号:5055相同结构体类型的变量之间,可以()。
A、比较大小B、地址相同C、赋值D、相加答案:C题号:3217int a[10];合法的数组元素的最小下标值为()。
A、1B、0C、10D、9答案:B题号:45能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是A、a>=0 | a<=10B、a>=10 or a<=0C、a>=10 && a<=0D、a>=10 || a<=0答案:D题号:157main(){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、2,2B、2,1C、1,1D、1,0答案:B题号:4784设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。
A、不确定B、doubleC、intD、float答案:B题号:1647以下程序中,while循环的循环次数是______main(){int i=0;while(i<10){if(i<1) continue;if(i==5) break;i++;}}A、死循环,不能确定次数B、6C、4D、1答案:A题号:191若有说明语句:char c='\72';则变量c()。
全国计算机等级考试二级C语言真题题库1+2014年9月

全国计算机等级考试二级C语言真题题库1 2014年9月(总分:43.00,做题时间:120分钟)一、选择题(每小题1分,共40分)(总题数:40,分数:40.00)1.面向对象方法中,实现对象的数据和操作结合于统一体中的是()。
(分数:1.00)A.结合B.封装√C.隐藏D.抽象解析:[解析]对象的基本特点是:标识唯一性、分类性、多态性、封装性、模块独立性好。
封装是指隐藏对象的属性和实现细节,将数据和操作结合于统一体,仅对外提供访问方式,故B选项正确。
2.在进行逻辑设计时,将E—R图中实体之间联系转换为关系数据库的()。
(分数:1.00)A.关系√B.元组C.属性D.属性的值域解析:[解析]E-R模型和关系模式的对照表如下。
联系转换为关系数据库的关系,故A选项正确。
3.线性表的链式存储结构与顺序存储结构相比,链式存储结构的优点有()。
(分数:1.00)A.节省存储空间B.插入与删除运算效率高√C.便于查找D.排序时减少元素的比较次数解析:[解析]顺序表和链表的优缺点比较如下表所示。
率高,故B选项正确。
4.深度为7的完全二叉树中共有125个节点,则该完全二叉树中的叶子节点数为()。
(分数:1.00)A.62B.63 √C.64D.65解析:[解析〕在树结构中,定义一棵树的根节点所在的层次为1,其他节点所在的层次等于它的父节点所在的层次加1,树的最大层次称为树的深度。
完全二叉树指除最后一层外,每一层上的节点数均达到最大值,在最后一层上只缺少右边的若干节点。
深度为6的满二叉树,节点个数为26-1=63,则第7层共有125—63=62个叶子节点,分别挂在第6层的左边62个节点上,加上第6层的最后1个叶子节点,该完全二叉树共有63个叶子节点,故B选项正确。
5.下列叙述中正确的是()。
(分数:1.00)A.所谓有序表是指在顺序存储空间内连续存放的元素序列B.有序表只能顺序存储存连续的存储空间内C.有序表可以用链接存储方式存储在不连续的存储空间内√D.任何存储方式的有序表均能采用二分法进行查找解析:[解析]“有序”是特指元素按顺序排列但允许相邻元素相等,A选项错误。
2014年4月全国计算机等级考试二级c语言笔试试题(含参考答案)

全国计算机等级考试二级笔试题基础知识和C语言程序设计(考试时间120分钟,满分100分)2014年4月一、选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。
(1) 所谓“裸机”是指A) 单片机B) 单板机C) 不装备任何软件的计算机D) 只装备操作系统的计算机(2) 下列存储器中,存取速度最快的是A) 软盘B) 硬盘C) 光盘D) 内存(3) 系统软件中最重要的是A) 操作系统B) 语言处理程序C) 工具软件D) 数据库管理系统(4) CPU处理的数据基本单位为字,一个字的字长A) 为8个二进制位B) 为16个二进制位C) 为32个二进制位D) 与CPU芯片的型号有关(5) 打印当前屏幕内容应使用的控制键是A) Scroll-Lock B) Num-Lock C) PgDn D) PrtSc(PrintScreen)(6) 能将高级语言源程序转换成目标程序的是A) 调试程序B) 解释程序C) 编译程序D) 编辑程序(7) 二进制数1110111.11转换成十进制数是A) 119.375 B) 119.75 C) 119.125 D) 119.3(8) 十六进制数FF.1转换成十进制数是A) 255.0625 B) 255.125 C) 127.0625 D) 127.125(9) 3.5英寸软盘片的一个角上有一个滑动块,如果移动该滑块露出一个小孔,则该软盘A) 不能读但能写B) 不能读也不能写C) 只能读不能写D) 能读写(10) 控制键^C的功能为A) 终止当前操作B) 系统复位C) 暂停标准输出设备的输出D) 结束命令行(11) 为命令处理程序,DOS系统启动后,它A) 驻留在外存,需要时再装入内存B) 常驻内存,包含所有内部命令C) 不能处理外部命令D) 不能处理后缀为.EXE的可执行文件(12) 为了将所有扩展名为.PAS的文件改成扩展名为.P,应使用命令A) REN *.PAS *.?AS B) REN PAS PC) REN *.PAS *.P D) REN *.PAS *.P??(13) 设当前盘中文件XY.C的路径为\A\B\XU,当前目录为\A\B。
2014全国计算机二级c语言试题及答案

2014全国计算机二级c语言试题及答案试卷一一、选择题(共40题,每题1.5分,共60分)1. 下面对C语言中的goto语句描述正确的是:A. 使用goto语句可以在程序中实现子程序调用。
B. goto语句只能用于跳转到程序的开头位置。
C. 使用goto语句可以实现程序的循环控制。
D. 使用goto语句会导致程序的可读性下降,不推荐使用。
2. 下面表示数组a中第i个元素的正确表达式是:A. a(0)B. a[i]C. a[i-1]D. a(i)3. 以下代码片段的输出结果是什么?```cint x = 5, y = 10;if (x >= 5 && y < 20)printf("True");elseprintf("False");```A. TrueB. FalseC. 编译错误D. 运行时错误4. 下面关于字符数组的说法不正确的是:A. 字符数组可以用来存储字符串。
B. 字符数组的最后一个元素必须是空字符'\0'。
C. 字符数组可以进行逐个字符的输入输出操作。
D. 字符数组不可以进行字符串的拼接操作。
5. 下面哪个不是C语言中的关键字?A. volatileB. constC. staticD. delete6. 在C语言中,当函数返回一个整型值时,可以使用下面哪个关键字来定义返回值的类型?A. intB. voidC. returnD. none7. 下面哪个运算符的优先级最高?A. &&B. *C. =D. ?8. 下面的循环语句会执行几次?```cfor (int i = 0; i < 10; i++){if (i < 5)continue;elsebreak;}```A. 0次B. 5次C. 10次D. 无限次9. 在C语言中,对数组进行遍历时,可以使用下面哪个循环语句?A. forB. if-elseC. whileD. switch10. 在C语言中,以下哪个函数用于清空输入缓冲区?A. scanf()B. gets()C. getchar()D. fflush()...试卷二二、编程题(共3题,共40分)1. 编写一个程序,实现以下功能:输入一个正整数n,输出1到n之间(包含n)所有的素数。
东北大学c语言编程试题及其答案

东北大学C语言题库第一部分(选择题)1、构成C语言的基本单位是________。
你的答案是:正确答案是:B过程函数语句命令2、设x为整型变量,不能正确表达数学关系:5<x<10的c语言表达式是_____。
你的答案是:正确答案是:A5<="">x>5&&x<10x==6||x==7||x==8||x==9!(x<=5)&&(x<10)3、在C语言中,逻辑运算符的优先级从高到低的排列顺序为_____。
你的答案是:正确答案是:D&&、||、!||、&&、!&&、!、||!、&&、||4、下面语句中,正确的是_____。
你的答案是:正确答案是:Dprintf("%c\n","student");printf("%c\n","c");printf("%s\n",&a);printf("%s\n","hello");5、对于for(表达式1;;表达式3)可以理解为_____。
你的答案是:正确答案是:Bfor(表达式1;0;表达式3)for(表达式1;1;表达式3)for(表达式1;表达式1;表达式3)for(表达式1;表达式3;表达式3)6、执行下面程序段的结果是_____。
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); }你的答案是:正确答案是:Ba=1,b=1a=2,b=1a=1,b=0a=2,b=27、执行下面程序段的结果是_____。
东北大学2014年C语言机考考试题库

从键盘输入任意一个字母或者是数字,如果其为字母,则输出“A letter”;如果其为数字,则输出“A number”。
从键盘输入任意一个字母,如果其为大写字母,则输出“capital letter”;如果其为小写字母,则输出“lower case letter”;其他情况,则输出“other case”。
编写函数atoi(char *p)将一个4位的数字字符串转换成一个整数输出。要求:在主函数从键盘读入一个数字字符串,输出转换后的整数。(本题不允许使用字符串处理库函数,字符0的ASCII为48)
#include<stdio.h>
atoi(char *p)
{
int i=0,a=0;
while(p[i]!=0)
#include "stdio.h"
#include "string.h"
charcount(char *s,char letter)
{
char *p=s;
int count=0;
while(*p!='\0')
{
if (*p==letter)
count++;
p++;
}
return count;
}
void main()
提示:例如输入整数位7,首先要找到7在整个序列中的位置,然后将7插入到当前位置。
编写函数mstrcat(char *t,char *s)将字符串s1中的全部英文字符连接到字符串s2的尾部。
从键盘读入一字符c,判断其在字符串"English"中是否存在,假设此数组中不存在重复的字符。若存在,则删除此数据;否则,提示此数据不存在。要求:编制函数del(char *p,char c)实现数据的清理工作,并输出原始字符串和删除后的字符串。
计算机等级考试(国家)-二级c语言真题2014年09月-(1)

二级C语言真题2014年09月-(1)一、选择题1、面向对象方法中,实现对象的数据和操作结合于统一体中的是______。
A.结合 B.封装 C.隐藏 D.抽象2、在进行逻辑设计时,将E-R图中实体之间联系转换为关系数据库的______。
A.关系 B.元组 C.属性 D.属性的值域3、线性表的链式存储结构与顺序存储结构相比,链式存储结构的优点有______。
A.节省存储空间 B.插入与删除运算效率高C.便于查找 D.排序时减少元素的比较次数4、深度为7的完全二叉树中共有125个节点,则该完全二叉树中的叶子节点数为______。
A.62 B.63 C.64 D.655、下列叙述中正确的是______。
A.所谓有序表是指在顺序存储空间内连续存放的元素序列B.有序表只能顺序存储在连续的存储空间内C.有序表可以用链接存储方式存储在不连续的存储空间内D.任何存储方式的有序表均能采用二分法进行查找6、设二叉树如下:则后序序列为______。
A.ABDEGCFH B.DBGEAFHC C.DGEBHFCA D.ABCDEFGH7、计算机软件包括______。
A.算法和数据 B.程序和数据 C.程序和文档 D.程序、数据及相关文档8、下面描述中不属于软件需求分析阶段任务的是______。
A.撰写软件需求规格说明书 B.软件的总体结构设计C.软件的需求分析 D.软件的需求评审9、当数据库中数据总体逻辑结构发生变化,而应用程序不受影响,称为数据的______。
A.逻辑独立性 B.物理独立性 C.应用独立性 D.空间独立性10A.并 B.投影 C.交 D.选择11、以下叙述正确的是______。
A.C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.obj的二进制文件B.C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.exe的可执行文件C.C编译程序把文件后缀为.obj的二进制文件编译成文件后缀为.exe的可执行文件 D.链接程序把文件后缀为.c的源程序文件链接成文件后缀为.exe的可执行文件12、以下叙述正确的是______。
(word完整版)C语言考试题库及答案,推荐文档

C 语言理论上机考试选择题部分(共200 题)1、下面程序的输出是___D ______#include<stdio.h>void main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是__D _______A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C 语言字符常量是_______ A ____ .A) '\t' B) "A" C) 65 D) A4、表达式: 10!=9 的值是________ D ___ .A) true B) 非零值C) 0 D) 15 、C 语言提供的合法的数据类型关键字是_ B ___ .A) Double B) short C) integer D) Char6、字符(char) 型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC 码D) ASCII 码7、C 语言程序的基本单位是_____ C _____ .A) 程序行B) 语句C) 函数D) 字符 &设int a=12,则执行完语句a+=a-=a*a后,a的值是___ D ___A) 552 B) 264 C) 144 D) -2649、执行下面程序中的输出语句后,输出结果是_ B__.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 1010 、下面程序的输出是____ B _____ .{int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 2411 、下面程序的输出的是 ____ C ___ .#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是_____ A ____ .#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值13、若要求在if 后一对圆括号中表示a 不等于0 的关系,则能正确表示这一关系的表达式为_______ D__.A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____ D _____.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是____ D ____ .A) 1 B) 0 C) 4 D) 316、为表示关系x > y > z,应使用C语言表达式___A___.17、 C 语言中非空的基本数据类型包括_____ B ___ .A) 整型,实型,逻辑型B) 整型,实型,字符型#include<stdio.h> void main() A) (x>=y)&&(y>=z)C) (x>=y>=z)B) (x>=y)AND(y>=z)D) (x>=y) & (y>=z)C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、若x 和y 都是int 型变量,x=100,y=200, 且有下面的程序片段:printf("%d",(x,y)); 上面程序片段的输出结果是_______________________________ A___.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<stdio.h> void main() { charch; scanf("%3c",&ch); printf("%c",ch);}如果从键盘上输入abc< 回车> 则程序的运行结果是__A ______________________ .A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<stdio.h> void main() {int i,j;i=010; j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是_____ D __ .A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序#include<stdio.h> void main(){int i,j,m,n; i=8;j=10; m=++i; n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是_______ C ____ .A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10D) 9,10,9,1122、已知a=12, 则表达式a+=a-=a*=a 的结果是 ____ A__.A) 0 B) 144 C) 12 D) -26423、若已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21 D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入是 ___ D .1 2 34567<回车>,则程序的运行结果A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是_____ D ___ .#include<stdio.h> void main(){int a=-1, b=4, k; k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、下面程序的输出结果是_____ A ___ .#include<stdio.h> void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是_____ A ___ .int a;int b=65536; a=b; printf("%d\n",a);A) 65536 B) 0 C) -1 D) 128、若有以下定义和语句:int a=010, b=0x10, c=10; printf("%d,%d,%d\n",a,b,c); 则输出结果是____ B ____ .A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、已知有double 型变量x=2.5,y=4.7, 整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________ B ____ .A) 2.4 B) 2.5 C) 2.75 D) 030 、若已定义x 和y 是整型变量,x=2;, 则表达式y=2.75+x/2 的值是 ___ C ___ .A) 5.5 B) 5 C) 3 D) 4.031、以下程序的输出结果是______ D ___ .#include<stdio.h> void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,1332 、设有以下语句:int x=10;x+=3+x%(3), 则x 的值是. _____ A _____A) 14 B) 15 C) 11 D) 1233、若d 为double 型变量,则表达式d=1,d+5,d++ 的值是___ D__.A) 1 B) 6.0 C) 2.0 D) 1.034、表达式5!=3 的值是____ D ___ .A) T B) 非零值C) 0 D) 135、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a 的值__________ A ____ . A) 0 B) 1 C) 12 D) 6D) C 语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符_____ C __ .A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y 值的数据类型是___D ____ .A) float B) char C) int D) double40、一个C 语言的执行是从_____ A _____ .A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的 C 语言表达式是___ A ___ .A) 10<a<15 B) a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15)42、下列程序执行后的输出结果是_______ C ___ .#include <stdio.h>void main( ) { int a=5,b=60,c;if (a<b) {c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300 D) 12 43、如果 c 为字符型变量,判断 c 是否为空格不能使用___ A ___ .( 假设已知空格ASCII 码为32)A) if(c=='32') B) if(c==32)36、若有定义int x=3,y=2 和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b 的值是__D__.A) 0 B) 2 C) 1.5 D) 137、在C 语言中,以下叙述不正确的是_____ A ___ .A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C 程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同44、运行下面程序时,若从键盘输入"3,5<CR>" ,则程序的输出结果是____ D___ .#include <stdio.h>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y) printf("x==y");else if (x>y) printf("x>y");else printf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45 、运行下面程序时,若从键盘输入数据为"6,5,7<CR>" ,则输出结果是C___.C) if(c=='\40') D) if(c==' ')#include <stdio.h>void main( ){ int a,b,c; scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c) printf("%d\n",a);else printf("%d\n",c);elseif (b>c) printf("%d\n",b);else printf("%d\n",c);}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,若从键盘输入"2<CR>" ,则程序的运行结果是_____ A ____ .#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9') k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10; printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1047、运行下面程序时,从键盘输入"2.0<CR>" ,则输出9士里阜 D结果是___B ____ .#include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b);}A) 0.000000 B) 0.500000C) 1.000000 D) 0.25000048、执行下面程序后,运行结果是_____ A ___ .#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>" ,则输出结果是___A___.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是____ C___.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!51、执行下列程序段后的输出结果是 ________ A __ .int x=1,y=1,z=1; x+=y+=z;printf("%d\n",x<y?y:x); A) 3 B) 2 C) 1D) 452、设 ch 是 char 型变量 ,值为 'A', 则表达式 ch=(ch>='A' && ch<='Z')?ch+32:ch 的值是 __B___. A) Z B) aC) zD) A53、下面程序的输出结果是 _____ C #include <stdio.h> void main( ){ int x=8,y=-7,z=9; if (x<y)if (y<0) z=0; else z-=1; printf("%d\n",z);}A) 8 B) 154、运行下面程序时 ,若从键盘输入 "5 <CR>", 则程序的 输出结果是 _____________ B ___. #include <stdio.h> void main( ){ int a ; scanf("%d",&a); if (a++>5)printf("%d\n",a); else printf("%d\n",a--) ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,若从键盘输入 "3 ,4 <CR>" ,则 程序的输出结果是 ____ B___. #include <stdio.h> void main( ){ int a,b,s; scanf("%d,%d",&a,&b); s=a; if (s<b) s=b; s=s*s; printf("%d\n",s) ;}A) 14 B) 16 C) 18D) 20#include <stdio.h> void main( ) { int x=0,y=1,z=0; if (x=z=y)x=3; printf("%d,%d\n",x,z);}A) 3,0B) 0,0C) 0,1 D) 3,157、假定等级和分数有以下对应关系: 等级:A 分数:85〜100 等级:B 分数:60〜84 等级: C分数: 60 以下对于等级 grade 输出相应的分数区间,能够完成该功 能的程序段是 ________ D ___ . A) switch (grade){case 'A':printf("85--100\n"); case 'B':printf("60--84\n");case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} B) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} C) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break;case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} D) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break;case 'C':printf("60 以下 \n");break; default:printf(" 等级错误 !\n");}58、能够完成如下函数计算的程序段是__B厂-1x<0 y=T 0x=0 L1x>056、下列程序的执行结果是 ______ DA) y=1;B) if (x>=0)Bye_Bye!C) 9D) 0if (a) d=d-10; else if(!b) if (!c) x=15; else x=25; printf("d=%d\n",d);}A) d=20B) d=10C) d=15D) 2562、有如下程序 : #include <stdio.h> void main( ){ int a=2,b=-1,c=2; if (a<b) if (b<0) c=0; else c++; printf("%d\n",c);}该程序的输出结果是 ___C _____ . A) 0 B) 1 C) 2 D) 363、下列程序执行后的输出结果是 ______ B __ . #include <stdio.h> void main( ){ int x,y=1,z; if ((z=y)<0) x=4; else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息64、有如下程序 #include <stdio.h> void 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\n",a,b);}该程序的输出结果是 _______ A ___ . A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=265、下面程序的输出结果是 _____ C ___ . #include <stdio.h>if(x!=0)if(x>0) y=1; else y=0; C) y=0;if (x>=0)if (x>0) y=1; else y=-1;if(x>0) y=1; else y=0; elsey=-1;D) y=-1;if (x>0) y=1; else y=0;59、有如下程序 #include <stdio.h> void main( ) { float x=5.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 ____ .A) 0.000000 B) 0.50000 C) 0.200000D) 1.00000060、以下程序的执行结果是 ___B _____ . #include <stdio.h> void main( ) { int x=1,y=0; switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break; }case 2:printf("third\n");}}A) firstB) first second third C) firstD) secondthird61、以下程序的执行结果是 _____ A #include <stdio.h> void main( ){ int a,b,c,d,x; a=c=0; b=1; d=20;void main( ){ int a=-1,b=1,k; if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);else printf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 066、假定w、x、y、z、m 均为int 型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z; 则该程序段执行后,m 的值是____________ D __________ . A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是___D ______ .main( ) { int a=100;if (a>100) printf("%d\n",a>100); elseprintf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、若执行下面的程序从键盘上输入是. B#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);} A) 11 B) 10 C)969、以下程序输出结果是______ D ____#include <stdio.h>void main( ){ int m=4;if (++m>5) printf("%d\n",m--); else printf("%d\n",--m);70、若执行下面的程序从键盘上输入5,则输出结果是#include <stdio.h>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是_____ A___ .int x=1,y=1,z=-1; x+=y+=z; printf("%d\n",x<y?y:x); A) 1 B) 2 C) 4 D) 不确定的值72、有以下程序#include <stdio.h> void main( ) { int a,b,c=246;a=c/100%9; b=(-1)&&(-1); printf("%d,%d\n",a,b);}输出结果是___ A ____ .A) 2,1 B) 3,2 C) 4,3 D) 2,-173、运行下面程序时,若从键盘输入数据为"123" ,则输出结果是___C ___ .#include "stdio.h"void main(){ int num,i,j,k,place; scanf("%d",&num); if (num>99)place=3;else if(num>9)place=2;elseplace=1; i=num/100; j=(num-i*100)/10;k=(num-i*100-j*10); switch (place) { case 3:printf("%d%d%d\n",k,j,i); break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,174、执行下列程序后的输出结果是___D _____ .#include <stdio.h> void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 175、以下条件表达式中能完全等价于条件表达式x 的是 __B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、若运行下面程序时,给变量a 输入15,则输出结果是___A___.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 109,则输出结果D) 8A) 7 B) 6 C) 5 D) 477、运行下面程序后,输出是___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是______ C___ .#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####79、为了避免嵌套的if-else 语句的二义性,C 语言规定else 总是与___C___ 组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if80、设x 、y 、z 、t 均为int 型变量,则执行以下语句后,t 的值为___ C ____ .x=y=z=1; t=++x || ++y && ++z;A) 不定值B) 4 C) 1 D) 081、以下程序段 C ________ .x=-1;do{x=x*x;} while (!x);A) 是死循环B) 循环执行两次C)循环执行一次D)有语法错误82、对下面程序段描述正确的是___B _____ .int x=0,s=0;while (!x!=0) s+=++x; printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____ C ___ .x=3; do { y=x--;if (!y) {printf("*");continue;} printf("#");} while(x=2);A) ## B) ##* C)死循环D)输出错误信息84、下面程序的运行结果是 B . #include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0); printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,985、下面程序段的运行结果是____ B _____ .int n=0;(n * n )/6=1+1/(2*2)+1/(3*3)+..+1/(n*n) 请填空,完成求n 的功能。
计算机等级考试(国家)-二级c语言真题2014年09月-(3)

二级C语言真题2014年09月-(3)一、选择题1、下列关于算法复杂度叙述正确的是______。
A.最坏情况下的时间复杂度一定高于平均情况的时间复杂度B.时间复杂度与所用的计算工具无关C.对同一个问题,采用不同的算法,则它们的时间复杂度是相同的D.时间复杂度与采用的算法描述语言有关2、设有栈S和队列Q,初始状态均为空。
首先依次将A,B,C,D,E,F入栈,然后从栈中退出三个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为______。
A.DEFXYZABC B.FEDZYXCBA C.FEDXYZCBA D.DEFZYXABC3、下列叙述中正确的是______。
A.有两个指针域的链表称为二叉链表B.循环链表是循环队列的链式存储结构C.带链的栈有栈顶指针和栈底指针,因此又称为双重链表D.节点中具有多个指针域的链表称为多重链表4、某二叉树共有845个节点,其中叶子节点有45个,则度为1的节点数为______。
A.400 B.754 C.756 D.不确定5、软件需求分析阶段的主要任务是______。
A.确定软件开发方法 B.确定软件开发工具 C.确定软件开发计划 D.确定软件系统的功能6、下面对软件测试描述错误的是______。
A.严格执行测试计划,排除测试的随意性B.随机地选取测试数据C.软件测试可以任何条件下进行操作,以发现程序错误D.软件测试是保证软件质量的重要手段7、结构化程序的三种基本控制结构是______。
A.顺序、选择和重复(循环) B.过程、子程序和分程序C.顺序、选择和调用 D.调用、返回和转移8、数据库中对概念模式内容进行说明的语言是______。
A.数据定义语言 B.数据操纵语言 C.数据控制语言 D.数据宿主型语言9、某个工厂有若干个仓库,每个仓库存放有不同的零件,相同零件可能放在不同的仓库中。
则实体仓库和零件间的联系是______。
东北大学c语言考试题库及答案

东北大学c语言考试题库及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级编程语言B. C语言具有结构化的特点C. C语言可以直接在操作系统上运行D. C语言具有丰富的库函数答案:C2. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A3. 下列选项中,不属于C语言基本数据类型的是()。
A. intB. floatC. charD. string答案:D4. 在C语言中,以下哪个运算符用于取地址()。
A. *B. &C. %D. /答案:B5. 下列关于数组的描述中,正确的是()。
A. 数组的索引从0开始B. 数组的索引从1开始C. 数组的大小在运行时确定D. 数组的大小在编译时确定答案:D6. 在C语言中,用于定义一个函数的关键字是()。
A. functionB. defC. voidD. int答案:D7. 下列关于指针的描述中,错误的是()。
A. 指针可以存储变量的地址B. 指针可以存储函数的地址C. 指针可以存储数组的地址D. 指针不能存储字符串的地址答案:D8. 在C语言中,用于进行文件操作的库函数是()。
A. printfB. scanfC. fopenD. getchar答案:C9. 下列关于循环的描述中,错误的是()。
A. for循环可以用于执行重复的操作B. while循环可以用于执行重复的操作C. do-while循环至少执行一次D. for循环不能嵌套使用答案:D10. 在C语言中,用于定义一个枚举类型的关键字是()。
A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是____。
答案:int2. 在C语言中,用于声明一个函数的关键字是____。
2014年C语言吉林省对口高考题

一、单项选择题:共10小题,每小题2分,共20分。
将正确答案的代码填涂在答题卡所对应题号的位置上。
1、下列叙述中错误的是()A. 函数形参的值也可以传回对应的实参B. 函数调用可以作为一个独立的语句存在C. 若函数有返回值,必须通过return语句返回D. C语言程序必须由一个或一个以上的函数组成2、下列合法的标识符是()A. registerB. 8aaC. _4_D. &sum3、下列四组选项中,均是C语言关键字的选项是()A. printfB. putcharC. caseD. externif main staticreturntype scanf include size of4、有定义:int c; char s[10];,则正确的输入语句是()A. scanf(“%d%s”,c,s);B. scanf(“%d%s”,&c,s);C. scanf(“%d%s”,&c,&s);D. scanf(“%d%s”,c,&s);5、设有定义:int x=2;,以下表达式中,值不为6的是()A. x*=x+1B. x++,2*xC. x*=(1+x)D. 2*x,x+=26、有下列程序:fun(int x,int y){return(x+y);}main(){int a=1,b=2,c=3,sum;sum=fun((a++,b++,a+b),c++);printf(“%d\n”,sum);}执行后的输出结果是()A. 6B. 7C. 8D. 97、下列叙述中正确的是()A. 预处理命令行必须位于源文件的开头B. 在源文件的一行上可以有多条预处理命令C. 宏名必须用大写字母表示D. 宏替换不占用程序的运行时间8、有定义:int x[5]={1,2,3,4,5},*p=x;,则错误引用x数组元素的是()A. *xB. x[5]C. *(p+1)D. *p9、以下不构成无限循环的语句或语句组的是()A. n0;do{++n;}while(n<=0);B. for(n=0;i=1;;i++)n+=i;C. n=10;while(n);n--;D. n=0;while(1){n++;}10、以下叙述中正确的是()A. 如果break语句包含于双层循环的内循环中,则它的作是是直接跳出双层循环B. break语句只能用在循环体内和switch语句体内C. 在switch语句中必须使用defaultD. continue语句的作用是跳出包含它的本层循环体二、填空题:每空1分,共10分。
2014年3月计算机二级C语言真题及答案

计算机二级C语言真题及答案【网络综合 - 计算机等级考试试题】一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除 B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3B)4C)6D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言 B)数据管理语言C)数据操纵语言 D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是A)1:1联系B)1:m联系 C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369B)369C)0.369D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe 文件(13)以下选项中不能用作C程序合法常量的是A)1,234B)'\123' C)123D)"\x7G"(14)以下选项中可用作C程序合法实数的是A).1e0B)3.0e0.2 C)E9D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3;B)a=b=c+1;C)a=(b=4)+c;D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%snum=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为A)Lili B)name=LiliC)Lilinum= D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12B)11C)10D)9(19)有以下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case 1:printf("%d",s+5);case 2:printf("%d",s+4);break;caase 3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 34 5 0<回车>,则输出结果是A)6566456B)66656C)66666D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n);continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行(21)有以下程序#includemain(){ chars[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9')n++;printf("%d\n",n);}程序运行后的输出结果是A)0B)3C)7D)8(22)若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++)printf("*****\n");下面关于语句执行情况的叙述中正确的是A)循环体执行两次 B)循环体执行一次C)循环体一次也不执行 D)构成无限循环(23)有以下程序#includemain(){ char b,c;int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+B);else putchar(i+C);}printf("\n");}程序运行后的输出结果是A)ABCDEFB)AbCdEfC)aBcDeFD)abcdef(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A)scanf("%f",&x[6]);B)scanf("%lf",*(x+6));C)scanf("%lf",p+6);D)scanf("%lf",p[6]);(25)有以下程序(说明:字母A的ASCII码值是65)#includevoidfun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}}main(){ char a[]="BYTE";fun(a);printf("\n");}程序运行后的输出结果是A)BYB)BTC)YTD) YE(26)有以下程序段#includemain(){ …while( getchar()!='\n');…}以下叙述中正确的是A)此while语句将无限循环B) getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序#includemain(){ int x=1,y=0;if(!x) y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}程序运行后的输出结果是A)3B)2C)1D) 0(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是A)p=s;B)p=k;C)p=s[0];D)k=s;(29)有以下程序#includevoidfun(char *C){ while(*C){if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ chars[81];gets(s);fun(s);puts(s);}当执行程序时从键盘上输入HelloBeijing<回车>,则程序的输出结果是A)hello beijingB)Hello BeijingC)HELLO BEIJINGD)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
东北大学C语言题库及答案一

for(i=0;str[i]!=0;i++)
{
if(str[i]==ch)
{
for(;str[i]!=0;i++)
{
str[i]=str[i+1];
}
i=0;
}
}
str[i]=0;
puts(str);
}
2
15
从具有10个元素的一维整型数组中查找最小值的元素,然后与数组的第一个元素对调。要求:初始化一维数组,输出该数组以及对调元素的数组。
#include<stdio.h>
main()
{
float e=1,d;
inta,b,c=1,n;
printf("输入阶数");
scanf("%d",&n);
for(a=1;a<=n;a++)
{
c=c*a;
e=e+1.0/c;
}
printf("%f",e);
}
1
11
从键盘输入一个字符串str,统计其中大写英文字母A,B,C,D出现的次数。要求输出原始字符串,以及统计的结果。
#include<stdio.h>
intmain()
{
char s1[100],s2[100];
inti,j,ans=-1;//ans=-1意味着没有完成匹配
scanf("%s",s1);
scanf("%s",s2);
for(i=0;s1[i]!='\0';i++)
高校C语言期末考试真题附全部答案

2014 学年第 2 学期《C语言程序设计》试卷(A卷)考试方式:闭卷本试卷考试分数占学生总评成绩的70 %复查人一、单项选择题(每题2分,共50分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的下划线“”上。
1.以下叙述正确的是A)C程序中,main函数必须位于程序的最前面B)C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)对C程序进行编译的过程中,可以发现注释中的拼写错误2.以下选项中均是合法的用户标识符是A)A B) _123 C)3Dmax D) A.datP_0 temp p-pointer la0do INT _print int3.在C语言中,字符型(char)数据在内存中存放的形式为A)BCD码 B)原码 C)补码 D)ASCII码4.已知char a;int b;float c;double d;执行语句c=a+b+c+d;后,变量c 的数据类型是A)int B)char C)float D)double5.已知int i,a;执行语句i=(a=2*3,a*5),a+6;后,变量i的值是A)36 B)30 C)12 D)66.若int x=3;且有下面的程序片断,则输出结果是A)1 B)3 0 C)1 -2 D)死循环do{ printf("%d ",x-=2);}while(!(--x));7.字符串"\\\22a,0\n"的长度是A)8 B)7 C)6 D)58.若w=1,x=2,y=3,z=4;则条件表达式w>x?w:y<z?y:z的结果是A)4 B)3 C)2 D)19.当执行下面程序时,如果输入ABC,则输出的结果是#include <string.h>main(){ char ss[10]= "12345";gets(ss);strcat(ss,"6789");printf("%s\n",ss);}A)ABC6789 B)ABC67 C)12345ABC6 D)ABC456789 10.设有说明语句int a=1,b=0;则执行以下语句后,输出结果是A)**0** B)**0****2** C)**0****1****2** D)有语法错误switch(a){ case 1:switch(b){ case 0: printf("**0**"); break;case 1: printf("**1**"); break;}case 2: printf("**2**"); break;}11.以下不是死循环的语句是A)for(;;x+=i); B)while(1){x++;}C)for(i=10;;i--) D)for(;(c=getchar())!='\n';)sum+=i; printf("%c",c);12.下列程序的输出结果是A)13;1 B)14;4 C)11;1 D)10;0main(){ int a=10, b=0;if(a=12){ a=a+1; b=b+1;}else{ a=a+4;b=b+4; }printf("%d,%d\n",a,b);第 1 页共6 页}13.下面关于字符串的说明中,错误的是A)char str[7]="FORTRAN";B)char str[]="FORTRAN";C)char *str="FORTRAN";D)char str[]={'F','O','R','T','R','A','N'}14.已知:int a[10];则对a数组元素的正确引用是A)a[10] B)a[3.5] C)a(5) D)a[10-10]15.在C语言中A)不能使用do-while语句构成的循环B)do-while语句构成的循环必须用break语句才能退出C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环16.下列程序的输出结果是A)13 B)15 C)11 D)12#define FUDGE(y) 1.2+y#define PR(a) printf("%d",(int)(a))main(){ int x=2;PR(FUDGE(5)*x);}17.C语言中的函数A)可以嵌套定义 B)不可以嵌套调用C)可以嵌套调用,但不能递归调用 D)嵌套调用和递归调用均可18.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是A) abs(x-y)<10 B) x-y>-10&& x-y<10C) @(x-y)<-10||!(y-x)>10 D) (x-y)*(x-y)<10019.已知int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*ptr)[3]=a,*p=a[0];则以下不能够正确表示数组元素a[1][2]的表达式是A)*((ptr+1)[2] ) B)*(*(p+5))C)(*ptr+1)+2 D)*(*(a+1)+2)20.以下函数的功能是void fun(char *p2, char *p1){ while((*p2=*p1)!='\0') { p1++;p2++; } }A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'21.写字符到磁盘文件的fputc(ch,fp)函数(ch表示字符,fp表示文件指针),其函数原型(头)正确的是A) FILE *fputc(char) B) int fputc(FILE *)C) int fputc(char, FILE *) D) int fputc(FILE *,char)22. 设有如下定义:struct sk{ int a;float b; }data,*p;若有p=&data;,则对data中的a域的正确引用是A)(*p).data.a B)(*p).a C)p->data.a D)p.data.a23.已知函数原型为:struct tree *func(int x1,int *x2,struct tree x3,struct tree *x4)其中 tree 为已定义过的结构,且有下列变量定义:struct tree pt,*p; int i;请选择正确的函数调用语句A) &pt=func(10,&i,pt,p) B) p=func(i++,&i,pt,&pt);C) p=func(i+1,&(i+2),*p,p); D) func(i+1,&i,p,p);24.下列程序的输出结果是A)AB B)BA C)AA D)BBvoid sub(char *a, char *b){ char c;c=*a; *a=*b; *b=c;}main(){ char a, b;a='A'; b='B';sub(a,b);printf("%c%c\n", a,b); }25.在Turbo C集成环境中,若一个源程序输入后没有错误,则按Ctrl+F9后A)将源程序存到当前目录B)依次产生.OBJ和.EXE文件,但不运行程序C)依次产生.EXE和.OBJ文件,并运行程序D)依次产生.OBJ和.EXE文件,并运行程序二、程序填空题(每空2分,共20分)下面给出了若干个程序,请按照题意将下划线处缺少的部分补上,使其能正确运行。
2014C语言程序设计(含答案)

一、写出下列程序段的运行结果(40分)1.(4分)char a= 'F'-'E',b= '\12',c=12,d;c = a<b<c;d =--a&& b++;printf("%d,%d,%d,%d",a,b,c,d);2.(4分)int a=2, b=5;printf("a=%%d,b=\\d,");b/=a;a+=a-b;printf("%d,%d",a,b);3.(4分)char a=256;printf("%d,",a++);a=(int)(13/5+1.4);printf("%d",a);4.(4分)int p[8]={11,12,13,14,15,16,17}; int i=0,j=0;while (i++<7) (第一次循环i=1)if (p[i]%2) j+=p[i];printf("%d\n",j);5.(4分)int a=3,b=5;void exchange(int a, int b){int t;t=a; a=b; b=t;printf("%d,%d\n", a, b);} int main(){exchange(a,b);printf("%d,%d\n",a,b);return 0;}6.(4分)void f(char ch){if (ch>'A'){f(ch-1);}putchar(ch);}int main(){f('D');return 0;}7.(4分)char str[10]="123456789"; int i;for (i=9; i>0; i/=2){str[i]=0;printf("%s\n",str);}8.(4分)struct {int x; int y; int z;}a[3] ={1,2,3,4,5,6,7,8,9};printf("%d,%d\n", a[1].x+a[2].y, a[1].y+a[2].z);9.(4分)int a[8]={1,2,3,4,5,6,7,8};int i=1, *p = a;while (p<a+8){p rintf("%d ",*p);p = p+i;i*=2;} 10.(4分)FILE *fp;int d=20150111;char c1,c2;char str[4];fp=fopen("a.tmp","w");fprintf(fp,"%d", d);fclose(fp);fp=fopen("a.tmp","r");c1=fgetc(fp);fgets(str, 4, fp);c2=fgetc(fp);fscanf(fp, "%d", &d);printf("%c,%s,%c,%d",c1,str,c 2,d);二、改错题(20分)以下程序实现:从键盘输入20个学生的成绩数据,将这些数据存到磁盘文件“stu.dat”上,并求这些学生的最差成绩。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编写函数 charcount(char *s,char letter)记录一个字符在一个字符串中出现的次数, 如果没出现则返回 0,要求:在主函数中从键盘输入一个字符串,和对应的字符。
#include ".h" #include "string.h" charcount(char *s,char letter) { char *p=s; int count=0; while(*p!='\0') { if (*p==letter) count++; p++; } return count; } void main() { char s[100],letter; printf("请输入字符串:");
在物理实验中,获得 5 个数据{0.89,0.78,1.09,0.67,0.56},其中有一个数据大于 1, 此数据无效,将此无效数据删除。要求编制函数 cleandata(double *p)实现数据的清 理工作,并在主函数输出删除之前的数组和删除之后的数组。 编写函数 clear(char *p)将字符串 s1 中的非英文字母删除,要求:在主函数中对字符 串进行初始化,调用函数实现链接后,在主函数中输出删除前和删除后的字符串。 编写函数 clear(char *p)将字符串 s1 中的阿拉伯数字字符删除,要求:在主函数中对
主观题
题目 字符串进行初始化,调用函数实现链接后,在主函数中输出删除前和删除后的字符串。 编写函数 atoi(char *p)将一个 4 位的数字字符串转换成一个整数输出。要求:在主函 数从键盘读入一个数字字符串,输出转换后的整数。 (本题不允许使用字符串处理库函 数,字符 0 的 ASCII 为 48)
主观题
题目 现此功能,在主函数调用此函数。 提示:例如输入整数位 7,首先要找到 7 在整个序列中的位置,然后将 7 插入到当前位 置。 编写函数 mstrcat(char *t,char *s)将字符串 s1 中的全部英文字符连接到字符串 s2 的尾部。 从键盘读入一字符 c,判断其在字符串"English"中是否存在,假设此数组中不存在重 复的字符。 若存在, 则删除此数据; 否则, 提示此数据不存在。 要求: 编制函数 del(char *p,char c)实现数据的清理工作,并输出原始字符串和删除后的字符串。 编写函数 fun(char *p)判断一个字符串是否是回文字符串(提示:回文字符串是指正 读和反读都一样的字符串) , 要求: 从键盘上读入一个字符串, 字符长度可以自己定义。 如果是回文字符串,输出该串,否则输出 no。(本题不允许使用字符串处理库函数)
主观题
题目
scanf("%s",s); printf("请输入字符:"); scanf("%s",&letter); printf("%c 出现次数:%d\n",letter,charcount(s,letter)); }
在跳水比赛中,有 7 个评委共同打分,评分规则是去除一个最高分和一个最低分,然后 计算剩余 5 个评委分数的平均分作为最终成绩。要求:编制打分函数 pscore(double *p),在主函数中从键盘上读入 7 个评委打出的成绩(成绩为 0~10 之间的任意数,小数 点后保留一位有效数字,如 8.5 分),计算该动作的最终成绩。在主函数中调用此函数 计算本次动作的分数。
#include<stdio.h> fun(char *p) { int i=0,j; while(p[i]!=0) { i++; } for(j=0;j<i/2;j++) { if(p[j]!=p[i-1-j]) { printf("no"); return; } } puts(p); } main() { char str[1000]; gets(str); fun(str); }
#include<stdio.h> atoi(char *p) { int i=0,a=0; while(p[i]!=0) { a=a*10+(p[i]-48); i++; } printf("%d\n",a); } main() { char str[100]; gets(str); atoi(str); }
主观题
题目 从键盘输入一个数据(1~12),表示 2014 年的某个月份,输出该月份对应的天数。 从键盘输入一个数据(1~12),表示 2000 年的某个月份,输出该月份对应的天数。 从键盘输入一个数据(1~12),表示 1900 年的某个月份,输出该月份对应的天数。 从键盘输入一个四位整数,计算其上下边界,例如 2345,其下边界为 2000,上边界为 3000,依此类推 从键盘输入一个三位整数, 计算其上下边界, 例如 234, 其下边界为 200, 上边界为 300, 依此类推 从键盘输入一个字母表示的成绩,将其转换为分数。规则是'A'对应 95、'B'对应 85、 'C'对应 75、'D'对应 65、'E'对应 55。要求输入字母后,输出对应的成绩 从键盘输入一个百分制分数,将其转换为等级'A'、'B'、'C'、'D'、'E'后输出成绩。 转换规则为:90 分以上为'A';80~89 分为'B';70~79 分为'C';60~69 分为'D'; 60 分以下为'E'。 从键盘输入任意一个字母,如果其为大写字母,则转为小写字母;如果其为小写字母, 请转换为大写字母;其他情况保持不变,计算并输出。 从键盘输入任意一个字母或者是数字,如果其为字母,则输出“A letter”;如果其为 数字,则输出“A number”。 从键盘输入任意一个字母,如果其为大写字母,则输出“capital letter”;如果其为 小写字母,则输出“lower case letter”;其他情况,则输出“other case”。 初始化一个 5X5 的二维矩阵,计算主对角线上的元素之和。要求输出此矩阵,并输出主 对角线之和。提示 a[0][0],a[1][1]之类的元素为主对角线元素。 利用公式π/4≈1-1/3+1/5-1/7+1/9-… 计算π的近似值,当最后一项的绝对值小于 0.000001 为止。 计算并输出多项式 1-1/3+1/5-1/7+…+1/99-1/101 的结果值。 找出矩阵(5×5)的最大值和最小值,然后把最大值加 99,把最小值减 99。要求初始 化一个原始矩阵,输出原始矩阵以及转换后的矩阵。 初始化一个 5X5 的二维矩阵,计算次对角线上的元素之积。要求输出此矩阵,并输出次 对角线之积。提示 a[4][0],a[3][1],a[2][2],a[1][3],a[0][4]之类的元素为次对角 线元素。(不允许用 5 个数直接相乘,否则得零分) 初始化一矩阵 a[5][5],计算每行的最大元素之和,要求输出原始矩阵以及每行的最大 元素值之和。 计算分数序列:2/1,-3/2,5/3,-8/5,13/8,-21/13,…,的前 20 项之和并输出。 计算 1/1+1/(1+2)+1/(1+2+3)+…+1/(1+2+…n)的值,n 的值由键盘输入,要求小数 点后保留 6 位。 计算 1-1/2+1/3-1/4+…+1/n 的和,在主函数输入 n,计算输出结果。 计算矩阵(5×5)的最大值和最小值,然后互换最大值与最小值的位置。要求初始化一 个原始矩阵,输出原始矩阵以及互换最大值与最小值位置后的矩阵。 已知一有序序列 1,3,4,8,15,17,要求从键盘输入一个整数,将此整数插入到此有序序 列中。要求输出原始数组和插入之后的数组。要求编制函数 insert(int *p,int d)实