青海大学昆仑学院试卷(a)
班级学号姓名。
考试课程: 程序设计语言(c) 考试日期:2009 年 7 月日。
一.填空题(每空1分,共10分)
1.一个c语言程序至少应包含一个。
2.表达式4.9+1/2的计算结果是。
3.复合语句在语法上被认为是。
4.若使用声明数组的大小,就能够更容易调整或修改程序。
5.若有定义:int a[3][4]=,则初始化后,a[1][3]得到的初值是 ,a[2][2]得到的初值是 。
6.函数直接或者间接地自己调用自己,被称为函数的。
7.若有定义int a=7,*point;让指针point指向a的语句是。
8.访问结构体数组元素a[k]的成员b,写作。
9.关闭文件的函数fclose()若顺利执行,返回的值为 。
二.选择题(每题2分,共40分)
1.以下选项中合法的用户标识符是( )
a. b.3a6b c._a7d d.#abc
2.以下合法的c语言赋值语句是( )
a.a=b=58 b.k=int(a+bc.a=58,b=58 d.--i;
3.设有int x=10,y=7;则下列表达式值为1的是( )
a.x!=y ||x<=y b.y!=x%7 c.!(y==x/6) d.x>0 &&y<0
4.下列程序的输出结果是( )
a.18 b.9 c.-18 d.-9
main()
5.下面选项中,与if(a)等价的是( )
a.if(a==0) b.if(a!=0)
c.if(a=0) d.if(a==1)
6.在c语言中,逻辑“真”等价于( )
a.非零数 b.大于零的数 c.小于零的数 d.非零整数。
7.以下程序段的输出结果是( )
a.12 b.15 c.20 d.25
int i,j,m=0;
for(i=4;i<=15;i+=4)
for(j=3;j<=19;j+=4〉m++;
printf(“%d”,m);
8.欲将字符串“qinghai”赋给字符数组str,正确的语句是( )
a.str=“qinghaib.str=“qinghai”;
c.strcpy(“qinghai”,str); d.strcpy(str,“qinghai”);
9.以下叙述正确的是( )
a.do_while语句构成的循环不能用其它语句构成的循环来代替。
b.do_while语句构成的循环只能用break语句退出。
c.用do_while语句构成循环时,只有在while后的表达式为零时结束循环。
d.用do_while语句构成循环时,只有在while后的表达式为非零时结束循环。
10.若函数的形参为一维数组,则下列说法中正确的是( )
a.调用函数时对应实参必为数组名。
b.形参数组可以不指定大小。
c.形参数组的元素个数必须等于实参数组的元素个数。
d.形参数组的元素个数必须多于实参数组的元素个数。
11.以下函数调用语句中,含有的实参个数是( )
a.1 b.2 c.4 d.5
func((exp1,exp2),(exp3,exp4,exp5));
12.若有定义:int x,*pb;则以下正确的赋值表达式是( )
a.pb=&x b.pb=x c.*pb=&x d.*pb=*x
13.以下有关宏替换的叙述不正确的是( )
a.宏替换不占用运行时间b.宏名无类型。
c.宏替换只是字符替换d.宏名必须用大写字母表示。
14.下列说法中错误的是( )
a.枚举类型中的枚举元素是常量。
b.枚举类型中枚举元素的值都是从0开始以1步长递增。
c.一个整数不能直接赋给一个枚举变量。
d.typedef可以用来定义新的数据类型。
15.以下程序的输出结果是( )
a.8 b.16 c.24 d.32
typedef unionmytype;
mytype them;
void main()
printf(“%d”,sizeof(them));
16.若用fopen函数打开一个新的二进制文件,要求文件既能读也能写,则应选用的文件方式字符串是( )
a.“w+” b.“r+” c.“rb+” d.“a+”
17.以下程序的输出结果是( )
a.100 b.160 c.120 d.64
main()
18.语句printf(“%d”,strlen(“school”))的输出结果是( )
a.7 b.6 c.存在语法错误 d.不定值。
19.以下程序段的输出结果是( )
a.9 8 b.8 9 c.6 6 d.以上三个都不对。
#include <>
main()
double a=-3.0,b=2;
printf(“%3.0f %3.0f”,pow(b,fabs(a)),pow(fabs(a),b));
20.不合法的十六进制数是( )
a.oxff b.0xabc c.0x11 d.0x19
三.阅读下列程序按题意填空(每空3分,共30分)
1. 求个位数为7且能被3整除的6位数的个数。
#include <>
void main()
long int k;
int count;
count= ;
for(k= ;k<99999; )
ifcount++;
printf(“count=%d”,count);}
2.编成用公式:4(1-1/3+1/5-1/7+1/9-…)计算圆周率,精度要求为10-6(其中,sign代表当前项符号)。
#include <>
#include <>
void main()
int sign=1;
float pi=0,item=1,k=1;
while(fabs(item) )
{ pi=pi+item;
sign=sign*(-1);
k ;item
pi=4*pi;
printf(“pi=%f”,pi);
3.以下程序不借助任何变量把a、b中的值进行交换。请填空:
#include <>
main()
int a,b;
printf(“input a,b:”)
scanf(“%d,%d”, a,&b );
a+= b=a- ;
a=a- ;
printf(“a=%d,b=%d”,a,b);
四.编程题(共20分)
1.从键盘上输入4个整数,输出其中最小的一个。(6分)
2.输入一个任意位的整数,将其各位数字颠倒形成的新数输出。(6分)
3.在主函数中输入10个数,调用函数sort对其进行排序(从小到大),排序方法不限,最后在主函数中输出结果。(8分)
C程序设计试卷1C程序设计
c 程序设计试卷。一 选择题。每小题3分,共15分 1 派生类能够直接访问的基类的成员是 a 公有成员 b 保护成员 c 私有成员 d 静态。2 下面是几条定义类的语句,不能被继承的类是 a abstract class figure b class figure c public class fi...
C 程序设计试卷C
面向对象的程序设计c 试卷c 一 填空 每空2分,共20分 1 定义于函数外的变量称为。2 假定class1为一个类,则执行 class1 a 5 b 2 p 3 语句时,自动调用该类构造函数的次数为。3 利用操作符 语句序列p p 1 f p 5 的功能可以由一个语句完成。4 不借助于其他变量交换...
C 程序设计试卷 A
c 程序设计课程期末考试试题 a卷 一判断题 正确打 a 错误打 b 每小题1分,共计20分 1在面向对象的编程中,和数据合并为一个不可分割的对象。2对象是有确定简介且与要处理的问题相关的概念或事物。3每个对象都称为它的类的一个示例。类中的对象具有相同的属性和共同的行为。4多态性是指相同的函数可以在...