( 密 封 线 内 不 答 题 ) ?????????????????密??????????????????封???????????????线?????????????? 姓名: 学号: 系别: 年级专业:
《C语言程序设计》试卷
开课单位:计算机学院,考试形式:闭、开卷,允许带 入场
题序 得分 评卷人 一 二 三 四 五 六 七 八 总 分 得分一、单项选择题(共30分 每题1.5分) 说明:答案必须填写在答题卡单项选择题的相应位置上,否则不得分。
1. C语言程序中下列哪些标识符时合法的____c_____。
A) v-ar B) 12a C) _if D) define 2. C语言中,运算对象必须是整型数的运算符是_a_____。
A) % B)\\ C) %和\\ D) / 3. 下列程序段的运行后x的值是_________。
int a=0,b=0,c=0,x=3; if(!a) x--; else if(b); if(c) ++x; else --x;
A) 1 B) 2 C) 3 D) 4
4. 假设变量s a b c均已定义为整型变量,且a c均已赋值(c 大于0),则与以下程序段 s=a; for(b=1;b<=c;b++) s=s+1;功能等价的赋值语句是______。 A) s=a+b ; B) s=a+c; C、s=s+c ; D) s=b+c; 5. 以下程序段输出的结果是_________。
int n=9; while(n){
n--;
if(n%3) continue; printf(“%d”,n); }
A)963 B) 630 C) 87541 D) 87654321
6. 下列程序段运行时,为使此程序段不陷入死循环,应输入的数据是_________。
int n,t=1,s=0; scanf(”%d”,&n);
do{ s=s+t; t=t-2;} while (t!=n);
A) 任意正奇数 B)任意负偶数 C) 任意正偶数 D) 任意负奇数 7. 执行x=0;do{x=x*x;} while(x);循环时,下列说法正确的是_________。
A) 循环体执行一次 B) 循环体执行两次 C) 循环体执行无限次 D) 有语法错误
《C语言程序设计》试卷 第1页 共5页
_____________ ________ 8. 以下选择中,_________是正确的函数定义时的函数头。
A) int f(int x;int y); B) int f(int x,y);
C) double f(x,y) D) double f(int x,int y) 9. 以下说法正确的是_________
A) 实参与其对应的形参占用共同的存储单元
B) 实参与其对应的形参各自占用独立的存储单元
C) 只有当实参与其对应的形参同名时才占用共同的存储单元 D) 形参是虚拟的,任何时候都不占用内存单元
10. 设a为整形变量,不能正确表达数学关系“11≤a≤14”的C语言表达式是________。
A) 11<=a<=14 B) a==11||a==12||a==13||a==14 C) a>10 && a<15 D) !(a<=10)&&!(a>=15)
11. 假定int类型变量占用2个字节,其定义为 “int x[10]={0,2,4};” 则数组x在内存中所占的字
节数是________。 A) 3 B) 6 C) 10 D) 20
12. 若有定义“int a[2][3] ”,下列对数组a的引用中正确的是_________ 。
A) a[2][0] B) a[1>2][1] C) a[2][3] D) a[0][3]
13. 定义一个二维数组char a[]=”china”,则数组a的长度是______。 A)4 B)5 C)6 D)7 14. 下列选项中值为1的表达式是______。
A)1-‘0' B)1-‘\\0' C)‘1'-‘0’ D)‘\\0’-‘0' 15. 设x和y均为int型变量,则语句”x+=y;y=x-y;x-=y;”_____
A)把x和y从大到小排列 B)把x和y从小到大排列 C)无确定结果 D)交换x和y的值
16. 若有以下定义int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;,则值为6的表达式是______。 A)*p+6 B)*(p+6) C)*p+=5 D)p+5 17. 若有定义“int n=2;*p=&n,*q=p;”,则以下非法的赋值语句是______。 A)p=q B)*p=*q; C)n=*q; D)p=n 18. 设有如下定义,则对d中的a的成员正确引用的是________
Struct sk{int a;float b;} d,*p=&d; A)(*p).d.a; B)(*p).a; C)p->d.a; D)p.d.a; 19. 有如下定义“struct ex{int x;float y; char z;}example;”,则下面叙述中不正确的是_______ A)struct 是定义结构类型的关键字; B)example是结构类型名; C)x,y,z都是结构成员名; D)struct ex是结构类型名;
20.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______ A)地址传递; B)单向值传递; C)由实参传给形参,再由形参传给实参; D)传递方式由用户指定
二、程序填空题(共20分,每空2分)得分 说明:每空必须且只能填写一个语句或一个预处理。答案必须填写在答题卡程序填空题的相应位置上,否则不得分。
1、下面程序段实现:输出100以内能被3整除且个位数是6的所有整数。阅读程序并填空。 #include
int i,j;
《C语言程序设计》试卷 第2页 共5页
for(i=0; (1) ;i++){ j=i*10+6; if( (2) ) continue; printf(\
} return 0; }
2、以下函数功能是删除字符串s中所有数字字符,阅读程序并填空。 void dele(char *s) {
int n=0,i; for(i=0;s[i];i++)
if(______(3)_____) s[n++]=s[i]; s[n]=_______(4)______;} }
3、下面程序中的函数SumFun(n)用于计算1!+2!?+n!的值,函数f(x)用于计算x!。阅读程序并填空。 #include
{ int n;double sum; printf(\ sum= ____(5)______ ;
printf(\}
double SumFun(int n) { int x;double s=0; for(x=1;x<=n;x++) ____(6)______; return s; }
double f(int x) { double s; int i;
for(s=1,i=1;i<=x;i++) ____(7)______; return s; }
4、用二分查找法,在数组中查找x,若找到,输出相应的最小下标;否则,输出“Not Found”。阅读程序并填空。
#include
int mid, low=0,high=9;
《C语言程序设计》试卷 第3页 共5页
相关推荐: