《C语言程序设计》期末考试试题
更新时间:2023-04-26 17:51:01 阅读量: 实用文档 文档下载
04/05(二)C 语言期末模拟卷 第 1 页 总 7 页 《C 语言程序设计》期末考试试题
(考生必须将答案做在前面的答题纸上!!)
试题一(28分,每小题4分)
解答下列各小题,把解答写在答卷的对应栏内
(1)试写出下列数学表达式的C 语言表达式
(2)满足关系式’A ’≤ch ≤’Z ’的C 语言表达式是
A 、(65≤ch)&&(ch ≤90)
B 、ch>=’A ’||’Z ’>=ch
C 、’A ’≤ch ≤’Z ’
D 、!(ch<’A ’||’Z ’>ch)
(3)设a=1;b=2;c=3;x=0;执行下面程序段后x 的值是
if (a
{ if (a>c) x +=++x; else x +=++x; }
else x=3;
(4)设有如下定义:
int a[ ][3] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23 };
int (*p)[3]= a;
请写出printf(“%d \n”, *(*(p+ 1 ) +2 )); 定位的行和列,以及输出结果。
(5)下面的程序运用字符串指针,输出结果是
#include
main()
{ char *language[]={"FORTRAN","BASIC","PASCAL","JA V A","C"};
unsigned c;
c=strcmp(language[1],language[3]);
printf("%d\n",c);}
A )0
B )正数
C )负数
D )程序错
(6)下面的程序含有宏定义,它的运行结果是
#include "stdio.h"
#define SQR (x ) x*x
void main()
{ int a=100,k=1,m=2;
a/=SQR(k+m)/ SQR(k+m);
printf(“%d\n ”,a);
}
(7)设下列括号内的数都是二进制整数,请写出位运算的结果(分别用二进制和十进制数y x x 2103
表示)。
①(10010101)&(11110000)
②(00011101)|(11110000)
③(10101010)<<2
④~(10110101)
试题二(12分)
读程序,把程序(或程序段)的输出结果写在答题纸的对应栏内
(1)[程序2.1]
#include
main()
{ int a[]={0,10,20,30,};
int n=0, *p;
p=a+1;
n+=*(p++);
n+=(*p)++;
n+=*(++p);
n+=++(*p);
printf(“n=%d, a[]=%d, %d, %d, %d\n”, n, a[0], a[1], a[2], a[3]);
}
(2) [程序2.2]
int sumadd( int func, int data )
{
static int sum;
switch ( func )
{
case 0 : sum = data; break;
case 1 : sum += data; break;
case 2 : sum -= data; break;
}
return sum;
}
main()
{ sumadd( 1, 10 );
printf( “%d”, sumadd(2,10));
sumadd( 2, 20 );
printf( “%d”, sumadd(2,10));
}
试题三(12分)
改错。下面程序中都有三个错误,按原来程序的要求,纠正错误,并以“将第x行改为04/05(二)C语言期末模拟卷第2页总7页
xxx”的形式进行解答,将解答写在答题纸的对应栏内。代码的左边的“#1”、“#2”…附加的行号。
[程序3.1] (本程序有3个错)。
1.以下程序用于输出第X个字符串的第X个字符,例如:第一个字符串的第一个字符,第二个字符串的第二个字符,…,(本题3个错)。
#1 #include
#2 void strselect(char *strs[], int n, char *dest)
#3 { int i;
#4 for(i=0; i #5 *(dest+i)=*(strs+i); #6 *(dest)=’\0’; #7 } #8 main() #9 { char *strs[]={“First”, “Second”, “Third”, “Forth”, “Fifth”}; #10 char rst[81]; #11 strselect(strs, rst); #12 printf(“%s\n”, rst); #13 } [程序3.2] (本题有3个错) 2.下面程序用于输出数组a中指定第col列的全部元素。 #1 #define N 4 #2 void printcol(int *p[N],int row,int col) #3 { int i; #4 printf(" No %d column is : \n",col+1); #5 for (i=0;i #6 printf("\t\t%d\n",p[i]+col); #7 } #8 main() #9 { int a[][N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},col; #10 int row=sizeof(a)/sizeof(a[0])/N; #11 clrscr(); #12 do #13 { scanf("%d",&col); #14 } while (col<0||col>N-1); #15 printcol(a,row,col); #16 } 试题四(27分) 按指定的要求,写出程序段或函数。把解答写在答题纸的对应栏内。 1.(1)输入一个摄氏温度,要求调用名为ctof的函数,求出相应的华氏温度。公式为04/05(二)C语言期末模拟卷第3页总7页 04/05(二)C 语言期末模拟卷 第 4 页 总 7 页 325 9+=c F ,输出2位小数。 (2)函数f 获得十进制正整数n 为实参数后,返回值是n 的各数位上数字的和(例如,数字123的和就是6),试编程或写出关键程序段。 (3)将一个乱序数组中的所有元素进行降序排列,(冒泡法、选择法等皆可)试编程或写出关键程序段。 试题五(12分) 阅读下列程序说明和相应的C 代码,把应填入其中 (n ) 处的C 代码写在答题纸的对应栏内。每空2分。 [程序5.1] 利用指针技术,从键盘上输入3×4的二维数组中任一元素的下标,求出该元素与首元素相差的字节数(假设采用float 类型数据)。 #include #define N 4 main() { float a[ ][N]={1,3,5,7,9,11,13,15,17,19,21,23}; float (*p) ① ; int i,j,size; clrscr(); p= ② ; printf("input i,j of a[i,j] = ? \n"); scanf("%d,%d",&i,&j); size=(*(p+i)+ ③ )*sizeof(float); printf("The size of =%d\n",size); } [程序5.2] 以下程序可以把从键盘上输入的十进制数(long 型)以二进制~十六进制任一制式的形式输出,请填空。 #include main() { char b[]={'0','1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F',}; int c[64],d,i=0,base; long n; printf("enter a number :\n"); scanf("%ld",&n); printf("enter new base :\n"); scanf("%d",&base); do { c[i]= ④ ; i++; n= ⑤ ; } while ( ⑥ ); printf("transmite new base:\n"); for (--i;i>=0;--i) { d=c[i]; printf("%c",b[d] ); } printf("\n"); } 试题六(9分) 阅读下列程序说明和相应的C代码,把应填入其中(n)处的C代码写在答题纸的对应栏内,每空3分。 [6.1源程序]下面的程序是利用插入排序法对输入的N个整数按从小到大排序。插入排序的基本思想:将数组元素分为已排序和未排序部分;从第二个元素起,与前面已排好序的元素进行比较(第一次将a[1]与a[0]比较);若当前为i元素,则与前面已排好序的i-1个元素进行比较,若比j元素大,则插在j元素的后面。 #define N 10 main() { int i, j, temp, a[N]; for( i=0; i scanf("%d", &a[i]); for( i=1; i { t emp=________①_____________; /* 保留要插入的元素*/ for(j=i-1; ________②__________&& j>=0; j-- ) a[j+1]=a[j]; /* 找要插入的位置,同时将大于a[i]的元素往后移*/ j++; a[j]=_________③____________; } for( i=0; i printf("%6d", a[i] ); } (完) 04/05(二)C语言期末模拟卷第5页总7页 《C语言程序设计》期末考试答题纸及答案 参考答案及评分 04/05(二)《C语言程序设计》期中考试卷答题纸(2) 04/05(二)C语言期末模拟卷第6页总7页 04/05(二)C语言期末模拟卷第7页总7页
正在阅读:
《C语言程序设计》期末考试试题04-26
哈工大刘丽美任选课报告05-16
2011年6月英语四级(CET4)真题03-08
社会实践报告03-31
2013年青岛市义务教育学校市级三好学生、优秀学生干部和先进班集05-16
信号与系统 奥本海姆 中文答案 chapter 907-19
培养联系人考察意见03-22
江苏省东台市时堰中学2011-2012学年高二上学期第一次学情调查英语试题06-11
第4章 资产负债表分析05-22
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 考试试题
- 程序设计
- 期末
- 语言
- 2017-2018学年高二地理人教版选修3教师用书:第2章-章
- 2018年暨南大学826食品化学考研真题(A卷)【圣才出品】
- 员工职业生涯规划与管理制度
- 公务员考试练习题:类比推理(86)
- 自动控制理论知识点总结
- 高中生职业生涯规划书
- 宏光-电器-2014053 宏光发动机转速表指针指示异常
- 百万英镑四人英文剧本开场
- 【人教版】九年级英语:Unit12同步练习(含答案解析)(精修版)
- 关于我的榜样英语作文120字带翻译精选篇1
- 中职基础模块上Unit4-6测试
- 2019届湖南省长沙市高三第一次月考文科数学试卷【含答案及解析】
- 电大《公共政策概论》期末复习资料(论述).doc
- 2017年南京大学地理与海洋科学学院919经济学原理之宏观经济学教
- 一条广西自驾游线路及沿途主要景点简介精编版
- 基于倾向性得分匹配法的平均处理效应的自助法推断
- 东阳市明威堂红木家具有限公司调查报告(2018版)
- 新初中英语语法知识—介词的解析
- 【Android开发API】Google提供的服务:在Google Play中加过滤器
- 锅炉原理培训复习(蔡超)