当前位置:首页 > C语言期末笔试2010年1月A
专业年级 学号 姓名 授课教师 选课班上课时间 周 第 节 中国海洋大学 2009-2010学年 第一学期 期末考试试卷
计算机基础部 《C程序设计》 课程试题(A卷) 共 8 页 第 1 页 考试说明:本课程为闭卷考试,可携带书写与修正文具,满分为:100 分。 考试结束后请将答题卡与试卷 分.开.上.交.。
一、单选题(每题2分,共30分)
1.以下选项中合法的用户标识符是________。
A)double B)_2Test C)3G D)c++
2.对于一个正常运行和正常退出的C程序,以下叙述正确的是________。 A)程序从main函数第一条可执行语句开始执行,在main函数结束 B)程序的执行总是从程序的第一个函数开始,在main函数结束 C)程序的执行总是从main函数开始,在最后一个函数中结束 D)从程序的第一个函数开始,在程序的最后一个函数中结束 3.有如下程序:
#include
{ int a=5,b=4,x,y;
x=2*a++ ;
printf(\y=--b*2 ;
printf(\\\n\
正确的执行结果是________。
A)a=6,x=10,b=3,y=8 B)a=6,x=10,b=3,y=6 C)a=6,x=12,b=3,y=6 D)以上均不对
4.对于以下程序片段,描述正确的是________。
int x=-1; do
{ x=x*x;
}while(!x);
A)是死循环 B)循环执行两次 C)循环执行一次 D)有语法错误 5.一个指向数组的指针定义为________。
A) int (*ptr)[5]; B) int *ptr[5]; C) int *(ptr[5]); D) int ptr[5]; 6.若用数组名作为函数调用时的实参,则实际上传递给形参的是________。 A)数组的首地址 B) 数组的第一个元素值 C)数组中全部元素的值 D) 数组元素的个数
-------------------------------装装--------------------------------订订--------------------------------线线-------------------------------- -共 8 页 第 2 页
中国海洋大学 2009-2010学年 第一学期 期末考试试卷
7.设有声明语句:int a=1,b=0;则执行以下语句后输出为________。
switch(a)
{ case 1: switch(b)
{ case 0: printf(\ case 1: printf(\ }
case 2: printf(\ break; }
A)**0** B)**0****1****2** C)**0****2** D)有语法错误 8.定义如下变量和数组 :
int k,a[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是_____。
for(k=0;k<3;k++)
printf(\-k]);
A) 147 B) 369 C) 159 D) 357
9.下列程序的运行结果是________。
void fun(int *a,int *b){ int *k; k=a;a=b;b=k;} void main()
{ int a=2010, b=1,*x=&a,*y=&b; fun(x,y);printf(\A)2010 1 B)1 2010 C)0 0 D)编译时出错 10.下列表达式没有错误的是________。 int x, *p; A)5.0%2
B)x+1=5 C)&(x+1)
D)&p
11.以下叙述正确的是________。
A)函数的定义和函数的调用均不可以嵌套 B)函数的定义和函数的调用均可以嵌套
C)函数的定义可以嵌套,但函数的调用均不可以嵌套 D)函数的定义不可以嵌套,但函数的调用均可以嵌套
12.不正确的赋值或赋初值的方式是________。
A)char str[]=\;
B)char str[7]={'s', 't', 'r', 'i', 'n', 'g'}; C)char str[10];str=\;
D)char str[7]={'s', 't', 'r', 'i', 'n', 'g', ’\\0’}; 13.设有定义:
struct {int a; char b; } q,*p=&q; 下面错误的表达式是 。
A)q.a B)(*p).b C)p->a D)*p.b
共 8 页 第 3 页
共 8 页 第 5 页
7.以下程序的功能是输出100-300之间所有的素数。函数isprime()用于判断形参a是否为素数。a是素数,返回1,否则返回0。请完善程序。 #include
for(i=2;i<=sqrt(a);i++)
if(a%i==0) 【8】 ; return 1; }
void main() { int m;
for(m=101;m<300;m+=2)
if( 【9】 ) printf(\printf(\
}
8.下面程序要求把数组中的最小值放入a[0]中,请完善程序。
void main()
{ int a[10]={6,7,2,9,1,10,5,8,4,3},p,i; for(p=0,i=1;i<10;i++) if( 【10】 ) p=i;
if(p!=0) {i=a[p];a[p]=a[0];a[0]=i;} printf(\}
三、读程序写结果(每题2分,共20分)
1.程序运行时输入为:2010<回车>
#include
char c;
while((c=getchar( ))!='\\n') { if(c>='0'&&c<='9') n=n*10+c-'0';
}
printf(\}
2. void main()
{int m=011,n=11;
printf(\}
3. void main()
{ char s[ ]= \ s[2]= '\\0';
printf(\}
9. int a, b;
void fun()
{ a=100; b=200; } void main()
{ int a=5, b=7; fun();
printf(\}
10. void main()
{ int a[3][3],*p,i; p=&a[0][0];
for(i=0;i<9;i++) p[i]=i+1; printf(\\\n\
}
四、编程题(分值依次为6、7、8、9分,共30分)
1.编程实现两个整型变量值的交换,程序要有数据输入与输出。(6分)
2.规定一个工人工作时间每个月不超过160小时,每小时工资为5元,如果加班的话,每小时增加4元,请编程计算并输出此工人一个月的工资,要求由键盘输入工作时间(以小时计)。(7分)
3.编程计算并输出1×2 + 3×4 + 5×6 + ……+ (n-1)×n的值,其中,n的值由键盘输入。(8分)
4.函数int countch(char *s,char ch)的功能是:统计s所指字符串中指定字符ch的个数并返回。(9分)
int countch(char *s,char ch)
{ }
答案请答于答题卡上,答题卡上请写清楚考生个人信息与任课教师、选课时间。任课教师按答题卡评分。
考试结束后请将答题卡与试卷 分.开.上.交. 。
共 8 页 第 6 页
中国海洋大学 2009-2010学年 第一学期 期末考试试卷
共分享92篇相关文档