c语言试卷一(含答案)
更新时间:2023-10-05 22:12:01 阅读量: 综合文库 文档下载
- c语言程序设计试卷推荐度:
- 相关推荐
试卷1
一、选择题(共20题,每题2分,共40分)
1、设有说明语句:char a= '\\72abc';则变量a ( )
A) 包含6个字符 B) 包含5个字符 C) 包含4个字符 D) 说明不合法
2、在C语言中,数字029是一个( )
A)八进制数 B)十六进制数 C)十进制数 D)非法数
3、有如下程序 main( )
{ int y=3,x=3,z=1;
printf(\,(++x,y++),z+2);} 运行该程序的输出结果是( )
A)3 4 B)4 2 C)4 3 D)3 3
4、有如下程序段
int a=14,b=15,x; char c='A';
x=(a&&b)&&(c<'B');
执行该程序段后,x的值为( )
A)ture B)false C)0 D)1
5、如下程序 main( )
{ int x=1,a=0,b=0; switch(x)
{ case 0:b++; case 1:a++;
case 2:a++;b++; }
printf(\,b=%d\\n\,a,b); }
该程序的输出结果是( )
A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2
6、
main( )
{ int i,j;
for(i=0,j=1; i<=j+1; i+=2, j--) printf(\,i); }
以上循环体的执行次数是( )
A)3 B)2 C)1 D)0
7、设有数组定义:char array [ ]=\; 则数组 array所占的空间为( )
A)4个字节 B)5个字节 C)6个字节 D)7个字节
8、C语言的编译系统对宏命令是( ) A)在程序运行时进行代换处理的 B)在程序连接时进行代换处理的
C)和源程序中其它C语句同时进行编译的
D)在对源程序中其它成份正式编译之前进行处理的
9、以下说法中正确的是( )。
A)C语言程序总是从第一个定义的函数开始执行
B)在C语言程序中,要调用的函数必须在main( )中有定义 C)C语言程序的执行既可以采用解释方式,也可以采用编译方式 D)C语言程序中的main( )函数可以不放在程序的开始部分
10、下面程序的输出是( ) #define SUB(X,Y) (X)*Y main( )
{int a=3,b=4;
printf(\,SUB(a++,b++)); }
A)12 B)15 C)16 D)20
11、设有如下定义:
char *aa[2]={“abcd”,”ABCD”};则以下说法中正确的是( ) A)aa数组元素的值分别是“abcd”,”ABCD”
B)aa是指针变量,它指向含有两个数组元素的字符型一维数组
C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D)aa数组的两个元素中各自存放了字符’a’,’A’的地址
12、若变量已正确说明为float类型,要通过语句scanf(\给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:( ) A) 10<回车> B) 10.0,22.0,33.0<回车> 22<回车> 33<回车>
C) 10.0<回车> D) 10 22<回车> 22.0 33.0<回车> 33<回车>
13、当调用函数时,实参是一个数组名,则向函数传送的是( )
A) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D) 数组每个元素中的值
14、有以下函数 char *fun(char *p)
{ return p; }
该函数的返回值是( )
A) 无确切的值 B) 形参p中存放的地址值
B) 一个临时存储单元的地址 D) 形参p自身的地址值
15、 若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是( ) A) &t[3][2] B) t[3][2] C) t[1][0] D) t[2]+1
16、以下程序的输出结果是( )
A)#*#*# B)##### C)***** D)*#*#* main( ) { int i;
for(i=1;i<6;i++)
{ if(i%2) {printf(\;continue;} printf(\; }
printf(\; }
17、已知有声明语句char s1[10]= "abcde",s3[10];以下语句中能将s1中存储的字符串和s2中存储的字符串正确交换的是 。 A.s3=s1,s1=s2,s2=s3;
B.s3[0]=s1[0],s1[0]=s2[0],s2[0]=3[0];
C.strcpy(s3[0],s1[0]),strcpy(s1[0],s2[0]),strcpy(s2[0],s3[0]);
D.strcpy(s3,s1),strcpy(s1,s2),strcpy(s2,s3);
18、若有声明语句int a[10],b[3][3];则以下对数组元素赋值的操作中,不会出现越界访问的是 ___ 。
A.a[-1]=1 B.a[10]=0 C.b[3][0]=0 D.b[0][0]=0
19、以下是一个自定义函数的头部,其中正确的是 。
A.int fun(int a[ ],b) B.int fun(int a[ ],int a) C.int fun(int *a,int b) D.int fun(char a[ ][ ],int b)
20、下列4个函数中,( )能实现交换变量值的功能。
A) void fun_a(int x,int y) B) void fun_b(int *x,int *y) { int *p; { int *p;
*p=x;x=y;y=*p;} *x=*y;*y=*x;}
C) void fun_c(int *x,int *y) D) void fun_d(int x,int y) { *x=*x+*y; { int p;
*y=*x-*y; p=x;x=y;y=p; *x=*x-*y;} }
二、填空题(每空2分,共26分) 1、已知:int x=3;则
printf(x%2?\printf(\
输出结果为:
2、若有以下定义和语句,则通过指针p对值为8的数组元素的引用表达式是 int a[10]={1,2,3,4,5,6,7,8,9},*p; p=&a[1];
3、下列程序的输出结果是 #include \main()
{char a[11]=\p=&a[4];
puts(p);}
4、求两数中的较大 main()
{ float a,b,max;
scanf(“%f%f”,&a,&b); ;
printf(“the max is %f\\n”,max); }
5、下列程序用于将从键盘输入的整数逆序输出 main( )
{ int n1,n2;
scanf(\,&n2); while( ) { n1=n2;
n2= ; printf(\,n1);} }
6、下面的程序输出3到1000之间的所有素数,且每5个一行。
main( ) {int i,j; int b=0,c=0;
for(i=3;i<=1000;i++) { for(j=2;j<=i-1;j++)
if ( ) {b=1;break;}
if (!b)
{ c++;printf("M",i);
if ( ) printf(“\\n”); }
} }
7、利用插入排序法将十个字符从小到大排序 #include
void insert(char s[]) {
int i,j,t;
for (i=1;i<=9;i++) {t=s[i];j=i-1;
while ((j>=0)&&( ))
{ s[j+1]=s[j]; ;} s[j+1]=t; } }
main() {
char a[11];int i;
for (i=0;i<10;i++) a[i]=getchar(); insert(a); puts)a); }
8、用递归法将一个整数n转换成字符串。如输入整数483,则输出字符串“483”。 void convert(n) int n; { int k;
if ((k/10)!=0) convert( ); putchar(n+'0'); }
main() { int num;
printf(\输入整数:”); scanf(\
printf(\输出是:\
if (num<0) {putchar('-');num=-num;} ; }
三、判断题(每题2分,共20分)
( )1、在对某一函数进行多次调用时,系统会对相应的自动变量重新分配存储单元。 ( )2、在C语言的复合语句中,只能包含可执行语句。
( )3、自动变量属于局部变量。
( )4、一个函数利用return只能返回一个函数值。
( )5、在程序运行过程中,系统分配给实参和形参的内存单元是不同的。 ( )6、用scanf输入字符时,字符串中不能包含空格。 ( )7、Continue 和break都可用来实现循环体的中止。
( )8、若将C源程序经过编译、连接后生成可执行文件,则可直接在DOS系统下输入可执行文件名执行。
( )9、字符常量的长度肯定为1。
( )10、已知:char c=48;int i=1,j=10;执行语句j=!(c>j)&&i++;则i和j的值分别是1和0。
四、编程题:(14分)
编写程序,求1!+2!+??n!,要求从主函数输入n的值,用函数实现阶乘的计算,并通过函数值返回(请注意合理的类型选取)。
答案
一、选择题
1、c 2、d 3、D 4、D 5、A 6、C 7、C 8、D 9、D 10、A 11、C 12.B 13.B 14.B 15.D 16.A 17.D 18.D 19.C 20.C
二、填空题:
1、**300000 2. *(p+6) 3. 456789 4.max=a>b?a:b 5、n2!=0 n2/10
6、 i%j= =0; c%5==0; 7、t j—
a[i]=’\\0’;
8. n/10 convert(num)
三、判断题
对,错,对,对,对,对,错,对,对,对
四、编程题 略
( )3、自动变量属于局部变量。
( )4、一个函数利用return只能返回一个函数值。
( )5、在程序运行过程中,系统分配给实参和形参的内存单元是不同的。 ( )6、用scanf输入字符时,字符串中不能包含空格。 ( )7、Continue 和break都可用来实现循环体的中止。
( )8、若将C源程序经过编译、连接后生成可执行文件,则可直接在DOS系统下输入可执行文件名执行。
( )9、字符常量的长度肯定为1。
( )10、已知:char c=48;int i=1,j=10;执行语句j=!(c>j)&&i++;则i和j的值分别是1和0。
四、编程题:(14分)
编写程序,求1!+2!+??n!,要求从主函数输入n的值,用函数实现阶乘的计算,并通过函数值返回(请注意合理的类型选取)。
答案
一、选择题
1、c 2、d 3、D 4、D 5、A 6、C 7、C 8、D 9、D 10、A 11、C 12.B 13.B 14.B 15.D 16.A 17.D 18.D 19.C 20.C
二、填空题:
1、**300000 2. *(p+6) 3. 456789 4.max=a>b?a:b 5、n2!=0 n2/10
6、 i%j= =0; c%5==0; 7、t j—
a[i]=’\\0’;
8. n/10 convert(num)
三、判断题
对,错,对,对,对,对,错,对,对,对
四、编程题 略
正在阅读:
c语言试卷一(含答案)10-05
房屋租赁安全责任书范文(最新5篇)03-24
2016-2021年网络产品市场前景预测及投资规划分析报告(目录)03-19
2016年中考试题:语文(浙江省湖州卷) - 图文06-21
操作红线会计类岗位汇总题库11-13
可编程直流电源说明书CH - 图文03-01
2016-2017学年语文S版四年级语文下册课课练习题集03-15
协议格式02-19
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 试卷
- 答案
- 语言
- 全自动灌装机的PLC自动控制设计及故障处理 - 图文
- 中国药科大学实习手册
- 文件编号:QA02009国(境)外子公司人员管理办法
- 英文典籍
- 2005-2006学年第一学期五年级数学期中质量分析
- 无私奉献二十载,服务百姓千万家
- 2012年同等学力英语语法课堂之形容词和副词2
- 吴江市水污染防治规划文本
- 《谏逐客书》写作方法赏析
- 《1.1.2集合间的基本关系》导学案2
- 29-《物理化学实验》教学大纲 doc
- 迈普iad配置
- 最新北师版初中数学七年级下册4.解题技巧专题平行线中作辅助线的方法重点习题
- 最新-2019年选派干部到村工作总结 精品
- 校学生会副秘书长换届竞选演讲稿
- 民事诉讼法同步习题及答案(高教版)7
- 朱明华版仪器分析原子发射吸收习题集汇总
- 新公共法语初级复习教学版(教师配套用)
- 2017年首席质量官考试答案
- 建筑工程施工技术课程设计