C模拟试卷_2
单片机应用技术模拟试卷2

单片机应用技术(C语言版)模拟试卷2(考核方式:笔试闭卷,考试时间:120分钟,满分:100分)题号一二三四总分得分签名总得分________统分人签名_________核分人签名__________一、单选题(每小题2分,共20分)【得分:】1.小王初学单片机,他用C语言编写了下面语句,你帮他计算一下,这段语句一共执行了次空操作。
for(k=0;k<12;k++)for(j=0;j<20;j++);A、12B、20C、32D、2402.二进制数11011010B转换成十六进制数为。
A、0xcbB、0xdaC、0xdbD、0xea3.小王编写了一段延时子函数,函数定义语句如下:void delay(unsigned char i);小王要去调用这段函数,以下正确的调用语句是。
A、delay(180);B、delay(300);C、delay(800);D、delay(10000);4.小王看不懂下面这段语句,请你告诉他执行下列语句后,变量i中的值为:。
unsigned char i=0x9b;i=i|0xf0;A、0x7aB、0xfbC、0xbfD、0x9f5.若j=64,执行j>>=3;操作后,运算结果为。
A、0x04B、0x08C、0x10D、0x206.请你告诉小王,下面的while循环执行了次空语句。
unsigned char i=3;while(i>=6);A、0B、3C、6D、无数次7.以下的数组定义中,关键字“code”是为了把led数组存储在程序存储器,其中数组元素led[2][2]的值为。
unsigned char code led[3][3]={{0,1,2},{3,4,5},{6,7,8}};A、4B、5C、7D、88.小王想用定时器T1作计数,软件启动,用方式2,则TMOD初始化编程为。
A、TMOD=0x06;B、TMOD=0x50;C、TMOD=0x10;D、TMOD=0x60;9.执行下列程序后,变量i的值为。
国家二级C语言机试(程序设计题)模拟试卷2(题后含答案及解析)

国家二级C语言机试(程序设计题)模拟试卷2(题后含答案及解析) 题型有:1.1.使用VC++2010打开考生文件夹下prog1中的解决方案。
此解决方案的项目中包含一个源程序文件prog1.c。
在此程序中,函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中剩余的字符形成的新串放在t所指的数组中。
例如,若8所指字符串中的内容为“ABCDEFG12345”,其中字符C的ASCII码值为奇数,在数组中的下标为偶数,因此必须删除;而字符1的ASCII码值为奇数,在数组中的下标为奇数,因此不应当删除,其他依此类推。
最后t所指的数组中的内容应是“BDF12345”。
注意:部分源程序在文件PROG1.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:#include<stdio.h>#include<string.h>void fun(char*s,char t[]){}main( ){char s[100],t[100];void NONO( );printf(“\nPlease enter string S:”);Scanf(“%s”,s);fun(s,t);printf(“\nThe result is:%s\n”,t);NONO( );}void NONO( ){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/chars[100],t[100];FTLE*rf,*wf;int i;rf=fopen(“in.dat”,”r”);wf=fopen(“out.dat”,”w”);for(i=0;i<10;i++){fscanf(rf,”%s”,s);fun(s,t);fprintf(wf,”%s\n”,t);}fclose(rf);fclose(wf);}正确答案:void fun(char*s,char t[]){int i,j=0;for(i=0;i<strlen(s);i++)if(!((i%2)==0&&(s[i]%2)))t[j++]=s[i];t[j]=0;}解析:本题是从一个字符串按要求生成另一个新的字符串。
计算机二级c语言考前模拟二

第一部分:C语言程序设计试卷(共100分)一、填空题(每题1分,共10分)1、若已知a=20,b=l0,则表达式!a>b的值为( )。
2、为表示关系x大于等于y并且大于等于z,应使用的C语言表达式是()。
3、有以下程序main( ){int x=102,y=012;printf(“%2d,%2d ”,x,y);}执行后输出结果是()。
4、已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是( )。
5、有以下程序main( ){ char A[]=”abcdefg”,B[10]=”abcdefg”;printf(“%d %d ”,sizeof(A) ,sizeof(B) );}执行后输出结果是()。
6、以下程序运行时若从键盘输入:B33<回车>,则输出结果是( )。
#include <stdio.h>main(){char a,b;a=getchar();scanf("%d",&b);a=a-'a'+31;b=b*2;printf("%d %c\n",a,b);}7、以下程序运行后的输出结果是( )。
main(){ int x=10,y=20,t=0;if(x==y) t=x;x=y;y=t;printf("%d,%d\n",x,y);}8、以下程序的输出结果是( )。
main(){int arr[]={30,25,20,15,10,5},*p=arr;p++;printf("%d\n",*(p+3));}9、下列程序段的输出结果是( )。
main(){char b[]="Hello you";b[5]=0;printf("%s\n",b);}10、用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。
C语言模拟试卷及答案

《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._____是C语言合法的标识符。
(A)3_sy45 (B)su_m (C)@123 (D)3D642.一个程序的执行是从.(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束.(C)本程序的main函数开始,到本程序文件的最后一个函数结束.(D)本程序文件的第一个函数开始,到main函数结束。
3.以下叙述正确的是。
(A)在C程序中,main函数必须位于程序的最前面.(B)C程序每行中只能写一条语句.(C)C语言本是没有输入输出语句。
(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误.4.以下叙述不正确的是。
(A)逗号运算符的运算级最低。
(B)ABC和abc是两个不同的变量。
(C)若a和b类型相同,在执行a=b后,b的自身值不变。
(D)‘a’和“a”是完全等价的常量。
5.int x=3,y=2;则表达式x+=x*=y+8的值为。
(A)28 (B)30 (C)60(D)176.在c语言中,变量的隐含存储类别是。
(A)auto(B)static (C)extern (D)无存储类别7.执行下面两个语句后,输出的结果为_____。
char c1=98;printf(“%d %c”,c1,c1—32);(A)97 66 (B)98 b (C)b 66 (D)98 B8.执行下面语句后的结果为.y=10;x=y++;(A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11 (D)x=11,y=109.char w;int x;float y;double z;则表达式w*x+z—y值的数据类型是。
《C语言程序设计》模拟试卷2

《C 语言程序设计》模拟试卷2考试班级:一、判断题(2’×10=20’)1、C 语言源程序文件的扩展名均为.c 。
( )2、所谓变量,就是在程序运行过程中其值不可以改变的量。
( )3、一个C 语言程序总是从main 函数开始执行。
( )4、C 语言中所有字符串都是以‘\0’结束的。
( )5、在C 语言中do-while 和while 语句均是先判断表达式,再执行循环体语句。
() 6、算术运算符中‘/’的优先级高于‘%’。
( )7、int a[5];该语句表明数组a 中的第五个元素为a[5]。
( ) 8、函数getchar()的作用是:输出一个字符。
( )9、C 语言程序区分大小写。
( )10、C 语言中标识符第一个字符可以由字母,数字和下划线三种字符组成。
()二、单项选择题(2’×15=30’)1、以下说法正确的是( )。
A 、C 语言程序总是从第一个的函数开始执行B 、在C 语言程序中,要调用函数必须在main()函数中定义C 、C 语言程序总是从main()函数开始执行D 、C 语言程序中的main()函数必须放在程序的开始部分2、C 语言中基本数据类型包括( )。
A 、整型、实型、逻辑型B 、整型、实型、字符型C 、整型、字符型、逻辑型D 、字符型、实型、逻辑型3、下列可用于C 语言用户标识符的一组是( )。
A 、1AB 、P_0C 、-abcD 、int4、C 语言的三种基本结构是( )。
A 、顺序结构、逻辑结构、选择结构B 、顺序结构、选择结构、循环结构 系部:班级:学号:姓名:C、逻辑结构、层次结构、网状结构D、层次结构、顺序结构、循环结构5、起换行作用的转义字符是()。
A、’\t’B、’\b’C、’\n’D、’\r’6、设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为()。
A、intB、floatC、double D)不确定7、关于数组元素类型的说法,下列那一项是正确的:()。
全国计算机等级考试《二级C语言程序设计》模拟试卷二

全国计算机等级考试《二级C语言程序设计》模拟试卷二[单选题]1.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是((江南博哥))。
A.外模式B.内模式C.概念模式D.逻辑模式参考答案:B参考解析:数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和;③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。
答案选择B选项。
[单选题]4.下面不属于需求分析阶段任务的是()。
A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划参考答案:D参考解析:需求分析阶段的工作主要包括4个方面:①需求获取,其目的是确定对目标系统的各方面需求;②需求分析,对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型;③编写文档,编写需求规格说明书,编写初步用户使用手册;④确认测试计划,修改完善软件开发计划,需求评审。
制定软件集成测试计划属于概要设计阶段的任务。
答案选择D选项。
[单选题]5.结构化程序的三种基本控制结构是()。
A.顺序、选择和重复(循环)B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移参考答案:A参考解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环)。
答案选择A选项。
[单选题]6.构成计算机软件的是()。
A.源代码B.程序和数据C.程序和文档D.程序、数据及相关文档参考答案:D参考解析:计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
答案选择D选项。
[单选题]7.在黑盒测试方法中,设计测试用例的主要根据是()。
A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序流程图参考答案:B参考解析:黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能规格说明。
专升本C语言程序设计模拟试卷C2带答案

计算机科学与技术专业《基础知识》模拟试卷二(考试时间150分钟,满分300分,共三部分)第一部分 C语言程序设计(共100分)一、单项选择题(本大题共30小题,每小题2分,共60分)1. 请读程序:#include<stdio.h>main(){int a;float b,c;scanf("%2d%3f%4f’,&a,&b,&c);printf("\na=%d,b=%ec。
%f\n",a,b,c);}若运行时从键盘上输入9876543210l,则上面程序的输出结果是________。
A)a=98,b=765,c=432 1 B)a=1 0,b=432,c=8765C)a=98,b=765.000000,c=432 1.000000D)a=98,b=765.0,c=432 1.0答案:C2. 一个良好的算法由下面的基本结构组成,但不包括__________。
A)顺序结构B)选择结构C)循环结构 D)跳转结构3. 请选出以下程序的输出结果________。
#include<stdio.h>sub(x,y,z)int x,y,*z:{*z=y-x;}main(){int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);}A)5,2,3B)-5,-12,-7C)-5,-12,-17D)5,-2,-74. 下面程序在屏幕上的输出是________。
main(){printf("ab\b\b c");}A)ab\b\b c B)a cC)abc D)ab c5. 若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是_______。
A)pb=&x;B)pb=x;C)*pb=&x;D)*pb=*x6. 设整型数i=5,则printf("%d",i+++++i);的输出为________。
计算机二级c语言 第1套 笔试模拟试卷

第2套笔试模拟试卷一选择题:(1)算法的时间复杂度是指()。
A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数(2)下列叙述中正确的是()。
A)线性链表是线性表的链式存储结构B)栈与队列是非线性结构C)双向链表是非线性结构D)只有根结点的二叉树是线性结构(3)下列特征中不是面向对象方法的主要特征的是()。
A)多态性B)继承C)封装性D)模块化(4)为了使模块尽可能独立,要()。
A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱(5)有下列二叉树,对此二叉树前序遍历的结果为()。
A)ACBEDGFH B)ABDGCEHFC)HGFEDCBA D)ABCDEFGH(6)某二叉树共有60个叶子结点与50个度为1的结点,则该二叉树中的总结点数为()。
A)148B)169C)182D)198(7)对长度为n的线性表进行顺序查找,在最坏情况下需要比较的次数为()。
A)125B)n/2C)nD)n+1(8)以下不是结构化程序设计方法的技术是()。
A)自顶向下,逐步求精B)自底向上,逐步求精C)从整体到局部D)结构清晰,层次分明(9)设有如下关系表)。
A)T=R/SB)T=R×SC)T=R∩SD)T=R∪S(10)数据字典是数据库设计需求分析阶段的重要工具之一,其最基本的方法是()。
A)数据库定义B)数据通信C)数据定义D)数据维护(11)以下叙述错误的是()。
A)C语言区分大小写B)C程序中的一个变量,代表内存中一个相应的存储单元,变量的值可以根据需要随时修改C)整数和实数都能用C语言准确无误地表示出来D)在C程序中,正整数可以用十进制、八进制和十六进制的形式来表示(12)算法具有5个特性,下列选项中不属于算法特性的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7
else printf(“%d,%d\n”, b, a); return 0; } 程序 6 #include <stdio.h> int main() { int y = 9; for (; y > 0; y --) if (y % 3 == 0) { printf(“%d”, --y); continue; } return 0; } 四、编程题 1. 输入年份 year 和月份 month, 求该月有多少天。注意:2 月份 要考虑闰年。 2. 假设银行整存整取存款不同期限的利率分别为:期限一年年息 利率为 2.25%;期限二年年息利率为 2.7%;期限三年年息利 率为 3.24%;期限五年年息利率为 3.6%;其它情况年息利率 为 5%。要求输入存钱的本金和期限,求到期时能从银行得到 的利息与本金的合计(分别用 if 嵌套结构和 switch 结构两种 方式实现)。提示:设期限用整型数据 year 表示,存入本金 庸实型数据 money 表示,年利率用实型数据 rate 表示,则到 期时能从银行得到的利息与本金的合计用 total 表示,total 的 计算公式为 total = money + money * rate * year / 100。 3. 在 1~500 中,找出能同时满足用 3 除余 2,用 5 除余 3,用 7 除余 4 的所有整数。 4. 编程计算 1*2*3+3*4*5+5*6*7+…+99*100*101 的值。
6
程序 2: #include <stdio.h> int main() { int a = 2, b = -1, c = 2; if (a < b) if (b < 0) c = 0; else c ++; printf(“%d\n”, c); return 0; } 程序 3: #include <stdio.h> int main() { int i; for (i = 0; i < 3; i ++) switch (i) { case 1: printf(“%d”, i); case 2: printf(“%d”, i); default: printf(“%d”, i); return 0; } 程序 4: #include <stdio.h> int main() { int n = 9; while (n > 6) { n --; printf(“%d”, n); } return 0; } 程序 5 #include <stdio.h> int main() { int a = -1 b = 1, k; if ((++a < 0) && (b-- <= 0)) printf(“%d,%d\n”, a, b);
8
A. B. C. D.
printf(“\n”); return 0; } 10,10,10,0 10,9,9,0 10,10,9,1 9,9,9,1
13. 下列程序的输出结果是() #include <stdio.h> int main() { int i, a = 0, b = 0; for (i = 1; i < 10; i ++) { if (i % 2 == 0) { a ++; continue; } } printf(“%a=%d,b=%d”, a, b); return 0; } A. a=4,b=4 B. a=4,b=5 C. a=5,b=4 D. a=5,b=5 14. 设有以下程序段 int x = 0, s = 0; while (!x!=0) s += ++x; printf(“%d”, s); 则() A. 运行程序后输出 0 B. 运行程序后输出 1 C. 程序段中的控制表达式是非法的 D. 程序段执行无限次 15. 下列程序的输出结果是() #include <stdio.h> int main() { int i = 6;
4
A. B. C. D.
while (i--) printf(“%d”, --i); printf(“\n”); return 0; } 531 420 654321 死循环
16. 如有以下语句 int x = 3; do { printf(“%d\n”, x -= 2); } while (!(--x)); 则上面程序段() A. 输出的是 1 B. 输出的是 1 和-2 C. 输出的是 3 和 0 D. 是死循环 17. C 语言中 while 和 do…while 循环的主要区别是() A. do…while 的循环体至少无条件执行一次 B. while 的循环控制条件比 do…while 的循环控制条件更严格 C. do…while 允许从外部转到循环体内 D. do…while 的循环体不能是复合语句 18。下列说法中错误的是() A. 只能在循环体内使用 break 语句 B. 在循环体内使用 break 语句可以使流程跳出本层循环体,从而提前结束 本层循环 C. 在 while 和 do…while 循环中,continue 语句并没有使整个循环终止 D. continue 的作用是结束本次循环,即跳过本次循环体中余下尚未执行的 语句,接着再一次进行循环判断 二、程序填空题 程序 1:计算 1~10 的奇数之和与偶数值和 #include <stdio.h> int main() { int i, j; for (i = 0; [ ]; i ++) { j = i * 10 + 6; if ([ ]) continue; 5
printf(“%d\t”, j); } return 0; } 程序 2:输出 100 以内能被 3 整除且个位数为 6 的所有整数 #include <stdio.h> int main() { int i, j; for (i = 0; [ ]; i ++) { j = i * 10 + 6; if ([ ]) continue; printf(“%d\t”, j); } return 0; } 程序 3:计算 1-3+5-7+…+-99+101 的值 #include <stdio.h> int main() { int i, t = 1, s = 0; for (i = 1; i <= 10; i += 2) { t = [ ]; s = s + t; t = [ ]; } printf(“%d\n”, s); return 0; } 三、阅读程序,分析程序的输出结果 程序 1: #include <stdio.h> int main() { int a = 5, b = 4, c = 3, d = 2; if ( a > b > c) printf(“%d\n”, d); else if ((c – 1 >= d) == 1) printf(“%d\n”, d + 1); else printf(“%d\n”, d + 2); return 0; }
一、选择题 1. 若已定义:int a = 25, b = 14, c = 19; 以下三目运算符( ? : )所构成的语句执 行后,程序输出的结果是() a <= 25 && b-- <= 2 && c ? printf(“*** a=%d, b=%d, c=%d\n”, a, b, c) : printf(“### a=%d, b=%d, c=%d\n”, a, b, c); A. *** a=25, b=13, c=19 B. *** a=26, b=14, c=19 C. ### a=25, b=13, c=19 D. ### a=26, b=14, c=19 2. 下列程序的输出结果是() int main() { double d = 3.2; int x, y; x = 1.2; y = (x + 3.8) / 5.0; printf(“%d\n”, y); printf(“%d\n”, d * y); return 0; } A. 3 B. 3.2 C. 0 D. 3.07 3. 以下程序的输出结果是() int main() { int a = 4, b = 5, c = 0, d; d = !a&&!b||!c; printf(“%d\n”, d); return 0; } A. 1 B. 0 C. 非 0 的数 D. –1 4. 已知 char ch = ‘C’; 则以下表达式的值是() ch = (ch >= ‘A’ && ch <= ‘Z’) ? (ch + 32) : ch; A. A B. A C. Z D. C
1
5. 有以下程序 int main() { int i = 1, j = 1, k = 2; if ((j++||k++)&&i++) printf(“%d, %d, %d\n”, i, j, k); return 0; } 执行后的输出的结果是() A. 1, 1, 2 B. 2, 2, 1 C. 2, 2, 2 D. 2, 2, 3 6. 请阅读以下程序 int main() { int a = 5, b = 0, c = 0; if (a = b + c) printf(“***\n”); else printf(“$$$\n”); return 0; } 以上程序() A. 有语法错不能通过编译 B. 可以通过编译但不能通过连接 C. 输出*** D. 输出$$$ 7. 有如下程序 int main() { float x = 2.0, y; if (x < 0.0) y = 1.0 / x; else y = 1.0; printf(“%f\n”, y); return 0; } 该程序的输出结果是() A. 0.000000 B. 0.250000 C. 0.500000 D. 1.000000 8. 阅读如下程序 #include <stdio.h>