五邑大学试卷_C语言程序设计_信息学院各专业_A卷
- 格式:doc
- 大小:33.00 KB
- 文档页数:7
2021年秋季《c语言程序设计》期末考试题a卷答案答案--修改后(整理A卷2005—2006学年第二学期《程序设计语言(C)》试卷参考答案和评分标准专业班级姓名学号开课系室软件工程系考试日期 2006年7月3日题号一二三总分得分阅卷人程序设计语言(C)试卷(A卷)答题卡说明:1.选择题和判断题必须填在答题卡上才有效,综述题写在指定位置。
2.本试卷连同封面共13页,不得拆开。
一、单项选择题(正确的答案涂黑或画圈,每题1分,共20分)二、读程序填空题(在空格处填写正确答案,每空2分,共20分)一、单项选择题(每题1分, 20分)1. 现有程序完成a、b两个值的交换,空白处正确的答案应该是_______。
main(){int a,b,t;t=b ;b=a ;________ ;}A. a=bB. a=tC. b=tD. t=a2.如果程序中用到标准库函数log(),那么该程序应含下面哪条语句_________。
A. #include ”stdio.h”B. #include ”math.h “C. #include ”string.h”D. #include ”stdlib.h”3. int x=6;则下方程序段运行结果是_________。
switch(x){ case 1: printf(“apple“);break;case 2: printf(“hello“);break;case 3: printf(“world “);default: printf(“thank you“);}A. appleB. helloC. thank youD. world thank you4. 在C语言中,不合法的int型常量是_________。
A. 32767B. 0578C. 0XAACD. 32768L5. 设x,y,z和k都是int型变量,则执行表达式:x=(y=2,z=15,k=30)后,x的值为________。
《C语言程序设计》习题参考答案习题 2二、选择题1. BCD2. B3. A4. D5. C6. C7. C8. C9. A 10. D 11. B 12. C 13. C 14. C 15. A 16. B 17. B 18. D 19. B 20. C 21. A 22. C 23. B三、填空题1. 多条分行书写2. ;(分号)3. /* */4. 编译5. 正确6. 正确7. 'b' 8. double9. 30 10. 10011. 2.5 12. (x+y)!=(a+b)13. (x>2&&x<3)||x<-10 14. 015. x值为10 ,y值为15 ,z值为10 。
16. 6四、用C语言的表达式描述下列命题1. 假设一个int型的单数字数码存储在变量n中,则转换为对应的数字字符的表达式是n+'0'2. a>d||b>d3. x=int(x*100+0.5)/100.04. d<100&&!(d%2)5. (!x%5)||(!y%5)26. (n%k==0)?(n/k):(n/k+1) 或(n%k)?(n/k+1):(n/k)习题 3二、选择题1. B2. D3. D4. C5. A6. A7. C8. B9. C (k的存储空间有限,溢出后出现负)三、填空题1. 输出2行:**1**2. 36**3**3. x*2+y*4==90 或……4. ********# (8个*)5. (c=getchar())!='#' c>='0'&&c<='9'6. i<=9 j%3!=07. j=1 k<=6习题 4二、选择题1. B2. D3. A4. D5. D6. B7. C8. C9. B三、填空题1. 函数首部(函数头)函数体2. 声明语句执行语句3. main() main()4. 不正确5. 主调被调6. 动态/静态静态/动态7. void float8. i=7 , j=6 , x=73 i=2 , j=7 , x=59. int isLeap(int) ; //函数声明isLeap(year)intyear%4==0&&year%100!=0||year%400==010. j=1 ; y>=1 ; y--11. 15, 12, 2012. 817习题 5二、选择题1. A2. C3. D4. B5. C6. C三、填空题1. 输出结果是a[1]=6a[2]=9a[3]=9 2. ①若给x输入5,②若给x输入15, 输出结果是15 10 8 6 4 2③若给x输入10, 输出结果是10 10 8 6 4 23. i 或--j MAX-1-i 或ii //0行置10 //0列置1i-- i4i-- MAX-1MAX-1MAX-1 !(i==j||(i+j)==(MAX-1)) 或i!=j&&(i+j)!=(MAX-1)printf("\n");4. 去掉字符串尾部空格5. SWITCH*#WaMP*习题 6二、选择题1. D2. D3. B4. A5. C6. A7. D8. D9. C 10. C三、填空题1. 112. 103. 12 124. 数组s[1]5. 将数字字符串转换为整型数据6. 分行输出其中的5个单词7. i 或i+1 8. *(a+i)a+j <*(a+i)+j9. #9 10. p1++*p2return p11. 15 习题7一、选择题1. A/B2. A/B3. B4. D5. A6. B7. A二、填空题1. zhang m 192. 63. unionscanf("%c",&stu[i].body.eye)scanf("%d%d",&stu[i].body.f.length,&stu[i].body.f.weight习题8二、选择题1. B2. A3. CD4. D5. C6. B7. C8. B。
五邑大学试卷参考答案与评分标准A卷学期: 2016 至 2017学年度第 1 学期课程:计算机组成原理课程代号: 0800200使用班级:150801-808,150810,160502,160810一、单项选择题1. 定点16位字长的字,采用补码形式表示时,一个字所能表示的整数范围是A。
A.-215~ +(215-1) B.-(216-1)~ +(216-1) C.-(215+1)~ +215D.-215~ +215 2.主存贮器和CPU之间增加cache的目的是 C 。
A.扩大主存贮器的容量B.扩大CPU中通用寄存器的数量C.解决CPU和主存之间的速度匹配问题D.既扩大主存的容量,又扩大CPU通用寄存器的数量3.寄存器间接寻址方式中,操作数在B中。
A 通用寄存器B 主存单元C 程序计数器D 堆栈4.在cache的映射方式中不需要替换策略的是 C 。
A.全相联映射方式B.组相联映射方式C.直接映射方式D.所有方式5.内存地址范围为0000H~1FFFH,则最少需要 C 根地址线寻址全部内存。
A.10B. 12C. 13D. 146.微程序控制器中,机器指令与微指令的关系是 B 。
A.每一条机器指令由一条微指令来执行B.每一条机器指令由一段微程序来解释执行C.每一条微指令由机器指令来解释执行D.每一段机器指令组成的程序可由一条微指令来执行7.微程序控制器中一般采用二级时序体制,它们是 A 和节拍脉冲。
A.节拍电位B.主状态周期C.时钟周期D.存储周期8.在CPU中跟踪指令后继地址的寄存器是 B 。
A.主存地址寄存器B.程序计数器C.指令寄存器D.状态条件寄存器9. 下列部件中不属于控制器的部件是 D 。
A.指令寄存器B.程序计数器C.操作控制器D.程序状态寄存器10.DMA方式是在 A 之间建立一条直接数据通路。
二、判断题 (10分,每小题1分,正确的打√,错误的打×1. √ 有符号阵列乘法可用无符号阵列乘法器和求补器实现。
命题人:朱翠娥、全萍等 审核人: 试卷分类(A 卷或B 卷)五邑大学 试 卷学期: 2009 至 2010 学年度 第 2 学期课程: 计算机语言与程序设计 专业: 班级: 姓名: 学号:选择题(每题2分,15小题,共30分)1. 以下关于Visual Basic 特点的叙述中,错误的是(D ) A) Visual Basic 是采用事件驱动编程机制的语言B) Visual Basic 程序既可以编译运行,也可以解释运行 C) 构成Visual Basic 的多个过程没有固定的执行顺序D) Visual Basic 程序不是结构化程序,不具备结构化的三种基本结构 2. Visual Basic 工程文件的扩展名是( C )。
A ).frm B ).vbw C ).vbpD ).bat3. VB 是一种面向( B )的程序设计语言。
A) 机器 B) 对象 C) 过程D) 应用4. 以下关于对象的叙述中,错误的是(C )A) 在Visual Basic 中,对象所能响应的事件是由系统定义的B) 对象的任何属性既可以通过属性窗口设定,也可以通过程序语句设定 C) Visual Basic 中允许不同对象使用相同对象名和方法 D) Visual Basic 中的对象具有自己的属性和方法 5. 当程序运行时,系统自动执行启动窗体的( C )事件过程。
A) Unload B) Click C) Load D) GotFocus6. 要求在文本框中输入密码时文本框中只显示*号,则应用在此文本框的属性窗口中设置( C )。
A) Text 属性值为* B) Caption 属性值为* C) Passwordchar 属性值为* D) Passwordchar 属性值为真 7. 数学表达式0≤a<100在VB 中的逻辑表达式为( C )。
A) 0<=a<100 B) a>=0 OR a<100 C) 0<=a AND a<100 D) 0<=a AND <100 8. 函数Left(“欢迎学习Visual Basic ”,6)执行的返回值是( A ) A) “欢迎学习Vi ” B) “欢迎学”9.若有数组说明语句为:Dim a(-2 to 5),则数组a包含元素的个数是( B )。
C语言程序设计期末考试试题(含答案)(推荐完整)编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(C语言程序设计期末考试试题(含答案)(推荐完整))的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为C语言程序设计期末考试试题(含答案)(推荐完整)的全部内容。
C语言程序设计期末考试试题(含答案)(推荐完整)编辑整理:张嬗雒老师尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布到文库,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是我们任然希望 C语言程序设计期末考试试题(含答案)(推荐完整)这篇文档能够给您的工作和学习带来便利。
同时我们也真诚的希望收到您的建议和反馈到下面的留言区,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请下载收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为〈C语言程序设计期末考试试题(含答案)(推荐完整)> 这篇文档的全部内容。
C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是 ( )A、 C语言简洁、紧凑B、能够编制出功能复杂的程序C、 C语言可以直接对硬件进行操作D、 C语言移植性好2、以下不正确的C语言标识符是()A、 ABCB、 abcC、 a_bcD、 ab.c3、一个C语言程序是由()A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性"等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为 ( )A、 intB、 floatC、 doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是()A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(〈CR〉表示回车),x的值是 ( )。
C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。
#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。
2022年五邑大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读以下函数:getbits(unsigned x,unsigned p,unsigned n)'{x=((x<<(p+1-n))&((unsigned)~0>>n));return(x);}假设机器的无符号整数字长为16位。
若调用此函数时x=0115032,p=7,n=4,则函数返回值的八进制数是_______。
2、在C语言源程序中,一个变量代表【】。
3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
4、设a、b、c均为int类型变量,请用C语言的表达式描述以下命题。
(1)a或b中有一个大于c_______(2)a、b和c中只有2个为正数_______(3)c是偶数_______5、表达式pow(2.8,sqrt(double(x))值的数据类型为_______。
6、以下程序段通过移动指针变量m,给如图9-7所示连续动态存储单元赋值。
请填空。
(假设程序段中的所有变量均已正确说明。
)for(k=0;k<10;k++,m++)scanf("%d",_______);7、函数swap(int x,inty)可完成对x和y值的交换。
在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。
a[o]=1;a[1]=2;swap(a[o],a[1]);8、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。
9、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
30%:15小题,每小题2分)1.以下叙述正确的是()。
A) 在C程序中,main函数必须位于程序的最前面。
B) C语言的每一行中只能写一条语句。
C) C语言本身没有输入输出语句。
D) 一个程序的执行是从本程序的main函数开始,到本程序文件的最后一个函数结束。
2.若有说明:int a[10]; 则对a 数组元素的正确引用是()。
A)a[10] B)a[3.5] C)a(5) D)a[10-10]3.下面关于"A"的说法正确的是()。
A)它代表一个字符常量 B)它代表一个字符串常量C)它代表一个字符 D)它代表一个变量4.若用数组名作为函数调用的实参,传递给形参的是( )。
A)数组的首地址 B)数组第一个元素的值C)数组全部元素的值 D)数组元素的个数5.以下选项中属于C语言数据类型的是()。
A)复数型B)记录型C)双精度型D)集合型6.设a=5,b=6,c=7,d=8,m=2,n=2, 则执行(m=a>b)&&(n=c<d)后n的值是( ) 。
A)1 B)2 C)3 D)47.对于while语句,错误的说法是()。
A)用条件控制循环体的执行次数B)循环体至少要执行一次C)循环体有可能一次也不执行D)循环体中可以包含若干条语句8.设a=10、b=12,则printf("%d",(a>b)?a:b); 则输出结果是( )。
a t i m9.可判断变量 a 为正,b 为负的正确表达式是 ( )。
A ) a*b <0B ) (a>0||b >0)&&a*b <0C ) (a<0||b<0)&&a*b <0D ) a>0&&a*b<010.在C 语言中要求参加运算的数必须是整数的运算符是( )。
A ) /B ) ! C ) % D ) = =11.下列程序段中while 循环体执行的次数是( )。
第3章:三种控制结构程序1、有一个函数: x (x<1)y= 2x-1 (1≤x <10)3x-11 (x ≥10)编写程序,输入x 的值,输出相应的y 值(x ,y 均为小数)。
2、输入一百分制成绩(整数),要求输出对应的等级:’A ’、’B ’、’C ’、’D ’、’F ’。
成绩大于或等于90分对应的等级为’A ’,80~89分等级为’B ’,70~79分等级为’C ’,60~69分等级为’D ’,小于60分等级为’F ’。
3、用公式:!1!31!21!111n e +⋯++++=+…,求自然数e 的近似值,直到发现某一项小于10-6为止(该项不累加)。
4、有一个分数系列:12,23-,35,58-,813,1321-,…,求出这个数列的前20项之和(结果是:0.577922)。
5、一张100元票面的纸钞兑换成10元、20元或50元的票面,问共有多少种不同的兑换方法?第4章 函数1、一个自然数如果恰好等于它的真因子(即除了自身以外的约数)之和,这个自然数就称为“完全数”。
例如,6的因子为1、2、3,而6=1+2+3,因此6是一个完全数。
编写一个判断完全数的函数,然后在main()函数中调用该函数,输出1000以内的所有完全数。
同类问题:(1)一个自然数如果它的真因子(即除了自身以外的约数)之和,比该数本身大,这个自然数就称为“盈数”。
例如,12的因子为1、2、3、4、6,其和是16,比12本身大,因此12是一个盈数。
编写一个判断盈数的函数,然后在main()函数中调用该函数,输出30以内(包括30)的所有盈数。
(2)一个自然数如果它的真因子(即除了自身以外的约数)之和,比该数本身小,这个自然数就称为“亏数”。
例如,10的因子为1、2、5,其和是8,比10本身小,因此10是一个亏数。
编写一个判断亏数的函数,然后在main()函数中调用该函数,输出[10,30]区间的所有亏数。
2、编写一个计算等差数列和的函数int sum(int begin, int end, int D_value ),并在main()函数中调用该函数,计算2+5+8+……+59的值。
计算机学院2008-2009学年第2学期C语言程序设计考试试卷A卷(或B卷): A卷闭卷(或开卷):闭卷考试时间:2009年 6 月 23日专业班级学号学生姓名一、单项选择题(在下面每小题的A、B、C、D四个选项中,只有一个选项是正确的,请选择正确的选项并填写到括号内,选择正确得分。
本大题共10小题,每小题1分,共10分。
)1、ENUM是【 A 】A、合法标识符B、C语言的关键字C、合法的字符串D、既不是C语言的关键字,也不是合法的字符串或标识符2、下列数据中属于合法字符常量的是【 A 】DA、'\'B、'\xag'C、'45'D、'\''3、下列数据中合法的浮点型常量是【 C 】A、E+10B、2E+1.5C、2E-10D、0x2.5E104、下列数据中与256等值的数为【 A 】BA、0256B、0400C、0x400D、0x2565、以下叙述中正确的是【 B 】A6、局部变量说明为static存储类型,其生存期将得到延长B、全局变量说明为static存储类型,其作用域将被扩大C、任何存储类型的变量在未赋初值时,其值都是不确定的D、形参可以使用的存储类型说明符与局部变量完全相同6、 -127的16位补码的十六进制表示是【 A 】A、0xff81B、0x807fC、0xff80D、0x80807、对于下面的数组声明,正确的是【 D 】BA、int x[][5];B、char t[ ]={‘a’,’b’,’c’,’\0’};C、int n=5,a[n];D、char s[5]=“abcde”;8、若有以下的说明和语句,则在执行for语句后,*(*pt+2)表示的数组元素是【 D 】int t[3][3],(*pt)[3],k;for (k=0;k<3;k++) pt = t+k;A、t[1][2]B、t[2][0]C、t[2][1]D、t[2][2]9、已知枚举类型定义: enum a {ONE=5,TWO=3,THREE}; 则THREE的值的是【B 】CA、1B、2C、4D、010、设有以下说明和语句,则表达式z.y.a2的值的是【 D 】Cstruct packed {unsigned short a1 : 2;unsigned short a2 : 2;unsigned short a3 : 4;unsigned short a4 : 8;};2short x;struct packed y; } z;z.x=0xabab;A 、11B 、3C 、2D 、10二、 多项选择题(下面每小题的A 、B 、C 、D 备选项中,有两个或两个以上的选项是正确的,请选择正确的选项并填写到括号内,多选、少选、错选均不得分。
C语言程序设计期末考试卷A答案北京信息科技大学2022~2022学年第一学期《C语言程序设计》课程期末考试试卷(A卷)授课系别:_计算机学院_适用班级:_计科所有班级_考试形式:_闭卷_班级:姓名:学号:题号得分一二三四五六七总分一:填空题:(每题2分,共10题)1、结构化程序设计的基本结构有三种,分别是顺序结构、选择结构和循环结构。
2、有如下程序:voidmain(){intk=1,n=263;do{k某=n;n/=10;}while(n);printf(\}则k值为____36______。
3、有如下程序chara[]=\的值为____6_____。
4、函数直接或间接的调用自己成为函数的________递归调用__________。
5、有如下定义:taticinta[6]={1,2,3,4,5,6};int某p=a+1;p++;则某(p+1)的值为____4______。
6、有以下程序:#defineA4#defineB(某)A某某/2voidmain(){floatc,a=4.5;c=B(a);printf(\}则c的值为___9.0_____。
7、C语言的变量值存在时间角度来分,可以分为__动态__存储方式和___静态__存储方式。
8、C语言可以定义枚举类型,其关键字为enum9、写出下面程序的运算结果。
tructk{inta;}[4],某p;voidmain(){intn=1,i;for(i=0;i<4;i++){[i].a=n;n=n+2;}p=&[0];p++;printf(\}p->a的值为__________3__________。
10、C语言打开文件的函数是_____fopen_______,关闭文件的函数是______fcloe_______。
二单项选择题:(每题2分,共12题)1:以下程序片段_____D______。
voidmain(){int某=0,y=0,z=0;if(某=y+z)printf(\eleprintf(\}A)有语法错误,不能通过编译B)输出:某某某C)可以编译,但不能通过连接,所以不能运行D)输出:###2:若w=1,某=2,y=3,z=4,则条件表达式w>某w:yvoidmain(){int某=-1,y=4,k;k=(某++<=0)&&!(y--<=0);printf(\}A)0,0,3B)0,1,2C)1,0,3D)1,1,24:以下不是死循环的程序段是DA)inti=100;B)for(;;);while(1){i=i0+1;if(i>100)break;}C)intk=0;D)int=36;do{++k;}while(k>=0);while();--;5:下列程序运行结果为:_____C______。
C语言程序设计练习1填空题(20%:10题20空,每空1分)1. 一个函数包括和两个部分。
2. 算法的特点确定性是指。
3. C语言的三种基本结构是指:、和。
4. 设整型变量a的初值为6,则执行表达式“a-=2”后a的值是。
5. 设整型变量a的初值为3,则执行表达式“a+=a-=a*=a”后a的值是。
6. 设i=3,执行表达式“m=i++”后m的值是。
7. C语言中构成循环的三种基本语句是:、和。
8. C语言提供的预处理功能有:、和。
9. 在C语言中,表达式“5%3”的值是,“3|5”的值是。
10. 在C语言中,表达式“1/2”的值是,“1.0/2”的值是。
选择题(20%:10题,每题2分)1. 以下哪个不是算法的常用表示方法。
()A. 自然语言B. 伪代码2. 以下哪个不是C语言的数据类型。
()A. 整型类型B. 结构体类型C. 记录类型D. 实数类型3. 设字符变量ch的值为’a’,语句“printf(“ch=%d”,ch);”在屏幕上的输出结果是()。
A. aB.’a’C. 97D. 654. 变量f=123456.78语句“printf(“%10.4f”,f);”在屏幕上的输出结果是()。
A. 123456.78B. 123456.7800C. 00123456.78D. 123456.78905. 设a=15,b=8,则表达式“a>b?a:b”的值是()。
A. 15B. 8C. 23D. 76. 表达式“!a&&b||c>d&&e”等价于下列哪个表达式。
()A. ((!a)&&b)||(c>(d&&e))B. ((!a)&&b)||((c>d)&&e)C. !((a&&b)||((c>d)&&e))D. (!(a&&b))||((c>d)&&e)7. 以下哪条输入语句是不合法的。
五邑大学-2021-2021-数字电路与逻辑设计--A卷+答案试卷编号命题人审核人:试卷分类(A卷或B卷)五邑大学试卷学期: 2021 至 2021 学年度第 1 学期课程:数字电路与逻辑设计课程代号: 0700280 使用班级:信息工程学院2021级姓名:学号:题号得分一二三四五六七八九十总分一、填空题(15分,每空1分)得分1. 时序逻辑电路按照其触发器是否由统一的时钟控制分为异步时序逻辑电路和同步时序逻辑电路。
2. 当数据选择器的数据输入端的个数为8时,其地址代码应有 3 位。
3. 两个1位二进制数字A和B相比较,可以用 AB 作为A>B的输出信号Y(A>B)。
4. 寻址容量为256k×4的RAM需要 18 根地址线。
5. 欲设计一个47进制的计数器至少需要 2 片74LS160。
6. JK触发器的特性方程为Qn?1?JQn?KQn。
7. 当TTL与非门的输入端悬空时相当于输入接入高电平。
8. 模数转换器(ADC)两个最重要的指标是转换精度和速度。
9. A/D转换通常经过采样、保持、量化、编码四个步骤。
10. TTL 门电路中,输出端能并联使用的有 OC门和三态门。
二、选择题(11分,每空1分)得分1. 下列各式中哪个是三变量A、B、C的最小项? C 。
A. ABB. A?B?CC. ABCD. B?C 2. 下列公式中哪个是错误的?C 。
A. 0?A?AB. A?A?AC. A?B?A?BD.A?BC?(A?B)(A?C) 3. 采用集电极开路的OC门主要解决了 B 。
A. TTL门不能相“与”的问题B. TTL门的输出端不能“线与”的问题C. TTL门的输出端不能相“或”的问题 4. 触发器有两个稳态,,存储4位二进制信息需要 B 个触发器。
A.2 B. 4 C. 8 D. 165. 欲使D触发器按Qn?1?Qn工作,应使输入端D= D 。
第 1 页共 6 页A. 0B. 1C. QD. Qn6. 要构成容量为4k×8的RAM,需要 D 容量为256×4的RAM。
《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.执行下面语句后的结果为。
选择题(30%:15小题,每小题2分)1. 在一个C程序中()。
A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置2。
C语言中最基本的数据类型包括().A)整型、浮点型、逻辑型B)整型、浮点型、字符型C) 整型、字符型、逻辑型D)整型、浮点型、逻辑型、字符型3。
以下二维数组a 的正确说明是( )。
A)int a[1,1];B)float a(3,4);C)double a[2][4];D)float a(3)(4);4. 设有:int a=2,b=3,c=7,d=8,m=3,n=3; 执行(m=a>b)&&(n=c〉d)后的n 值为()。
A)0 B)1 C )2 D)35。
一般情况下,C语言是以()表示运算结果为逻辑真.A)F B)T C)1 D)06. 设a、b和c都是int型变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是()。
A)a&&b B) a〈=b C)a||b+c&&b-c D) !((a<b)&&!c‖1) 7。
若x=4,则x*=x+2的值为().A)36 B) 24 C) 18 D) 208。
int *p1,*p2; 以下表达式错误的是()。
A) p1+p2 B)p1-p2 C)p1=p2 D)p1= =p29. 设有如下定义:struct sk{ int a;float b;}data;int *p;若要使p指向data中的a域,正确的赋值语句是()。
A)p=&a; B)p=data.a; C) p=&data。
a;D) *p=data。
a;10. 下面各项中,含有错误的是()。
A)char s[10];s=”program”;B)char s[]={ ’p ’, 'r ', 'o ','g ',’r ',’a ',’m’, '\0’};C ) char s[10] ="program”;D)char s[10]={”program”};11。
选择题(30%:15小题,每小题2分)
1. 以下叙述正确的是()。
A) 在C程序中,main函数必须位于程序的最前面。
B) C语言的每一行中只能写一条语句。
C) C语言本身没有输入输出语句。
D) 一个程序的执行是从本程序的main函数开始,到本程序文件的最后一个函数结束。
2. 若有说明:int a[10]; 则对 a 数组元素的正确引用是()。
A) a[10] B) a[3.5] C) a(5) D) a[10-10]
3. 下面关于"A"的说法正确的是()。
A)它代表一个字符常量 B)它代表一个字符串常量
C)它代表一个字符 D)它代表一个变量
4. 若用数组名作为函数调用的实参,传递给形参的是( )。
A)数组的首地址 B)数组第一个元素的值
C)数组全部元素的值 D)数组元素的个数
5. 以下选项中属于C语言数据类型的是()。
A)复数型 B)记录型 C)双精度型 D)集合型
6. 设 a=5,b=6,c=7,d=8,m=2,n=2, 则执行 (m=a>b)&&(n=c<d)后n的值是( ) 。
A) 1 B) 2 C) 3 D) 4
7. 对于while语句,错误的说法是()。
A)用条件控制循环体的执行次数 B)循环体至少要执行一次
C)循环体有可能一次也不执行 D)循环体中可以包含若干条语句
8. 设a=10、b=12,则printf("%d",(a>b)?a:b); 则输出结果是 ( )。
9. 可判断变量 a为正,b为负的正确表达式是 ( )。
A) a*b <0 B) (a>0||b >0)&&a*b <0
C) (a<0||b<0)&&a*b <0 D) a>0&&a*b<0
10. 在C语言中要求参加运算的数必须是整数的运算符是()。
A) / B) ! C) % D) = =
11. 下列程序段中while循环体执行的次数是()。
int k=0;
while(k=1) k++;
A)一次也不执行 B)只执行一次
C)有语法错,不能执行 D)无限次
12. 若有以下说明,且0≤i<10,则对数组元素的错误引用是()。
int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,i;
A) *(a+i) B) p+i C) a[p-a+i] D) *(&a[i])
13.有定义语句:
int b;
char c[10];
则正确的输入语句是 ( )。
A) scanf("%d%s",&b,&c); B) scanf("%d%s",&b,c);
C) scanf("%d%s",b,c); D) scanf("%d%s",b,&c);
14. 设有如下定义:
struct sk
{ int a;
float b;
}data;
int *p;
若要使p指向data中的a域,正确的赋值语句是( )。
15. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。
A)函数调用可以作为独立的语句存在
B)函数调用可以作为一个函数的实参
C)函数调用可以出现在表达式中
D)函数调用可以作为一个函数的形参
填空题(20%:20空,每空1分)
1. C 语言对数组下标的引用一般从开始。
2. C 语言中,一个函数一般由两个部分组成,它们是和。
3. 一个 C 程序中至少应包括一个 ____函数。
4. 根据变量的作用域,C语言的变量分为和。
5. 设 x为整型变量,则描述数学式“ 1<x<10”的表达式是___ ___;
设ch为字符型变量,可用表达式_____ ______判断该变量保存字符是否为大写字母。
6. 在C语言中,表达式1/2的值是,表达式1.0/2 的值是。
7. 下列程序段定义了一个数组并循环输入每个元素的值:
int i,a[3];
for(i=0;i<3;i++)
scanf(“%d”, _ ____);
8. 若定义了int a[10],*p; 将数组元素a[8]的地址赋给指针变量p的赋值语句是
___ 。
9. 设一个C程序中有如下定义:
char line[]="china";
则ptr中为,line[1]中为__ __,line[5]中为__ _。
10. 下列程序段的输出结果是__ ____。
main()
{ char b[]="Hello!"
b[5]=’\0’;
printf("%s\n",b);
}
11. 表示“整数x的绝对值大于5”时值为“真”的C语言表达式是__ __。
12. 设整型变量a的初值为3,则执行表达式“a+=3”后a的值是。
13. 与k=n++完全等价的表达式是__ ___。
14. C语言中实现选择结构的语句是if语句和。
阅读程序,写出运行结果。
(20%:4小题,每小题5分)
1.
main()
{ int i,j,x=0;
for (i=0;i<2;i++)
{
for (j=0;j<3;j++)
{
if (j%2= =1) continue;
x=x+1;
}
}
printf(“%d”,x);
}
程序运行后输出:。
2.
main()
{ int f1=1,f2=1;
for(i=1; i<=3; i++)
{
printf("%d %d ",f1,f2);
f1=f1+f2;
f2=f2+f1;
}
}
程序运行后输出:。
3.
main()
{
int i,k,a[10],p[3];
k=5;
for ( i=0;i<10;i++)
a[i]=i;
for (i=0;i<3;i++)
p[i]=a[i*(i+1)];
for ( i=0;i<3;i++)
k=k+p[i]*2;
printf(“%d”,k);
}
程序运行后输出:。
4.
int max(int x, int y)
{ return x>y?x:y; }
int main()
{
int a=3,b=8,c=6;
printf("%d",max(a,max(b,c)));
return 0;
}
程序运行后输出:。
程序填空(根据给出的程序功能说明,补充完整程序中缺少的代码,每一
)(16%:3小题,共8空,
1. 以下程序的功能是:输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是小写字母,则把它变成大写字母;其它字符不变。
main()
{ char ch;
scanf(“%c”, &ch);
if(____________)ch=ch+32;
else if(ch>=’a’&&ch<=’z’) ________________;
printf(“%c”,ch);
}
2. 下面程序中的数组a包括10个整型元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行3个元素的形式输出数组b。
main()
{
int a[10],b[10], i;
for(i=0; ___________; i++)
scanf(“%d”,&a[i]);
for (i=1;___________; i++)
b[i]=a[i]-a[i-1];
for(i=1;i<10;i++)
{ printf(“%3d”, b[i]);
if (___________) printf(“\n”);
}
}
3. 找出输入的10个整数中的最大数。
#include <stdio.h>
main()
{ int k,max, ;
for(k=0;k<10;k++)
scanf(“%d”,&num[k]);
max=0;
for(k=9; ; k--)
if (num[max]<num[k]) ;
printf (“the max is %d”,num[max]);
return 0;
}
1.编写程序,要求从键盘输入两个整数x和y,并将较大值输出来。
2. 编写函数void fun(int *s, int t , int *k),该函数求数组中的最小值的下标,并存放到指针k所指示的存储单元中,例如设有数组a和变量j:
int a[10]={876,675,896,101,301,401,980,431,451,777}, j ;
则下列调用后
fun(a,10,&j);
j的值为3
void fun(int *s, int t , int *k)
{
}。