C语言模拟试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本学期数本的《C程序设计》的试卷命题情况如下:
1、命题范围:第1章~第7章
2、题型如下:
(1)单项选择题
(2)填空题
(3)改错题
(4)程序阅读题
(5)程序完善题
(6)编程题
3、注意各个章节知识点的均衡。
题例
一、单项选择题(每小题X分,总共X分)
1.下列程序的运行结果是。
#include
void main( )
{ int i=1,j=1,k=2;
if((j++‖k++)&&i++) printf("%d,%d,%d\n",i,j,k);
}
A、1,1,2
B、2,2,1
C、2,2,2
D、2,2,3
2.下列程序的运行结果是。
#include
void main()
{
int x=5;
if (x++>5) printf("%d\n",x);
else printf("%d\n",x--);
}
A、4
B、5
C、6
D、7
3.以下叙述中不正确的是_________
A、用户定义的函数中可以没有return语句
B、用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
C、用户定义的函数中若没有return语句,则应当定义函数为void类型
D、函数的return语句中可以没有表达式
4.以下程序的输出结果是
#include
void main()
{ char ch[3][5]={“AAAA“,“BBB“,“CC“};
printf(“\“%s\“\n“,ch[1]);
}
A、“AAAA“
B、“BBB“
C、“BBBCC“
D、“CC“
5.有以下程序
main()
{ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
int i,s=0;
for(i=0;i<4;i++) s+=aa[i][1];
printf(“%d\n”,s);
} 程序运行后的输出结果是
A、11
B、19
C、13
D、20
6.下述描述中不正确的是。
A、字符型数组中可以存放字符串
B、可以对字符型数组进行整体输入、输出
C、可以对整型数组进行整体进行输入、输出
D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值
7.当调用函数时,实参是一个数组名,则向函数的对应形参传送的是
A、数组的长度
B、数组的首地址
C、数组每一个元素的地址
D、数组每一个元素中的值
二、填空题(每空X分,共X 分)
1.C源程序文件经编译生成目标程序文件,目标程序文件经执行后生成扩展
名为exe的可执行程序文件。
2.一个C程序的执行是从本程序的main 函数开始
3.下列程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输
出。请填空。
main()
{ int x[10],a[9],i;
for(i=0;i<10;i++)scanf("%d",&x[i]);
for(_i=1__;i<10;i++)
a[i-1]=x[i]+__x[i-1]__;
for(i=0;i<9;i++)printf("%d",a[i]);
printf(" ");
}
4. 下列程序的功能是计算:s=1+12+123+1234+12345。请填空。
main()
{ int t=0,s=0,i;
for(i=1;i<=5;i++)
{t=i+__10*t__; s=s+t;}
printf("s=%d\n",s);
}
三、改错题(下面各题中划线部分出现有错误,请改正,共X分)
1.函数fun的功能是依次取出字符串中所有大写英文字母,形成新的字符串,并取代原字符串。
void fun (char s[ ]) {
int i,j;
for (i=0,j=0; s[i]!= '\0'; i++)
if ( 'A'<=s[i]&& s[i]<= 'Z' ) {s[j]=s[i]; j++;} 改正(2分):s[j]= '\0'; 改正(2分):
}
2.下面程序的功能是找出5个字符串中的最大者
#include
#include
void main( )
{ int i;
char str[5][20], max[20];
printf("Input 5 strings:\n");
for(i=0;i<5;i++)
gets(str[i]);
strcpy(max,str[0]); 改正(2分):
for(i=1; i<5; i++)
if (strcmp(max,str[i])<0) 改正(2分):
strcpy(max,str[i]);
printf("Max is: %s \n", max);
return 0;
}
四、阅读程序,说明程序的功能和运行结果(每小题X分,共X分)
1.# include
# include
int main()
{int n,k,i,m=0;
for(n=101;n<=200;n=n+2)
{ k=sqrt(n);
for (i=2;i<=k;i++)
if (n%i==0) break;
if (i>=k+1)
{printf("%d ",n);
m=m+1;
}
if(m%10==0) printf("\n");
}
printf ("\n");
return 0;
}
功能: 求100~160之间的全部素数.并以每行十个的格式输出.
运行结果: 101 103 107 113 127 131 137 139 149
151 157
2.#include
int main()
{void swap(int *p1,int *p2);
int a,b;
int*pointer_1,*pointer_2;