资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
05年C语言六、单项选择(10分,每题1分)1.下列变量定义正确的是_ A. int 2ab; B. float ab; C. char $123 D. int *per;2.若有说明int a=1,x=2,y=3;下列不是C语言合法表达式的是 A. +9 B. (float)(x) C. a+ D. (float)x+y3.若有说明int i=1,j=2,k=3;表达式i&j&k的值为 A. 1 B. 2 C. 3 D. 44.若有说明int a,b; 下面输入函数调用语句正确的是 A. scanf(“%d%d”,a,b); B. scanf(“%d%d”,&a,&b); C. scanf(%d%d,a,b); D. scanf(%d%d,&a,&b);5.下列不是关系表达式的是 A. 35 B. 13 C. !35 D.1+236.下列对数组的定义正确的是 A. int a(10); B. int a10; C. int a10; D.int a10;7.下列对C程序结构的说法不正确的是 A.C程序是由一系列函数构成的 B.C程序可以有多个main()函数 C.C程序中函数名不可以和变量名相同 D.C程序中可以定义函数8.若有说明int *p,a10,j=3;下列指针变量赋值错误的是 A.p=&j; B.p=&aj; C.p=a; D.p=0x1000;9.若有说明int a=4;执行语句a1后,变量a的值 A.1 B.2 C.3 D.410.以只读的方式打开文本文件“test.txt”的正确方法是 A.fopen(“test.txt”,”r”); B. fopen(“test.txt”,”rb”); C. fopen(“test”,”r”); D. fopen(“test.txt”);七、填空题(10分,每题1分)a) 若有说明a=-1;printf(“%d,%x,%on”,a,a,a)的输出结果是_。b) -32760在内存中的存储形式是_(用十六进制表示)。c) 7%4的值为_。d) 写出C语言中的三种逻辑运算符_。e) 循环语句有for语句、_和_。f) continue语句的作用是_。g) 字符串“123x4519abc”的长度为_。h) 数组a10的第i个元素的指针是_。i) 若有结构体类型定义struct STU int a; float x; char c; sizeof(struct STU)的值是_。j) FILE *fp;的作用是定义了一个_。八、写出下列程序的运行结果(10分,每题5分)1.main() int i,s; for(i=10,s=0;i;s+=i,i-) printf(“result:%dn”,s);2.main() void fun(); float x,y;x=10;fun(x,&y);printf(“result:%.0f,%.0fn”,x,y);void fun(x,y)float x,*y; *y=x*x;九、编写程序(20分)1.编写程序求某1三位数的平方和(8分)。2.编写程序求数列1,1,2,3,5,8,13,.的前100项的和及平均值(12分)。06年C语言六、单项选择(15分,每题1分)1、C语言程序的基本单位是( ) A. 程序行 B. 语句 C. 函数 D. 字符2、可用作C语言用户标识符的一组字符串是( ) A. void define WORD B.a3_b3 _123 IF C. For abc Case D.2a DO sizeof3、设int a=12,则执行完语句a+=a-=a*a;后a的值是( ) A. 552 B. 264 C. 144 D. 2644、以下叙述正确的是( ) A.do-while语句构成的循环不能用其它语句构成的循环来代替。 B.do-while语句构成的循环只能用break语句退出。 C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D. 用do-while语句构成的循环,在while后的表达式为零时结束循环。5、设有说明int (*ptr)10 其中的标识符ptr是( ) A. 10个指向整型变量的指针 B. 指向10个整型变量的函数指针 C. 一个指向具有10个整型元素的一维数组的指针 D.具有10个指针元素的一维指针数组,每个元素都只能指向整型量6、有以下程序段 typedef struct NODE int num; struct NODE *next; OLD; 则以下叙述中正确的是( ) A.以上的说明形式非法 B. NODE是一个结构体类型C.OLD是一个结构体类型 D.OLD是一个结构体变量7、以下不能正确计算代数式值的C语言表达式是( ) A.1/3*sin(1/2)*sin(1/2) B.sin(0.5)*sin(0.5)/3 C.pow(sin(0.5),2)/3 D.1/3.0*pow(sin(1.0/2),2)8、C语言规定,程序中各函数之间( ) A.既允许直接递归调用也允许间接递归调用 B.不允许直接递归调用也不允许间接递归调用C.允许直接递归调用不允许间接递归调用D.不允许直接递归调用允许间接递归调用9、在宏定义define PI 3.14159中,用宏名PI代替一个( ) A.单精度数 B.双精度数 C.常量 D.字符串10、在C语言中,要求运算数必须是整型的运算符是( ) A. B. / C. =y)&(y=z) B.(x=y) AND (y=z) C.(x=y=z) D.(x=y)&(y=z)12、有以下程序段 int k=0,a=3,b=4,c=5; k=ac?c:k; 执行该程序段后,k的值是( )A.3 B.2 C.1 D.013、若有定义char *s=”NameAddressn”,则指针s所指字符串长度为( ) A.19 B.15 C.18 D.说明不合法14、下述对C语言字符数组的描述中错误的是( ) A.字符数组可以存放字符串 B.字符数组中的字符串可以整体输入输出 C.可以在赋值语句中通过赋值运算符对字符数组整体赋值 D.不可以用关系运算符对字符数组中的字符串进行比较15、设有如下的函数 exam(float x)printf(“n%f”,x*x); 则函数的类型为( ) A.与参数x的类型相同 B.是void C.是int D.无法确定七、阅读下列程序,写出其运行结果(每小题5分,共25分)1.程序:main() int i,j,x; for(i=0;i=4;i+) for(j=1;j=4-i;j+) printf(“ ”);for(j=0;j0) switch(k) case 1:n+=k; case 2: case 3:n+=k; default:break;k-; printf(“%dn”,n);3.程序: main()int i,j,row,column,m; static int array33=100,200,300,28,72,-30,-850,2,6; m=array00; for(i=0;i3;i+) for(j=0;j3;j+) if(arrayijm) m=arrayij; row=i;column=j; printf(“%d,%d,%dn”,m,row,column);4.程序: #include int p(int k,int a) int m,i,c=0; for(m=2;m=k;m+)for(i=2;im;i+) if(!(m%i) break; if(i=m) ac+=m; return c;#define MAXN 20main()int i,m,sMAXN; m=p(13,s); for(i=0;im;i+) printf(“%4d”,si); printf(“n”);5.程序: int f(int n) if(n=0|n=1) return 1; else return f(n-2)+2*f(n-1);main()int n=5; printf(“%d”,f(n);八、程序填空;按照要求完成下面的程序(函数)(每空2分,共10分) 1.本函数用对分查找法,在以按字母次序从小到大排序的字符数组list中查找字符c,若c在数组中,函数返回字符c在数组中的下标,否则返回-1。 int search(char list,char c,int len) int low,high,k; low=0;high=len-1; whiel( (1) ) k=(low+high)/2;if( (2) ) return k;else if( (3) ) high=k-1;else low=k+1;return -1;
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号