五邑大学试卷_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 循环体执行的次数是( )。
选择题(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)
{
}。