第三套二级C语言模拟题
全国高等学校(安徽考区)计算机水平考试
2016模拟题(二级C语言)
第三套模拟
一、单项选择题
1:用计算机进行论文检索,属于计算机在______方面的应用。
A. 科学计算
B. 实时控制
C. 信息处理
D. 人工智能
参考答案:C
2:在计算机中,1GB表示______。
A. 1024K字节
B. 1024M字节
C. 1024K汉字
D. 1024M汉字
参考答案:B
3:计算机硬件系统主要由五大部件组成,下列选项中不属于这五大部件的是_______。
A. 运算器
B. 操作系统
C. 输入设备和输出设备
D. 控制器
参考答案:B
4:在Windows中,命令菜单呈灰色显示意味着____。
A. 该菜单命令当前不能使用
B. 选中该菜单命令后将弹出对话框
C. 选中该菜单命令后将弹出下级子菜单
D. 该菜单命令正在使用
参考答案:A
5:网址https://www.360docs.net/doc/a815262455.html,中http表示______。
A. 超文本传输协议
B. 主机的IP地址或域名
C. 用户名
D. 资源在主机上的存放路径
参考答案:A
6:在一个源程序中,main( )函数的位置______。
A. 必须在最开始
B. 不能在最后
C. 可以在最后
D. 必须在最后
参考答案:C
7:设short int类型的数据占2个字节,则unsigned short int类型数据的取值范围是______。
A. 0~32767
B. 0~65535
C. -32768~32767
D. -256~255
参考答案:B
8:下面能正确表示C语言的字符常量的是______。
A. '\40'
B. "A"
C. 'AB'
D. "\0"
参考答案:A
9:下面不符合标识符规定的是______。
A. _max
B. x3
C. 3bc
D. INT
参考答案:C
10:已知char c1='b',c2='f';,则语句printf("%d,%c",c2-c1,c2-32);的输出结果是______。
A. 3,f
B. 4,F
C. 3,F
D. 4,f
参考答案:B
11:设有inta;int f=3;,则执行语句a=(f++)%3;后a的值是_______。
A. 0
B. 1
C. 2
参考答案:A
12:设有定义:int a=1,b=2,m=0,n=0;,则执行语句(m=b>a)||(n=a
A. 0,0
B. 1,0
C. 0,1
D. 1,1
参考答案:B
13:以下选项中非法的C语言表达式是______。
A. 0<=x&&x<100
B. i=j==0
C. (char)(65+3)
D. x+1=x+1
参考答案:D
14:设有定义char w;intx;floaty;double z;,则表达式w*x+z-y值的数据类型为_______。
A. float
C. int
D. double
参考答案:D
15:设有float f1=2.6,f2=2.5;,则表达式(int)f1+f2的值为______。
A. 5
B. 4.5
C. 4
D. 5.5
参考答案:B
16:设有int x=2,y=2,a;,执行语句a=(x=x+1)||(y=y+1);后,则变量x,y,a的值分别是______。
A. 3,3,0
B. 3,3,1
C. 3,2,1
D. 3,2,015
参考答案:C
17:已知inta;floatb;scanf("%d,%f",&a,&b);,使a和b的值分别为10和1.5,则正确的输入
是______。
A. 10 1.5↙
B. 10,1.5↙
C. a=10,b=1.5↙
D. a=10 b=1.5↙
参考答案:B
18:已知char x='A';,则语句printf("x=%c,%d",x,x+1);的输出是_______。
A. x=A,66
B. x=65,B
C. x=65,66
D. x=A,B
参考答案:A
19:以下程序段的输出结果是______。
int a=88;
if (a>90) printf("%d",a);
if (a>80) printf("%d",a);
if (a>70) printf("%d",a);
A. 888888
B. 8888
C. 88
D. 8
参考答案:B
20:设有说明语句int a=1;,则执行以下语句后输出______。switch(a)
{
case 1:
printf("安徽");
case 2: printf("计算机");
default:printf("水平考试");
}
A. 安徽计算机水平考试
B. 安徽
C. 安徽计算机
D. 计算机水平考试
参考答案:A
21:下面关于for循环的描述正确的是_______。
A. for循环只能用于循环次数已经确定的情况
B. for循环先执行循环体语句,后判断条件
C. 在for循环中不能用break语句跳出循环体
D. for循环体语句中,可以包含多条语句
参考答案:D
22:设有int k=10;,则while(k>=0) k=k-1;中循环体语句被执行的次数为_______。
A. 0
B. 1
C. 10
D. 11
参考答案:D
23:执行如下程序段后,输出结果是_______。
inti=0;
while(i<=2) i++;
printf("%d", i);
A. 2
B. 3
C. 4
D. 5
参考答案:B
24:设有inti;,则执行for(i=1;i<=10;i++);后变量i的值为_______。
A. 9
B. 10
C. 11
D. 12
参考答案:C
25:下面程序段输出结果为______。
char p[ ]="12345\0QQ\0";
printf("%d\n",strlen(p));
A. 8
B. 7
C. 6
D. 5
参考答案:D
26:下列叙述中不正确的是_______。
A. 字符型数组中可以存放字符串
B. 可以对字符串进行整体输入、输出
C. 可以对实型数组进行整体输入、输出
D. 不能在赋值语句中通过赋值运算符对字符型数组进行整体赋值
参考答案:C
27:已知:int s[8]={1,2,3,4,5,6,7,8},x;,则执行语句x=s[2]+s[4];后,x的值是_______。
A. 8
B. 6
C. 7
D. 3
参考答案:A
28:设有int a[8][6];,则在a[4][5]之前的元素个数为_______。
A. 38
B. 29
C. 28
D. 30
参考答案:B
29:下列的程序段输出结果是_______。
intk,a[3][3]={1,2,3,4,5,6,7,8,9};
for(k=0;k<3;k++)
printf("%d",a[k][2-k]);
A. 357
B. 369
C. 159
D. 147
参考答案:A
30:字符串常量"1234567"在内存中占的字节数是____________。
A. 6
B. 7
C. 8
D. 9
参考答案:C
31:判断字符串s1是否大于字符串s2,正确的表达式是______。
A. s1>s2
B. strcat(s1,s2)
C. strcpy(s1,s2)
D. strcmp(s1,s2)>0
参考答案:D
32:在C语言程序中,若对函数类型未加说明,则函数的隐含类型为_______。
A. int
B. double
C. void
D. char
参考答案:A
33:以下叙述中正确的是_______。
A. 在不同的函数中不能使用相同名字的变量
B. 函数中的形式参数是全局变量
C. 在一个函数内定义的变量只在本函数范围内有效
D. 在一个函数内的复合语句中定义的变量在本函数范围内有效
参考答案:C
34:若有函数:void fun(double a[ ], int *n) {……},则以下叙述中正确的是____________。
A. 调用fun函数时,数组a执行按值传送
B. 形参a和n都是指针变量
C. 形参a和n都是普通常量
D. 调用fun函数时,形参n执行按值传送
参考答案:B
35:设有定义int a,*p;,则使指针p指向变量a的语句是______。
A. p=a;
B. a=p;
C. p=&a;
D. a=*p;
参考答案:C
36设有int a=2,b=1,*p=&a;,则执行语句*p=3;a=a+b;后,变量a的值为______。
A. 2
B. 3
C. 4
D. 5
参考答案:C
37:设有:int a[ ]={1,3,5,7},*p=a;,以下表达式中值为5的是____________。
A. *(p+2)
B. p+2
C. *p+2
D. *p+=2
参考答案:A
38:下列关于编译预处理命令的说法中,正确的是______。
A. 一条文件包含命令能包含多个文件
B. 编译预处理命令只能放在文件开头
C. 一行只能书写一条编译预处理命令
D. 编译预处理命令中的"#"可以省略
参考答案:C
39:下面不能正确定义结构体变量a的语句是______。
A. struct xyz{char x;inty;float z;};struct xyz a;
B. struct xyz{char x;inty;float z;} a;
C. struct xyz{char x;inty;float z;};typedef xyz a;
D. struct {char x;inty;float z;} a;
参考答案:C
40:对文件操作的一般步骤是_______。
A. 读写文件->打开文件->关闭文件
B. 读文件->写文件->关闭文件
C. 打开文件->操作文件->关闭文件
D. 操作文件->打开文件->关闭文件
参考答案:C
二、程序改错题
题目1:
统计所有三位正整数中个位数和十位数之和与百位数的积是28的数的个数。如:259,268,277,286......是满足条件的数。
参考答案:
$1$:count=0;
$2$:b=i/100;
$3$:count++;
题目2:
fun函数的功能是:计算s=1+1/2+1/3+1/4+...+1/n的值。在主函数中输入一个正整数n,通过调用fun函数,求得计算结果。
参考答案:
$1$:return (s);
$2$:scanf("%d",&n);
$3$:result=fun(n);
三、Windows操作题
请在考生文件夹中进行以下操作:
1.将文件夹group下的文件time.wri删除;
2.将文件夹year下的文件light.wps改名为lamp.wps;
3.将文件夹year下的子文件夹paper删除;
4.在文件夹address下新建一个文本文档myself.txt;
5.将文件夹group下的文件check.xls复制到文件夹address中。
考生在完成题目要求时,应特别注意一个基本概念:考生文件夹,考生上机考试的全部数据均存储在这个文件夹中。考生不得随意
更改其中的内容,而且,有些题目要使用这个概念来完成。要完成上机考试的基本操作题,可以使用Windows提供的资源管理器、文件
夹窗口等。Windows上机考试的基本操作题主要包括以下内容:
1.文件或文件夹的创建
操作:新建文件夹可通过"Windows资源管理器"或"我的电脑",先双击要放置新文件夹的磁盘或文件夹,然后利用以下两种方法来完成:
(1)利用"文件"菜单中的"新建"命令的"文件夹"选项,输入新文件夹名后按回车键;(2)在已打开文件夹中,单击鼠标右键,使用快捷菜单中的"新建"→"文件夹"命令,输入新文件夹名后按回车键。
新建文本文件可通过"Windows资源管理器"或"我的电脑",先双击要放置新文件的磁盘或文件夹,然后利用以下两种方法来完成:
(1)利用"文件"菜单中的"新建"命令的"文本文档"选项,输入新文件名后按回车键;(2)在已打开文件夹中,单击鼠标右键,使用快捷菜单中的"新建"→"文本文档"命令,输入新文件名后按回车键。
2.文件或文件夹的拷贝
操作:复制文件或文件夹有三个步骤:选择→复制→粘贴。复制文件或文件夹有以下四种方法:
(1)选择该文件,在"编辑"菜单中选择"复制"命令;
(2)选择该文件,用鼠标单击工具栏中的"复制"图标;
(3)选择该文件,在键盘上按Ctrl+C键;
(4)用鼠标右击欲复制的文件或文件夹,在弹出的快捷菜单中选择"复制"命令。
然后选择目的文件夹进行粘贴,粘贴文件或文件夹可由以下四种方法来实现:
(1)在"编辑"菜单中选择"粘贴"命令;
(2)用鼠标单击工具栏中的"粘贴"图标;
(3)选择该文件,在键盘上按Ctrl+V键;
(4)用鼠标右击欲粘贴的文件或文件夹,在弹出的快捷菜单中选择"粘贴"命令。
3.文件或文件夹的移动
操作:移动文件或文件夹有三个步骤:选择→剪切→粘贴。剪切文件或文件夹应先选择该文件或文件夹,然后有以下四种方法:
(1)在"编辑"菜单中选择"剪切"命令;
(2)用鼠标单击工具栏中的"剪切"图标;
(3)在键盘上按Ctrl+X键;
(4)用鼠标右击欲剪切的文件或文件夹,在弹出的快捷菜单中选择"剪切"命令。
然后选择目的文件夹进行粘贴,粘贴文件或文件夹可由以下四种方法来实现:
(1)在"编辑"菜单中选择"粘贴"命令;
(2)用鼠标单击工具栏中的"粘贴"图标;
(3)选择该文件,在键盘上按Ctrl+V键;
(4)用鼠标右击欲粘贴的文件或文件夹,在弹出的快捷菜单中选择"粘贴"命令。
4.文件或文件夹的更名
操作:在"Windows资源管理器"或"我的电脑"窗口中修改文件或文件夹的名称可以选择以下几种操作之一来实现:
(1)选择该文件,在"文件"菜单中选择"重命名"命令,然后键入新文件名或文件夹名,再按回车键;
(2)选择该文件按功能键F2,然后键入新文件名或文件夹名,再按回车键;
(3)用鼠标左键单击文件或文件夹名,然后键入新文件名或文件夹名,再按回车键;(4)用鼠标右击欲重命名的文件或文件夹,在弹出的快捷菜单中选择"属性"命令,然后键入新文件名或文件夹名,再按回车键;
5.文件或文件夹的属性设置
操作:在"Windows资源管理器"或"我的电脑"窗口中都设置有"属性"命令,用户可通过该命令设置文件或文件夹的属性(只读、隐藏、存
档、系统),具体实现方法有以下两种:
(1)选择该文件,在"文件"菜单中选择"属性"命令,在弹出的对话框中单击相应属性前的复选框,再单击"确定"按钮即可;
(2)用鼠标右击欲设置属性的文件或文件夹,在弹出的快捷菜单中选择"属性"命令,然后在弹出的对话框中单击相应属性前的复选
框,再单击"确定"按钮即可。
6.文件或文件夹的删除
操作:先选择该文件或文件夹,然后再按以下方法之一删除:
(1)按键盘上的Del键;
(2)用鼠标右击欲删除的文件或文件夹,在弹出的快捷菜单中选择"删除"命令;
(3)在"文件"菜单中选择"删除"命令;
(4)如果考生使用Shift+Del键,则该文件或文件夹将被彻底从硬盘中删除。
四、综合应用题
二级(C语言程序设计)上机题汇总
二级(C语言程序设计)上机题汇总 一、程序调试题 (一)程序填空 练习一: /*该程序功能:对x=1,2,。。。。。,10,f(x)=x*x*-5*x+sin(x)的最大值。*/ #include
void Dec2Bin(int m) { int bin[32],j; for(j=0;m!=0;j++) { bin[j]= __m%2___; m=m/2; } for(;j!=0;j--) printf("%d", ____bin[j-1]_ _____ ); } void main() { int n; scanf("%d",&n); Dec2Bin(n); } 练习四: /*该程序功能:输入数组x[7],调用函数f,去除数组中的负数,输出结果为:1 3 4 6*/ #include
计算机C语言趣味的程序设计——题目百例
Contest - 2011级C语言课程大作业 Start Time: 2012-02-19 16:25:00 End Time: 2012-03-01 22:00:00 Current Time: 2012-2-23 15:51:18 Status:Running Public
写在最前: 本文档中的题目;在不不同的编译器中可能会有提示错误,呵呵,小小的动动手改下变量的定义就可以运行了……………….. 由于能力不足..有题目未解决的…或者有错误的我会…认真听取大家的..意见的…. 呵呵……..有一两个….偷了下懒哦……… 提供原题目还有本人自己的解答的源代码。感谢大家的。。。。建议……………. 问题A: 趣味程序设计_狼追兔子 时间限制: 1 Sec 内存限制: 128 MB 提交: 341 解决: 63 [提交][状态][讨论版] 题目描述 一只兔子躲进了n个环形分布的洞的某一个中。狼在第一个洞没有找到兔子,就隔一个洞,到第三个洞去找;也没有找到,就隔两个洞,到第六个洞去找。以后每次多一个洞去找兔子……这样下去,如果一直找不到兔子,请问兔子可能在哪个洞中? 输入 有多组测试数据,读取到文件结尾符为止。每组测试数据输入n(2≤n≤100),即洞穴个数。输入到文件结尾符为止。 输出 兔子可能藏匿的洞。如果不止一个,按从小到大的顺序输出。如果不存在,输出空行。
样例输入 10 8 15 样例输出 2 4 7 9 2 4 5 7 8 9 11 12 14 提示 用一个数组a[10],对应的元素a[0],a[1],a[2]……a[9]对应表示10个洞,初值均置1。通过一个循环用“穷举法”找兔子,第n次查找对应第(n-1)%10个洞,如果在第(n-1)%10个洞中没有找到兔子,因此将数组元素a[(n-1)%10]置0值。循环完成后,检查a数组各元素(各个洞)的值,若其值仍为1,则兔子可能藏身该洞中。 #include
C语言试题及答案
一、单项选择题 1. 软件危机具有下列表现( d )。 I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住 III. 软件常常不可维护IV. 软件成本逐年上升 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。 A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是( D )。 A. 软件是一种逻辑实体,具有抽象性 B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显着特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于( D )。 A. 软件危机的出现 B. 计算机硬件技术的发展 C. 软件社会化的需要 D. 计算机软件技术的发展 5. 软件开发技术不包含( d )。 A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( D )。 I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( b )。 I. 计算机辅助教学软件II. 软件测试工具 III. 办公自动化软件IV. 工程与科学计算软件 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。
2011年技能考试试卷C语言(真题)
第一部分【程序填空】 第一套: 题目:函数gcd()计算整型数组a中相邻两元素的最大公约数,最小公倍数,其中最大公约数存入数组b中,最小公倍数存入数组c中。 --------------------------------------------------------- 注意:请勿改动主函数main()中的其他内容。 --------------------------------------------------------- #include
历年二级C语言笔试真题及答案
1 2009年9月全国计算机等级考试二级笔试 试卷 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)下列选项中不属于结构化程序设计原则的是 A) 可封装 B) 自顶向下 C) 模块化 D) 逐步求精 7)软件详细设计产生的图如下: 该图是 A) N-S 图 B) PAD 图 C) 程序流程图 D) E-R 图 8)数据库管理系统是 A )操作系统的一部分B) 在操作系统支持下的系统软件C) 一种编译系统 D) 一种操作系统 9)在E-R 图中,用来表示实体联系的图形是 A) 椭圆图B) 矩形C) 菱形D) 三角形 10)有三个关系R ,S 和T 如下: 其中关系T 由关系R 和S 通过某种操作得到,该操作为 A) 选择 B) 投影 C) 交 D) 并 11)以下叙述中正确的是 A )程序设计的任务就是编写程序代码并上机 B )程序设计的任务就是确定所用数据结 构 C )程序设计的任务就是确定所用算法 D )以上三种说法都不完整 12)以下选项中,能用作用户标识符的是 A )void B )8_8 C )_0_ D )unsigned 13)阅读以下程序 #include
c语言趣味编程实例
1、编程序求5X+2Y+Z=50 的所有非负整数解。 #include
大学C语言考试试题及答案
精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学C语言考试试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串
选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"aC语言试卷及答案
《C语言程序设计》考试试卷(答案) 一、填空题(每小空1分,共10分) 1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。 2.一个C程序有且仅有一个main( ) 函数。 3.C语言描述“x和y都大于或等于z”的表达式是x>=z && y>=z。 4.C语言可以用来实现循环的结构化语句是while、do while、for。 5.数组名表示数组在内存的首地址。 6.int a=3,*p=&a;*p+2的值是5。 二、单项选择题(每小题2分,共70分) 1.__B___是C语言合法的常量。 (A).45(B)078 (C)25.6e3.4 (D)‘xy’2.一个程序的执行是从 A 。 (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 (C)本程序的main函数开始,到本程序文件的最后一个函数结束。 (D)本程序文件的第一个函数开始,到main函数结束。 3.以下叙述正确的是 C 。 (A)在C程序中,main函数必须位于程序的最前面。 (B)C程序每行中只能写一条语句。 (C)C语言本是没有输入输出语句。 (D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。 4.以下叙述不正确的是 D 。 (A)逗号运算符的运算级最低。 (B)ABC和abc是两个不同的变量。 (C)若a和b类型相同,在执行a=b后,b的自身值不变。 (D)‘a’和“a”是完全等价的常量。 5.int x=3,y=2;则表达式x+=x*=y+8的值为 C 。 (A)28 (B)30 (C)60(D)17 6.设x=2.7,a=8,y=4.9,算术表达式x+a%3*(int)(x+y)%5/3的值为 B 。 (A)2.7 (B)3.7(C)4.7 (D)4.03 7.执行下面两个语句后,输出的结果为__D___。 char c1=98; printf(“%d %c”,c1,c1-32); (A)97 66 (B)98 b (C)b 66 (D)98 B 8.执行下面语句后的结果为 C 。 y=10;x=y++; (A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11(D)x=11,y=10 9.Char w;int x;float y;double z;则表达式w*x+z-y值的数据类型是A 。 (A)double (B)char (C)int (D)float 10.C语言中要求操作数必须是整数的运算符是 B 。
C语言经典编程
猴子吃桃 1、题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 1.程序分析:采取逆向思维的方法,从后往前推断。 2.程序源代码: main() { int day,x1,x2; day=9; x2=1; while(day>0) {x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/ x2=x1; day--; } printf("the total is %d\n",x1); } 回文数问题 题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 1. 程序分析:学会分解出每一位数,如下解释:(这里是一种简单的算法) 2.程序源代码: main( ) { long a,b,c,d,e,x; scanf("%ld",&x); a=x/10000;/*分解出万位*/ b=x%10000/1000;/*分解出千位*/ c=x%1000/100;/*分解出百位*/ d=x%100/10;/*分解出十位*/ e=x%10;/*分解出个位*/ if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a); else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b); else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c); else if (d!=0) printf("there are 2, %ld %ld\n",e,d); else if (e!=0) printf(" there are 1,%ld\n",e); } 杨辉三角 题目:打印出杨辉三角形(要求打印出10行如下图) 1.程序分析: 1 1 1
C语言试卷及答案
一、选择题(每题 1 分,共 20 分) 1. C 语言程序的三种基本结构是顺序结构、选择结构和结构。 A、循环 B、递归 C、转移 D、嵌套 2. 下列标识符中,合法的是_______ 。 A) unsigned B) 5ab C) INT# D)_num2 3. 若float x ;x = 10/4 ;x的值是。 A、2.5 B、2.0 C、3 D、 2 4. 表达式!x 等价于。 A、x==0 B、x==1 C、x != 0 D、x != 1 5. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为。 A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算 6. 能将高级语言编写的源程序转换为目标程序的是。 A、链接程序 B、解释程序 C、编译程序 D、编辑程序 7. 下列语句定义pf为指向float类型变量f的指针,是正确的。 A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f; 8. 一个C程序的执行是从。 A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 9. 能正确表示“当x的取值在[1,10]或[[200,210]范围内为真,否则为假”的表达式是________。 A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B、(x>=1)||(x<=10)||(x>=200)||(x<=210) C、(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D、(x>=1)||(x<=10)&&(x>=200)||(x<=210) 10. 对两个数组a和b进行如下初始化 char a[]=“ABCDEF”;char b[]={ …A?,?B?,?C?,?D?,?E?,?F?}; 则以下叙述正确的是。 A、a和b数组完全相同 B、a和b长度相同 C、a和b中都存放字符串 D、a数组比b数组长度长 11. 是不正确的字符常量。 A、'\n' B、'1' C、"a" D、'\101' 12. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和等价。 A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 13. 设变量定义为“int x, *p=&x;”,则&*p相当于。 A、p B、*p C、x D、*&x 14. 有两个字符数组a、b,则以下正确的输入语句是。 A)gets(a,b); B) scanf(“%s%s”,a,b); C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”); 15. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。 A、地址传递 B、单向值传递
c语言试卷第四套
若x,i,j,k 都是int型变量,则计算x=(i=4,j=16,k=i+32)后,x的值为:(D). A.52 B.16 C.4 D.36 整型变量x=1,y=3,经下列计算后,x的值不等于6的是(D)。 A.x=y*4/2 B.x=9-(--y)-(--y) C.x=(x=1+2,x*2) D.x=y<2?6:5 以下程序的输出结果为(A)。 main() {int i=010,j=10; printf("%d,%d\n",++i,j--); } A.9,10 B.10,9 C.010,9 D.11,10 如下说法不正确的是(D). A.若b为假a为真,则 a||b为真 B.若b为真a为假,则 a||b为真 C.若b为真a为真,则 b&&!a为假 D.若b为假,则!b+1为假 下列(C)表达式的值为真,其中a=5;b=8;c=10;d=0 A.(a*2-c)||d B.a*2>8+2 C.a-b
CC语言趣味程序设计编程百例精解
C-C++语言趣味程序设计编程百例精解() ?81.角谷猜想 日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想。猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1。请编程验证。 *问题分析与算法设计 本题是一个沿未获得一般证明的猜想,但屡试不爽,可以用程序验证。题目中给出的处理过程很清楚,算法不需特殊设计,可按照题目的叙述直接进行证。 *程序说明与注释 #include<stdio.h> int main() { int n,count=0; printf("Please enter number:"); scanf("%d",&n); /*输入任一整数*/ do{ if(n%2)
n=n*3+1; /*若为奇数,n乘3加1*/ printf("[%d]:%d*3+1=%d\n",++count,(n-1)/3,n); } else { n/=2; /*若为偶数n除以2*/ printf("[%d]: %d/2=%d\n",++count,2*n,n); } }while(n!=1); /*n不等于1则继续以上过程*/ } 82.四方定理 数论中著名的“四方定理”讲的是:所有自然数至多只要用四个数的平方和就可以表示。 请编程证此定理。 *问题分析与算法设计 本题是一个定理,我们不去证明它而是编程序验证。 对四个变量采用试探的方法进行计算,满足要求时输出计算结果。 *程序说明与注释 #include<stdio.h> #include<stdlib.h> int main()
(完整版)C语言试题及答案解析
C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行
精选C语言试卷(带答案).
2006-2007学年第二学期考试试卷A卷 考试科目C语言程序设计考试方式闭卷完成时限2小时 拟题人审核人批准人2007年7 月 5 日机械、电气、信息、生化、轻工、经管、理学院2006年级各理工科专业 说明: 1.应将全部答案写在答卷纸对应的题号处;否则作无效处理; 2.编程题应写明题号,若答卷纸不够,请写在背面,不要另添卷纸; 3.考试完成后,必须将试卷与答卷同时交回。 一、判断题(10小题,每题1分,共10分;用√表示正确,用×表示错误)1.在循环体内使用break语句和continue语句的作用相同。 2.函数返回值的类型最终取决于函数定义时形参的类型。 3.else语句一定要与if语句配对使用,程序中else语句的个数一定小于或者等于if语句的个数。 4.从狭义角度讲,算法是解决一个问题采取的方法和步骤的描述。 5.1/2的结果是0,所以1.0/2的结果也是0。 6.a=b=c=5可以理解为a=(b=(c=5))。 7.假设有语句int a[10]={1,2,3},*p;p=a;则p++完全等价于a++。 8.for(;;)等价于while(1)语句。 9.假定int类型变量占用两个字节,若有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是6。 10.char *sp ={"welcome"};可以写成char *sp="welcome"; 。 二、单选题(16小题,每题1分,共16分) 1.以下数组定义中错误的是: (A) int x[][3] ={0}; (B) int x[2][3]={{1,2},{3,4},{5,6}};
(C) int x[][3]={{1,2,3},{4,5,6}}; (D) int x[2][3]={1,2,3,4,5,6}; 2.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为: (A)EOF (B)NULL (C) 0 (D)非0值 3.有以下程序: main() {int y=10; while(y--) ; printf(“y=%d\n”,y); } 程序执行后的输出结果是: (A) y=0; (B)y=-1; (C) y=1 (D)while构成无限循环 4. 若有以下宏定义: #define N 2 #define Y(n) (N+1)*n 则执行语句int z; z=2*N+Y(5);后的值是 (A) 50 (B)34 (C)19 (D)无定值 5.以下叙述中错误的是: (A)c程序必须由一个或者一个以上的函数组成。 (B)函数调用可以作为一个独立的语句存在。 (C)若函数有返回值,必须通过return 语句返回。 (D)函数形参的值也可以传回给对应的实参。 6.设有如下定义的变量 union data { int i; char ch; float f; }b; 则变量b占用内存的字节数是(假设int类型占2个字节,char类型占1个字节,float类型占4个字节): (A) 4 (B)5 (C) 6 (D)7 7.以下叙述中错误的是:
c语言试题及答案
《C语言》课程综合复习资料 一、单选题 1. 在C语言中,字符型数据在存中的存储形式是 A)原码 B)补码 C)反码 D)ASCII码 2. 在C语言中,十进制数47可等价地表示为 A) 2f B) 02f C) 57 D) 057 3. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为 A) 0 B) 1 C) 2 D) 3 4. 设有定义语句:char str[][20]={,"Beijing","中国石油大学"},*p=str; 则printf("%d\n",strlen(p+20)); 输出结果是 A)10 B) 6 C) 0 D) 20 5. 已定义以下函数: fun(int *p) { return *p; } 该函数的返回值是 A)不确定的值 B)形参p所指存储单元中的值 C)形参p中存放的值 D)形参p的地址值 6. C语言中,函数返回值的类型是由 A)return语句中的表达式类型决定 B)调用函数的主调函数类型决定 C)调用函数时的临时类型决定 D)定义函数时所指定的函数类型决定 7. 有以下函数定义: void fun( int n , double x ) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是 A) fun( int y , double m ); B) k=fun( 10 , 12.5 ); C) fun( 10 , 12.5 ); D) void fun( 10 , 12.5 ); 8. 以下选项中不能正确赋值的是 A) char b[]={′H′,′e′,′l′,′l′,′o′,′!′}; B) char b[10];b="Hello!";
C语言考试试卷及答案
2011-2012学年第一学期 C语言程序设计A 课程A卷考试题 共 4 页此第 1 页成绩 一、单项选择题(每小题2分,共40分) 1. C语言中合法的字符常量是() A.n B.’\n’ C.110 D.”n” 2. 有以下程序: main( ) { char ch=’A’; printf(“ch(1)=%d,ch(2)=%c\n”,ch,ch+1); } 程序运行后的输出结果是() A. ch(1)=65,ch(2)=A B. ch(1)=97,ch(2)=A C. ch(1)=65,ch(2)=B D. ch(1)=97,ch(2)=B 3. 能表示a不能被2整除且a、b不相等,但a、b的和等于0的C语言逻辑表达式是() A. a==-b&&a%2==0 B. a!=b&&a+b==0&&a%2 C. !(a%2)&&a==-b D.a%2==0&&a+b==0 4. 以下程序段中语句” printf("i=%d,j=%d\n",i,j);”的执行次数是() int i, j; for(i=3;i ;i--) for(j=1;j<5;j++) printf("i=%d,j=%d\n",i,j); A. 12 B. 20 C. 15 D. 24 5. 执行以下程序段后,x[2]的值是() int x[10]={1,2,3,4,5,6,7,8,9,10},i,j,t; i=0;j=9; while(i 二级C语言上机编程题技巧 一、技巧的原理 首先使用这个技巧必须了解上机编程题的评分原理。以上机题的第5套编程题为例。二级C语言的上机试题是让我们自己编写某个小程序的子程序来实现题目中的功能。那么考官是怎么样来检查我们编的程序是否正确呢?根据编程题下面这段程序我们就可以看出: 在考生文件夹下存在一个名为in.dat的文件。首先以只读的方式打开in.dat文件,以只写方式打开out.dat文件,若out.dat不存在则自动新建该文件。然后使用fscanf 语句将其中的数据输入到变量a中,再将a当作实参调用我们需要编写的程序。将结果用fprintf语句输入到out.dat文件中。其中.dat为这个文件的扩展名(扩展名有可能被隐藏)。 所以考官不会直接检查我们的程序,只要检查out.dat里的数据是否正确就可以判断我们编的子程序是否正确。因此程序编写题,我们可以只通过修改out.dat里面的答案而不去编写程序就可以拿到满分。 二、使用技巧的条件 当然不是所有的编程题我们都能使用这个技巧的(不过90%的编程题都可以用这个方法)。使用这个技巧必须具备两个条件: 1、编程题是通过我上面讲的方法来检验,说白了就是我们的考生文件夹下面 含有in.dat文件。 2、编程题需要实现的功能我们编程者可以自己想出来程序完成的答案。例如 本题: 它让我们实现实型数据保留两位小数,并对第三位进行四舍五入。那么这个功能我们若知道任一个实数都可以自己计算出结果,那么我们才能将正确答案写在out.dat文件里面。若某程序让你编写子程序实现求取圆周率并精确到小数点后10位这个功能,那么我们就无法背出那么长的数字,因此也没有办法知道结果。那么这种技巧就不能使用。 三、步骤 确定了这个技巧可以使用后,我们就可以开始操作了。一般分为以下几步: 1、建立out.dat文件 上面可以看到我们的考生文件夹中是没有out.dat这个文件的。所以我们需要自己新建。最好的方法就是打开编程题直接编译、链接、执行。这样将程序执行一遍后我们的考生文件夹里就自动生成了我们需要的out.dat文件。(注意:这里生成了out.dat 文件后就不要再运行我们的程序了,因为每运行一次程序就会将程序生成的答案写入out.dat文件中,这样即算我们改成了正确答案,你如果再次运行程序,就会将我们修改的正确结果覆盖掉。) 2、修改答案 趣味 c 语言编程100 例 【程序 1】 题目:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、 2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) / *以下为三重循环 */ for( j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /* 确保 i 、 j、 k 三位互不相同 */ printf("%d,%d,%d\n",i,j,k); } } 程序 2】 题目:企业发放的奖金根据利润提成。利润 (I) 低于或等于 10 万元时,奖金可提 10% ;利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10% 提成,高于 10 万元的部分,可可提成 7.5% ; 20 万到 40 万之间时,高于 20 万元的部分,可提成 5% ; 40 万到 60 万之间时高于 40 万元的部分,可提成 3% ;60 万到 100 万之间时,高于 60 万元的部分,可提成 1.5% ,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总 数? 1. 程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2. 程序源代码: main() { long int i; int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%ld",&i); bonus1=100000*0.1;bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if(i<=100000) bonus=i*0.1; else if(i<=200000) bonus=bonus1+(i-100000)*0.075; else if(i<=400000) bonus=bonus2+(i-200000)*0.05; else if(i<=600000) bonus=bonus4+(i-400000)*0.03;二级C语言上机编程题答题技巧
趣味c语言编程100例